diff --git a/src/loaders/DRACOLoader.js b/src/loaders/DRACOLoader.js new file mode 100644 index 0000000000000000000000000000000000000000..ab80db35946e51eb201b2bc92a4064a3783be1dc --- /dev/null +++ b/src/loaders/DRACOLoader.js @@ -0,0 +1,201 @@ +// Copyright 2016 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +THREE.DRACOLoader = function(manager) { + this.manager = (manager !== undefined) ? manager : + THREE.DefaultLoadingManager; + this.materials = null; +}; + + +THREE.DRACOLoader.prototype = { + + constructor: THREE.DRACOLoader, + + load: function(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new THREE.FileLoader(scope.manager); + loader.setPath(this.path); + loader.setResponseType('arraybuffer'); + loader.load(url, function(blob) { + onLoad(scope.decodeDracoFile(blob)); + }, onProgress, onError); + }, + + setPath: function(value) { + this.path = value; + }, + + decodeDracoFile: function(rawBuffer) { + const scope = this; + /* + * Here is how to use Draco Javascript decoder and get the geometry. + */ + const buffer = new DracoModule.DecoderBuffer(); + buffer.Init(new Int8Array(rawBuffer), rawBuffer.byteLength); + const wrapper = new DracoModule.WebIDLWrapper(); + + /* + * Determine what type is this file, mesh or point cloud. + */ + const geometryType = wrapper.GetEncodedGeometryType(buffer); + if (geometryType == DracoModule.TRIANGULAR_MESH) { + fileDisplayArea.innerText = "Loaded a mesh.\n"; + } else if (geometryType == DracoModule.POINT_CLOUD) { + fileDisplayArea.innerText = "Loaded a point cloud.\n"; + } else { + const errorMsg = "Error: Unknown geometry type."; + fileDisplayArea.innerText = errorMsg; + throw new Error(errorMsg); + } + return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer); + }, + + convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer) { + let dracoGeometry; + if (geometryType == DracoModule.TRIANGULAR_MESH) { + dracoGeometry = wrapper.DecodeMeshFromBuffer(buffer); + } else { + dracoGeometry = wrapper.DecodePointCloudFromBuffer(buffer); + } + DracoModule.destroy(buffer); + /* + * Example on how to retrieve mesh and attributes. + */ + let numFaces, numPoints, numVertexCoordinates, numAttributes; + // For output basic geometry information. + let geometryInfoStr; + if (geometryType == DracoModule.TRIANGULAR_MESH) { + numFaces = dracoGeometry.num_faces(); + geometryInfoStr += "Number of faces loaded: " + numFaces.toString() + + ".\n"; + } else { + numFaces = 0; + } + numPoints = dracoGeometry.num_points(); + numVertexCoordinates = numPoints * 3; + numAttributes = dracoGeometry.num_attributes(); + geometryInfoStr = "Number of points loaded: " + numPoints.toString() + + ".\n"; + geometryInfoStr += "Number of attributes loaded: " + + numAttributes.toString() + ".\n"; + + // Get position attribute. Must exists. + const posAttId = wrapper.GetAttributeId(dracoGeometry, + Module.POSITION); + if (posAttId == -1) { + const errorMsg = "No position attribute found in the mesh."; + fileDisplayArea.innerText = errorMsg; + DracoModule.destroy(wrapper); + DracoModule.destroy(dracoGeometry); + throw new Error(errorMsg); + } + const posAttribute = wrapper.GetAttribute(dracoGeometry, posAttId); + const posAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints( + dracoGeometry, posAttribute, posAttributeData); + // Get color attributes if exists. + const colorAttId = wrapper.GetAttributeId(dracoGeometry, Module.COLOR); + let colAttributeData; + if (colorAttId != -1) { + geometryInfoStr += "\nLoaded color attribute.\n"; + const colAttribute = wrapper.GetAttribute(dracoGeometry, colorAttId); + colAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, colAttribute, + colAttributeData); + } + + // Get normal attributes if exists. + const normalAttId = + wrapper.GetAttributeId(dracoGeometry, Module.NORMAL); + let norAttributeData; + if (normalAttId != -1) { + geometryInfoStr += "\nLoaded normal attribute.\n"; + const norAttribute = wrapper.GetAttribute(dracoGeometry, normalAttId); + norAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, norAttribute, + norAttributeData); + } + + // Structure for converting to THREEJS geometry later. + const geometryBuffer = { + indices: [], + vertices: [], + normals: [], + uvs: [], + colors: [] + }; + for (let i = 0; i < numVertexCoordinates; i += 3) { + geometryBuffer.vertices.push( + posAttributeData.GetValue(i), + posAttributeData.GetValue(i + 1), + posAttributeData.GetValue(i + 2)); + // Add color. + if (colorAttId != -1) { + geometryBuffer.colors.push( + colAttributeData.GetValue(i), + colAttributeData.GetValue(i + 1), + colAttributeData.GetValue(i + 2)); + } else { + // Default is white. + geometryBuffer.colors.push(1.0, 1.0, 1.0); + } + // Add normal. + if (normalAttId != -1) { + geometryBuffer.normals.push( + norAttributeData.GetValue(i), + norAttributeData.GetValue(i + 1), + norAttributeData.GetValue(i + 2)); + } + } + DracoModule.destroy(posAttributeData); + if (colorAttId != -1) + DracoModule.destroy(colAttributeData); + if (normalAttId != -1) + DracoModule.destroy(norAttributeData); + + // For mesh, we need to generate the faces. + if (geometryType == DracoModule.TRIANGULAR_MESH) { + const numIndices = numFaces * 3; + const ia = new DracoInt32Array(); + for (let i = 0; i < numFaces; ++i) { + wrapper.GetFaceFromMesh(dracoGeometry, i, ia); + geometryBuffer.indices.push( + ia.GetValue(0), ia.GetValue(1), ia.GetValue(2)); + } + DracoModule.destroy(ia); + } + DracoModule.destroy(wrapper); + DracoModule.destroy(dracoGeometry); + + fileDisplayArea.innerText += geometryInfoStr; + + // Import data to Three JS geometry. + const geometry = new THREE.BufferGeometry(); + if (geometryType == DracoModule.TRIANGULAR_MESH) { + geometry.setIndex(new(geometryBuffer.indices.length > 65535 ? + THREE.Uint32BufferAttribute : THREE.Uint16BufferAttribute) + (geometryBuffer.indices, 1)); + } + geometry.addAttribute('position', + new THREE.Float32BufferAttribute(geometryBuffer.vertices, 3)); + geometry.addAttribute('color', + new THREE.Float32BufferAttribute(geometryBuffer.colors, 3)); + if (normalAttId != -1) { + geometry.addAttribute('normal', + new THREE.Float32BufferAttribute(geometryBuffer.normals, 3)); + } + return geometry; + } +}; \ No newline at end of file diff --git a/src/loaders/draco_decoder.js b/src/loaders/draco_decoder.js new file mode 100644 index 0000000000000000000000000000000000000000..5e73650be46bca82b46c2ea1f04da7ec3971b6a2 --- /dev/null +++ b/src/loaders/draco_decoder.js @@ -0,0 +1,22 @@ +var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=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 LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)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;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+16160;__ATINIT__.push();allocate([220,20,0,0,85,22,0,0,4,21,0,0,158,22,0,0,8,0,0,0,0,0,0,0,220,20,0,0,172,22,0,0,220,20,0,0,200,22,0,0,4,21,0,0,228,22,0,0,40,0,0,0,0,0,0,0,220,20,0,0,250,22,0,0,4,21,0,0,31,23,0,0,64,0,0,0,0,0,0,0,4,21,0,0,75,23,0,0,104,0,0,0,0,0,0,0,4,21,0,0,144,23,0,0,120,0,0,0,0,0,0,0,220,20,0,0,189,23,0,0,4,21,0,0,225,23,0,0,144,0,0,0,0,0,0,0,4,21,0,0,117,24,0,0,88,0,0,0,0,0,0,0,4,21,0,0,252,24,0,0,144,0,0,0,0,0,0,0,4,21,0,0,149,25,0,0,144,0,0,0,0,0,0,0,4,21,0,0,37,26,0,0,208,0,0,0,0,0,0,0,4,21,0,0,172,26,0,0,88,0,0,0,0,0,0,0,4,21,0,0,38,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,178,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,53,28,0,0,88,0,0,0,0,0,0,0,4,21,0,0,132,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,181,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,218,28,0,0,64,1,0,0,0,0,0,0,4,21,0,0,121,29,0,0,80,1,0,0,0,0,0,0,4,21,0,0,11,30,0,0,104,0,0,0,0,0,0,0,4,21,0,0,224,32,0,0,64,1,0,0,0,0,0,0,4,21,0,0,132,33,0,0,64,1,0,0,0,0,0,0,4,21,0,0,145,34,0,0,144,1,0,0,0,0,0,0,4,21,0,0,35,35,0,0,80,1,0,0,0,0,0,0,4,21,0,0,168,35,0,0,144,1,0,0,0,0,0,0,4,21,0,0,63,36,0,0,144,1,0,0,0,0,0,0,4,21,0,0,205,36,0,0,80,1,0,0,0,0,0,0,4,21,0,0,39,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,87,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,125,37,0,0,0,2,0,0,0,0,0,0,220,20,0,0,151,37,0,0,4,21,0,0,177,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,211,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,58,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,90,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,123,40,0,0,88,2,0,0,0,0,0,0,220,20,0,0,199,40,0,0,4,21,0,0,245,40,0,0,0,2,0,0,0,0,0,0,220,20,0,0,178,41,0,0,4,21,0,0,129,42,0,0,0,2,0,0,0,0,0,0,220,20,0,0,75,43,0,0,4,21,0,0,28,44,0,0,88,2,0,0,0,0,0,0,220,20,0,0,184,55,0,0,4,21,0,0,150,55,0,0,200,2,0,0,0,0,0,0,4,21,0,0,67,55,0,0,168,2,0,0,0,0,0,0,4,21,0,0,104,55,0,0,216,2,0,0,0,0,0,0,220,20,0,0,137,55,0,0,4,21,0,0,126,56,0,0,160,2,0,0,0,0,0,0,4,21,0,0,190,56,0,0,200,2,0,0,0,0,0,0,4,21,0,0,154,56,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,160,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,22,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,21,0,0,0,23,0,0,0,12,0,0,0,24,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,224,0,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,25,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,96,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,32,0,0,0,33,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,44,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,34,0,0,0,45,0,0,0,35,0,0,0,46,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,160,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,176,1,0,0,36,0,0,0,37,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,38,0,0,0,52,0,0,0,35,0,0,0,53,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,96,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,192,0,0,0,0,120,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,136,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,20,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,15,0,0,0,28,59,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,18,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,2,0,0,0,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,197,55,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,99,117,109,95,112,114,111,98,32,61,61,32,114,97,110,115,95,112,114,101,99,105,115,105,111,110,0,46,47,99,111,114,101,47,97,110,115,46,104,0,114,97,110,115,95,98,117,105,108,100,95,108,111,111,107,95,117,112,95,116,97,98,108,101,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,49,93,41,0,40,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,100,105,100,32,121,111,117,32,116,114,121,32,116,111,32,108,111,97,100,32,97,110,32,111,108,100,32,102,105,108,101,63,32,10,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,73,110,116,101,114,110,97,108,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,116,111,112,111,108,111,103,121,95,115,112,108,105,116,95,100,97,116,97,95,46,98,97,99,107,40,41,46,115,111,117,114,99,101,95,115,121,109,98,111,108,95,105,100,41,32,60,61,32,40,101,110,99,111,100,101,114,95,115,121,109,98,111,108,95,105,100,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,109,101,115,104,47,109,101,115,104,95,101,100,103,101,98,114,101,97,107,101,114,95,100,101,99,111,100,101,114,95,105,109,112,108,46,104,0,73,115,84,111,112,111,108,111,103,121,83,112,108,105,116,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - 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(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.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;j2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function em(a){a=a|0;Xg(a);k[a>>2]=4384;return}function fm(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,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=r;r=r+912|0;C=E+908|0;D=E;p=E+904|0;q=E+900|0;t=E+896|0;u=E+892|0;v=E+888|0;w=E+884|0;x=E+880|0;y=E+876|0;z=E+872|0;A=E+868|0;s=E+864|0;n=b+8|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;o=b+16|0;g=o;f=k[g>>2]|0;g=k[g+4>>2]|0;h=jq(f|0,g|0,4,0)|0;j=L;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){c=0;r=E;return c|0}m=k[b>>2]|0;B=m+f|0;B=l[B>>0]|l[B+1>>0]<<8|l[B+2>>0]<<16|l[B+3>>0]<<24;F=o;k[F>>2]=h;k[F+4>>2]=j;if((B|0)!=2){tp(9898,57,1,k[1178]|0)|0;F=0;r=E;return F|0}F=jq(f|0,g|0,8,0)|0;B=L;if((e|0)<(B|0)|(e|0)==(B|0)&d>>>0>>0){F=0;r=E;return F|0}F=m+h|0;F=l[F>>0]|l[F+1>>0]<<8|l[F+2>>0]<<16|l[F+3>>0]<<24;i[a>>0]=F;i[a+1>>0]=F>>8;i[a+2>>0]=F>>16;i[a+3>>0]=F>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;B=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&B>>>0>>0){F=0;r=E;return F|0}F=a+4|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[F>>0]=j;i[F+1>>0]=j>>8;i[F+2>>0]=j>>16;i[F+3>>0]=j>>24;F=o;j=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(j|0,F|0,4,0)|0;B=o;k[B>>2]=d;k[B+4>>2]=L;B=a+8|0;h=n;m=k[h>>2]|0;h=k[h+4>>2]|0;F=jq(j|0,F|0,8,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){F=0;r=E;return F|0}g=(k[b>>2]|0)+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[B>>0]=g;i[B+1>>0]=g>>8;i[B+2>>0]=g>>16;i[B+3>>0]=g>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;n=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&n>>>0>>0){F=0;r=E;return F|0}a=a+12|0;d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;a=o;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;F=o;k[F>>2]=a;k[F+4>>2]=L;a:do if(!g)d=c;else do switch(d|0){case 0:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Em(D);k[p>>2]=c;k[C>>2]=k[p>>2];hm(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 1:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Gm(D);k[q>>2]=c;k[C>>2]=k[q>>2];km(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 2:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Im(D);k[t>>2]=c;k[C>>2]=k[t>>2];mm(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 3:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Km(D);k[u>>2]=c;k[C>>2]=k[u>>2];om(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 4:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Mm(D);k[v>>2]=c;k[C>>2]=k[v>>2];qm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 5:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Pm(D);k[w>>2]=c;k[C>>2]=k[w>>2];sm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 6:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Rm(D);k[x>>2]=c;k[C>>2]=k[x>>2];um(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 7:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Tm(D);k[y>>2]=c;k[C>>2]=k[y>>2];wm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 8:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Vm(D);k[z>>2]=c;k[C>>2]=k[z>>2];ym(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}case 9:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Ym(D);k[A>>2]=c;k[C>>2]=k[A>>2];Am(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}default:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}_m(D);k[s>>2]=c;k[C>>2]=k[s>>2];Cm(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[d>>2]|0)|0)/12|0|0)==(k[B>>2]|0)){F=1;r=E;return F|0}else Aa(10163,10206,124,10273);return 0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];im(a,u,o,m,0,n);r=s;return 1}function im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;Vk(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){Yk(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Fm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){Yk(ka);r=la;return}}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=(((k[l>>2]|0)-d|0)/12|0)+1|0;if(e>>>0>357913941)yp(a);j=d;m=a+8|0;c=((k[m>>2]|0)-d|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?e:c;f=k[l>>2]|0;e=(f-d|0)/12|0;if(!c){g=0;h=0}else i=6}else{e=k[l>>2]|0;c=357913941;f=e;e=(e-d|0)/12|0;i=6}if((i|0)==6){g=c;h=$p(c*12|0)|0}c=h+(e*12|0)|0;g=h+(g*12|0)|0;k[c>>2]=k[b>>2];k[h+(e*12|0)+4>>2]=k[b+4>>2];k[h+(e*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((f|0)!=(j|0)){d=f;do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=e;k[m>>2]=g;if(!d)return;Ip(d);return}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];lm(a,u,o,m,0,n);r=s;return 1}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;$k(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){cl(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Hm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){cl(ka);r=la;return}}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];nm(a,u,o,m,0,n);r=s;return 1}function nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;fl(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){il(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Jm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){il(ka);r=la;return}}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];pm(a,u,o,m,0,n);r=s;return 1}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;ll(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ol(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Lm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){ol(ka);r=la;return}}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];rm(a,u,o,m,0,n);r=s;return 1}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;rl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){ul(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Om(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){ul(ha);r=ia;return}}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];tm(a,u,o,m,0,n);r=s;return 1}function tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;yl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Bl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Qm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Bl(ha);r=ia;return}}function um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];vm(a,u,o,m,0,n);r=s;return 1}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;El(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Hl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Sm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Hl(ha);r=ia;return}}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];xm(a,u,o,m,0,n);r=s;return 1}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Kl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Nl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Um(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Nl(ha);r=ia;return}}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];zm(a,u,o,m,0,n);r=s;return 1}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Ql(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Tl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Xm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Tl(ha);r=ia;return}}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Bm(a,u,o,m,0,n);r=s;return 1}function Bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Xl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){_l(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Zm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){_l(ha);r=ia;return}}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Dm(a,u,o,m,0,n);r=s;return 1}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+176|0;na=oa;n=oa+128|0;ma=oa+112|0;la=oa+64|0;U=oa+160|0;ka=oa+16|0;V=oa+80|0;W=oa+32|0;R=k[c>>2]|0;ha=c+4|0;T=k[ha>>2]|0;ia=c+8|0;S=k[ia>>2]|0;k[n>>2]=b;k[n+4>>2]=R;k[n+8>>2]=T;k[n+12>>2]=S;S=n+16|0;k[S>>2]=k[d>>2];k[S+4>>2]=k[d+4>>2];k[S+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[ma>>2]=0;S=ma+4|0;k[S>>2]=0;k[ma+8>>2]=0;T=ma+8|0;bm(ma,n);e=k[S>>2]|0;n=k[ma>>2]|0;b=e-n|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=n+(g<<5)|0;b=e+-32|0;i=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){j=k[e+-28>>2]|0;l=k[e+-24>>2]|0;m=k[e+-20>>2]|0;e=e+-16|0;k[na>>2]=k[e>>2];k[na+4>>2]=k[e+4>>2];k[na+8>>2]=k[e+8>>2];k[na+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=n+(g<<5)|0;if((k[b>>2]|0)>>>0>=i>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=i;k[e+4>>2]=j;k[e+8>>2]=l;k[e+12>>2]=m;g=e+16|0;k[g>>2]=k[na>>2];k[g+4>>2]=k[na+4>>2];k[g+8>>2]=k[na+8>>2];k[g+12>>2]=k[na+12>>2];g=7}else g=7}else b=n;a:while(1){if((g|0)==7){b=k[ma>>2]|0;e=k[S>>2]|0}if((b|0)==(e|0)){g=63;break}R=k[b>>2]|0;e=k[b+4>>2]|0;o=k[b+8>>2]|0;m=k[b+12>>2]|0;Q=b+16|0;k[la>>2]=k[Q>>2];k[la+4>>2]=k[Q+4>>2];k[la+8>>2]=k[Q+8>>2];Q=k[b+28>>2]|0;cm(ma);k[c>>2]=e;k[ha>>2]=o;k[ia>>2]=m;k[d>>2]=k[la>>2];k[d+4>>2]=k[la+4>>2];k[d+8>>2]=k[la+8>>2];k[U>>2]=e;k[U+4>>2]=o;k[U+8>>2]=m;k[na>>2]=k[la>>2];k[na+4>>2]=k[la+4>>2];k[na+8>>2]=k[la+8>>2];Q=$m(a,R,U,na,Q)|0;m=d+(Q<<2)|0;o=k[m>>2]|0;b=k[a>>2]|0;e=(R|0)==0;do if((b|0)==(o|0)){if(!e){e=k[f>>2]|0;b=e+4|0;g=e+8|0;i=0;do{h=k[b>>2]|0;if((h|0)==(k[g>>2]|0))jm(e,c);else{k[h>>2]=k[c>>2];k[h+4>>2]=k[ha>>2];k[h+8>>2]=k[ia>>2];k[b>>2]=h+12}i=i+1|0}while(i>>>0>>0)}}else{if(e){g=17;break a}if(R>>>0>=3){k[ka>>2]=k[c>>2];p=ka+4|0;k[p>>2]=k[ha>>2];q=ka+8|0;k[q>>2]=k[ia>>2];P=ka+(Q<<2)|0;k[P>>2]=(k[P>>2]|0)+(1<>>1)-e|0;h=R-j|0;if((j|0)==(h|0)){l=j;n=j}else{e=a+856|0;R=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;i=(k[g>>2]&1<<31-R|0)!=0;R=R+1|0;k[e>>2]=R;if((R|0)==32){k[b>>2]=g+4;k[e>>2]=0}l=i?j:h;n=i?h:j}k[m>>2]=o+1;if(l|0){e=k[c>>2]|0;b=k[ha>>2]|0;g=k[ia>>2]|0;k[V>>2]=l;k[V+4>>2]=e;k[V+8>>2]=b;k[V+12>>2]=g;h=V+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[V+28>>2]=Q;i=k[S>>2]|0;if(i>>>0<(k[T>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=e;k[i+8>>2]=b;k[i+12>>2]=g;g=i+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,V);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(X=((b>>5)+-2|0)/2|0,Y=e,Z=Y+(X<<5)|0,_=g,$=_+-32|0,aa=k[$>>2]|0,(k[Z>>2]|0)>>>0>>0):0){h=k[_+-28>>2]|0;i=k[_+-24>>2]|0;j=k[_+-20>>2]|0;g=_+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=X;b=$;e=Z;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Y+(g<<5)|0;if((k[b>>2]|0)>>>0>=aa>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=aa;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}if(n|0){i=k[ka>>2]|0;h=k[p>>2]|0;b=k[q>>2]|0;k[W>>2]=n;k[W+4>>2]=i;k[W+8>>2]=h;k[W+12>>2]=b;g=W+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[W+28>>2]=Q;e=k[S>>2]|0;if(e>>>0<(k[T>>2]|0)>>>0){k[e>>2]=n;k[e+4>>2]=i;k[e+8>>2]=h;k[e+12>>2]=b;R=e+16|0;k[R>>2]=k[g>>2];k[R+4>>2]=k[g+4>>2];k[R+8>>2]=k[g+8>>2];k[R+12>>2]=k[g+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,W);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(ba=((b>>5)+-2|0)/2|0,ca=e,da=ca+(ba<<5)|0,ea=g,fa=ea+-32|0,ga=k[fa>>2]|0,(k[da>>2]|0)>>>0>>0):0){h=k[ea+-28>>2]|0;i=k[ea+-24>>2]|0;j=k[ea+-20>>2]|0;g=ea+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=ba;b=fa;e=da;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=ca+(g<<5)|0;if((k[b>>2]|0)>>>0>=ga>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=ga;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}break}w=(Q|0)==2?0:Q+1|0;s=(w|0)==2?0:w+1|0;G=b-o|0;E=k[d+(w<<2)>>2]|0;H=b-E|0;p=k[d+(s<<2)>>2]|0;I=b-p|0;J=a+816|0;K=a+812|0;L=k[f>>2]|0;M=L+4|0;N=L+8|0;O=na+4|0;P=na+8|0;C=(b|0)==(o|0);A=na+(Q<<2)|0;D=c+(Q<<2)|0;E=(b|0)==(E|0);B=na+(w<<2)|0;F=c+(w<<2)|0;p=(b|0)==(p|0);o=na+(s<<2)|0;q=c+(s<<2)|0;s=na+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=na+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;i=na+(Q<<2)|0;j=(G|0)<33;l=(G|0)>0;m=32-G|0;n=0;do{k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;do if(!C){if(!j){g=25;break a}if(!l){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=G-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[i>>2]=e;b=i;break}e=b>>>m;k[i>>2]=e;Q=g+G|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=i}else b=i}else{b=A;e=k[A>>2]|0}while(0);k[b>>2]=e|k[D>>2];do if(!E){if(!x){g=25;break a}if(!y){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=H-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[w>>2]=e;b=w;break}e=b>>>z;k[w>>2]=e;Q=g+H|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=w}else b=w}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[F>>2];do if(!p){if(!t){g=25;break a}if(!u){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=I-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[s>>2]=e;b=s;break}e=b>>>v;k[s>>2]=e;Q=g+I|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=s}else b=s}else{b=o;e=k[o>>2]|0}while(0);k[b>>2]=e|k[q>>2];e=k[M>>2]|0;if((e|0)==(k[N>>2]|0))jm(L,na);else{k[e>>2]=k[na>>2];k[e+4>>2]=k[O>>2];k[e+8>>2]=k[P>>2];k[M>>2]=e+12}n=n+1|0}while(n>>>0>>0)}while(0);g=7}if((g|0)==17)Aa(9956,9994,228,10064);else if((g|0)==25)Aa(10077,10101,111,10128);else if((g|0)==27)Aa(10141,10101,112,10128);else if((g|0)==63){if(!e){r=oa;return}Ip(e);r=oa;return}}function Em(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Gm(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Im(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Jm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Km(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Mm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Nm(a){a=a|0;qd(a);qd(a+16|0);qd(a+32|0);qd(a+48|0);qd(a+64|0);qd(a+80|0);qd(a+96|0);qd(a+112|0);qd(a+128|0);qd(a+144|0);qd(a+160|0);qd(a+176|0);qd(a+192|0);qd(a+208|0);qd(a+224|0);qd(a+240|0);qd(a+256|0);qd(a+272|0);qd(a+288|0);qd(a+304|0);qd(a+320|0);qd(a+336|0);qd(a+352|0);qd(a+368|0);qd(a+384|0);qd(a+400|0);qd(a+416|0);qd(a+432|0);qd(a+448|0);qd(a+464|0);qd(a+480|0);qd(a+496|0);return}function Om(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Pm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Rm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Sm(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;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Tm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Um(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;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Vm(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Wm(a){a=a|0;vd(a);vd(a+24|0);vd(a+48|0);vd(a+72|0);vd(a+96|0);vd(a+120|0);vd(a+144|0);vd(a+168|0);vd(a+192|0);vd(a+216|0);vd(a+240|0);vd(a+264|0);vd(a+288|0);vd(a+312|0);vd(a+336|0);vd(a+360|0);vd(a+384|0);vd(a+408|0);vd(a+432|0);vd(a+456|0);vd(a+480|0);vd(a+504|0);vd(a+528|0);vd(a+552|0);vd(a+576|0);vd(a+600|0);vd(a+624|0);vd(a+648|0);vd(a+672|0);vd(a+696|0);vd(a+720|0);vd(a+744|0);return}function Xm(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;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Ym(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Zm(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;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function _m(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function $m(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;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function an(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if(d>>>0<=b>>>0){e=b+1|0;if(e>>>0>d>>>0){Kk(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;x=y;v=a+20|0;q=k[v>>2]|0;m=q+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;f=q+16|0;o=f;n=k[o>>2]|0;o=k[o+4>>2]|0;c=jq(n|0,o|0,4,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){a=0;r=y;return a|0}e=k[q>>2]|0;w=e+n|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=f;k[d>>2]=c;k[d+4>>2]=b;b=jq(n|0,o|0,8,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){a=0;r=y;return a|0}u=e+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=f;k[t>>2]=b;k[t+4>>2]=d;if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>b>>>0)){a=0;r=y;return a|0}t=i[e+b>>0]|0;h=jq(n|0,o|0,9,0)|0;g=L;s=f;k[s>>2]=h;k[s+4>>2]=g;a:do if(!(t<<24>>24)){if(!(dn(a,w)|0)){a=0;r=y;return a|0}}else{if((u|0)<256){if((w|0)<=0)break;n=a+24|0;o=x+4|0;p=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b:do if((m|0)>(g|0)|(m|0)==(g|0)&j>>>0>h>>>0){b=q;f=m;e=j;j=0;do{d=b+16|0;c=k[b>>2]|0;s=i[c+h>>0]|0;b=jq(h|0,g|0,1,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[x>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;s=i[c+b>>0]|0;b=jq(h|0,g|0,2,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[o>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;b=jq(h|0,g|0,3,0)|0;k[d>>2]=b;k[d+4>>2]=L;k[p>>2]=c&255;d=k[n>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}j=j+1|0;if((j|0)>=(w|0))break a;b=k[v>>2]|0;f=b+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0}while((f|0)>(g|0)|(f|0)==(g|0)&e>>>0>h>>>0)}while(0);a=0;r=y;return a|0}b=(w|0)>0;if((u|0)<65536){if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,11,0)|0;c=L;c:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d&65535;d=jq(h|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b&65535;b=jq(h|0,g|0,6,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d&65535;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,2,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}else{if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,13,0)|0;c=L;d:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d;d=jq(h|0,g|0,8,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break d;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b;b=jq(h|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break d;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,4,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=y;return a|0}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;c=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(c>>>0>1073741823)yp(m);else{i=b*12|0;d=$p(i)|0;k[m>>2]=d;j=d+(c<<2)|0;k[m+8>>2]=j;hq(d|0,0,i|0)|0;k[n>>2]=j;break}else d=0;while(0);if(Kd(c,1,k[a+20>>2]|0,d)|0)if((b|0)>0){c=a+24|0;d=l+4|0;a=l+8|0;h=0;i=0;j=0;while(1){g=l;k[g>>2]=0;k[g+4>>2]=0;g=k[m>>2]|0;p=k[g+(j<<2)>>2]|0;e=p>>>1;e=((p&1|0)==0?e:0-e|0)+i|0;k[l>>2]=e;p=k[g+(j+1<<2)>>2]|0;f=p>>>1;e=((p&1|0)==0?f:0-f|0)+e|0;k[d>>2]=e;g=k[g+(j+2<<2)>>2]|0;f=g>>>1;i=((g&1|0)==0?f:0-f|0)+e|0;k[a>>2]=i;e=k[c>>2]|0;f=e+84|0;g=k[f>>2]|0;if((g|0)==(k[e+88>>2]|0))en(e+80|0,l);else{k[g>>2]=k[l>>2];k[g+4>>2]=k[l+4>>2];k[g+8>>2]=k[l+8>>2];k[f>>2]=(k[f>>2]|0)+12}h=h+1|0;if((h|0)>=(b|0)){a=1;break}else j=j+3|0}}else a=1;else a=0;c=k[m>>2]|0;if(!c){r=o;return a|0}d=k[n>>2]|0;if((d|0)!=(c|0))k[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=o;return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function fn(a){a=a|0;mh(a);k[a>>2]=4412;return}function gn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function hn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function jn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+c>>0]|0;b=jq(c|0,d|0,1,0)|0;d=e;k[d>>2]=b;k[d+4>>2]=L;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=$p(336)|0;Oo(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=$p(376)|0;Po(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=gb[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function kn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function ln(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+28>>2]&127](a)|0}function mn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+36>>2]&127](a)|0}function nn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function on(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function pn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+24>>2]&127](a)|0}function qn(a){a=a|0;mh(a);k[a>>2]=4472;k[a+28>>2]=0;return}function rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);sn(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function sn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function tn(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;if(b|0)Ip(b);b=k[a>>2]|0;if(!b)return;Ip(b);return}function un(a){a=a|0;rn(a);Ip(a);return}function vn(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function yn(a,b){a=a|0;b=b|0;var 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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function zn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function An(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Bn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Cn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Dn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function En(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}m=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;l=(m|0)/12|0;if((m|0)<=0)return 1;j=a+80|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}m=k[(k[j>>2]|0)+12>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(f*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2];a=d+1|0;k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];a=d+2|0;k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(l|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Fn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[d>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Gn(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Gn(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;t=A+28|0;s=A+24|0;i=A+20|0;j=A+16|0;m=A+12|0;n=A+8|0;v=A+4|0;w=A;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}e=k[a>>2]|0;l=(c|0)<0;if(!l){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[(k[e>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0){g=d;h=-1073741824}else{g=d;h=k[(k[e>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}o=a+24|0;d=k[o>>2]|0;b=d+(g>>>5<<2)|0;e=1<<(g&31);f=k[b>>2]|0;if(!(f&e)){k[b>>2]=f|e;k[i>>2]=g;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Hn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Hn(d,s,t)}c=k[x>>2]|0;b=k[y>>2]|0;if((c|0)==(b|0)){r=A;return}j=a+12|0;l=a+36|0;d=c;while(1){c=k[b+-4>>2]|0;k[p>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(z=k[j>>2]|0,(k[z+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=z;while(1){e=(c|0)/3|0;i=d+(e>>>5<<2)|0;k[i>>2]=1<<(e&31)|k[i>>2];i=(c|0)<0;b=k[a>>2]|0;if(i)h=-1073741824;else h=k[(k[b>>2]|0)+(e*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=k[(k[b+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n;if((d|0)>=0){d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n}}}e=(k[o>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[v>>2]=h;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Hn(l,s,t);b=k[a>>2]|0;if((d|0)>=0){if(!i){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;d=k[j>>2]|0;continue}}if(!i){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;k[t>>2]=d;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else{k[t>>2]=-1073741824;c=-1073741824;d=-1073741824}b=(d|0)<0?-1:(d|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;if((b|0)>=0?(u=k[j>>2]|0,(k[u+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0)if((e|0)>=0?(k[u+(e>>>5<<2)>>2]&1<<(e&31)|0)==0:0){b=51;break}else{b=u;c=d}else{if((e|0)<0){b=48;break}d=k[j>>2]|0;if(!(k[d+(e>>>5<<2)>>2]&1<<(e&31)))b=d;else{b=48;break}}k[p>>2]=c;d=b}do if((b|0)==48){c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((b|0)==51){b=k[y>>2]|0;k[b+-4>>2]=c;if((b|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[b>>2]=d;c=b+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=b+-4|0;k[y>>2]=c}if((d|0)==(c|0))break;else b=c}r=A;return}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))pg(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Jn(f,i,j);r=n;return}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;n=q+32|0;j=q+8|0;l=q;m=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;e=k[d>>2]|0;d=k[d+4>>2]|0;h=c;g=k[h>>2]|0;h=k[h+4>>2]|0;i=g-e<<3;k[f>>2]=s-d+h+i;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=j;k[s>>2]=e;k[s+4>>2]=d;s=l;k[s>>2]=g;k[s+4>>2]=h;k[m>>2]=b;k[m+4>>2]=c;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];Kn(p,n,o,m);r=q;return}a=h-d+i|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{e=32-d|0;b=(a|0)<(e|0)?a:e;e=-1>>>(e-b|0)&-1<>2]=k[f>>2]&~e|k[c>>2]&e;e=b+d|0;g=c+4|0;d=e&31;f=f+(e>>>5<<2)|0;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[p>>2]=b;k[p+4>>2]=d;r=q;return}function Kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=k[b>>2]|0;l=k[b+4>>2]|0;n=((k[c>>2]|0)-q<<3)+(k[c+4>>2]|0)-l|0;c=q;if((n|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!l){e=d+4|0;j=e;e=k[e>>2]|0;p=n}else{f=32-l|0;m=(n|0)<(f|0)?n:f;f=-1>>>(f-m|0)&-1<>2];j=d+4|0;i=k[j>>2]|0;e=32-i|0;g=e>>>0>>0?e:m;h=k[d>>2]|0;i=k[h>>2]&~(-1>>>(e-g|0)&-1<>2]=i;e=k[j>>2]|0;k[h>>2]=i|(e>>>0>l>>>0?f<>>(l-e|0));e=(k[j>>2]|0)+g|0;h=h+(e>>>5<<2)|0;k[d>>2]=h;e=e&31;k[j>>2]=e;i=m-g|0;if((i|0)>0){k[h>>2]=k[h>>2]&~(-1>>>(32-i|0))|f>>>(l+g|0);k[j>>2]=i;e=i}c=c+4|0;k[b>>2]=c;p=n-m|0}q=32-e|0;g=-1<>>0>31){i=~g;f=k[d>>2]|0;m=p+-32|0;h=m>>>5;l=h+1|0;h=m-(h<<5)|0;m=c;n=k[f>>2]|0;o=f;e=p;while(1){p=k[m>>2]|0;r=n&i;k[o>>2]=r;k[o>>2]=r|p<>2];o=o+4|0;n=k[o>>2]&g|p>>>q;k[o>>2]=n;e=e+-32|0;if(e>>>0<=31)break;else m=m+4|0}c=c+(l<<2)|0;k[b>>2]=c;k[d>>2]=f+(l<<2)}else h=p;if((h|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(q|0)<(h|0)?q:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(q-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;h=c-m>>2;j=a+8|0;d=k[j>>2]|0;g=k[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(l|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[j>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else i=d}else i=1073741823;f=$p(i<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[j>>2]=f+(i<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e+1<<2);return}else{j=a+4|0;i=k[j>>2]|0;f=i-g>>2;g=h>>>0>f>>>0;h=b+(f<<2)|0;f=g?h:c;if((f|0)==(b|0))b=l;else{e=f+-4-m|0;d=l;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}b=l+((e>>>2)+1<<2)|0}if(!g){if((i|0)==(b|0))return;k[j>>2]=i+(~((i+-4-b|0)>>>2)<<2);return}if((f|0)==(c|0))return;e=(c+-4-f|0)>>>2;b=h;d=i;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=i+(e+1<<2);return}}function Nn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function On(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Pn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Qn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}l=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;m=(l|0)/12|0;if((l|0)<=0)return 1;l=a+80|0;j=n+28|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}a=k[(k[l>>2]|0)+12>>2]|0;n=k[j>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[a+(k[n+(d<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[a+(k[n+(d+1<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[a+(k[n+(d+2<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(m|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[(k[d>>2]|0)+64>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Un(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Un(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+32|0;t=B+28|0;s=B+24|0;i=B+20|0;j=B+16|0;m=B+12|0;n=B+8|0;v=B+4|0;w=B;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}d=k[a>>2]|0;l=(c|0)<0;do if(!l){b=c+1|0;d=k[d+28>>2]|0;b=k[d+((((b|0)%3|0|0)==0?c+-2|0:b)<<2)>>2]|0;if(!((c|0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else{b=k[d+28>>2]|0;e=c;d=b;b=k[b+(c<<2)>>2]|0}while(0);h=k[d+(e<<2)>>2]|0;o=a+24|0;d=k[o>>2]|0;e=d+(b>>>5<<2)|0;f=1<<(b&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[i>>2]=b;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Vn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Vn(d,s,t)}d=k[x>>2]|0;c=k[y>>2]|0;if((d|0)==(c|0)){r=B;return}i=a+12|0;j=a+36|0;do{e=k[c+-4>>2]|0;k[p>>2]=e;b=(e|0)/3|0;if((e|0)>=0?(z=k[i>>2]|0,(k[z+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0){h=k[a>>2]|0;c=e;d=z;a:while(1){n=(c|0)/3|0;g=d+(n>>>5<<2)|0;k[g>>2]=1<<(n&31)|k[g>>2];g=k[(k[h+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[h+40>>2]|0)+(g<<2)>>2]|0;if((d|0)<0)f=1;else{f=k[(k[k[h+64>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;f=(1<<(f&31)&k[(k[h+12>>2]|0)+(f>>>5<<2)>>2]|0)!=0}d=(k[o>>2]|0)+(g>>>5<<2)|0;b=1<<(g&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;k[v>>2]=g;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Vn(j,s,t);d=k[a>>2]|0;if(f)f=d;else{if((c|0)>=0){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n}if(!(1<<(c&31)&k[(k[d>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[d+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;h=d;d=k[i>>2]|0;continue}}else f=h;d=(c|0)<0;if(d)b=c;else{b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b}if(!(1<<(b&31)&k[(k[f>>2]|0)+(b>>>5<<2)>>2])){if((b|0)>=0)b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}else b=-1073741824;k[t>>2]=b;do if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[f>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;d=(b|0)<0?-1:(b|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;do if((d|0)>=0?(u=k[i>>2]|0,(k[u+(d>>>5<<2)>>2]&1<<(d&31)|0)==0):0){if((e|0)<0){d=u;c=b;break}if(!(k[u+(e>>>5<<2)>>2]&1<<(e&31))){A=56;break a}else{d=u;c=b}}else A=51;while(0);if((A|0)==51){A=0;if((e|0)<0){A=53;break}d=k[i>>2]|0;if(k[d+(e>>>5<<2)>>2]&1<<(e&31)){A=53;break}}k[p>>2]=c;h=f}do if((A|0)==53){A=0;c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((A|0)==56){A=0;d=k[y>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[d>>2]=b;c=d+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=c+-4|0;k[y>>2]=c}}while((d|0)!=(c|0));r=B;return} +function Vk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Wk(a,e);r=p;return}k[f>>2]=b;Xk(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];_k(a,u,n,m,0,q);r=s;return 1}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;$k(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){cl(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Hm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){cl(la);r=ma;return}}function $k(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;al(a,e);r=p;return}k[f>>2]=b;bl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function cl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];el(a,u,n,m,0,q);r=s;return 1}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;fl(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){il(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Jm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){il(la);r=ma;return}}function fl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;gl(a,e);r=p;return}k[f>>2]=b;hl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];kl(a,u,n,m,0,q);r=s;return 1}function kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;ll(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){ol(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Lm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){ol(la);r=ma;return}}function ll(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;ml(a,e);r=p;return}k[f>>2]=b;nl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ol(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];ql(a,u,n,m,0,q);r=s;return 1}function ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;rl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ul(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Om(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){ul(ia);r=ka;return}}function rl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;sl(a,e);r=p;return}k[f>>2]=b;tl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function vl(a){a=a|0;rd(a+496|0);rd(a+480|0);rd(a+464|0);rd(a+448|0);rd(a+432|0);rd(a+416|0);rd(a+400|0);rd(a+384|0);rd(a+368|0);rd(a+352|0);rd(a+336|0);rd(a+320|0);rd(a+304|0);rd(a+288|0);rd(a+272|0);rd(a+256|0);rd(a+240|0);rd(a+224|0);rd(a+208|0);rd(a+192|0);rd(a+176|0);rd(a+160|0);rd(a+144|0);rd(a+128|0);rd(a+112|0);rd(a+96|0);rd(a+80|0);rd(a+64|0);rd(a+48|0);rd(a+32|0);rd(a+16|0);rd(a);return}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];xl(a,u,n,m,0,q);r=s;return 1}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;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;yl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Bl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Qm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Bl(ia);r=ka;return}}function yl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;zl(a,e);r=p;return}k[f>>2]=b;Al(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Bl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Dl(a,u,n,m,0,q);r=s;return 1}function Dl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;El(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Hl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Sm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Hl(ia);r=ka;return}}function El(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Fl(a,e);r=p;return}k[f>>2]=b;Gl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Jl(a,u,n,m,0,q);r=s;return 1}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Kl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Nl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Um(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Nl(ia);r=ka;return}}function Kl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Ll(a,e);r=p;return}k[f>>2]=b;Ml(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Pl(a,u,n,m,0,q);r=s;return 1}function Pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Ql(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Tl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Xm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Tl(ia);r=ka;return}}function Ql(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Rl(a,e);r=p;return}k[f>>2]=b;Sl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Rl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ul(a){a=a|0;wd(a+744|0);wd(a+720|0);wd(a+696|0);wd(a+672|0);wd(a+648|0);wd(a+624|0);wd(a+600|0);wd(a+576|0);wd(a+552|0);wd(a+528|0);wd(a+504|0);wd(a+480|0);wd(a+456|0);wd(a+432|0);wd(a+408|0);wd(a+384|0);wd(a+360|0);wd(a+336|0);wd(a+312|0);wd(a+288|0);wd(a+264|0);wd(a+240|0);wd(a+216|0);wd(a+192|0);wd(a+168|0);wd(a+144|0);wd(a+120|0);wd(a+96|0);wd(a+72|0);wd(a+48|0);wd(a+24|0);wd(a);return}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Wl(a,u,n,m,0,q);r=s;return 1}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Xl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){_l(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Zm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){_l(ia);r=ka;return}}function Xl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Yl(a,e);r=p;return}k[f>>2]=b;Zl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function _l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];am(a,u,n,m,0,q);r=s;return 1}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;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=r;r=r+176|0;oa=pa;o=pa+128|0;na=pa+112|0;ma=pa+64|0;V=pa+160|0;la=pa+16|0;W=pa+80|0;X=pa+32|0;S=k[c>>2]|0;ia=c+4|0;U=k[ia>>2]|0;ka=c+8|0;T=k[ka>>2]|0;k[o>>2]=b;k[o+4>>2]=S;k[o+8>>2]=U;k[o+12>>2]=T;T=o+16|0;k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[na>>2]=0;T=na+4|0;k[T>>2]=0;k[na+8>>2]=0;U=na+8|0;bm(na,o);e=k[T>>2]|0;o=k[na>>2]|0;b=e-o|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=o+(g<<5)|0;b=e+-32|0;j=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){l=k[e+-28>>2]|0;m=k[e+-24>>2]|0;n=k[e+-20>>2]|0;e=e+-16|0;k[oa>>2]=k[e>>2];k[oa+4>>2]=k[e+4>>2];k[oa+8>>2]=k[e+8>>2];k[oa+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=o+(g<<5)|0;if((k[b>>2]|0)>>>0>=j>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=j;k[e+4>>2]=l;k[e+8>>2]=m;k[e+12>>2]=n;g=e+16|0;k[g>>2]=k[oa>>2];k[g+4>>2]=k[oa+4>>2];k[g+8>>2]=k[oa+8>>2];k[g+12>>2]=k[oa+12>>2];g=7}else g=7}else b=o;a:while(1){if((g|0)==7){b=k[na>>2]|0;e=k[T>>2]|0}if((b|0)==(e|0)){g=62;break}S=k[b>>2]|0;e=k[b+4>>2]|0;p=k[b+8>>2]|0;n=k[b+12>>2]|0;R=b+16|0;k[ma>>2]=k[R>>2];k[ma+4>>2]=k[R+4>>2];k[ma+8>>2]=k[R+8>>2];R=k[b+28>>2]|0;cm(na);k[c>>2]=e;k[ia>>2]=p;k[ka>>2]=n;k[d>>2]=k[ma>>2];k[d+4>>2]=k[ma+4>>2];k[d+8>>2]=k[ma+8>>2];k[V>>2]=e;k[V+4>>2]=p;k[V+8>>2]=n;k[oa>>2]=k[ma>>2];k[oa+4>>2]=k[ma+4>>2];k[oa+8>>2]=k[ma+8>>2];R=$m(a,S,V,oa,R)|0;n=d+(R<<2)|0;p=k[n>>2]|0;b=k[a>>2]|0;e=(S|0)==0;do if((b|0)==(p|0)){if(!e){l=k[f>>2]|0;b=f+4|0;g=l+84|0;h=l+68|0;j=l+40|0;l=l+64|0;e=k[b>>2]|0;m=e;o=0;while(1){if(!(i[g>>0]|0))n=k[(k[h>>2]|0)+(m<<2)>>2]|0;else n=m;Q=j;R=k[Q>>2]|0;Q=sq(n|0,((n|0)<0)<<31>>31|0,R|0,k[Q+4>>2]|0)|0;lq((k[k[l>>2]>>2]|0)+Q|0,c|0,R|0)|0;o=o+1|0;if((o|0)==(S|0))break;else m=m+1|0}k[b>>2]=S+e}}else{if(e){g=16;break a}if(S>>>0>=3){k[la>>2]=k[c>>2];q=la+4|0;k[q>>2]=k[ia>>2];s=la+8|0;k[s>>2]=k[ka>>2];Q=la+(R<<2)|0;k[Q>>2]=(k[Q>>2]|0)+(1<>>1)-e|0;h=S-l|0;if((l|0)==(h|0)){m=l;o=l}else{e=a+856|0;S=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;j=(k[g>>2]&1<<31-S|0)!=0;S=S+1|0;k[e>>2]=S;if((S|0)==32){k[b>>2]=g+4;k[e>>2]=0}m=j?l:h;o=j?h:l}k[n>>2]=p+1;if(m|0){e=k[c>>2]|0;b=k[ia>>2]|0;g=k[ka>>2]|0;k[W>>2]=m;k[W+4>>2]=e;k[W+8>>2]=b;k[W+12>>2]=g;h=W+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[W+28>>2]=R;j=k[T>>2]|0;if(j>>>0<(k[U>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=e;k[j+8>>2]=b;k[j+12>>2]=g;g=j+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,W);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(Y=((b>>5)+-2|0)/2|0,Z=e,_=Z+(Y<<5)|0,$=g,aa=$+-32|0,ba=k[aa>>2]|0,(k[_>>2]|0)>>>0>>0):0){h=k[$+-28>>2]|0;j=k[$+-24>>2]|0;l=k[$+-20>>2]|0;g=$+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=Y;b=aa;e=_;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Z+(g<<5)|0;if((k[b>>2]|0)>>>0>=ba>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ba;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}if(o|0){j=k[la>>2]|0;h=k[q>>2]|0;b=k[s>>2]|0;k[X>>2]=o;k[X+4>>2]=j;k[X+8>>2]=h;k[X+12>>2]=b;g=X+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[X+28>>2]=R;e=k[T>>2]|0;if(e>>>0<(k[U>>2]|0)>>>0){k[e>>2]=o;k[e+4>>2]=j;k[e+8>>2]=h;k[e+12>>2]=b;S=e+16|0;k[S>>2]=k[g>>2];k[S+4>>2]=k[g+4>>2];k[S+8>>2]=k[g+8>>2];k[S+12>>2]=k[g+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,X);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(ca=((b>>5)+-2|0)/2|0,da=e,ea=da+(ca<<5)|0,fa=g,ga=fa+-32|0,ha=k[ga>>2]|0,(k[ea>>2]|0)>>>0>>0):0){h=k[fa+-28>>2]|0;j=k[fa+-24>>2]|0;l=k[fa+-20>>2]|0;g=fa+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=ca;b=ga;e=ea;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=da+(g<<5)|0;if((k[b>>2]|0)>>>0>=ha>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ha;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}break}x=(R|0)==2?0:R+1|0;t=(x|0)==2?0:x+1|0;H=b-p|0;F=k[d+(x<<2)>>2]|0;I=b-F|0;q=k[d+(t<<2)>>2]|0;J=b-q|0;K=a+816|0;L=a+812|0;Q=k[f>>2]|0;M=f+4|0;N=Q+84|0;O=Q+68|0;P=Q+40|0;Q=Q+64|0;D=(b|0)==(p|0);B=oa+(R<<2)|0;E=c+(R<<2)|0;F=(b|0)==(F|0);C=oa+(x<<2)|0;G=c+(x<<2)|0;q=(b|0)==(q|0);p=oa+(t<<2)|0;s=c+(t<<2)|0;t=oa+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=oa+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;j=oa+(R<<2)|0;l=(H|0)<33;m=(H|0)>0;n=32-H|0;o=0;do{k[oa>>2]=0;k[oa+4>>2]=0;k[oa+8>>2]=0;do if(!D){if(!l){g=23;break a}if(!m){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=H-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[j>>2]=e;b=j;break}e=b>>>n;k[j>>2]=e;R=g+H|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=j}else b=j}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[E>>2];do if(!F){if(!y){g=23;break a}if(!z){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=I-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[x>>2]=e;b=x;break}e=b>>>A;k[x>>2]=e;R=g+I|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=x}else b=x}else{b=C;e=k[C>>2]|0}while(0);k[b>>2]=e|k[G>>2];do if(!q){if(!u){g=23;break a}if(!v){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=J-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[t>>2]=e;b=t;break}e=b>>>w;k[t>>2]=e;R=g+J|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=t}else b=t}else{b=p;e=k[p>>2]|0}while(0);k[b>>2]=e|k[s>>2];e=k[M>>2]|0;k[M>>2]=e+1;if(!(i[N>>0]|0))e=k[(k[O>>2]|0)+(e<<2)>>2]|0;h=P;R=k[h>>2]|0;h=sq(e|0,((e|0)<0)<<31>>31|0,R|0,k[h+4>>2]|0)|0;lq((k[k[Q>>2]>>2]|0)+h|0,oa|0,R|0)|0;o=o+1|0}while(o>>>0>>0)}while(0);g=7}if((g|0)==16)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==62){if(!e){r=pa;return}Ip(e);r=pa;return}}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function cm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;s=t;b=k[a>>2]|0;q=a+4|0;a=k[q>>2]|0;c=a-b|0;d=c>>5;if((c|0)<=32){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}p=b;o=a;j=o+-32|0;a=k[p>>2]|0;e=p+4|0;l=k[e>>2]|0;f=p+8|0;m=k[f>>2]|0;g=p+12|0;n=k[g>>2]|0;i=p+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];h=b;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[h+12>>2]=k[j+12>>2];k[h+16>>2]=k[j+16>>2];k[h+20>>2]=k[j+20>>2];k[h+24>>2]=k[j+24>>2];k[h+28>>2]=k[j+28>>2];k[j>>2]=a;k[o+-28>>2]=l;k[o+-24>>2]=m;k[o+-20>>2]=n;o=o+-16|0;k[o>>2]=k[s>>2];k[o+4>>2]=k[s+4>>2];k[o+8>>2]=k[s+8>>2];k[o+12>>2]=k[s+12>>2];o=d+-1|0;if((c|0)<96){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}m=d+-3|0;n=(m|0)/2|0;if((m|0)<-1){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}b=p+32|0;a=b;if((o|0)>2){m=p+64|0;l=(k[b>>2]|0)>>>0<(k[m>>2]|0)>>>0;b=l?2:1;a=l?m:a}else b=1;m=k[p>>2]|0;if((k[a>>2]|0)>>>0>>0){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}l=k[e>>2]|0;j=k[f>>2]|0;f=k[g>>2]|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];while(1){i=h;h=a;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];k[i+16>>2]=k[h+16>>2];k[i+20>>2]=k[h+20>>2];k[i+24>>2]=k[h+24>>2];k[i+28>>2]=k[h+28>>2];if((n|0)<(b|0))break;b=b<<1|1;d=p+(b<<5)|0;c=d;e=b+1|0;if((e|0)<(o|0)){i=d+32|0;g=(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0;b=g?e:b;c=g?i:c}if((k[c>>2]|0)>>>0>>0)break;else a=c}p=a;k[p>>2]=m;k[p+4>>2]=l;k[p+8>>2]=j;k[p+12>>2]=f;p=p+16|0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];k[p+8>>2]=k[s+8>>2];k[p+12>>2]=k[s+12>>2];s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return} +function ib(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function jb(){return r|0}function kb(a){a=a|0;r=a}function lb(a,b){a=a|0;b=b|0;r=a;s=b}function mb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function nb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function ob(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function pb(a){a=a|0;L=a}function qb(){return L|0}function rb(){var a=0;a=$p(68)|0;rg(a);return a|0}function sb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function tb(a){a=a|0;return k[a+64>>2]|0}function ub(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function vb(){var a=0;a=$p(1)|0;tc(a);return a|0}function wb(a,b){a=a|0;b=b|0;return uc(a,b)|0}function xb(a,b){a=a|0;b=b|0;return vc(b)|0}function yb(a,b){a=a|0;b=b|0;return wc(b)|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,c)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return yc(b,c)|0}function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zc(b,c,d)|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ac(b,c,d)|0}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bd(b,c,d)|0}function Eb(a){a=a|0;if(!a)return;Ip(a);return}function Fb(){var a=0;a=$p(88)|0;Le(a);return a|0}function Gb(a){a=a|0;return k[a+80>>2]|0}function Hb(a){a=a|0;return k[a+56>>2]|0}function Ib(a){a=a|0;return k[a+28>>2]|0}function Jb(a){a=a|0;return i[a+24>>0]|0}function Kb(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Lb(a){a=a|0;return k[a+40>>2]|0}function Mb(a){a=a|0;return k[a+48>>2]|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(a);return}function Ob(){var a=0;a=$p(12)|0;mc(a);return a|0}function Pb(a,b){a=a|0;b=b|0;return +(+nc(a,b))}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function Rb(){var a=0;a=$p(64)|0;Ie(a);return a|0}function Sb(a){a=a|0;if(!a)return;Ip(a);return}function Tb(){var a=0;a=$p(40)|0;Og(a);return a|0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;Pg(a,b,c);return}function Vb(a){a=a|0;if(!a)return;Ng(a+24|0);Ip(a);return}function Wb(){var a=0;a=$p(92)|0;zg(a);return a|0}function Xb(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Yb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function Zb(a){a=a|0;return k[a+64>>2]|0}function _b(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function $b(a){a=a|0;if(!a)return;Ip(a);return}function ac(){var a=0;a=$p(12)|0;qc(a);return a|0}function bc(a,b){a=a|0;b=b|0;return rc(a,b)|0}function cc(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function dc(){return -1}function ec(){return 0}function fc(){return 1}function gc(){return -1}function hc(){return 0}function ic(){return 1}function jc(){return 2}function kc(){return 3}function lc(){return 4}function mc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function nc(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;h=c-m>>2;l=a+8|0;d=k[l>>2]|0;j=k[a>>2]|0;i=j;if(h>>>0<=d-j>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-j>>2;a=h>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;f=e;m=f-m|0;mq(j|0,b|0,m|0)|0;b=i+(m>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;e=b+(((c+-4-f|0)>>>2)+1<<2)|0;while(1){k[b>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}k[g>>2]=e;return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);Ip(f);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else g=d}else g=1073741823;d=$p(g<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(g<<2);if((b|0)==(c|0))return;e=d+(((c+-4-m|0)>>>2)+1<<2)|0;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[f>>2]=e;return}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function qc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function rc(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;i=a+8|0;d=k[i>>2]|0;l=k[a>>2]|0;j=l;if(g>>>0<=d-l>>2>>>0){i=a+4|0;h=(k[i>>2]|0)-l>>2;a=g>>>0>h>>>0;h=b+(h<<2)|0;e=a?h:c;g=e;d=g-m|0;mq(l|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;if(!a){b=k[i>>2]|0;if((b|0)==(d|0))return;k[i>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[i>>2]|0;e=(c+-4-g|0)>>>2;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[i>>2]=f+(e+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e+1<<2);return}function tc(a){a=a|0;return}function uc(a,b){a=a|0;b=b|0;return Ro(b)|0}function vc(a){a=a|0;return To(a)|0}function wc(a){a=a|0;return Uo(a)|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;return sg(b,c)|0}function yc(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Aa(9717,9733,54,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0>b>>>0)return k[c+(b<<2)>>2]|0;else Aa(9771,9733,55,9761);return 0}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Aa(10856,10769,63,10783);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0)>>>0>b>>>0){a=d+(b*12|0)|0;sc(c,a,a+12|0);return 1}else Aa(10733,10769,64,10783);return 0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Bc(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=Ic(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=Pc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Wc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}oc(c,l,l+(j<<2)|0);l=1;r=m;return l|0}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Cc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Dc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Ec(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Fc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Gc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Hc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Jc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Kc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Lc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Mc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Nc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Oc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;o[c+8>>2]=0.0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Qc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Rc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Sc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Tc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Uc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Vc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=c+8|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Xc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Yc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Zc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=_c(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=$c(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=ad(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;v=w;u=b+24|0;j=i[u>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;g=ha(n,m)|0;k[v>>2]=k[196];k[v+4>>2]=k[197];k[v+8>>2]=k[198];k[v+12>>2]=k[199];a=c+4|0;f=k[a>>2]|0;e=k[c>>2]|0;d=f-e>>2;if(g>>>0<=d>>>0){if(g>>>0>>0?(h=e+(g<<2)|0,(f|0)!=(h|0)):0)k[a>>2]=f+(~((f+-4-h|0)>>>2)<<2)}else pc(c,g-d|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}a=k[c>>2]|0;d=f;e=0;while(1){k[a+(d<<2)>>2]=k[v+(e<<2)>>2];e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function cd(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function ed(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,j=0,l=0,m=0,n=0,o=0,p=0;f=k[a>>2]|0;j=f;b=f+((k[b>>2]|0)-j)|0;l=d-c|0;if((l|0)<=0){p=b;return p|0}o=a+8|0;h=k[o>>2]|0;p=a+4|0;m=k[p>>2]|0;e=m;if((l|0)<=(h-e|0)){g=e-b|0;if((l|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;e=(k[p>>2]|0)+1|0;k[p>>2]=e;f=f+1|0}while((f|0)!=(d|0))}if((g|0)>0)d=h;else{p=b;return p|0}}else e=m;g=e-(b+l)|0;f=b+g|0;if(f>>>0>>0){h=e;do{i[h>>0]=i[f>>0]|0;f=f+1|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h}while((f|0)!=(m|0))}mq(e+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){p=b;return p|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}g=e-j+l|0;if((g|0)<0)yp(a);e=h-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=b;g=h-j|0;if(!e){l=0;j=0}else n=16}else{h=b;e=2147483647;g=h-j|0;n=16}if((n|0)==16){l=e;j=$p(e)|0}m=j+g|0;e=m;g=j+l|0;if((c|0)==(d|0))c=e;else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}n=h-f|0;j=m+(0-n)|0;lq(j|0,f|0,n|0)|0;n=(k[p>>2]|0)-h|0;l=c;lq(l|0,b|0,n|0)|0;b=k[a>>2]|0;k[a>>2]=j;k[p>>2]=l+n;k[o>>2]=g;if(!b){p=m;return p|0}Ip(b);p=m;return p|0}function fd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function gd(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d);return}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=k[a>>2]|0;o=a+4|0;c=k[o>>2]|0;m=n;if((c|0)==(n|0))d=n;else{d=c+(~((c+-4-m|0)>>>2)<<2)|0;k[o>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;q=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;g=jq(f|0,e|0,4,0)|0;h=L;if((d|0)<(h|0)|(d|0)==(h|0)&q>>>0>>0)j=0;else{j=(k[b>>2]|0)+f|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;f=r;k[f>>2]=g;k[f+4>>2]=h;f=g;e=h}h=j>>>2;g=c-m>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(p=n+(h<<2)|0,(c|0)!=(p|0)):0){k[o>>2]=c+(~((c+-4-p|0)>>>2)<<2);c=q}else c=q;else{id(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}q=jq(f|0,e|0,j|0,0)|0;p=L;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}lq(k[a>>2]|0,(k[b>>2]|0)+f|0,j|0)|0;q=r;q=jq(k[q>>2]|0,k[q+4>>2]|0,j|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=L;a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function jd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;ld(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Ip(d);r=f;return}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>3>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){m=c;l=k[m+4>>2]|0;a=e;k[a>>2]=k[m>>2];k[a+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=h;while(1){b=c;l=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[i>>2]=h+(e<<3);return}else{d=j+(b<<3)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)yp(a);d=d-0|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?b:d;if(d>>>0>536870911)yp(a);else h=d}else h=536870911;f=$p(h<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function md(a){a=a|0;Fa(a|0)|0;Wp()}function nd(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;c=e;c=jq(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;k[e>>2]=c;k[e+4>>2]=L;e=a+28|0;c=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;k[c>>2]=e;k[c+4>>2]=L;c=a+28|0;e=c;c=k[c>>2]|0}d=c+1|0;k[e>>2]=d;if((d|0)!=32)return;c=a+24|0;b=a+16|0;d=k[b>>2]|0;if((d|0)==(k[a+20>>2]|0))dd(a+12|0,c);else{k[d>>2]=k[c>>2];k[b>>2]=d+4}k[e>>2]=0;k[c>>2]=0;return}function pd(a,b){a=a|0;b=b|0;var 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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;s=y;t=y+24|0;q=y+28|0;w=y+8|0;o=y+20|0;v=k[a>>2]|0;x=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;x=jq(c|0,v|0,k[x>>2]|0,k[x+4>>2]|0)|0;m=L;m=jq((x|0)==0&(m|0)==0&1|0,0,x|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[w>>2]=0;x=w+4|0;k[x>>2]=0;k[w+8>>2]=0;if(!c)n=0;else{if((c|0)<0)yp(w);d=$p(c)|0;k[x>>2]=d;k[w>>2]=d;k[w+8>>2]=d+c;do{i[d>>0]=0;d=(k[x>>2]|0)+1|0;k[x>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[w>>2]|0}p=a+28|0;c=(k[p>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1)}else{d=4096;e=0}c=k[v>>2]|0;if((c|0)==(k[m>>2]|0))f=d;else{do{c=c+-4|0;l=k[c>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)>0)j=j+-1|0;else break}}while((c|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Aa(5456,5621,133,5477);if(f>>>0>=1048576)Aa(5491,5621,134,5477);d=f+-4096|0;do if(d>>>0>=64){c=n+e|0;if(d>>>0<16384){d=f+12288|0;i[c>>0]=d;i[c+1>>0]=d>>>8;d=e+2|0;break}else{d=f+8384512|0;i[c>>0]=d;i[c+1>>0]=d>>>8;i[c+2>>0]=d>>>16;d=e+3|0;break}}else{i[n+e>>0]=d;d=e+1|0}while(0);c=b+16|0;n=c;m=k[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[n>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,q,q+1|0)|0;n=c;q=k[n>>2]|0;n=k[n+4>>2]|0;k[o>>2]=d;if(!((n|0)>0|(n|0)==0&q>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,o,o+4|0)|0;q=c;o=k[q+4>>2]|0;c=k[w>>2]|0;if(!((o|0)>0|(o|0)==0&(k[q>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,c,c+d|0)|0}}else u=31}else{k[o>>2]=d;u=31}c=s;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[p>>2]=0;c=k[w>>2]|0;if(!c){r=y;return}if((k[x>>2]|0)!=(c|0))k[x>>2]=c;Ip(c);r=y;return}function qd(a){a=a|0;i[a+12>>0]=0;return}function rd(a){a=a|0;return}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=b+8|0;f=c;g=k[f>>2]|0;f=k[f+4>>2]|0;n=b+16|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;if((f|0)>(e|0)|(f|0)==(e|0)&g>>>0>d>>>0){i[a+12>>0]=i[(k[b>>2]|0)+d>>0]|0;h=n;h=jq(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;g=n;k[g>>2]=h;k[g+4>>2]=j;g=c;c=k[g+4>>2]|0;g=k[g>>2]|0}else{h=d;j=e;c=f}e=jq(h|0,j|0,4,0)|0;d=L;b=k[b>>2]|0;f=b+h|0;if(!((c|0)<(d|0)|(c|0)==(d|0)&g>>>0>>0)){c=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;j=n;k[j>>2]=e;k[j+4>>2]=d;if((c|0)>=1){h=e;j=d;f=b+e|0;m=5}}else{c=0;m=5}a:do if((m|0)==5){k[a>>2]=f;d=c+-1|0;e=f+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[a+4>>2]=d;e=(l[e>>0]|0)&63;d=a+8|0;k[d>>2]=e;break}case 1:{if((c|0)<2){e=h;d=j;c=1;break a}k[a+4>>2]=c+-2;e=f+c+-2|0;e=(l[e+1>>0]|0)<<8&16128|(l[e>>0]|0);d=a+8|0;k[d>>2]=e;break}case 2:{if((c|0)<3){e=h;d=j;break a}k[a+4>>2]=c+-3;e=f+c+-3|0;e=(l[e+1>>0]|0)<<8|(l[e>>0]|0)|(l[e+2>>0]|0)<<16&4128768;d=a+8|0;k[d>>2]=e;break}default:{e=h;d=j;break a}}k[d>>2]=e+4096;e=h;d=j}while(0);m=jq(e|0,d|0,c|0,0)|0;k[n>>2]=m;k[n+4>>2]=L;return}function td(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=ha(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Aa(10077,5436,146,10128);if((b|0)<=0)Aa(10141,5436,147,10128);f=a+8|0;g=a+4|0;h=0-(l[a+12>>0]|0)&255;e=b;d=k[f>>2]|0;b=0;do{if(d>>>0<4096){i=(k[g>>2]|0)+-1|0;k[g>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[f>>2]=d}m=d&255;j=ha(d>>>8,h)|0;i=m>>>0>>0;d=i?j+m|0:d-h-j|0;k[f>>2]=d;b=i&1|b<<1;e=e+-1|0}while((e|0)!=0);k[c>>2]=b;return}function vd(a){a=a|0;p[a+16>>3]=.5;return}function wd(a){a=a|0;p[a+16>>3]=.5;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;p[a+16>>3]=.5;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;i=b+16|0;g=i;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;e=k[b>>2]|0;b=e+f|0;if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;m=i;k[m>>2]=d;k[m+4>>2]=c;if((b|0)>=1){e=e+d|0;f=d;g=c;h=3}}else{e=b;b=0;h=3}a:do if((h|0)==3){k[a>>2]=e;c=b+-1|0;d=e+c|0;switch((l[d>>0]|0)>>>6|0){case 0:{k[a+4>>2]=c;d=(l[d>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:{if((b|0)<2){d=f;c=g;b=1;break a}k[a+4>>2]=b+-2;d=e+b+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break}case 2:{if((b|0)<3){d=f;c=g;break a}k[a+4>>2]=b+-3;d=e+b+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break}default:{d=f;c=g;break a}}k[c>>2]=d+4096;d=f;c=g}while(0);j=jq(d|0,c|0,b|0,0)|0;m=i;k[m>>2]=j;k[m+4>>2]=L;return}function yd(a){a=a|0;var b=0,c=0,d=0.0,e=0,f=0,g=0,h=0,i=0;c=a+16|0;d=+p[c>>3];if(!(d<=1.0))Aa(5521,5534,22,5563);if(!(d>=0.0))Aa(5581,5534,23,5563);f=~~(d*256.0+.5)>>>0;g=(f|0)==256;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){i=a+4|0;h=(k[i>>2]|0)+-1|0;k[i>>2]=h;b=l[(k[a>>2]|0)+h>>0]|0|b<<8;k[e>>2]=b}a=b&255;g=0-(f+(g<<31>>31)+((f|0)==(g&1|0)&1))&255;h=ha(b>>>8,g)|0;i=a>>>0>>0;k[e>>2]=i?h+a|0:b-g-h|0;p[c>>3]=d*.9921875+ +(i&1^1|0)*.0078125;return i|0}function zd(a){a=a|0;var b=0;b=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=9}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=9}if((j|0)==9){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+16|0;c=i+8|0;d=i;e=a+8|0;if(k[e>>2]<<5>>>0>=b>>>0){r=i;return}k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)yp(h);l=((b+-1|0)>>>5)+1|0;b=$p(l<<2)|0;k[h>>2]=b;k[f>>2]=0;k[g>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;b=a+4|0;j=k[b>>2]|0;k[d>>2]=l+(j>>>5<<2);k[d+4>>2]=j&31;Dd(h,c,d);c=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=c;a=k[b>>2]|0;k[b>>2]=k[f>>2];k[f>>2]=a;a=k[e>>2]|0;k[e>>2]=k[g>>2];k[g>>2]=a;if(c|0)Ip(c);r=i;return}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;j=o+24|0;l=o+16|0;m=o+8|0;n=o;f=a+4|0;p=k[f>>2]|0;e=k[b>>2]|0;d=k[b+4>>2]|0;i=k[c>>2]|0;g=k[c+4>>2]|0;h=i-e<<3;k[f>>2]=p-d+g+h;f=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=f;if((d|0)!=(c|0)){k[j>>2]=e;k[j+4>>2]=d;k[l>>2]=i;k[l+4>>2]=g;k[m>>2]=b;k[m+4>>2]=c;Ed(n,j,l,m);r=o;return}a=g-d+h|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{g=32-d|0;b=(a|0)<(g|0)?a:g;g=-1>>>(g-b|0)&-1<>2]=k[f>>2]&~g|k[c>>2]&g;d=b+d|0;g=c+4|0;f=f+(d>>>5<<2)|0;d=d&31;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=k[b>>2]|0;l=b+4|0;e=k[l>>2]|0;h=((k[c>>2]|0)-m<<3)+(k[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{j=32-e|0;m=(h|0)<(j|0)?h:j;c=-1>>>(j-m|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;f=e>>>0>>0?e:m;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-f|0)&-1<>2]=n;e=k[j>>2]|0;i=k[l>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?c<>>(i-e|0));e=(k[j>>2]|0)+f|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=m-f|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|c>>>((k[l>>2]|0)+f|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-m|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{n=k[c>>2]|0;c=k[d>>2]|0;m=k[c>>2]&g;k[c>>2]=m;k[c>>2]=m|n<>2];c=c+4|0;k[d>>2]=c;k[c>>2]=k[c>>2]&f|n>>>i;e=e+-32|0;c=(k[b>>2]|0)+4|0;k[b>>2]=c}while(e>>>0>31);h=h&31}if((h|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Ip(d);return}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;Hd(a,b,2852);e=b*3|0;Id(a+12|0,e,2848);f=a+24|0;g=a+32|0;h=k[f>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=e>>>0)return;d=a+28|0;c=(k[d>>2]|0)-h|0;a=c>>2;if(!b)b=0;else b=$p(b*12|0)|0;i=b+(a<<2)|0;j=i+(0-a<<2)|0;a=h;lq(j|0,a|0,c|0)|0;k[f>>2]=j;k[d>>2]=i;k[g>>2]=b+(e<<2);if(!h)return;Ip(a);return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>=b>>>0){l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;a=j;if(d|0){h=c+4|0;i=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[h>>2];k[e+8>>2]=k[i>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((a|0)==(b|0))return;k[l>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);return}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=b>>>0>357913941;if(f)yp(a);d=(d-0|0)/12|0;if(d>>>0<178956970){e=d<<1;d=e>>>0>=b>>>0;if(d|f^1)h=d?e:b;else yp(a)}else h=357913941;d=$p(h*12|0)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[i>>2]=d+(h*12|0);do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Jd(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=k[a+(d<<2)>>2]|0;k[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;if((a|0)<0){c=0;return c|0}if(!a){c=1;return c|0}h=c+8|0;j=k[h+4>>2]|0;g=c+16|0;f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((j|0)>(f|0)|((j|0)==(f|0)?(k[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+e>>0]|0;f=jq(e|0,f|0,1,0)|0;h=g;k[h>>2]=f;k[h+4>>2]=L;switch(j<<24>>24){case 0:{j=Ld(a,b,c,d)|0;return j|0}case 1:{j=Pd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Ld(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,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;E=F;e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(Md(E,c)|0){C=c+8|0;D=k[C>>2]|0;C=k[C+4>>2]|0;o=c+16|0;g=o;e=k[g>>2]|0;g=k[g+4>>2]|0;f=jq(e|0,g|0,8,0)|0;h=L;m=k[c>>2]|0;if((C|0)<(h|0)|(C|0)==(h|0)&D>>>0>>0){n=0;j=0;f=g}else{j=m+e|0;n=j;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;e=o;k[e>>2]=f;k[e+4>>2]=h;e=f;f=h}g=m+e|0;C=jq(n|0,j|0,e|0,f|0)|0;D=o;k[D>>2]=C;k[D+4>>2]=L;b:do if((n|0)>=1){k[E+40>>2]=g;e=n+-1|0;f=g+e|0;switch((l[f>>0]|0)>>>6|0){case 0:{k[E+44>>2]=e;q=l[f>>0]&63;p=E+48|0;k[p>>2]=q;break}case 1:{if((n|0)<2)break b;k[E+44>>2]=n+-2;q=g+n+-2|0;q=l[q+1>>0]<<8&16128|l[q>>0];p=E+48|0;k[p>>2]=q;break}case 2:{if((n|0)<3)break b;k[E+44>>2]=n+-3;q=g+n+-3|0;q=l[q+1>>0]<<8|l[q>>0]|l[q+2>>0]<<16&4128768;p=E+48|0;k[p>>2]=q;break}case 3:{k[E+44>>2]=n+-4;q=g+n+-4|0;q=l[q+2>>0]<<16|l[q+3>>0]<<24&1056964608|l[q+1>>0]<<8|l[q>>0];p=E+48|0;k[p>>2]=q;break}default:{}}k[p>>2]=q+16384}while(0);Qg(c,0,0)|0;c:do if((a|0)>0){t=E+48|0;u=E+44|0;v=E+40|0;w=E+16|0;x=E+28|0;y=(b|0)>0;D=c+36|0;z=c+32|0;A=c+24|0;B=c+28|0;f=k[t>>2]|0;C=0;e=0;while(1){d:do if(f>>>0<16384){g=k[u>>2]|0;do{if((g|0)<=0)break d;g=g+-1|0;k[u>>2]=g;f=l[(k[v>>2]|0)+g>>0]|f<<8;k[t>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[w>>2]|0)+(p<<2)>>2]|0;q=k[x>>2]|0;f=(ha(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[t>>2]=f;if(y){p=(s|0)>0;if((s|0)<=-1){e=31;break}if((s|0)<33){q=0;o=e}else{e=30;break}while(1){if(!(i[D>>0]|0)){j=0;break a}if(p){j=k[A>>2]|0;m=k[B>>2]|0;h=k[z>>2]|0;n=0;g=0;do{e=j+(h>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(h&7)&1;h=h+1|0;k[z>>2]=h}else e=0;g=e<>2]=g;q=q+1|0;if((q|0)>=(b|0))break;else o=e}}C=C+b|0;if((C|0)>=(a|0))break c}if((e|0)==30){if(!(i[D>>0]|0)){j=0;break a}Aa(5701,5674,115,5693)}else if((e|0)==31){if(!(i[D>>0]|0)){j=0;break a}Aa(5659,5674,114,5693)}}while(0);Rg(c);j=1}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Ip(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Ip(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Ip(g);r=F;return j|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=4096){if(f>>>0>4096?(e=g+16384|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,4096-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==4096)return;else Aa(5594,5621,484,5634)}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;k[a>>2]=0;k[a+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=(c-f>>3)+b|0;if(e>>>0>536870911)yp(a);c=d-f|0;if(c>>3>>>0<268435455){c=c>>2;c=c>>>0>>0?e:c;d=(k[i>>2]|0)-f>>3;if(!c){f=0;e=0;c=d}else g=9}else{c=536870911;d=(k[i>>2]|0)-f>>3;g=9}if((g|0)==9){f=c;e=$p(c<<3)|0;c=d}g=e+(c<<3)|0;e=e+(f<<3)|0;d=g;c=g;do{f=d;k[f>>2]=0;k[f+4>>2]=0;d=c+8|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[i>>2]|0)-b|0;g=g+(0-(f>>3)<<3)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[i>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;do switch(h&255|0){case 1:{h=Qd(a,b,c)|0;return h|0}case 2:{h=Sd(a,b,c)|0;return h|0}case 3:{h=Ud(a,b,c)|0;return h|0}case 4:{h=Wd(a,b,c)|0;return h|0}case 5:{h=Yd(a,b,c)|0;return h|0}case 6:{h=Zd(a,b,c)|0;return h|0}case 7:{h=$d(a,b,c)|0;return h|0}case 8:{h=be(a,b,c)|0;return h|0}case 9:{h=de(a,b,c)|0;return h|0}case 10:{h=ge(a,b,c)|0;return h|0}case 11:{h=je(a,b,c)|0;return h|0}case 12:{h=me(a,b,c)|0;return h|0}case 13:{h=pe(a,b,c)|0;return h|0}case 14:{h=se(a,b,c)|0;return h|0}case 15:{h=ve(a,b,c)|0;return h|0}case 16:{h=xe(a,b,c)|0;return h|0}case 17:{h=ze(a,b,c)|0;return h|0}case 18:{h=Be(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Rd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Td(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Vd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Xd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Md(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(_d(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ee(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+32768}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<32768){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<32768)}while(0);e=d&8191;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>13)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);fe(a+16|0,d,c);r=1;return r|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=8192){if(f>>>0>8192?(e=g+32768|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,8192-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==8192)return;else Aa(5594,5621,484,5634)}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(he(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+131072}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<131072){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<131072)}while(0);e=d&32767;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>15)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function he(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ie(a+16|0,d,c);r=1;return r|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=32768){if(f>>>0>32768?(e=g+131072|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,32768-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==32768)return;else Aa(5594,5621,484,5634)}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ke(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+262144}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<262144){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<262144)}while(0);e=d&65535;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>16)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0} +function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];ji(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function li(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];mi(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}function mi(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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3424;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3488;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;c=e+60|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function oi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function pi(a){a=a|0;return 1}function qi(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;E=bq(o)|0;hq(E|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|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=o+12|0;y=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if((f|0)>=0?(z=k[(k[x>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;g=(z|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((z|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=z+1|0;f=((f|0)%3|0|0)==0?z+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+z|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=ha(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=ha(l,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(y){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}}else{B=d;D=30}}else{B=ha(n,e)|0;D=30}if((D|0)==30?(D=0,A=b+(B<<2)|0,C=b+((ha(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+B<<2)>>2]=(k[A+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+B<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=E;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else F=E;while(0);if((e|0)>0)hq(E|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){cq(E);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[F+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[G>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(E);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[G>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(E);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[G>>2]|0));cq(E);return 1}function si(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0;y=a+8|0;k[y>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0)if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0){k[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=bq(u)|0;hq(x|0,0,u|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[x+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[y>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}r=k[a+56>>2]|0;d=k[r>>2]|0;r=(k[r+4>>2]|0)-d>>2;if(r>>>0<=1){cq(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;o=a+20|0;p=v+12|0;q=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if((g|0)>=0?(z=k[(k[p>>2]|0)+(g<<2)>>2]|0,(z|0)>-1):0){i=k[v>>2]|0;h=(z|0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((z|0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;g=z+1|0;g=((g|0)%3|0|0)==0?z+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;l=k[j+(g<<2)>>2]|0;g=((h|0)==0?2:-1)+z|0;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;g=k[j+(g<<2)>>2]|0;a=ha(n,e)|0;if((m|0)<(n|0)&(l|0)<(n|0)&(g|0)<(n|0)){j=ha(m,e)|0;i=ha(l,e)|0;g=ha(g,e)|0;if(q){h=0;do{k[x+(h<<2)>>2]=(k[c+(h+g<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=c+(a<<2)|0;if((f|0)>0){j=0;do{i=k[x+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+a<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}else{m=a;A=34}}else{m=ha(n,e)|0;A=34}if((A|0)==34){A=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[y>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(x);return 1}function ti(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function ui(a){a=a|0;return 2}function vi(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;I=1-g+f|0;k[a+20>>2]=I;f=(I|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(I&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;I=bq(u)|0;hq(I|0,0,u|0)|0;u=a+56|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=i>>2;while(1){r=q+-1|0;if(g-f>>2>>>0<=r>>>0)break;p=k[f+(r<<2)>>2]|0;if(v)hq(I|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[s>>2]|0;i=(h|0)%3|0;l=k[t>>2]|0;m=k[l+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;f=h+1|0;f=((f|0)%3|0|0)==0?h+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[l+(f<<2)>>2]|0;f=((i|0)==0?2:-1)+h|0;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((m|0)<(r|0)&(d|0)<(r|0)&(f|0)<(r|0)){j=ha(m,e)|0;i=ha(d,e)|0;f=ha(f,e)|0;if(v){h=0;do{m=I+(h<<2)|0;k[m>>2]=(k[b+(h+f<<2)>>2]|0)+(k[b+(h+i<<2)>>2]|0)-(k[b+(h+j<<2)>>2]|0)+(k[m>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}f=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);d=ha(r,e)|0;if(g){if(v){f=0;do{p=I+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}}else{F=d;H=44}}else{F=ha(r,e)|0;H=44}if((H|0)==44?(H=0,E=b+(F<<2)|0,G=b+((ha(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+F<<2)>>2]=(k[E+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+F<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=I;break a}h=k[u>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;q=r}zp(h)}else J=I;while(0);if((e|0)>0)hq(I|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){cq(I);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[J+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[K>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(I);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[K>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(I);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[K>>2]|0));cq(I);return 1}function xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=a+8|0;k[D>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0)if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0){k[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[D>>2]|0}B=e>>>0>1073741823?-1:e<<2;C=bq(B)|0;hq(C|0,0,B|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[C+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[D>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[D>>2]|0}while((h|0)<(f|0))}}}u=k[a+48>>2]|0;v=k[a+56>>2]|0;w=v+4|0;d=k[v>>2]|0;if((k[w>>2]|0)-d>>2>>>0<=1){cq(C);return 1}x=k[a+52>>2]|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;r=a+20|0;s=u+12|0;t=e<<2;q=1;do{p=k[d+(q<<2)>>2]|0;if(y)hq(C|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[u>>2]|0;i=(h|0)%3|0;m=k[x>>2]|0;a=k[m+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;d=h+1|0;d=((d|0)%3|0|0)==0?h+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;l=k[m+(d<<2)>>2]|0;d=((i|0)==0?2:-1)+h|0;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[m+(d<<2)>>2]|0;if((a|0)<(q|0)&(l|0)<(q|0)&(d|0)<(q|0)){j=ha(a,e)|0;i=ha(l,e)|0;d=ha(d,e)|0;if(y){h=0;do{a=C+(h<<2)|0;k[a>>2]=(k[c+(h+d<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0)+(k[a>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}d=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((d|0)>=0){d=k[o+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);n=(d|0)==(p|0)?-1073741824:d}while((n|0)>-1);l=ha(q,e)|0;if(g){if(y){d=0;do{p=C+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[C+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}else E=48}else{l=ha(q,e)|0;E=48}if((E|0)==48){E=0;j=c+((ha(q+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}q=q+1|0;d=k[v>>2]|0}while(q>>>0<(k[w>>2]|0)-d>>2>>>0);cq(C);return 1}function yi(a){a=a|0;var b=0,c=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function zi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function Ai(a){a=a|0;return 3}function Bi(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function Ci(a){a=a|0;return 1}function Di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];Ii(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function Ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];Li(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+52>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Mi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Ni(a){a=a|0;return 0}function Oi(a){a=a|0;return 1}function Pi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;t=1-f+g|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);f=d-e|0;if((f|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;d=k[u>>2]|0;do{m=b+(f<<2)|0;l=m+(n<<2)|0;if((d|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;d=k[o>>2]|0;do if((i|0)<=(d|0)){d=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));h=g;if((d|0)>0){g=0;do{k[c+(g+f<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0));if((d|0)>0){h=0;do{d=c+(h+f<<2)|0;g=k[d>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[d>>2]=g-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+g;h=h+1|0;d=k[u>>2]|0}while((h|0)<(d|0))}}}f=f-e|0}while((f|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=bq(e)|0;hq(n|0,0,e|0)|0;if((d|0)<=0){cq(n);return 1}i=a+16|0;j=a+32|0;l=a+12|0;m=0;do{h=k[n+(m<<2)>>2]|0;d=k[i>>2]|0;do if((h|0)<=(d|0)){d=k[l>>2]|0;g=k[j>>2]|0;f=g+(m<<2)|0;if((h|0)<(d|0)){k[f>>2]=d;break}else{k[f>>2]=h;break}}else{g=k[j>>2]|0;k[g+(m<<2)>>2]=d}while(0);m=m+1|0;d=k[u>>2]|0}while((m|0)<(d|0));if((d|0)>0)f=0;else{cq(n);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)<=0){cq(n);return 1}i=a+28|0;j=a+20|0;d=a+24|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[i>>2]|0)){if((g|0)>(k[d>>2]|0))k[f>>2]=g-(k[j>>2]|0)}else k[f>>2]=(k[j>>2]|0)+g;h=h+1|0}while((h|0)<(k[u>>2]|0));cq(n);return 1}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;j=k[g>>2]|0;i=f-j>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(l=j+(e<<2)|0,(f|0)!=(l|0)):0){k[h>>2]=f+(~((f+-4-l|0)>>>2)<<2);f=e}else f=e;else{Wg(g,e-i|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=bq(r)|0;hq(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;l=0;do{i=k[s+(l<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[j>>2]|0;h=g+(l<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[j>>2]|0;k[g+(l<<2)>>2]=f}while(0);l=l+1|0;f=k[t>>2]|0}while((l|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=a+20|0;i=0;do{f=c+(i<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[h>>2]|0)+g}else k[f>>2]=g-(k[h>>2]|0);i=i+1|0;f=k[t>>2]|0}while((i|0)<(f|0))}}}if((e|0)>=(d|0)){cq(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[q>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{g=m+(h<<2)|0;f=k[g>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0))k[g>>2]=(k[a>>2]|0)+f}else k[g>>2]=f-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));cq(s);return 1}function Ri(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break a}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break b}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break c}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break d}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break e}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break f}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}default:{b=0;return b|0}}return 0}function Ti(a){a=a|0;vh(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Ui(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function Vi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Ip(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);a=k[b+4>>2]|0;if((k[b+8>>2]|0)-a>>2>>>0<=c>>>0)Aa(9771,9733,63,9761);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(cb[k[(k[a>>2]|0)+44>>2]&127](a)|0)){a=0;return a|0}a=Ah(a,b,c)|0;return a|0}function Yi(a,b){a=a|0;b=b|0;return gb[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=bq(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)cq(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=jq(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}lq(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=jq(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=jq(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}n=a+40|0;e=(k[c>>2]|0)+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[n>>0]=e;i[n+1>>0]=e>>8;i[n+2>>0]=e>>16;i[n+3>>0]=e>>24;n=d;n=jq(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;e=d;k[e>>2]=n;k[e+4>>2]=L;e=k[b>>2]|0;n=e+8|0;m=k[n+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(k[n>>2]|0)>>>0>c>>>0:0))){n=0;return n|0}n=i[(k[e>>2]|0)+c>>0]|0;j=jq(c|0,d|0,1,0)|0;m=b;k[m>>2]=j;k[m+4>>2]=L;k[a+32>>2]=n&255;n=1;return n|0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0;u=r;r=r+16|0;n=u;p=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;s=m<<2;t=bq(m>>>0>1073741823?-1:m<<2)|0;Kg(n);Lg(n,+o[a+40>>2],(1<>24>0){a=0;g=0;c=0}else{a=0;c=0;while(1){lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+s|0}cq(t);r=u;return 1}a:while(1){e=k[p>>2]|0;f=0;d=c;while(1){if((k[j>>2]|0)-e>>2>>>0<=d>>>0){a=4;break a}c=d+1|0;w=k[e+(d<<2)>>2]|0;d=(w|0)<0;v=+o[l>>2]*+((d?0-w|0:w)|0);o[t+(f<<2)>>2]=+o[(k[h>>2]|0)+(f<<2)>>2]+ +o[n>>2]*(d?-v:v);f=f+1|0;if((f|0)>=(m|0))break;else d=c}lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+g|0,t|0,s|0)|0;a=a+1|0;if(a>>>0>>0)g=g+s|0;else{a=8;break}}if((a|0)==4)zp(p);else if((a|0)==8){cq(t);r=u;return 1}return 0}function $i(a){a=a|0;Ti(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function aj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){a=0;return a|0}a=(i[(k[a+8>>2]|0)+24>>0]|0)==3;return a|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;f=c+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;k[a+32>>2]=h&255;h=Ah(a,b,c)|0;return h|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){c=0;r=e;return c|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=ej(b,f,c,d)|0;r=e;return c|0}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=fj(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(20)|0;k[a+4>>2]=e;c=a+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[a>>2]=4176;d=a;return d|0}function fj(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=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3792;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function gj(a){a=a|0;return}function hj(a){a=a|0;Ip(a);return}function ij(a){a=a|0;return 1}function jj(a){a=a|0;return k[a+4>>2]|0}function kj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function lj(a){a=a|0;return 0}function mj(a,b){a=a|0;b=b|0;return -1}function nj(a,b){a=a|0;b=b|0;return 0}function oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=jq(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=jq(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function qj(a){a=a|0;return 1}function rj(a){a=a|0;return 2}function sj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){l=k[a+28>>2]|0;m=r+64|0;n=r+28|0;o=(e|0)>0;i=h>>2;while(1){j=i+-1|0;if(g-f>>2>>>0<=j>>>0)break;f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;f=k[l>>2]|0;d=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=ha(d,e)|0;g=ha(a,e)|0;d=ha(h,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=12}else{f=ha(j,e)|0;v=12}if((v|0)==12){v=0;tj(p,b+(f<<2)|0,b+((ha(i+-2|0,e)|0)<<2)|0,c,f)}if((j|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;i=j}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function tj(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t+40|0;j=t+32|0;i=t+24|0;f=t+16|0;g=t+8|0;m=t;n=k[c>>2]|0;o=a+8|0;h=k[o>>2]<<1;if((n|0)>(h|0))Aa(7771,7806,82,7898);c=k[c+4>>2]|0;if((c|0)>(h|0))Aa(7916,7806,83,7898);l=k[b>>2]|0;if((l|0)>(h|0))Aa(7951,7806,84,7898);b=k[b+4>>2]|0;if((b|0)>(h|0))Aa(7986,7806,85,7898);if((n|0)<=-1)Aa(8021,7806,86,7898);if((c|0)<=-1)Aa(8043,7806,87,7898);if((l|0)<=-1)Aa(8065,7806,88,7898);if((b|0)<=-1)Aa(8087,7806,89,7898);k[f>>2]=l;k[f+4>>2]=b;k[g>>2]=n;k[g+4>>2]=c;uj(i,a,f,g);q=k[i>>2]|0;k[m>>2]=q;p=k[i+4>>2]|0;k[m+4>>2]=p;k[j>>2]=n;k[j+4>>2]=c;vj(s,a,j,m);i=k[o>>2]|0;h=l-i|0;c=b-i|0;g=(k[s>>2]|0)-i|0;b=(k[s+4>>2]|0)-i|0;f=0-h|0;if((((h|0)>-1?h:f)|0)==(i|0))c=(c|0)<0?0-c|0:c;s=0-g|0;a=((b|0)<0?(((g|0)>-1?g:s)|0)==(i|0):0)?0-b|0:b;if((c|0)==(a|0)?((((h|0)<0?(((c|0)>-1?c:0-c|0)|0)==(i|0):0)?f:h)|0)==((((g|0)<0?(((a|0)>-1?a:0-a|0)|0)==(i|0):0)?s:g)|0):0){k[d+(e<<2)>>2]=q;k[d+(e+1<<2)>>2]=p;r=t;return}else Aa(8146,7806,95,7898)}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;i=b+8|0;g=k[i>>2]|0;j=c+4|0;f=(k[j>>2]|0)-g|0;e=c;k[e>>2]=(k[c>>2]|0)-g;k[e+4>>2]=f;e=(k[d>>2]|0)-g|0;f=d+4|0;g=(k[f>>2]|0)-g|0;h=d;k[h>>2]=e;k[h+4>>2]=g;h=k[i>>2]|0;if((((g|0)>-1?g:0-g|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){g=k[c>>2]|0;n=k[j>>2]|0;m=g>>31|1;o=n>>31|1;e=ha(m,h)|0;l=ha(o,h)|0;g=(g<<1)-e|0;n=(n<<1)-l|0;m=(ha(o,m)|0)>-1;h=c;k[h>>2]=((m?0-n|0:n)+e|0)/2|0;k[h+4>>2]=((m?0-g|0:g)+l|0)/2|0;h=k[d>>2]|0;l=k[f>>2]|0;g=h>>31|1;m=l>>31|1;f=k[i>>2]|0;e=ha(g,f)|0;f=ha(m,f)|0;h=(h<<1)-e|0;l=(l<<1)-f|0;g=(ha(m,g)|0)>-1;e=((g?0-l|0:l)+e|0)/2|0;f=((g?0-h|0:h)+f|0)/2|0;h=d;k[h>>2]=e;k[h+4>>2]=f;h=k[i>>2]|0}else f=g;d=a;k[d>>2]=0;k[d+4>>2]=0;e=(k[c>>2]|0)-e|0;k[a>>2]=e;d=(k[j>>2]|0)-f|0;g=a+4|0;k[g>>2]=d;f=h<<1;if((f|0)<(e|0))Aa(8109,7806,177,8133);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(d|0))Aa(8109,7806,177,8133);if((d|0)>=0){o=d;k[g>>2]=o;return}o=(k[b+4>>2]|0)+d|0;k[g>>2]=o;return}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=b+8|0;j=k[g>>2]|0;e=(k[c>>2]|0)-j|0;f=(k[c+4>>2]|0)-j|0;h=c;k[h>>2]=e;k[h+4>>2]=f;h=k[g>>2]|0;if((((f|0)>-1?f:0-f|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){m=e>>31|1;n=f>>31|1;l=ha(m,h)|0;h=ha(n,h)|0;i=(e<<1)-l|0;e=(f<<1)-h|0;f=(ha(n,m)|0)>-1;e=((f?0-e|0:e)+l|0)/2|0;h=((f?0-i|0:i)+h|0)/2|0;i=c;k[i>>2]=e;k[i+4>>2]=h;i=0;c=h;h=k[g>>2]|0}else{i=1;c=f}f=a;k[f>>2]=0;k[f+4>>2]=0;e=(k[d>>2]|0)+e|0;k[a>>2]=e;c=(k[d+4>>2]|0)+c|0;f=a+4|0;k[f>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(k[b+4>>2]|0)+e|0}else e=e-(k[b+4>>2]|0)|0;k[a>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(k[b+4>>2]|0)+c|0}else c=c-(k[b+4>>2]|0)|0;k[f>>2]=c;if(i){b=e;m=c;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}d=e>>31|1;l=c>>31|1;b=ha(d,h)|0;m=ha(h,l)|0;n=(e<<1)-b|0;i=(c<<1)-m|0;l=(ha(d,l)|0)>-1;b=((l?0-i|0:i)+b|0)/2|0;m=((l?0-n|0:n)+m|0)/2|0;n=a;k[n>>2]=b;k[n+4>>2]=m;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}function wj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=a+8|0;k[p>>2]=e;q=k[a+24>>2]|0;r=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;s=bq(o)|0;hq(s|0,0,o|0)|0;xj(p,s,b,c,0);o=a+32|0;n=k[o>>2]|0;f=k[n>>2]|0;if((k[n+4>>2]|0)-f>>2>>>0<=1){cq(s);return 1}l=q+64|0;m=q+28|0;n=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[q>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[l>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>-1):0){g=k[m>>2]|0;f=k[r>>2]|0;d=k[f+(k[g+(t<<2)>>2]<<2)>>2]|0;a=t+1|0;a=k[f+(k[g+((((a|0)%3|0|0)==0?t+-2|0:a)<<2)>>2]<<2)>>2]|0;g=k[f+(k[g+((((t|0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(g|0)<(j|0)){i=ha(d,e)|0;h=ha(a,e)|0;d=ha(g,e)|0;if(n){a=0;do{k[s+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+h<<2)>>2]|0)-(k[c+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(p,s,b,c+(f<<2)|0,f)}else u=8}else{f=ha(j,e)|0;u=8}if((u|0)==8){u=0;xj(p,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[o>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(s);return 1}function xj(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,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;l=n+16|0;m=n+8|0;h=n;i=k[b>>2]|0;j=k[a+8>>2]<<1;if((i|0)>(j|0))Aa(8183,7806,104,8218);g=k[b+4>>2]|0;if((g|0)>(j|0))Aa(8239,7806,105,8218);f=k[c+(e<<2)>>2]|0;if((f|0)>(j|0))Aa(8274,7806,106,8218);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(j|0))Aa(8314,7806,107,8218);if((i|0)<=-1)Aa(8021,7806,109,8218);if((g|0)<=-1)Aa(8043,7806,110,8218);if((f|0)<=-1)Aa(8358,7806,111,8218);if((b|0)>-1){k[l>>2]=f;k[l+4>>2]=b;k[h>>2]=i;k[h+4>>2]=g;vj(m,a,h,l);k[d>>2]=k[m>>2];k[d+4>>2]=k[m+4>>2];r=n;return}else Aa(8385,7806,112,8218)}function yj(a){a=a|0;Ip(a);return}function zj(a){a=a|0;return 2}function Aj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Bj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;t=a+8|0;k[t>>2]=e;u=k[a+24>>2]|0;v=k[a+28>>2]|0;s=e>>>0>1073741823?-1:e<<2;w=bq(s)|0;hq(w|0,0,s|0)|0;s=a+32|0;a=k[s>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=g>>2;while(1){n=m+-1|0;if(d-f>>2>>>0<=n>>>0)break;l=k[f+(n<<2)>>2]|0;if(o)hq(w|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0)?(B=k[q>>2]|0,i=k[v>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y|0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){d=ha(z,e)|0;g=ha(A,e)|0;h=ha(B,e)|0;if(o)i=0;else{a=a+1|0;C=20;break}do{D=w+(i<<2)|0;k[D>>2]=(k[b+(i+h<<2)>>2]|0)+(k[b+(i+g<<2)>>2]|0)-(k[b+(i+d<<2)>>2]|0)+(k[D>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(n,e)|0;if(!a)C=32;else{if(o){d=0;do{D=w+(d<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(t,b+(f<<2)|0,w,c,f)}}else{f=ha(n,e)|0;C=32}if((C|0)==32){C=0;tj(t,b+(f<<2)|0,b+((ha(m+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=w;break a}a=k[s>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;m=n}zp(a)}else x=w;while(0);if((e|0)<=0){tj(t,b,x,c,0);cq(w);return 1}hq(w|0,0,e<<2|0)|0;tj(t,b,x,c,0);cq(w);return 1}function Cj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0;s=a+8|0;k[s>>2]=e;u=e>>>0>1073741823?-1:e<<2;t=bq(u)|0;hq(t|0,0,u|0)|0;xj(s,t,b,c,0);u=k[a+24>>2]|0;v=a+32|0;r=k[v>>2]|0;f=k[r>>2]|0;if((k[r+4>>2]|0)-f>>2>>>0<=1){cq(t);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=1;do{l=k[f+(m<<2)>>2]|0;if(o)hq(t|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(w=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(w|0)>-1):0)?(z=k[q>>2]|0,i=k[n>>2]|0,x=k[i+(k[z+(w<<2)>>2]<<2)>>2]|0,y=w+1|0,y=k[i+(k[z+((((y|0)%3|0|0)==0?w+-2|0:y)<<2)>>2]<<2)>>2]|0,z=k[i+(k[z+((((w|0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(x|0)<(m|0)&(y|0)<(m|0)&(z|0)<(m|0)):0){d=ha(x,e)|0;g=ha(y,e)|0;h=ha(z,e)|0;if(o)i=0;else{a=a+1|0;A=16;break}do{B=t+(i<<2)|0;k[B>>2]=(k[c+(i+h<<2)>>2]|0)+(k[c+(i+g<<2)>>2]|0)-(k[c+(i+d<<2)>>2]|0)+(k[B>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)A=16}else A=16;while(0);do if((A|0)==16){A=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(m,e)|0;if(!a)A=28;else{if(o){d=0;do{B=t+(d<<2)|0;k[B>>2]=(k[B>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(s,t,b,c+(f<<2)|0,f)}}else{f=ha(m,e)|0;A=28}if((A|0)==28){A=0;xj(s,c+((ha(m+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}m=m+1|0;B=k[v>>2]|0;f=k[B>>2]|0}while(m>>>0<(k[B+4>>2]|0)-f>>2>>>0);cq(t);return 1}function Dj(a){a=a|0;var b=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function Ej(a){a=a|0;var b=0,c=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function Fj(a){a=a|0;return 3}function Gj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Hj(a){a=a|0;return 1}function Ij(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Jj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function Mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];Nj(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Pj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];Qj(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function Qj(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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Rj(a){a=a|0;Ip(a);return}function Sj(a){a=a|0;return 1}function Tj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Uj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){m=k[a+28>>2]|0;n=r+12|0;o=(e|0)>0;j=h>>2;while(1){l=j+-1|0;if(g-f>>2>>>0<=l>>>0)break;f=k[f+(l<<2)>>2]|0;if((f|0)>=0?(u=k[(k[n>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){a=k[r>>2]|0;d=(u|0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(d|0)<(l|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=16}else{f=ha(l,e)|0;v=16}if((v|0)==16){v=0;tj(p,b+(f<<2)|0,b+((ha(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;j=l}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function Vj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=a+8|0;k[o>>2]=e;p=k[a+24>>2]|0;q=k[a+28>>2]|0;n=e>>>0>1073741823?-1:e<<2;r=bq(n)|0;hq(r|0,0,n|0)|0;xj(o,r,b,c,0);n=a+32|0;m=k[n>>2]|0;f=k[m>>2]|0;if((k[m+4>>2]|0)-f>>2>>>0<=1){cq(r);return 1}l=p+12|0;m=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if((f|0)>=0?(s=k[(k[l>>2]|0)+(f<<2)>>2]|0,(s|0)>-1):0){a=k[p>>2]|0;d=(s|0)%3|0;g=k[q>>2]|0;h=k[g+(k[a+(((s|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=s+1|0;f=((f|0)%3|0|0)==0?s+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+s|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(j,e)|0;if((h|0)<(j|0)&(i|0)<(j|0)&(d|0)<(j|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(m){a=0;do{k[r+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+g<<2)>>2]|0)-(k[c+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(o,r,b,c+(f<<2)|0,f)}else t=12}else{f=ha(j,e)|0;t=12}if((t|0)==12){t=0;xj(o,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[n>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(r);return 1}function Wj(a){a=a|0;Ip(a);return}function Xj(a){a=a|0;return 2}function Yj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Zj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;x=k[a+28>>2]|0;u=e>>>0>1073741823?-1:e<<2;y=bq(u)|0;hq(y|0,0,u|0)|0;u=a+32|0;a=k[u>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){r=(e|0)>0;s=w+12|0;t=e<<2;p=g>>2;while(1){q=p+-1|0;if(d-f>>2>>>0<=q>>>0)break;o=k[f+(q<<2)>>2]|0;if(r)hq(y|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[x>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(q|0)&(j|0)<(q|0)&(f|0)<(q|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=y+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}f=(((m|0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=ha(q,e)|0;if(!a)A=30;else{if(r){d=0;do{p=y+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(v,b+(f<<2)|0,y,c,f)}}else{f=ha(q,e)|0;A=30}if((A|0)==30){A=0;tj(v,b+(f<<2)|0,b+((ha(p+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=y;break a}a=k[u>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;p=q}zp(a)}else z=y;while(0);if((e|0)<=0){tj(v,b,z,c,0);cq(y);return 1}hq(y|0,0,e<<2|0)|0;tj(v,b,z,c,0);cq(y);return 1}function _j(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0;u=a+8|0;k[u>>2]=e;w=e>>>0>1073741823?-1:e<<2;v=bq(w)|0;hq(v|0,0,w|0)|0;xj(u,v,b,c,0);w=k[a+24>>2]|0;x=a+32|0;t=k[x>>2]|0;f=k[t>>2]|0;if((k[t+4>>2]|0)-f>>2>>>0<=1){cq(v);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=w+12|0;t=e<<2;p=1;do{o=k[f+(p<<2)>>2]|0;if(r)hq(v|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(f|0)<(p|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=v+(d<<2)|0;k[l>>2]=(k[c+(d+f<<2)>>2]|0)+(k[c+(d+g<<2)>>2]|0)-(k[c+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}f=(((m|0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=ha(p,e)|0;if(!a)y=26;else{if(r){d=0;do{o=v+(d<<2)|0;k[o>>2]=(k[o>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(u,v,b,c+(f<<2)|0,f)}}else{f=ha(p,e)|0;y=26}if((y|0)==26){y=0;xj(u,c+((ha(p+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}p=p+1|0;o=k[x>>2]|0;f=k[o>>2]|0}while(p>>>0<(k[o+4>>2]|0)-f>>2>>>0);cq(v);return 1}function $j(a){a=a|0;var b=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function ak(a){a=a|0;var b=0,c=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function bk(a){a=a|0;return 3}function ck(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function dk(a){a=a|0;return 1}function ek(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function fk(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];jk(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function lk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];mk(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function mk(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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+28>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function nk(a){a=a|0;Ip(a);return}function ok(a){a=a|0;return 0}function pk(a){a=a|0;return 1}function qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;f=d-e|0;if((f|0)>0){a=0-e|0;do{d=b+(f<<2)|0;tj(g,d,d+(a<<2)|0,c,f);f=f-e|0}while((f|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=bq(d)|0;hq(e|0,0,d|0)|0;tj(g,b,e,c,0);cq(e);return 1}function rk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=a+8|0;k[f>>2]=e;h=e>>>0>1073741823?-1:e<<2;a=bq(h)|0;hq(a|0,0,h|0)|0;xj(f,a,b,c,0);if((e|0)>=(d|0)){cq(a);return 1}g=0-e|0;h=e;do{i=c+(h<<2)|0;xj(f,i+(g<<2)|0,b,i,h);h=h+e|0}while((h|0)<(d|0));cq(a);return 1}function sk(a){a=a|0;return 2}function tk(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;j=a+20|0;c=+((1<>2])+-1|0)+-1.0;f=0;g=0;h=0;while(1){a=h|1;d=k[j>>2]|0;e=k[o>>2]|0;if(d-e>>2>>>0<=h>>>0){a=6;break}if(d-e>>2>>>0<=a>>>0){a=8;break}uk(+(k[e+(h<<2)>>2]|0)/c,+(k[e+(a<<2)>>2]|0)/c,n);lq((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+g|0,n|0,m|0)|0;f=f+1|0;if((f|0)==(b|0)){a=3;break}else{g=g+m|0;h=h+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)zp(o);else if((a|0)==8)zp(o);return 0}function uk(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;e=a+b;d=a-b;if(!(d<=.5)|(!(d>=-.5)|(!(e>=.5)|!(e<=1.5)))){do if(!(e<=.5)){if(e>=1.5){e=1.5-b;b=1.5-a;break}if(!(d<=-.5)){e=b+.5;b=a+-.5;break}else{e=b+-.5;b=a+.5;break}}else{e=.5-b;b=.5-a}while(0);a=e;d=e-b;e=b+e;f=-1.0}else f=1.0;g=a*2.0+-1.0;b=b*2.0+-1.0;h=e*2.0;e=h+-1.0;h=3.0-h;d=d*2.0;a=d+1.0;d=1.0-d;a=d>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{f=1.0/+X(+a);o[c>>2]=d*f;h=b*f;g=g*f;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function vk(a){a=a|0;Ti(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function wk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+36>>2]|0;e=d;if(d|0){b=a+40|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ip(d)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);return}function xk(a){a=a|0;wk(a);Ip(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Vg(a,b)|0)){a=0;return a|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;h=a+28|0;c=k[h>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(g=e+(f<<2)|0,(c|0)!=(g|0)):0)do{j=c+-4|0;k[h>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(g|0))}else zk(l,f-d|0);e=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){a=1;return a|0}f=b+16|0;g=a+16|0;h=a+4|0;j=0;while(1){o=e;p=k[o+4>>2]|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=jq(c|0,d|0,1,0)|0;p=f;k[p>>2]=c;k[p+4>>2]=L;p=(k[l>>2]|0)+(j<<2)|0;o=gb[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(j<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(_a[k[(k[c>>2]|0)+8>>2]&31](c,k[g>>2]|0,k[(k[h>>2]|0)+(j<<2)>>2]|0)|0)){c=0;d=17;break}j=j+1|0;if((j|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){b=0;return b|0}o=a+36|0;k[c+4>>2]=o;if(!(cb[k[(k[c>>2]|0)+12>>2]&127](c)|0)){b=0;return b|0}n=a+4|0;m=a+8|0;c=k[m>>2]|0;d=k[n>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if((k[e+8>>2]|0)-d>>2>>>0<=c>>>0){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(gb[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}c=k[m>>2]|0;d=k[n>>2]|0;if((f|0)>=(c-d>>2|0)){i=d;j=c;break a}}if((c|0)==9)Aa(9717,9733,62,9761);else if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){b=1;return b|0}c=a+24|0;d=0;while(1){a=k[(k[c>>2]|0)+(d<<2)>>2]|0;d=d+1|0;if(!(_a[k[(k[a>>2]|0)+16>>2]&31](a,o,b)|0)){l=0;c=15;break}if((d|0)>=((k[m>>2]|0)-(k[n>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Bk(a,b){a=a|0;b=b|0;switch(b&255|0){case 0:{b=$p(16)|0;vh(b);break}case 1:{b=$p(32)|0;Ti(b);break}case 2:{b=$p(44)|0;$i(b);break}case 3:{b=$p(36)|0;vk(b);break}default:b=0}return b|0}function Ck(a,b){a=a|0;b=b|0;var c=0;Xg(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Dk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if(d>>>0<=b>>>0){e=b+1|0;if(e>>>0>d>>>0){Kk(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function Fk(a){a=a|0;return}function Gk(a){a=a|0;Ip(a);return}function Hk(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function Ik(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;g=k[i>>2]|0;d=a+8|0;a=k[d>>2]|0;e=g+4|0;c=k[e>>2]|0;b=k[g>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)k[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Jk(g,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)zp(d);return 0}function Jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Lk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=$p(24)|0;em(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[h>>2]|0;d=a-c>>2;do if(d>>>0<=b>>>0){e=b+1|0;if(e>>>0>d>>>0){Kk(h,e-d|0);break}if(e>>>0>>0?(g=c+(e<<2)|0,(a|0)!=(g|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);b=(k[h>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(!a)return 1;ab[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Pk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=r;r=r+976|0;F=G+960|0;E=G+8|0;f=G+952|0;t=G+944|0;w=G+936|0;x=G+928|0;y=G+920|0;z=G+912|0;A=G+904|0;B=G+896|0;C=G+888|0;D=G+880|0;u=G+872|0;v=G;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Aa(9717,9733,62,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0<=d>>>0)Aa(9771,9733,63,9761);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;h=n;g=k[h>>2]|0;h=k[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&j>>>0>g>>>0)){F=0;r=G;return F|0}o=k[b>>2]|0;e=i[o+g>>0]|0;c=jq(g|0,h|0,1,0)|0;d=L;H=n;k[H>>2]=c;k[H+4>>2]=d;switch(e<<24>>24){case 0:{if(((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0?(p=jq(g|0,h|0,2,0)|0,q=n,k[q>>2]=p,k[q+4>>2]=L,q=jq(g|0,h|0,6,0)|0,s=L,!((m|0)<(s|0)|(m|0)==(s|0)&j>>>0>>0)):0)?(H=o+p|0,H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24,D=n,k[D>>2]=q,k[D+4>>2]=s,Ne(a,H),fm(E),k[f>>2]=a,k[f+4>>2]=0,k[F>>2]=k[f>>2],k[F+4>>2]=k[f+4>>2],Rk(E,b,F)|0):0){H=1;r=G;return H|0}H=0;r=G;return H|0}case 1:{if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){H=0;r=G;return H|0}f=i[o+c>>0]|0;e=jq(g|0,h|0,2,0)|0;c=n;k[c>>2]=e;k[c+4>>2]=L;c=jq(g|0,h|0,6,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){H=0;r=G;return H|0}H=o+e|0;H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24;s=n;k[s>>2]=c;k[s+4>>2]=d;Ne(a,H);do switch(f&255|0){case 0:{Em(E);k[t>>2]=a;k[t+4>>2]=0;k[F>>2]=k[t>>2];k[F+4>>2]=k[t+4>>2];Tk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 1:{Gm(E);k[w>>2]=a;k[w+4>>2]=0;k[F>>2]=k[w>>2];k[F+4>>2]=k[w+4>>2];Zk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 2:{Im(E);k[x>>2]=a;k[x+4>>2]=0;k[F>>2]=k[x>>2];k[F+4>>2]=k[x+4>>2];dl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 3:{Km(E);k[y>>2]=a;k[y+4>>2]=0;k[F>>2]=k[y>>2];k[F+4>>2]=k[y+4>>2];jl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 4:{Mm(E);k[z>>2]=a;k[z+4>>2]=0;k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];pl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 5:{Pm(E);k[A>>2]=a;k[A+4>>2]=0;k[F>>2]=k[A>>2];k[F+4>>2]=k[A+4>>2];wl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 6:{Rm(E);k[B>>2]=a;k[B+4>>2]=0;k[F>>2]=k[B>>2];k[F+4>>2]=k[B+4>>2];Cl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 7:{Tm(E);k[C>>2]=a;k[C+4>>2]=0;k[F>>2]=k[C>>2];k[F+4>>2]=k[C+4>>2];Il(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 8:{Vm(E);k[D>>2]=a;k[D+4>>2]=0;k[F>>2]=k[D>>2];k[F+4>>2]=k[D+4>>2];Ol(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 9:{Ym(E);k[u>>2]=a;k[u+4>>2]=0;k[F>>2]=k[u>>2];k[F+4>>2]=k[u+4>>2];Vl(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 10:{_m(E);k[v>>2]=a;k[v+4>>2]=0;k[F>>2]=k[v>>2];k[F+4>>2]=k[v+4>>2];$l(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}default:{H=0;r=G;return H|0}}while(0)}default:{H=0;r=G;return H|0}}return 0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;g=j+40|0;h=j+24|0;d=j+12|0;e=j+8|0;f=j;k[h>>2]=0;i=h+4|0;k[i>>2]=0;k[h+8>>2]=0;if(gm(a,b,h)|0){k[d>>2]=k[h>>2];k[e>>2]=k[i>>2];l=c;b=k[l+4>>2]|0;c=f;k[c>>2]=k[l>>2];k[c+4>>2]=b;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];Sk(j+16|0,d,e,a,g);f=1}else f=0;d=k[h>>2]|0;if(!d){r=j;return f|0}e=k[i>>2]|0;if((e|0)!=(d|0))k[i>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);Ip(d);r=j;return f|0}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.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Aa(9803,9823,66,9880);t=(1<>2])+-1|0;Kg(v);Lg(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){c=e;u=c;u=k[u>>2]|0;c=c+4|0;c=k[c>>2]|0;e=a;v=e;k[v>>2]=u;e=e+4|0;k[e>>2]=c;r=w;return}s=v+4|0;h=e+4|0;j=u+4|0;l=u+8|0;q=k[e>>2]|0;m=q+84|0;n=q+68|0;p=q+40|0;q=q+64|0;g=k[h>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[s>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[h>>2]=g;o[u>>2]=y*(C?-B:B);o[j>>2]=y*(A?-z:z);o[l>>2]=y*(x?-f:f);if(!(i[m>>0]|0))b=k[(k[n>>2]|0)+(b<<2)>>2]|0;A=p;C=k[A>>2]|0;A=sq(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;lq((k[k[q>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;e=A;e=k[e>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=e;C=C+4|0;k[C>>2]=A;r=w;return}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|0)&g>>>0>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Uk(a,u,n,m,0,q);r=s;return 1}function Uk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;Vk(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){Yk(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Fm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){Yk(la);r=ma;return}} +function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=j[c+8>>1]|0;r=j[c+10>>1]|0;q=j[c+12>>1]|0;e=((p&65535^318)+239^r&65535)+239^q&65535;u=c+4|0;k[u>>2]=e;t=b+4|0;l=k[t>>2]|0;s=(l|0)==0;a:do if(!s){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Mf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Nf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Nf(a,b);return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+10|0;m=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=j[c+8>>1]|0;g=c;while(1){if(m<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,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=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=j[b>>1]|0;i=j[b+2>>1]|0;l=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((h&65535^318)+239^i&65535)+239^l&65535)+239^g&65535;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=j[c+8>>1]|0;s=j[c+10>>1]|0;q=j[c+12>>1]|0;r=j[c+14>>1]|0;e=(((p&65535^318)+239^s&65535)+239^q&65535)+239^r&65535;v=c+4|0;k[v>>2]=e;u=b+4|0;l=k[u>>2]|0;t=(l|0)==0;a:do if(!t){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(t|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Rf(b,f>>>0>>0?d:f);f=k[u>>2]|0;d=k[v>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Sf(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+10|0;m=c+12|0;n=c+14|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}if((j[n>>1]|0)!=(j[f+14>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}i=c+10|0;l=c+12|0;m=c+14|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=j[c+8>>1]|0;g=c;while(1){if(n<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}if((j[m>>1]|0)!=(j[f+14>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,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=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,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=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,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=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,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=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function dg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;eg(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);a=a+4|0;eg(a);return}function eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function fg(a){a=a|0;dg(a);Ip(a);return}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;d=i;k[d>>2]=b;if((b|0)<=-1)Aa(5738,5750,92,5777);h=a+4|0;if((k[a+8>>2]|0)-(k[h>>2]|0)>>2>>>0<=b>>>0)hg(h,b+1|0);e=k[(k[c>>2]|0)+56>>2]|0;do if((e|0)<4){f=a+16+(e*12|0)+4|0;g=k[f>>2]|0;if((g|0)==(k[a+16+(e*12|0)+8>>2]|0)){kg(a+16+(e*12|0)|0,d);break}else{k[g>>2]=b;k[f>>2]=g+4;break}}while(0);a=(k[h>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[a>>2]|0;k[a>>2]=b;if(!h){r=i;return}d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}a=h+64|0;d=k[a>>2]|0;k[a>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}Ip(h);r=i;return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ig(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{b=c+-4|0;k[g>>2]=b;a=k[b>>2]|0;k[b>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;b=k[e>>2]|0;if((b|0)!=(c|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c)}b=a+64|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(a)}c=k[g>>2]|0}while((c|0)!=(f|0));return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;q=s;o=a+8|0;j=k[o>>2]|0;p=a+4|0;c=k[p>>2]|0;if(j-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[p>>2]=c+(b<<2);r=s;return}f=k[a>>2]|0;c=(c-f>>2)+b|0;if(c>>>0>1073741823)yp(a);i=f;d=j-f|0;if(d>>2>>>0<536870911){g=d>>1;g=g>>>0>>0?c:g}else g=1073741823;e=k[p>>2]|0;k[q+12>>2]=0;k[q+16>>2]=a+8;d=e;if(!g)h=0;else h=$p(g<<2)|0;k[q>>2]=h;c=h+(e-f>>2<<2)|0;l=q+8|0;m=q+4|0;k[m>>2]=c;n=q+12|0;k[n>>2]=h+(g<<2);hq(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);if((d|0)==(i|0))d=j;else{do{d=d+-4|0;j=k[d>>2]|0;k[d>>2]=0;k[c+-4>>2]=j;c=(k[m>>2]|0)+-4|0;k[m>>2]=c}while((d|0)!=(i|0));f=k[a>>2]|0;e=k[p>>2]|0;d=k[o>>2]|0}k[a>>2]=c;k[m>>2]=f;k[p>>2]=k[l>>2];k[l>>2]=e;k[o>>2]=k[n>>2];k[n>>2]=d;k[q>>2]=k[m>>2];jg(q);r=s;return}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function lg(a){a=a|0;var b=0,c=0,d=0,e=0;if(!(k[a+64>>2]|0)){e=0;return e|0}e=a+4|0;d=a+8|0;b=k[e>>2]|0;a=(k[d>>2]|0)-b|0;if((a|0)<=0){e=1;return e|0}c=a>>2;a=b;b=0;while(1){if(c>>>0<=b>>>0){b=6;break}c=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Oe(c,c)|0)){a=0;b=8;break}a=k[e>>2]|0;c=(k[d>>2]|0)-a>>2;if((b|0)>=(c|0)){a=1;b=8;break}}if((b|0)==6)Aa(9771,9733,63,9761);else if((b|0)==8)return a|0;return 0}function mg(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;P=S+16|0;M=S+4|0;K=S;Q=a;F=a+64|0;b=k[F>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;H=R+20|0;o[H>>2]=1.0;k[R+24>>2]=Q;ng(R,b);b=k[F>>2]|0;k[P>>2]=0;Q=P+4|0;k[Q>>2]=0;k[P+8>>2]=0;do if(b)if(b>>>0>1073741823)yp(P);else{O=b<<2;E=$p(O)|0;k[P>>2]=E;c=E+(b<<2)|0;k[P+8>>2]=c;hq(E|0,0,O|0)|0;k[Q>>2]=c;c=k[F>>2]|0;break}else c=0;while(0);k[M>>2]=0;O=M+4|0;k[O>>2]=0;k[M+8>>2]=0;k[K>>2]=0;a:do if((c|0)>0){y=R+16|0;A=R+4|0;B=R+12|0;C=R+8|0;D=M+8|0;z=R+24|0;E=0;x=0;b:while(1){t=k[y>>2]|0;s=t+4|0;t=t+8|0;b=k[s>>2]|0;w=(k[t>>2]|0)-b|0;h=w>>2;if((w|0)>0){c=0;g=0;do{if(h>>>0<=g>>>0){N=11;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(h|0))}else c=0;w=k[A>>2]|0;v=(w|0)==0;c:do if(!v){m=w+-1|0;d=(m&w|0)==0;if(d)q=m&c;else q=(c>>>0)%(w>>>0)|0;b=k[(k[R>>2]|0)+(q<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){p=k[z>>2]|0;n=p+4|0;p=p+8|0;d:do if(d){b=I;while(1){if((k[b+4>>2]&m|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}while(0);if((N|0)==41){N=0;if(!b){N=43;break}}k[(k[P>>2]|0)+(E<<2)>>2]=k[b+12>>2];c=x}else N=43}else N=43;while(0);do if((N|0)==43){N=0;u=$p(16)|0;k[u+8>>2]=E;k[u+12>>2]=x;b=k[s>>2]|0;t=(k[t>>2]|0)-b|0;j=t>>2;if((t|0)>0){c=0;g=0;do{if(j>>>0<=g>>>0){N=47;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(j|0));h=u+4|0;k[h>>2]=c;k[u>>2]=0;d=0;g=0;while(1){if(j>>>0<=g>>>0){N=53;break b}c=k[b+(g<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(E<<2)>>2]|0;else c=E;c=c<<2^d<<1;g=g+1|0;if((g|0)>=(j|0)){t=u;b=c;break}else d=c}}else{h=u+4|0;k[h>>2]=0;k[u>>2]=0;t=u;b=0}k[h>>2]=b;e:do if(!v){p=w+-1|0;d=(p&w|0)==0;if(d)b=p&b;else b=(b>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){s=k[z>>2]|0;q=s+4|0;s=s+8|0;f:do if(d){n=J;while(1){if((k[n+4>>2]&p|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}else{n=J;while(1){if((((k[n+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}while(0);Ip(u)}else N=83}else{b=0;N=83}while(0);if((N|0)==83){N=0;e=+(((k[B>>2]|0)+1|0)>>>0);f=+o[H>>2];do if(v|e>+(w>>>0)*f){if(w>>>0>2)b=(w+-1&w|0)==0;else b=0;d=(b&1|w<<1)^1;b=~~+ga(+(e/f))>>>0;ng(R,d>>>0>>0?b:d);d=k[A>>2]|0;b=k[h>>2]|0;c=d+-1|0;if(!(c&d)){g=d;b=c&b;break}else{g=d;b=(b>>>0)%(d>>>0)|0;break}}else g=w;while(0);b=(k[R>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[u>>2]=k[C>>2];k[C>>2]=u;k[b>>2]=C;b=k[t>>2]|0;if(b|0){b=k[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(b<<2)>>2]=u}}else{k[u>>2]=k[c>>2];k[c>>2]=u}k[B>>2]=(k[B>>2]|0)+1}c=x+1|0;k[(k[P>>2]|0)+(E<<2)>>2]=x;b=k[O>>2]|0;if((b|0)==(k[D>>2]|0)){pg(M,K);break}else{k[b>>2]=E;k[O>>2]=b+4;break}}while(0);E=E+1|0;k[K>>2]=E;b=k[F>>2]|0;if((E|0)>=(b|0)){G=b;L=c;break a}else x=c}if((N|0)==11)Aa(9771,9733,63,9761);else if((N|0)==37)Aa(9771,9733,63,9761);else if((N|0)==47)Aa(9771,9733,63,9761);else if((N|0)==53)Aa(9771,9733,63,9761);else if((N|0)==79)Aa(9771,9733,63,9761)}else{G=c;L=0}while(0);if((L|0)!=(G|0)){db[k[(k[a>>2]|0)+20>>2]&7](a,P,M);k[F>>2]=L}b=k[M>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[P>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Ip(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Ip(b);r=S;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){og(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;og(a,b);return}function og(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}u=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)e=c&t;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;s=a+24|0;g=f;d=f;a:while(1){r=d;b:while(1){while(1){d=k[c+4>>2]|0;if(u)q=d&t;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0)){e=q;f=c;c=r;break b}d=k[c>>2]|0;c:do if(!d)d=c;else{n=k[c+8>>2]|0;m=k[s>>2]|0;p=k[m+4>>2]|0;m=(k[m+8>>2]|0)-p|0;o=m>>2;if((m|0)>0)l=c;else while(1){f=k[d>>2]|0;if(!f)break c;else d=f}while(1){j=k[d+8>>2]|0;m=0;do{if(o>>>0<=m>>>0){c=31;break a}f=k[p+(m<<2)>>2]|0;if(!(i[f+84>>0]|0)){h=k[f+68>>2]|0;f=k[h+(n<<2)>>2]|0;h=k[h+(j<<2)>>2]|0}else{f=n;h=j}m=m+1|0;if((f|0)!=(h|0)){d=l;break c}}while((m|0)<(o|0));f=k[d>>2]|0;if(!f)break;else{l=d;d=f}}}while(0);k[r>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(q<<2)>>2]>>2];k[k[(k[a>>2]|0)+(q<<2)>>2]>>2]=c;c=k[g>>2]|0;if(!c){c=36;break a}}c=k[d>>2]|0;if(!c){c=36;break a}else{g=d;r=d}}k[d>>2]=c;c=k[f>>2]|0;if(!c){c=36;break}else{g=f;d=f}}if((c|0)==31)Aa(9771,9733,63,9761);else if((c|0)==36)return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)!=(m|0)){j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;a=(k[h>>2]|0)-c|0;e=a>>2;if((a|0)>0){a=0;do{if(e>>>0<=a>>>0){c=11;break b}b=k[c+(a<<2)>>2]|0;if(i[b+84>>0]|0){c=13;break b}b=k[b+68>>2]|0;k[b+(g<<2)>>2]=k[b+(f<<2)>>2];a=a+1|0}while((a|0)<(e|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=h;o=l;q=c;break a}}if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==13)Aa(10788,10807,80,10839)}else{n=a+8|0;o=a+4|0;q=0}while(0);a=k[n>>2]|0;b=k[o>>2]|0;c=a-b|0;if((c|0)<=0)return;d=c>>2;c=a;h=0;while(1){if(d>>>0<=h>>>0){c=18;break}d=k[b+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(q>>>0<=e>>>0){if(q>>>0>>0?(p=f+(q<<2)|0,(g|0)!=(p|0)):0)k[d>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ue(a,q-e|0,2900);b=k[o>>2]|0;c=k[n>>2]|0}h=h+1|0;d=c-b>>2;if((h|0)>=(d|0)){c=16;break}}if((c|0)==16)return;else if((c|0)==18)Aa(9771,9733,63,9761)}function rg(a){a=a|0;var b=0;k[a>>2]=2876;b=a+4|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[a+52>>2]=0;k[a+56>>2]=0;k[a+60>>2]=0;k[a+64>>2]=0;return}function sg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){b=-1;return b|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=k[c>>2]|0;return b|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;db[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}b=k[e+68>>2]|0;a=b;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Ip(b)}i=e+64|0;b=k[i>>2]|0;k[i>>2]=0;if(b|0){a=k[b>>2]|0;if(a|0){c=b+4|0;if((k[c>>2]|0)!=(a|0))k[c>>2]=a;Ip(a)}Ip(b)}Ip(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);Ip(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);Ip(a);return}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;gg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if(g>>>0>b>>>0){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){xg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;f=c;if(e-c>>2>>>0>=b>>>0){c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[m>>2]=f+(b<<2);return}j=k[a>>2]|0;d=(c-j>>2)+b|0;if(d>>>0>1073741823)yp(a);c=e-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?d:c;e=k[m>>2]|0;d=e-j>>2;if(!c){h=0;c=0;g=e}else i=9}else{d=k[m>>2]|0;c=1073741823;e=d;d=d-j>>2;i=9}if((i|0)==9){h=c;c=$p(c<<2)|0;g=e}f=c+(d<<2)|0;d=c+(h<<2)|0;c=b;e=f;while(1){k[e>>2]=1;c=c+-1|0;if(!c)break;else e=e+4|0}h=g-j|0;i=f+(0-(h>>2)<<2)|0;lq(i|0,j|0,h|0)|0;k[a>>2]=i;k[m>>2]=f+(b<<2);k[l>>2]=d;if(!j)return;Ip(j);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;qg(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;c=(d-c|0)/12|0;a=0;do{d=e+(a*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function zg(a){a=a|0;rg(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Ag(a){a=a|0;var b=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;i[a+24>>0]=1;a=a+28|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Bg(a,b){a=a|0;b=b|0;var 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;p=r;r=r+16|0;c=p+1|0;d=p;if(!b){a=0;r=p;return a|0}f=b+4|0;n=(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;Cg(a,n,c);n=b+24|0;o=b+28|0;c=(k[o>>2]|0)-(k[n>>2]|0)>>2;i[d>>0]=0;Cg(a+12|0,c,d);Dg(a+28|0,(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);f=a+52|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;g=c>>2;h=a+60|0;j=k[f>>2]|0;if((k[h>>2]|0)-j>>2>>>0>>0){l=a+56|0;m=(k[l>>2]|0)-j|0;d=m>>2;if(!g)e=0;else e=$p(c)|0;q=e+(d<<2)|0;d=q+(0-d<<2)|0;c=j;lq(d|0,c|0,m|0)|0;k[f>>2]=d;k[l>>2]=q;k[h>>2]=e+(g<<2);if(j|0)Ip(c)}m=a+40|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;f=c>>2;g=a+48|0;h=k[m>>2]|0;if((k[g>>2]|0)-h>>2>>>0>>0){j=a+44|0;l=(k[j>>2]|0)-h|0;d=l>>2;if(!f)e=0;else e=$p(c)|0;q=e+(d<<2)|0;o=q+(0-d<<2)|0;c=h;lq(o|0,c|0,l|0)|0;k[m>>2]=o;k[j>>2]=q;k[g>>2]=e+(f<<2);if(h|0)Ip(c)}k[a+64>>2]=b;i[a+24>>0]=1;q=1;r=p;return q|0}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+16|0;j=l;e=a+4|0;k[e>>2]=0;if(!b){r=l;return}f=a+8|0;d=k[f>>2]|0;if(d<<5>>>0>>0){k[j>>2]=0;g=j+4|0;k[g>>2]=0;h=j+8|0;k[h>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(j,d);d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;m=k[e>>2]|0;k[e>>2]=b;k[g>>2]=m;m=k[f>>2]|0;k[f>>2]=k[h>>2];k[h>>2]=m;if(d|0)Ip(d)}else k[e>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){hq(a|0,0,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]&~(-1>>>(32-b+a|0));r=l;return}else{hq(a|0,-1,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]|-1>>>(32-b+a|0);r=l;return}}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,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=r;r=r+16|0;x=E+8|0;C=E+12|0;B=E+4|0;y=E;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=E;return}z=b+80|0;u=b+84|0;v=a+52|0;w=c+84|0;l=c+68|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;h=0;j=0;a:while(1){f=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((f|0)<0)b=h;else{b=h+1|0;c=(f|0)/3|0;d=k[z>>2]|0;if(c>>>0>=(((k[u>>2]|0)-d|0)/12|0)>>>0){D=6;break}c=k[d+(c*12|0)+(((f|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))c=k[(k[l>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[m>>2]|0;if(d>>>0<(k[n>>2]|0)>>>0){k[d>>2]=c;k[m>>2]=d+4}else Fg(v,x);k[C>>2]=f;k[B>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=f;else{c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[B>>2]=c;if((c|0)>-1)d=c;else{g=f;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[C>>2]=d;k[B>>2]=c;g=d;break}}}else c=-1073741824;k[B>>2]=c;g=f}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;c=k[s>>2]|0;if((c|0)==(k[t>>2]|0))Bd(q,C);else{k[c>>2]=g;k[s>>2]=c+4}d=k[A>>2]|0;b:do if((g|0)>=0){c=(((g|0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if((c|0)>-1&(c|0)!=(g|0)){d=h;while(1){h=c+1|0;h=((h|0)%3|0|0)==0?c+-2|0:h;do if(k[(k[a>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){f=b+1|0;d=(c|0)/3|0;if((c|0)<=-3){D=33;break a}e=k[z>>2]|0;if(d>>>0>=(((k[u>>2]|0)-e|0)/12|0)>>>0){D=35;break a}d=k[e+(d*12|0)+(((c|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))d=k[(k[l>>2]|0)+(d<<2)>>2]|0;k[y>>2]=d;e=k[m>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=d;k[m>>2]=e+4}else Fg(v,y);d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Bd(q,B);e=b;b=f;break}else{k[d>>2]=c;k[s>>2]=d+4;e=b;b=f;break}}else e=d;while(0);k[(k[p>>2]|0)+(c<<2)>>2]=e;d=k[A>>2]|0;if((c|0)<0)break;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if(!((c|0)>-1&(c|0)!=(g|0)))break b;else d=e}k[B>>2]=c}}else D=30}else D=30}else{c=g;D=30}while(0);if((D|0)==30){D=0;k[B>>2]=c}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){D=3;break}else h=b}if((D|0)==3){r=E;return}else if((D|0)==6)Aa(10733,10769,64,10783);else if((D|0)==33)Aa(10856,10769,63,10783);else if((D|0)==35)Aa(10733,10769,64,10783)}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;v=w+8|0;u=w+4|0;t=w;i=a+64|0;c=k[i>>2]|0;if(((k[c+28>>2]|0)-(k[c+24>>2]|0)|0)<=0){r=w;return}q=a+52|0;s=a+56|0;j=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;f=0;h=0;while(1){d=k[(k[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)b=f;else{b=f+1|0;k[v>>2]=f;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=f;k[s>>2]=c+4}k[u>>2]=d;k[t>>2]=0;do if(!(k[(k[l>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))g=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[t>>2]=c;if((c|0)>-1)d=c;else{g=d;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[u>>2]=d;k[t>>2]=c;g=d;break}}}else c=-1073741824;k[t>>2]=c;g=d}while(0);k[(k[m>>2]|0)+(g<<2)>>2]=f;c=k[o>>2]|0;if((c|0)==(k[p>>2]|0))Bd(n,u);else{k[c>>2]=g;k[o>>2]=c+4}c=k[i>>2]|0;a:do if((g|0)>=0){d=(((g|0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0){d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if((d|0)>-1&(d|0)!=(g|0)){c=f;while(1){f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){e=b+1|0;k[v>>2]=b;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=b;k[s>>2]=c+4}c=k[o>>2]|0;if((c|0)==(k[p>>2]|0)){Bd(n,t);f=b;b=e;break}else{k[c>>2]=d;k[o>>2]=c+4;f=b;b=e;break}}else f=c;while(0);k[(k[m>>2]|0)+(d<<2)>>2]=f;c=k[i>>2]|0;if((d|0)<0)break;d=(((d|0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if(!((d|0)>-1&(d|0)!=(g|0)))break a;else c=f}k[t>>2]=d}}else x=26}else x=26}else{d=g;x=26}while(0);if((x|0)==26){x=0;k[t>>2]=d}}h=h+1|0;if((h|0)>=((k[c+28>>2]|0)-(k[c+24>>2]|0)>>2|0))break;else f=b}r=w;return}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Eg(a,b,c);return}else{Gg(a,0,0);return}}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=k[b>>2]|0;f=k[a>>2]|0;h=f+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);h=k[a+64>>2]|0;e=(d|0)<0;if(!e?(c=d+1|0,c=((c|0)%3|0|0)==0?d+-2|0:c,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((d|0)%3|0|0)==0?2:-1)+d|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e)return;c=k[(k[h+12>>2]|0)+(d<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Kg(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Lg(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function Mg(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Ng(a){a=a|0;return}function Og(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;Mg(a+24|0);i[a+36>>0]=0;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;return}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;if(b){e=a+8|0;m=e;h=k[m>>2]|0;m=k[m+4>>2]|0;f=a+16|0;b=f;d=k[b>>2]|0;b=k[b+4>>2]|0;g=jq(d|0,b|0,8,0)|0;j=L;if(!((m|0)<(j|0)|(m|0)==(j|0)&h>>>0>>0)){b=(k[a>>2]|0)+d|0;j=b;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=c;m=d;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;d=d+4|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=f;d=jq(k[d>>2]|0,k[d+4>>2]|0,8,0)|0;b=L;m=f;k[m>>2]=d;k[m+4>>2]=b}}else{b=a+16|0;e=a+8|0;d=k[b>>2]|0;b=k[b+4>>2]|0}i[a+36>>0]=1;j=(k[a>>2]|0)+d|0;m=e;m=gq(k[m>>2]|0,k[m+4>>2]|0,d|0,b|0)|0;k[a+32>>2]=0;k[a+24>>2]=j;k[a+28>>2]=j+m;return 1}function Rg(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=jq(k[a+32>>2]|0,0,7,0)|0;c=kq(c|0,L|0,3)|0;a=a+16|0;b=a;b=jq(c|0,L|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;return}function Sg(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Tg(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;z=A;w=A+64|0;x=b+8|0;u=x;v=k[u>>2]|0;u=k[u+4>>2]|0;y=b+16|0;d=y;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){b=0;r=A;return b|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=y;k[u>>2]=d;k[u+4>>2]=e;u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(u,v-d|0);q=k[a+20>>2]|0;if((v|0)<=0){b=1;r=A;return b|0}s=z+60|0;t=0;while(1){n=x;m=k[n>>2]|0;n=k[n+4>>2]|0;g=y;d=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=jq(d|0,g|0,1,0)|0;h=L;a=y;k[a>>2]=c;k[a+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=jq(d|0,g|0,2,0)|0;a=L;f=y;k[f>>2]=c;k[f+4>>2]=a;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>c>>>0)){c=0;d=27;break}a=i[o+c>>0]|0;c=jq(d|0,g|0,3,0)|0;f=L;e=y;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=jq(d|0,g|0,4,0)|0;c=y;k[c>>2]=f;k[c+4>>2]=L;c=jq(d|0,g|0,6,0)|0;d=L;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}g=o+f|0;g=l[g>>0]|l[g+1>>0]<<8;n=y;k[n>>2]=c;k[n+4>>2]=d;n=h&255;Ie(z);o=ha(cd(n)|0,a&255)|0;Je(z,p&255,0,a,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[s>>1]=g;g=$p(88)|0;Me(g,z);k[w>>2]=g;g=tg(q,w)|0;a=k[w>>2]|0;k[w>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(a)}k[(k[u>>2]|0)+(t<<2)>>2]=g;t=t+1|0;if((t|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Xg(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function _g(a){a=a|0;return 0}function $g(a){a=a|0;return 1}function ah(a){a=a|0;return 1}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;b=k[h>>2]|0;g=b+8|0;f=k[g+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+c>>0]|0;d=jq(c|0,d|0,1,0)|0;g=e;k[g>>2]=d;k[g+4>>2]=L;g=f&255;e=f<<24>>24==0;a:do if(!e){b=0;while(1){if(!(gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(gb[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(cb[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=cb[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function ch(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(gb[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function dh(a){a=a|0;return 1}function eh(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function fh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(cb[k[(k[a>>2]|0)+12>>2]&127](a)|0)){a=0;return a|0}if(!(cb[k[(k[a>>2]|0)+20>>2]&127](a)|0)){a=0;return a|0}a=cb[k[(k[a>>2]|0)+24>>2]&127](a)|0;return a|0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function hh(a){a=a|0;return 1}function ih(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return cb[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function jh(a){a=a|0;return 0}function kh(a,b){a=a|0;b=b|0;return 0}function lh(a,b){a=a|0;b=b|0;return 0}function mh(a){a=a|0;eh(a);k[a>>2]=3020;k[a+24>>2]=0;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return fh(a,b,c)|0}function oh(a){a=a|0;return}function ph(a){a=a|0;Ip(a);return}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);d=k[b+4>>2]|0;if((k[b+8>>2]|0)-d>>2>>>0>c>>>0){k[a+8>>2]=k[d+(c<<2)>>2];k[a+12>>2]=c;return 1}else Aa(9771,9733,63,9761);return 0}function rh(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function sh(a,b,c){a=a|0;b=b|0;c=c|0;Ne(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2);return _a[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}e=a+4|0;f=0;while(1){a=k[(k[e>>2]|0)+4>>2]|0;a=sg(a,gb[k[(k[b>>2]|0)+24>>2]&63](b,f)|0)|0;if((a|0)==-1){a=0;c=10;break}c=k[(k[e>>2]|0)+4>>2]|0;if((a|0)<=-1){c=6;break}d=k[c+4>>2]|0;if((k[c+8>>2]|0)-d>>2>>>0<=a>>>0){c=8;break}f=f+1|0;if(!(gb[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=10;break}if((f|0)>=(cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Aa(9717,9733,62,9761);else if((c|0)==8)Aa(9771,9733,63,9761);else if((c|0)==10)return a|0;return 0}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;j=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=j>>2;h=a+8|0;b=k[(k[h>>2]|0)+40>>2]|0;m=bq((b|0)>-1?b:-1)|0;a=c+8|0;if((j|0)<=0){c=1;cq(m);return c|0}d=c+16|0;i=0;j=0;while(1){o=a;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=jq(e|0,k[f+4>>2]|0,b|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=5;break}lq(m|0,(k[c>>2]|0)+e|0,b|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;lq((k[k[(k[h>>2]|0)+64>>2]>>2]|0)+j|0,m|0,b|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+b|0}if((a|0)==5){cq(m);return b|0}return 0}function vh(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function wh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function xh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;return qh(a,b,c)|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;g=c+8|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=c+16|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){f=i[(k[c>>2]|0)+e>>0]|0;e=jq(e|0,d|0,1,0)|0;d=L;n=h;k[n>>2]=e;k[n+4>>2]=d;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){n=i[(k[c>>2]|0)+e>>0]|0;l=jq(e|0,d|0,1,0)|0;d=h;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=_a[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(gb[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(_a[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=gb[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var 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;u=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=ha((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(v,h-d|0);r=c+8|0;n=r;o=k[n>>2]|0;n=k[n+4>>2]|0;s=c+16|0;g=s;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&o>>>0>f>>>0)){b=0;return b|0}l=k[c>>2]|0;q=i[l+f>>0]|0;d=jq(f|0,g|0,1,0)|0;e=L;p=s;k[p>>2]=d;k[p+4>>2]=e;a:do if(!(q<<24>>24)){if(!((n|0)>(e|0)|(n|0)==(e|0)&o>>>0>d>>>0)){b=0;return b|0}j=i[l+d>>0]|0;m=jq(f|0,g|0,2,0)|0;d=L;h=s;k[h>>2]=m;k[h+4>>2]=d;h=k[t>>2]|0;g=k[v>>2]|0;e=h-g|0;f=g;if(j<<24>>24==4){r=jq(m|0,d|0,e|0,0)|0;q=L;if((n|0)<(q|0)|(n|0)==(q|0)&o>>>0>>0){b=0;return b|0}else{lq(f|0,l+m|0,e|0)|0;r=s;r=jq(k[r>>2]|0,k[r+4>>2]|0,e|0,0)|0;k[s>>2]=r;k[s+4>>2]=L;break}}if((h|0)!=(g|0)){q=j&255;p=j&255;l=n;j=o;e=m;f=0;while(1){o=jq(e|0,d|0,q|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){lq(g+(f<<2)|0,(k[c>>2]|0)+e|0,p|0)|0;e=s;e=jq(k[e>>2]|0,k[e+4>>2]|0,q|0,0)|0;d=L;g=s;k[g>>2]=e;k[g+4>>2]=d;g=k[v>>2]|0;h=k[t>>2]|0}f=f+1|0;if(f>>>0>=h-g>>2>>>0)break a;j=r;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(Kd(h,u,c,k[v>>2]|0)|0)){b=0;return b|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?cb[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[v>>2]|0;Jd(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(gb[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){b=0;return b|0}a=k[e>>2]|0;c=k[v>>2]|0;if(!(bb[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){b=0;return b|0}}b=1;return b|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){b=0;r=g;return b|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Ch(b,e,c,f)|0;r=g;return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Dh(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(44)|0;k[a>>2]=3168;k[a+4>>2]=e;k[a+8>>2]=k[d>>2];c=a+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];Ph(a+32|0,d+24|0);k[a>>2]=3616;d=a;return d|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);f=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;r=j;return d|0}g=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((g|0)==0|(h|0)==0){d=0;r=j;return d|0}e=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;d=ni(b,f,d,i)|0;r=j;return d|0}else{c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;d=Eh(b,f,d,i)|0;r=j;return d|0}return 0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3232;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3296;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;c=e+60|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Fh(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Gh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Hh(a){a=a|0;return k[a+4>>2]|0}function Ih(a){a=a|0;return 0}function Jh(a,b){a=a|0;b=b|0;return -1}function Kh(a,b){a=a|0;b=b|0;return 0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=jq(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Nh(a){a=a|0;return 0}function Oh(a){a=a|0;return 1}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;e=b+4|0;c=(k[e>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)yp(a);f=$p(c)|0;k[g>>2]=f;k[a>>2]=f;k[a+8>>2]=f+(d<<2);c=k[b>>2]|0;b=k[e>>2]|0;if((c|0)==(b|0))return;a=(b+-4-c|0)>>>2;d=f;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(b|0))break;else d=d+4|0}k[g>>2]=f+(a+1<<2);return}function Qh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Rh(a){a=a|0;return 1}function Sh(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function Th(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;F=1-g+f|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;F=bq(o)|0;hq(F|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|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=o+64|0;y=o+28|0;z=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(A<<2)>>2]<<2)>>2]|0;g=A+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?A+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;d=ha(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(z){g=0;do{k[F+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}}else{C=d;E=26}}else{C=ha(n,e)|0;E=26}if((E|0)==26?(E=0,B=b+(C<<2)|0,D=b+((ha(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+C<<2)>>2]=(k[B+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+C<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=F;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else G=F;while(0);if((e|0)>0)hq(F|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){cq(F);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[G+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[H>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(F);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[H>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(F);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[H>>2]|0));cq(F);return 1}function Uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0;z=a+8|0;k[z>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0)if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0){k[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[z>>2]|0}w=k[a+48>>2]|0;x=k[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=bq(v)|0;hq(y|0,0,v|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[y+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[z>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}s=k[a+56>>2]|0;d=k[s>>2]|0;s=(k[s+4>>2]|0)-d>>2;if(s>>>0<=1){cq(y);return 1}t=a+16|0;u=a+32|0;v=a+12|0;o=a+20|0;p=w+64|0;q=w+28|0;r=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if(!((g|0)<0?1:(1<<(g&31)&k[(k[w>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(A|0)>-1):0){i=k[q>>2]|0;m=k[x>>2]|0;g=k[m+(k[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=k[m+(k[i+((((h|0)%3|0|0)==0?A+-2|0:h)<<2)>>2]<<2)>>2]|0;i=k[m+(k[i+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;m=ha(n,e)|0;if((g|0)<(n|0)&(h|0)<(n|0)&(i|0)<(n|0)){l=ha(g,e)|0;j=ha(h,e)|0;g=ha(i,e)|0;if(r){h=0;do{k[y+(h<<2)>>2]=(k[c+(h+g<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[y+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+m<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}else B=30}else{m=ha(n,e)|0;B=30}if((B|0)==30){B=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[z>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(y);return 1}function Vh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Wh(a){a=a|0;return 2}function Xh(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;K=1-g+f|0;k[a+20>>2]=K;f=(K|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(K&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;K=bq(r)|0;hq(K|0,0,r|0)|0;r=a+56|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=i>>2;while(1){o=n+-1|0;if(g-f>>2>>>0<=o>>>0)break;m=k[f+(o<<2)>>2]|0;if(s)hq(K|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=m;g=0;do{do if(((k[d+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(C=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0)?(E=k[A>>2]|0,l=k[q>>2]|0,I=k[l+(k[E+(C<<2)>>2]<<2)>>2]|0,D=C+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?C+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(I|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=ha(I,e)|0;i=ha(D,e)|0;j=ha(E,e)|0;if(s)l=0;else{g=g+1|0;J=34;break}do{N=K+(l<<2)|0;k[N>>2]=(k[b+(l+j<<2)>>2]|0)+(k[b+(l+i<<2)>>2]|0)-(k[b+(l+h<<2)>>2]|0)+(k[N>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((f|0)>=0)J=34}else J=34;while(0);do if((J|0)==34){J=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(m|0)?-1073741824:f}while((f|0)>-1);d=ha(o,e)|0;if(g){if(s){f=0;do{N=K+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}}else{G=d;J=46}}else{G=ha(o,e)|0;J=46}if((J|0)==46?(J=0,F=b+(G<<2)|0,H=b+((ha(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+G<<2)>>2]=(k[F+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+G<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=K;break a}h=k[r>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;n=o}zp(h)}else L=K;while(0);if((e|0)>0)hq(K|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){cq(K);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[L+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[M>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(K);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[M>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(K);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[M>>2]|0));cq(K);return 1}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;B=a+8|0;k[B>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0)if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0){k[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[B>>2]|0}z=e>>>0>1073741823?-1:e<<2;A=bq(z)|0;hq(A|0,0,z|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[A+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[B>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0))}}}s=k[a+48>>2]|0;t=k[a+56>>2]|0;u=t+4|0;d=k[t>>2]|0;if((k[u>>2]|0)-d>>2>>>0<=1){cq(A);return 1}v=k[a+52>>2]|0;w=(e|0)>0;x=a+16|0;y=a+32|0;z=a+12|0;o=a+20|0;p=s+64|0;q=s+28|0;r=e<<2;n=1;do{a=k[d+(n<<2)>>2]|0;if(w)hq(A|0,0,r|0)|0;if((a|0)>-1){m=k[s>>2]|0;d=a;g=0;do{do if(((k[m+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(C=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(C|0)>-1):0)?(F=k[q>>2]|0,l=k[v>>2]|0,D=k[l+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[l+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[l+(k[F+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(n|0)&(E|0)<(n|0)&(F|0)<(n|0)):0){h=ha(D,e)|0;i=ha(E,e)|0;j=ha(F,e)|0;if(w)l=0;else{g=g+1|0;G=38;break}do{H=A+(l<<2)|0;k[H>>2]=(k[c+(l+j<<2)>>2]|0)+(k[c+(l+i<<2)>>2]|0)-(k[c+(l+h<<2)>>2]|0)+(k[H>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((d|0)>=0)G=38}else G=38;while(0);do if((G|0)==38){G=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[m+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);d=(d|0)==(a|0)?-1073741824:d}while((d|0)>-1);l=ha(n,e)|0;if(g){if(w){d=0;do{H=A+(d<<2)|0;k[H>>2]=(k[H>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[A+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}else G=50}else{l=ha(n,e)|0;G=50}if((G|0)==50){G=0;j=c+((ha(n+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}n=n+1|0;d=k[t>>2]|0}while(n>>>0<(k[u>>2]|0)-d>>2>>>0);cq(A);return 1}function _h(a){a=a|0;var b=0,c=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function $h(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function ai(a){a=a|0;return 3}function bi(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function ci(a){a=a|0;return 1}function di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;l=u;n=a+4|0;t=k[n>>2]|0;if(t>>>0>=b>>>0){k[n>>2]=b;r=u;return}q=a+8|0;d=k[q>>2]|0;p=d<<5;g=b-t|0;if(p>>>0>>0|t>>>0>(p-g|0)>>>0){k[s>>2]=0;o=s+4|0;k[o>>2]=0;p=s+8|0;k[p>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(s,d);e=k[n>>2]|0;j=e+g|0;k[o>>2]=j;d=k[a>>2]|0;h=d;m=k[s>>2]|0;e=(h+(e>>>5<<2)-d<<3)+(e&31)|0;if((e|0)>0){i=e>>>5;mq(m|0,d|0,i<<2|0)|0;e=e-(i<<5)|0;f=m+(i<<2)|0;d=f;if((e|0)>0){j=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~j|k[h+(i<<2)>>2]&j;f=k[o>>2]|0}else{e=0;f=j}}else{e=0;d=m;f=j}k[l>>2]=d;k[l+4>>2]=e;h=l;d=k[h>>2]|0;h=k[h+4>>2]|0;e=k[a>>2]|0;k[a>>2]=m;k[s>>2]=e;a=k[n>>2]|0;k[n>>2]=f;k[o>>2]=a;a=k[q>>2]|0;k[q>>2]=k[p>>2];k[p>>2]=a;if(e|0)Ip(e)}else{d=(k[a>>2]|0)+(t>>>5<<2)|0;k[n>>2]=b;h=t&31}if((t|0)==(b|0)){r=u;return}e=(h|0)==0;f=d;if(c){if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]|-1>>>(c-d|0)&-1<>>5;hq(d|0,-1,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]|-1>>>(32-g+d|0);r=u;return}else{if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]&~(-1>>>(c-d|0)&-1<>>5;hq(d|0,0,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]&~(-1>>>(32-g+d|0));r=u;return}} +function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);le(a+16|0,d,c);r=1;return r|0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=65536){if(f>>>0>65536?(e=g+262144|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,65536-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==65536)return;else Aa(5594,5621,484,5634)}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ne(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+1048576}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<1048576){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<1048576)}while(0);e=d&262143;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>18)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);oe(a+16|0,d,c);r=1;return r|0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=262144){if(f>>>0>262144?(e=g+1048576|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,262144-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==262144)return;else Aa(5594,5621,484,5634)}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(qe(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+2097152}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<2097152){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<2097152)}while(0);e=d&524287;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>19)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);re(a+16|0,d,c);r=1;return r|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=524288){if(f>>>0>524288?(e=g+2097152|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,524288-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==524288)return;else Aa(5594,5621,484,5634)}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(te(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=1048576){if(f>>>0>1048576?(e=g+4194304|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,1048576-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==1048576)return;else Aa(5594,5621,484,5634)}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(we(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ye(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ee(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if(!b){d=a+4|0;b=k[d>>2]|0;e=k[a>>2]|0;f=b-e|0;if(c>>>0>f>>>0){Ge(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(b|0)!=(g|0)):0)k[d>>2]=g}else He(a,b,b+c|0);while(0);a=a+24|0;g=a;g=jq(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[a>>2]=g;k[a+4>>2]=L;return}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+8|0;d=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((d-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=c-f+b|0;if((e|0)<0)yp(a);c=d-f|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?e:c;d=(k[j>>2]|0)-f|0;if(!c){f=0;e=0;c=d}else g=9}else{c=2147483647;d=(k[j>>2]|0)-f|0;g=9}if((g|0)==9){f=c;e=$p(c)|0;c=d}g=e+c|0;e=e+f|0;d=g;c=g;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[j>>2]|0)-b|0;g=g+(0-f)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[j>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;g=b;j=c-g|0;m=a+8|0;d=k[m>>2]|0;e=k[a>>2]|0;h=e;if(j>>>0<=(d-e|0)>>>0){f=a+4|0;d=(k[f>>2]|0)-e|0;a=j>>>0>d>>>0;d=b+d|0;e=a?d:c;m=e-g|0;mq(h|0,b|0,m|0)|0;b=h+m|0;if(!a){if((k[f>>2]|0)==(b|0))return;k[f>>2]=b;return}if((e|0)==(c|0))return;b=k[f>>2]|0;do{i[b>>0]=i[d>>0]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;d=d+1|0}while((d|0)!=(c|0));return}if(e){d=a+4|0;if((k[d>>2]|0)!=(h|0))k[d>>2]=h;Ip(h);k[m>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=(j|0)<0;if(f)yp(a);d=d-0|0;if(d>>>0<1073741823){e=d<<1;d=e>>>0>=j>>>0;if(d|f^1)l=d?e:j;else yp(a)}else l=2147483647;d=$p(l)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[m>>2]=d+l;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;b=b+1|0}while((b|0)!=(c|0));return}function Ie(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function Je(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0;k[a>>2]=c;if(c|0){o=c+16|0;m=k[o+4>>2]|0;n=a+8|0;k[n>>2]=k[o>>2];k[n+4>>2]=m;n=c+24|0;m=k[n+4>>2]|0;c=a+16|0;k[c>>2]=k[n>>2];k[c+4>>2]=m}i[a+24>>0]=d;k[a+28>>2]=e;i[a+32>>0]=f&1;o=a+40|0;k[o>>2]=g;k[o+4>>2]=h;o=a+48|0;k[o>>2]=j;k[o+4>>2]=l;k[a+56>>2]=b;return}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;k[a>>2]=b;i=b+16|0;g=k[i+4>>2]|0;h=a+8|0;k[h>>2]=k[i>>2];k[h+4>>2]=g;h=b+24|0;g=k[h+4>>2]|0;b=a+16|0;k[b>>2]=k[h>>2];k[b+4>>2]=g;b=a+40|0;k[b>>2]=c;k[b+4>>2]=d;a=a+48|0;k[a>>2]=e;k[a+4>>2]=f;return}function Le(a){a=a|0;Ie(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a+64|0;if((k[c>>2]|0)==0?(f=$p(32)|0,Ee(f),d=k[c>>2]|0,k[c>>2]=f,d|0):0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}e=cd(k[a+28>>2]|0)|0;e=ha(i[a+24>>0]|0,e)|0;f=((e|0)<0)<<31>>31;g=k[c>>2]|0;d=sq(e|0,f|0,b|0,0)|0;Fe(g,0,d,L);Ke(a,k[c>>2]|0,e,f,0,0);k[a+80>>2]=b;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];a=Pe(a,b,d)|0;r=c;return a|0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Qe(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ve(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ze(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bf(a,b,d)|0;break}default:c=0}break}case 1:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=gf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=lf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=pf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=tf(a,b,d)|0;break}default:c=0}break}case 11:case 2:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=yf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=zf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Af(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Bf(a,b,d)|0;break}default:c=0}break}case 4:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Cf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Gf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Of(a,b,d)|0;break}default:c=0}break}case 3:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Tf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Uf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Vf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Wf(a,b,d)|0;break}default:c=0}break}case 6:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Xf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Yf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Zf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=_f(a,b,d)|0;break}default:c=0}break}case 5:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=$f(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=ag(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=bg(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=cg(a,b,d)|0;break}default:c=0}break}default:{a=-1;r=j;return a|0}}a=(c|0)==0?-1:c;r=j;return a|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,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=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=k[c+8>>2]|0;d=m^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Se(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Te(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Te(a,b);return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=10}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=10}if((j|0)==10){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;e=(n^318)+239^p;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Xe(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ye(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ye(a,b);return}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(n){c=f;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}j=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}i=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{j=k[c+8>>2]|0;g=c;while(1){if((j|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;q=k[c+16>>2]|0;e=((n^318)+239^p)+239^q;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;$e(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){af(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;af(a,b);return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+12|0;l=c+16|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=k[c+8>>2]|0;g=c;while(1){if((l|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=k[c+8>>2]|0;q=k[c+12>>2]|0;r=k[c+16>>2]|0;p=k[c+20>>2]|0;e=(((n^318)+239^q)+239^r)+239^p;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;ef(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;ff(a,b);return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+12|0;l=c+16|0;m=c+20|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}if((k[m>>2]|0)!=(k[f+20>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+12|0;j=c+16|0;l=c+20|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=k[c+8>>2]|0;g=c;while(1){if((m|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}if((k[l>>2]|0)!=(k[f+20>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=i[c+8>>0]|0;d=m&255^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;jf(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){kf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;kf(a,b);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;j=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}else{l=g;j=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i[c+8>>0]|0;p=i[c+9>>0]|0;e=(n&255^318)+239^p&255;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;nf(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){of(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;of(a,b);return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+9|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+9|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=i[c+8>>0]|0;g=c;while(1){if(l<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=i[c+8>>0]|0;q=i[c+9>>0]|0;p=i[c+10>>0]|0;e=((n&255^318)+239^q&255)+239^p&255;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;rf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;sf(a,b);return}function sf(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+9|0;m=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=i[c+8>>0]|0;g=c;while(1){if(m<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=i[b>>0]|0;j=i[b+1>>0]|0;l=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((h&255^318)+239^j&255)+239^l&255)+239^g&255;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i[c+8>>0]|0;r=i[c+9>>0]|0;p=i[c+10>>0]|0;q=i[c+11>>0]|0;e=(((n&255^318)+239^r&255)+239^p&255)+239^q&255;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;wf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){xf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;xf(a,b);return}function xf(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+9|0;m=c+10|0;n=c+11|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}if((i[n>>0]|0)!=(i[f+11>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}j=c+9|0;l=c+10|0;m=c+11|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=i[c+8>>0]|0;g=c;while(1){if(n<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}if((i[m>>0]|0)!=(i[f+11>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,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=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0;n=j[c+8>>1]|0;d=n&65535^318;r=c+4|0;k[r>>2]=d;q=b+4|0;l=k[q>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;f=(m&l|0)==0;if(f)e=m&d;else e=(d>>>0)%(l>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&m|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(p|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Ef(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ff(a,b);return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;i=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}else{l=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;p=j[c+8>>1]|0;q=j[c+10>>1]|0;e=(p&65535^318)+239^q&65535;t=c+4|0;k[t>>2]=e;s=b+4|0;l=k[s>>2]|0;r=(l|0)==0;a:do if(!r){n=l+-1|0;m=(n&l|0)==0;if(m)e=n&e;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;If(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Jf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Jf(a,b);return}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=j[c+8>>1]|0;g=c;while(1){if(l<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return} +function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))pg(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4652;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Jn(f,i,j);r=n;return}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Yn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Zn(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}e=f+m|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+e|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);p=k[(k[s>>2]|0)+20>>2]|0;j=p+16|0;g=k[j>>2]|0;q=(k[p>>2]|0)+g+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=jq(g|0,k[j+4>>2]|0,b|0,0)|0;b=gq(m|0,p|0,b|0,L|0)|0;Pg(A,q,b);b=bo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;j=q+8|0;q=q+16|0;q=gq(k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,m+p|0,q);k[a+324>>2]=o;fo(z,c);if((go(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];no(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}oo(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){_n(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function _n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;$n(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];ao(m);r=o;return}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;c=h;Qg(b,1,c)|0;f=b+40|0;d=b+16|0;e=k[d>>2]|0;g=(k[b>>2]|0)+e|0;i=b+8|0;d=gq(k[i>>2]|0,k[i+4>>2]|0,e|0,k[d+4>>2]|0)|0;Pg(f,g,d);d=c;g=b+56|0;e=g;d=jq(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=g;k[e>>2]=d;k[e+4>>2]=L;Qg(f,1,c)|0;Og(a);e=k[g>>2]|0;f=(k[f>>2]|0)+e|0;d=b+48|0;g=gq(k[d>>2]|0,k[d+4>>2]|0,e|0,k[g+4>>2]|0)|0;Pg(a,f,g);g=a+16|0;f=g;c=jq(k[f>>2]|0,k[f+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[g>>2]=c;k[g+4>>2]=L;g=b+84|0;c=k[g>>2]|0;if((c|0)<=0){r=h;return}f=b+80|0;d=c<<4;d=bq(c>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;k[d>>2]=c;d=d+4|0;b=d+(c<<4)|0;c=d;do{qd(c);c=c+16|0}while((c|0)!=(b|0));e=k[f>>2]|0;k[f>>2]=d;if(e|0){c=e+-4|0;b=k[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(e|0))}cq(c)}if((k[g>>2]|0)>0)b=0;else{r=h;return}do{sd((k[f>>2]|0)+(b<<4)|0,a);b=b+1|0}while((b|0)<(k[g>>2]|0));r=h;return}function go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;sa=r;r=r+48|0;oa=sa+28|0;pa=sa+8|0;ka=sa+4|0;la=sa;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;a:do if((b|0)>0){T=a+276|0;X=a+8|0;Z=a+36|0;aa=a+40|0;ba=b+-1|0;ca=pa+4|0;F=oa+8|0;G=a+136|0;I=a+272|0;J=a+264|0;K=a+268|0;x=0;c=0;b:while(1){P=x+1|0;if(i[T>>0]|0){e=k[I>>2]|0;g=k[J>>2]|0;h=k[K>>2]|0;d=g+(e>>>3)|0;if(d>>>0>>0?(R=(l[d>>0]|0)>>>(e&7)&1,S=e+1|0,k[I>>2]=S,(R|0)!=0):0){d=g+(S>>>3)|0;if(d>>>0>>0){f=(l[d>>0]|0)>>>(S&7)&1;e=e+2|0;k[I>>2]=e}else{f=0;e=S}d=g+(e>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(e&7);k[I>>2]=e+1;d=d<<1&2}else d=0;e=R;d=(d|f)<<1;da=13}else da=14}else{e=0;d=0;da=13}c:do if((da|0)==13){da=0;d=d|e;if(d){switch(d|0){case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;m=((d|0)==5?2:1)+w|0;d=k[X>>2]|0;v=k[d+12>>2]|0;k[v+(m<<2)>>2]=u;k[v+(u<<2)>>2]=m;v=c+1|0;q=(m|0)<0;t=(m|0)%3|0;k[(k[d>>2]|0)+((q?-1073741824:(m|0)/3|0)*12|0)+(t<<2)>>2]=c;if((c|0)>-1){h=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(v>>>0>g>>>0){ho(h,v-g|0);d=k[h>>2]|0;break}if(v>>>0>>0?(N=d+(v<<2)|0,(e|0)!=(N|0)):0)k[f>>2]=e+(~((e+-4-N|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=m;d=k[X>>2]|0}if(q)n=m;else{n=m+1|0;n=((n|0)%3|0|0)==0?m+-2|0:n}p=(u|0)<0;if(!p?(D=(((u|0)%3|0|0)==0?2:-1)+u|0,(D|0)>=0):0)j=k[(k[d>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=n;d=k[X>>2]|0}do if(!q)if(!t){m=m+2|0;break}else{m=m+-1|0;break}while(0);if(!p?(A=u+1|0,A=((A|0)%3|0|0)==0?u+-2|0:A,(A|0)>=0):0)j=k[(k[d>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((m|0)<0?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(Q=c+(g<<2)|0,(d|0)!=(Q|0)):0)k[e>>2]=d+(~((d+-4-Q|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=m}k[(k[qa>>2]|0)+-4>>2]=w;c=v;break}case 1:{d=k[qa>>2]|0;u=k[d+-4>>2]|0;m=d+-4|0;k[qa>>2]=m;g=k[ca>>2]|0;d:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&x;else j=(x>>>0)%(g>>>0)|0;e=k[(k[pa>>2]|0)+(j<<2)>>2]|0;if(e){if(f)do{e=k[e>>2]|0;if(!e){d=m;break d}if((k[e+4>>2]&h|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));else do{e=k[e>>2]|0;if(!e){d=m;break d}if((((k[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));e=e+12|0;if((m|0)==(k[F>>2]|0)){Bd(oa,e);d=k[qa>>2]|0;break}else{k[m>>2]=k[e>>2];k[qa>>2]=d;break}}else d=m}else d=m;while(0);n=k[d+-4>>2]|0;v=x*3|0;q=v+2|0;f=k[X>>2]|0;w=k[f+12>>2]|0;k[w+(n<<2)>>2]=q;k[w+(q<<2)>>2]=n;p=v+1|0;k[w+(u<<2)>>2]=p;k[w+(p<<2)>>2]=u;if((n|0)>=0){d=(((n|0)%3|0|0)==0?2:-1)+n|0;if((d|0)>=0){w=k[f>>2]|0;e=k[w+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;k[w+(x*12|0)+(((v|0)%3|0)<<2)>>2]=e;if((e|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){j=e+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(U=d+(j<<2)|0,(f|0)!=(U|0)):0)k[g>>2]=f+(~((f+-4-U|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=v;f=k[X>>2]|0;g=1}else g=0}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;e=-1073741824;g=0}d=n+1|0;d=((d|0)%3|0|0)==0?n+-2|0:d;if((d|0)<0){n=-1073741824;t=e;d=f}else{n=k[(k[f>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;t=e;d=f}}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824;t=-1073741824;d=f;g=0}k[(k[d>>2]|0)+(((v|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(V=d+(j<<2)|0,(e|0)!=(V|0)):0)k[f>>2]=e+(~((e+-4-V|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[X>>2]|0}p=(u|0)<0;if(!p?(C=(((u|0)%3|0|0)==0?2:-1)+u|0,(C|0)>=0):0)n=k[(k[d>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(W=d+(j<<2)|0,(e|0)!=(W|0)):0)k[f>>2]=e+(~((e+-4-W|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q}e:do if(!p?(y=u+1|0,y=((y|0)%3|0|0)==0?u+-2|0:y,(y|0)>=0):0){d=k[(k[k[X>>2]>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;e=k[X>>2]|0;p=t+1|0;if(g)n=y;else{g=k[e>>2]|0;h=e+12|0;f=y;while(1){k[g+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]=t;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<0)break e;f=k[(k[h>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<=-1)break e}}do{k[(k[e>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=t;j=e+24|0;m=e+28|0;f=k[m>>2]|0;e=k[j>>2]|0;g=f-e>>2;do if(g>>>0<=t>>>0){h=f;if(p>>>0>g>>>0){ho(j,p-g|0);e=k[j>>2]|0;break}if(p>>>0>=g>>>0)break;f=e+(p<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[e+(t<<2)>>2]=n;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;e=k[X>>2]|0;if((f|0)<0)break e;f=k[(k[e+12>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;n=f+1|0;n=((n|0)%3|0|0)==0?f+-2|0:n}while((n|0)>-1)}else da=142;while(0);if((da|0)==142){da=0;e=k[X>>2]|0;d=-1073741824}k[(k[e+24>>2]|0)+(d<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=v;break c}case 7:{j=x*3|0;k[ka>>2]=j;e=k[X>>2]|0;m=c+1|0;d=k[e>>2]|0;k[d+(x*12|0)+(((j|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(m>>>0>g>>>0){ho(h,m-g|0);d=k[h>>2]|0;break}if(m>>>0>>0?(Y=d+(m<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}else f=j;j=f+1|0;n=c+2|0;k[d+(((f|0)<-1?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=m;if((c|0)>-2){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){if(n>>>0>g>>>0){ho(h,n-g|0);d=k[h>>2]|0;break}if(n>>>0>>0?(_=d+(n<<2)|0,(e|0)!=(_|0)):0)k[f>>2]=e+(~((e+-4-_|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}j=f+2|0;c=c+3|0;k[d+(((f|0)<-2?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=n;if((n|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=n>>>0){if(c>>>0>g>>>0){ho(h,c-g|0);d=k[h>>2]|0;break}if(c>>>0>>0?($=d+(c<<2)|0,(e|0)!=($|0)):0)k[f>>2]=e+(~((e+-4-$|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=j}d=k[qa>>2]|0;if((d|0)==(k[F>>2]|0))Bd(oa,ka);else{k[d>>2]=k[ka>>2];k[qa>>2]=d+4}break}default:break c}g=b-x|0;h=g+-1|0;d=k[aa>>2]|0;if((d|0)!=(k[Z>>2]|0))do{e=k[d+-8>>2]|0;if((e|0)>=(g|0)){da=188;break b}if((e|0)!=(h|0))break c;x=i[d+-4>>0]&1;f=k[d+-12>>2]|0;k[aa>>2]=d+-12;d=k[(k[qa>>2]|0)+-4>>2]|0;e=(d|0)<0;do if(!(x<<24>>24)){if(!e)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else if(!e){x=d+1|0;d=((x|0)%3|0|0)==0?d+-2|0:x}while(0);k[ka>>2]=ba-f;x=io(pa,ka)|0;k[x>>2]=d;d=k[aa>>2]|0}while((d|0)!=(k[Z>>2]|0))}else da=14}while(0);if((da|0)==14){da=0;t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;f:do if(!u){d=t+(((t|0)%3|0|0)==0?2:-1)|0;if((d|0)<0)da=16;else{g=k[X>>2]|0;f=k[g+12>>2]|0;while(1){e=k[f+(d<<2)>>2]|0;if((e|0)<=-1){p=0;e=g;break f}d=e+(((e|0)%3|0|0)==0?2:-1)|0;if((d|0)<0){p=1;e=g;break}}}}else{d=t;da=16}while(0);if((da|0)==16){da=0;e=k[X>>2]|0;p=1;f=k[e+12>>2]|0}v=x*3|0;q=v+1|0;k[f+(t<<2)>>2]=q;k[f+(q<<2)>>2]=t;w=v+2|0;k[f+(d<<2)>>2]=w;k[f+(w<<2)>>2]=d;if(!u?(z=t+1|0,z=((z|0)%3|0|0)==0?t+-2|0:z,(z|0)>=0):0){m=k[e>>2]|0;n=k[m+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[m+(x*12|0)+(((v|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(H=e+(j<<2)|0,(f|0)!=(H|0)):0)k[g>>2]=f+(~((f+-4-H|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=v;e=k[X>>2]|0}}else{k[(k[e>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824}if(!p?(B=d+1|0,B=((B|0)%3|0|0)==0?d+-2|0:B,(B|0)>=0):0)m=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((v|0)<-1?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(L=d+(h<<2)|0,(e|0)!=(L|0)):0)k[f>>2]=e+(~((e+-4-L|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=q;d=k[X>>2]|0}else d=e;if(!u?(E=(((t|0)%3|0|0)==0?2:-1)+t|0,(E|0)>=0):0)m=k[(k[d>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(M=d+(h<<2)|0,(e|0)!=(M|0)):0)k[f>>2]=e+(~((e+-4-M|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=w}x=(k[G>>2]|0)+(n>>>5<<2)|0;k[x>>2]=k[x>>2]&~(1<<(n&31));k[(k[qa>>2]|0)+-4>>2]=v}if((P|0)<(b|0))x=P;else{s=P;ma=c;break}}if((da|0)==188)Aa(11155,11225,82,11276);c=k[qa>>2]|0;if((c|0)!=(k[oa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;g:while(1){b=c;m=k[b+-4>>2]|0;k[ka>>2]=m;k[qa>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){da=202;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){da=260;break g}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,ka);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else da=202;while(0);if((da|0)==202){da=0;f=(m|0)<0;h:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;da=209;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)da=209;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break h}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;da=209}while(0);if((da|0)==209){da=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[la>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(ga=c+1|0,ga=((ga|0)%3|0|0)==0?c+-2|0:ga,(ga|0)>=0):0)n=k[(k[f>>2]|0)+(((ga|0)/3|0)*12|0)+(((ga|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ha=c+(j<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[la>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(fa=p+1|0,fa=((fa|0)%3|0|0)==0?p+-2|0:fa,(fa|0)>=0):0)m=k[(k[f>>2]|0)+(((fa|0)/3|0)*12|0)+(((fa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ia=c+(h<<2)|0,(e|0)!=(ia|0)):0)k[f>>2]=e+(~((e+-4-ia|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[la>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[ka>>2]|0;if((c|0)>=0?(ea=c+1|0,ea=((ea|0)%3|0|0)==0?c+-2|0:ea,(ea|0)>=0):0)m=k[(k[f>>2]|0)+(((ea|0)/3|0)*12|0)+(((ea|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ja=c+(h<<2)|0,(e|0)!=(ja|0)):0)k[f>>2]=e+(~((e+-4-ja|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[la>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){da=248;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,la);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[qa>>2]|0;if((c|0)==(k[oa>>2]|0)){ra=ma;break a}else s=d}if((da|0)==248)yp(w);else if((da|0)==260)yp(w)}else ra=ma}else ra=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(ra>>>0<=d>>>0){if(ra>>>0>>0?(na=e+(ra<<2)|0,(f|0)!=(na|0)):0)k[c>>2]=f+(~((f+-4-na|0)>>>2)<<2)}else mo(g,ra-d|0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Ip(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Ip(c);c=k[oa>>2]|0;if(!c){r=sa;return ra|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=sa;return ra|0}function ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;f=k[b>>2]|0;d=k[a+4>>2]|0;a:do if(d|0){e=d+-1|0;c=(e&d|0)==0;if(c)g=e&f;else g=(f>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b|0)if(c){do{b=k[b>>2]|0;if(!b)break a;if((k[b+4>>2]&e|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}else{do{b=k[b>>2]|0;if(!b)break a;if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}}while(0);g=$p(16)|0;k[g+8>>2]=f;k[g+12>>2]=0;jo(h,a,g);a=k[h>>2]|0;a=a+12|0;r=i;return a|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;l=k[c+8>>2]|0;q=c+4|0;k[q>>2]=l;n=b+4|0;p=k[n>>2]|0;m=(p|0)==0;a:do if(!m){j=p+-1|0;f=(j&p|0)==0;if(f)e=j&l;else e=(l>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&j|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(m|g>+(p>>>0)*h){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ga(+(g/h))>>>0;ko(b,f>>>0>>0?d:f);f=k[n>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}else j=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){lo(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;lo(a,b);return}function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function oo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<2)>>2]|0;if((c|0)>=0)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else c=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b|0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function po(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;e=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;f=((d-g|0)/12|0)+b|0;if(f>>>0>357913941)yp(a);d=(e-g|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?f:d;e=((k[j>>2]|0)-g|0)/12|0;if(!d){g=0;f=0;d=e}else h=9}else{d=357913941;e=((k[j>>2]|0)-g|0)/12|0;h=9}if((h|0)==9){g=d;f=$p(d*12|0)|0;d=e}h=f+(d*12|0)|0;f=f+(g*12|0)|0;e=h;d=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=d+12|0;d=e;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;g=(k[j>>2]|0)-b|0;c=h+(((g|0)/-12|0)*12|0)|0;lq(c|0,b|0,g|0)|0;k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;if(!b)return;Ip(b);return}function qo(a){a=a|0;return 1}function ro(a){a=a|0;return k[a+4>>2]|0}function so(a){a=a|0;return k[a+8>>2]|0}function to(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;rd(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);uo(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(e)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function vo(a){a=a|0;to(a);Ip(a);return}function wo(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function zo(a,b){a=a|0;b=b|0;var 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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function Ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Bo(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+m|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;q=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((m|0)<(f|0)|(m|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);m=k[(k[s>>2]|0)+20>>2]|0;g=m+16|0;f=k[g>>2]|0;q=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=jq(f|0,k[g+4>>2]|0,b|0,0)|0;b=gq(j|0,m|0,b|0,L|0)|0;Pg(A,q,b);b=Fo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;g=q+8|0;q=q+16|0;q=gq(k[g>>2]|0,k[g+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,j+m|0,q);q=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=q;k[a+336>>2]=k[p>>2];k[a+324>>2]=o;Go(z,c);if((Ho(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];Jo(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}Ko(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Co(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;Do(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];Eo(m);r=o;return}function Do(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Eo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function Fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;fo(a,b);g=a+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=a+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)c=0;else{c=(k[a>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=f;k[h>>2]=d;k[h+4>>2]=e}d=b+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=b+100|0;k[i>>2]=0;e=b+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Ad(d,c-f|0,i);sd(b+112|0,a);r=m;return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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,Ba=0,Ca=0;Ca=r;r=r+48|0;qa=Ca+40|0;xa=Ca+28|0;ya=Ca+8|0;F=Ca+4|0;ua=Ca;k[xa>>2]=0;za=xa+4|0;k[za>>2]=0;k[xa+8>>2]=0;k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;o[ya+16>>2]=1.0;a:do if((b|0)>0){ba=a+240|0;ca=a+372|0;ja=a+276|0;ka=a+368|0;la=a+272|0;G=a+264|0;H=a+268|0;I=a+8|0;K=a+136|0;L=a+36|0;M=a+40|0;N=b+-1|0;P=ya+4|0;Q=a+340|0;R=xa+8|0;T=a+352|0;y=0;x=0;b:while(1){X=y+1|0;if((k[ca>>2]|0)!=-1?td(T)|0:0){c=k[ca>>2]|0;ma=18}else ma=8;c:do if((ma|0)==8){do if(!(i[ja>>0]|0)){d=0;c=0}else{d=k[la>>2]|0;f=k[G>>2]|0;g=k[H>>2]|0;c=f+(d>>>3)|0;if(c>>>0>>0?(_=(l[c>>0]|0)>>>(d&7)&1,$=d+1|0,k[la>>2]=$,_|0):0){c=f+($>>>3)|0;if(c>>>0>>0){e=(l[c>>0]|0)>>>($&7)&1;d=d+2|0;k[la>>2]=d}else{e=0;d=$}c=f+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7);k[la>>2]=d+1;c=c<<1&2}else c=0;d=_;c=(c|e)<<1;break}k[ka>>2]=0;ma=19;break c}while(0);c=c|d;ma=18}while(0);d:do if((ma|0)==18){ma=0;k[ka>>2]=c;if(!c)ma=19;else switch(c|0){case 3:case 5:{v=k[(k[za>>2]|0)+-4>>2]|0;w=y*3|0;n=((c|0)==5?2:1)+w|0;c=k[I>>2]|0;f=k[c+12>>2]|0;k[f+(n<<2)>>2]=v;k[f+(v<<2)>>2]=n;f=x+1|0;t=(n|0)<0;u=(n|0)%3|0;k[(k[c>>2]|0)+((t?-1073741824:(n|0)/3|0)*12|0)+(u<<2)>>2]=x;if((x|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;g=d-c>>2;do if(g>>>0<=x>>>0){if(f>>>0>g>>>0){ho(h,f-g|0);c=k[h>>2]|0;break}if(f>>>0>>0?(U=c+(f<<2)|0,(d|0)!=(U|0)):0)k[e>>2]=d+(~((d+-4-U|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=n;c=k[I>>2]|0}if(t)p=n;else{p=n+1|0;p=((p|0)%3|0|0)==0?n+-2|0:p}q=(v|0)<0;if(!q?(D=(((v|0)%3|0|0)==0?2:-1)+v|0,(D|0)>=0):0)m=k[(k[c>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(V=c+(h<<2)|0,(d|0)!=(V|0)):0)k[e>>2]=d+(~((d+-4-V|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;c=k[I>>2]|0}do if(!t)if(!u){n=n+2|0;break}else{n=n+-1|0;break}while(0);if(!q?(A=v+1|0,A=((A|0)%3|0|0)==0?v+-2|0:A,(A|0)>=0):0)m=k[(k[c>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(W=c+(h<<2)|0,(d|0)!=(W|0)):0)k[e>>2]=d+(~((d+-4-W|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[za>>2]|0)+-4>>2]=w;c=1;break d}case 1:{c=k[za>>2]|0;t=k[c+-4>>2]|0;j=c+-4|0;k[za>>2]=j;f=k[P>>2]|0;e:do if(f){g=f+-1|0;e=(g&f|0)==0;if(e)h=g&y;else h=(y>>>0)%(f>>>0)|0;d=k[(k[ya>>2]|0)+(h<<2)>>2]|0;if(d){if(e)do{d=k[d>>2]|0;if(!d){c=j;break e}if((k[d+4>>2]&g|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));else do{d=k[d>>2]|0;if(!d){c=j;break e}if((((k[d+4>>2]|0)>>>0)%(f>>>0)|0|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));d=d+12|0;if((j|0)==(k[R>>2]|0)){Bd(xa,d);c=k[za>>2]|0;break}else{k[j>>2]=k[d>>2];k[za>>2]=c;break}}else c=j}else c=j;while(0);m=k[c+-4>>2]|0;u=y*3|0;p=u+2|0;f=k[I>>2]|0;w=k[f+12>>2]|0;k[w+(m<<2)>>2]=p;k[w+(p<<2)>>2]=m;n=u+1|0;k[w+(t<<2)>>2]=n;k[w+(n<<2)>>2]=t;if((m|0)>=0){c=(((m|0)%3|0|0)==0?2:-1)+m|0;if((c|0)>=0){w=k[f>>2]|0;d=k[w+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=d>>>0){h=d+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Y=c+(h<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[c+(d<<2)>>2]=u;e=1;f=k[I>>2]|0}else e=0}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;d=-1073741824;e=0}c=m+1|0;c=((c|0)%3|0|0)==0?m+-2|0:c;if((c|0)<0){m=-1073741824;q=d;c=f}else{m=k[(k[f>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;q=d;c=f}}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824;q=-1073741824;e=0;c=f}k[(k[c>>2]|0)+(((u|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Z=c+(h<<2)|0,(d|0)!=(Z|0)):0)k[f>>2]=d+(~((d+-4-Z|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[I>>2]|0}n=(t|0)<0;if(!n?(C=(((t|0)%3|0|0)==0?2:-1)+t|0,(C|0)>=0):0)m=k[(k[c>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(aa=c+(h<<2)|0,(d|0)!=(aa|0)):0)k[f>>2]=d+(~((d+-4-aa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p}if(!n){c=t+1|0;c=((c|0)%3|0|0)==0?t+-2|0:c;if((c|0)<0){n=-1073741824;d=c}else{n=k[(k[k[I>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=c}}else{n=-1073741824;d=t}w=k[Q>>2]|0;c=w+(q<<2)|0;k[c>>2]=(k[c>>2]|0)+(k[w+(n<<2)>>2]|0);c=k[I>>2]|0;f:do if((d|0)>-1){m=q+1|0;if(!e){e=k[c>>2]|0;f=c+12|0;while(1){k[e+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<0)break f;d=k[(k[f>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<=-1)break f}}do{k[(k[c>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;h=c+24|0;j=c+28|0;e=k[j>>2]|0;c=k[h>>2]|0;f=e-c>>2;do if(f>>>0<=q>>>0){g=e;if(m>>>0>f>>>0){ho(h,m-f|0);c=k[h>>2]|0;break}if(m>>>0>=f>>>0)break;e=c+(m<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[c+(q<<2)>>2]=d;c=d+1|0;d=((c|0)%3|0|0)==0?d+-2|0:c;c=k[I>>2]|0;if((d|0)<0)break f;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w}while((d|0)>-1)}while(0);k[(k[c+24>>2]|0)+(n<<2)>>2]=-1073741824;k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x;break d}case 7:{h=y*3|0;k[qa>>2]=h;d=k[I>>2]|0;j=x+1|0;c=k[d>>2]|0;k[c+(y*12|0)+(((h|0)%3|0)<<2)>>2]=x;if((x|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=x>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(da=c+(j<<2)|0,(d|0)!=(da|0)):0)k[e>>2]=d+(~((d+-4-da|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}else e=h;h=e+1|0;m=x+2|0;k[c+(((e|0)<-1?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=j;if((x|0)>-2){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){if(m>>>0>f>>>0){ho(g,m-f|0);c=k[g>>2]|0;break}if(m>>>0>>0?(ea=c+(m<<2)|0,(d|0)!=(ea|0)):0)k[e>>2]=d+(~((d+-4-ea|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}h=e+2|0;j=x+3|0;k[c+(((e|0)<-2?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=m;if((m|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=m>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(fa=c+(j<<2)|0,(d|0)!=(fa|0)):0)k[e>>2]=d+(~((d+-4-fa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=h}c=k[za>>2]|0;if((c|0)==(k[R>>2]|0))Bd(xa,qa);else{k[c>>2]=k[qa>>2];k[za>>2]=c+4}c=1;f=j;break d}default:{c=0;f=x;break d}}}while(0);if((ma|0)==19){ma=0;q=k[(k[za>>2]|0)+-4>>2]|0;t=(q|0)<0;g:do if(!t){c=q+(((q|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ma=21;else{e=k[I>>2]|0;f=k[e+12>>2]|0;while(1){d=k[f+(c<<2)>>2]|0;if((d|0)<=-1){n=0;break g}c=d+(((d|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){n=1;break}}}}else{c=q;ma=21}while(0);if((ma|0)==21){ma=0;f=k[I>>2]|0;n=1;e=f;f=k[f+12>>2]|0}u=y*3|0;p=u+1|0;k[f+(q<<2)>>2]=p;k[f+(p<<2)>>2]=q;v=u+2|0;k[f+(c<<2)>>2]=v;k[f+(v<<2)>>2]=c;if(!t?(z=q+1|0,z=((z|0)%3|0|0)==0?q+-2|0:z,(z|0)>=0):0){w=k[e>>2]|0;m=k[w+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(J=d+(h<<2)|0,(e|0)!=(J|0)):0)k[f>>2]=e+(~((e+-4-J|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=u;e=k[I>>2]|0}}else{k[(k[e>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824}if(!n?(B=c+1|0,B=((B|0)%3|0|0)==0?c+-2|0:B,(B|0)>=0):0)j=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[e>>2]|0)+(((u|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=e+24|0;e=e+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=p;c=k[I>>2]|0}else c=e;if(!t?(E=(((q|0)%3|0|0)==0?2:-1)+q|0,(E|0)>=0):0)j=k[(k[c>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(v|0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(S=c+(g<<2)|0,(d|0)!=(S|0)):0)k[e>>2]=d+(~((d+-4-S|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=v}c=(k[K>>2]|0)+(m>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(m&31));k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x}k[F>>2]=k[(k[za>>2]|0)+-4>>2];k[qa>>2]=k[F>>2];Io(ba,qa);h:do if(c?(ga=b-y|0,ha=ga+-1|0,ia=k[M>>2]|0,(ia|0)!=(k[L>>2]|0)):0){c=ia;do{d=k[c+-8>>2]|0;if((d|0)>=(ga|0)){ma=195;break b}if((d|0)!=(ha|0))break h;y=i[c+-4>>0]&1;e=k[c+-12>>2]|0;k[M>>2]=c+-12;c=k[(k[za>>2]|0)+-4>>2]|0;d=(c|0)<0;do if(!(y<<24>>24)){if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!d){y=c+1|0;c=((y|0)%3|0|0)==0?c+-2|0:y}while(0);k[qa>>2]=N-e;y=io(ya,qa)|0;k[y>>2]=c;c=k[M>>2]|0}while((c|0)!=(k[L>>2]|0))}while(0);if((X|0)<(b|0)){y=X;x=f}else{s=X;va=f;break}}if((ma|0)==195)Aa(11155,11225,82,11276);c=k[za>>2]|0;if((c|0)!=(k[xa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;i:while(1){b=c;m=k[b+-4>>2]|0;k[qa>>2]=m;k[za>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){ma=209;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ma=267;break i}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,qa);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else ma=209;while(0);if((ma|0)==209){ma=0;f=(m|0)<0;j:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;ma=216;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)ma=216;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break j}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;ma=216}while(0);if((ma|0)==216){ma=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[ua>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(pa=c+1|0,pa=((pa|0)%3|0|0)==0?c+-2|0:pa,(pa|0)>=0):0)n=k[(k[f>>2]|0)+(((pa|0)/3|0)*12|0)+(((pa|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ra=c+(j<<2)|0,(f|0)!=(ra|0)):0)k[g>>2]=f+(~((f+-4-ra|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(oa=p+1|0,oa=((oa|0)%3|0|0)==0?p+-2|0:oa,(oa|0)>=0):0)m=k[(k[f>>2]|0)+(((oa|0)/3|0)*12|0)+(((oa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(sa=c+(h<<2)|0,(e|0)!=(sa|0)):0)k[f>>2]=e+(~((e+-4-sa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[qa>>2]|0;if((c|0)>=0?(na=c+1|0,na=((na|0)%3|0|0)==0?c+-2|0:na,(na|0)>=0):0)m=k[(k[f>>2]|0)+(((na|0)/3|0)*12|0)+(((na|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ta=c+(h<<2)|0,(e|0)!=(ta|0)):0)k[f>>2]=e+(~((e+-4-ta|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[ua>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){ma=255;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,ua);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[za>>2]|0;if((c|0)==(k[xa>>2]|0)){Ba=va;break a}else s=d}if((ma|0)==255)yp(w);else if((ma|0)==267)yp(w)}else Ba=va}else Ba=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(Ba>>>0<=d>>>0){if(Ba>>>0>>0?(wa=e+(Ba<<2)|0,(f|0)!=(wa|0)):0)k[c>>2]=f+(~((f+-4-wa|0)>>>2)<<2)}else mo(g,Ba-d|0);c=k[ya+8>>2]|0;if(c|0)do{wa=c;c=k[c>>2]|0;Ip(wa)}while((c|0)!=0);c=k[ya>>2]|0;k[ya>>2]=0;if(c|0)Ip(c);c=k[xa>>2]|0;if(!c){r=Ca;return Ba|0}d=k[za>>2]|0;if((d|0)!=(c|0))k[za>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=Ca;return Ba|0}function Io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+92|0;h=k[b>>2]|0;i=(h|0)<0;do if(!i){b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if(!((h|0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(j=h+1|0,j=((j|0)%3|0|0)==0?h+-2|0:j,(j|0)>=0):0)b=k[(k[b>>2]|0)+(((j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function Ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<2)>>2]|0;if((c|0)>=0)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else c=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b|0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function Lo(a){a=a|0;return 1}function Mo(a){a=a|0;return k[a+4>>2]|0}function No(a){a=a|0;return k[a+8>>2]|0}function Oo(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Og(b);Og(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Po(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Qo(b);return}function Qo(a){a=a|0;var b=0;Og(a);Og(a+40|0);b=a+80|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;qd(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function Ro(a){a=a|0;var 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,s=0;q=r;r=r+48|0;o=q+40|0;p=q;c=p;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[o>>0]=0;i[o+1>>0]=0;i[o+2>>0]=0;i[o+3>>0]=0;i[o+4>>0]=0;i[o+5>>0]=0;f=p+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=p+16|0;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;c=jq(a|0,b|0,5,0)|0;d=L;if(((((!((f|0)<(d|0)|(f|0)==(d|0)&e>>>0>>0)?(h=k[p>>2]|0,s=h+a|0,i[o>>0]=i[s>>0]|0,i[o+1>>0]=i[s+1>>0]|0,i[o+2>>0]=i[s+2>>0]|0,i[o+3>>0]=i[s+3>>0]|0,i[o+4>>0]=i[s+4>>0]|0,s=g,k[s>>2]=c,k[s+4>>2]=d,((f|0)>(d|0)|(f|0)==(d|0)&e>>>0>c>>>0)&(pp(o,11378)|0)==0):0)?(s=jq(a|0,b|0,6,0)|0,o=L,d=g,k[d>>2]=s,k[d+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(j=jq(a|0,b|0,7,0)|0,s=L,o=g,k[o>>2]=j,k[o+4>>2]=s,(f|0)>(s|0)|(f|0)==(s|0)&e>>>0>j>>>0):0)?(l=i[h+j>>0]|0,s=jq(a|0,b|0,8,0)|0,o=L,j=g,k[j>>2]=s,k[j+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(n=jq(a|0,b|0,9,0)|0,m=g,k[m>>2]=n,k[m+4>>2]=L,m=jq(a|0,b|0,11,0)|0,n=L,!((f|0)<(n|0)|(f|0)==(n|0)&e>>>0>>0)):0){s=g;k[s>>2]=m;k[s+4>>2]=n;s=l&255;p=p+24|0;Ng(p);r=q;return s|0}s=-1;p=p+24|0;Ng(p);r=q;return s|0}function So(a){a=a|0;switch(a<<24>>24){case 0:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4272;return a|0}case 1:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0}function To(a){a=a|0;var 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,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;switch(j&255|0){case 0:{d=So(o)|0;if(!d){u=0;r=t;return u|0}e=$p(68)|0;rg(e);b=fh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function Uo(a){a=a|0;var 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,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;if(j<<24>>24!=1){u=0;r=t;return u|0}switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Vo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Wo(Sa(6,c|0)|0)|0;r=b;return a|0}function Wo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Xo()|0;k[b>>2]=0-a;a=-1}return a|0}function Xo(){var a=0;if(!(k[3640]|0))a=14604;else{a=(La()|0)+64|0;a=k[a>>2]|0}return a|0}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[3640]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=Wo(Xa(146,m|0)|0)|0}else{Ta(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=Wo(Xa(146,l|0)|0)|0;wa(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function Zo(a){a=a|0;if(!(k[a+68>>2]|0))_o(a);return}function _o(a){a=a|0;return}function $o(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Wo(Va(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=14;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,Na(54,d|0)|0):0)i[a+75>>0]=-1;d=Yo(a,b,c)|0;r=e;return d|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((cp(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=op(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=cp(a,b,n,p,q)|0;if(f){_a[k[a+36>>2]&31](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=cp(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)_o(a);c=(c&32|0)==0?d:-1}r=s;return c|0} +function cp(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,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,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,ia=0;ia=r;r=r+624|0;ca=ia+24|0;ea=ia+16|0;da=ia+588|0;$=ia+576|0;ba=ia;W=ia+536|0;ga=ia+8|0;fa=ia+528|0;M=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=Xo()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(M?(k[a>>2]&32|0)==0:0)dp(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else{if(g|0){f=-1;break a}if(!M){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(M){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[11384+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}fp(ba,o,c)}while(0);if((K|0)==52?(K=0,!M):0){h=w;y=I;continue}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=kq(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=11864;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=11864;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=gq(0,0,b|0,h|0)|0;h=L;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=11864;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?11864:11866;K=76}else{m=1;o=11865;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=11864;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=11864;h=N;break}case 109:{h=Xo()|0;h=hp(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:13766;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){jp(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?13774:13779}else{F=1;G=13776}else{n=-n;F=1;G=13773}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+mp(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(!(q>>>0>11|(b|0)==0)){n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}else n=x;while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=gp(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[11848+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;jp(a,32,J,o,H);if(!(k[a>>2]&32))dp(y,w,a)|0;jp(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))dp(da,h,a)|0;b=aa-m|0;jp(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))dp(s,b,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=iq(k[o>>2]|0,0,s|0)|0;B=jq(B|0,L|0,h|0,0)|0;h=L;A=uq(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=tq(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=gp(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;jp(a,32,J,w,H);if(!(k[a>>2]&32))dp(G,F,a)|0;jp(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=gp(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;hq(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))dp(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;dp(13808,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=gp(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){hq(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))dp(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}jp(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=gp(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))dp(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}dp(13808,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;hq(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))dp(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}jp(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;dp(u,aa-u|0,a)|0}while(0);jp(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;jp(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){dp(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))dp(q?(s?13800:13804):s?13792:13796,3,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=11864;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if(!((h|0)==0&(m|0)==0)){b=N;do{b=b+-1|0;i[b>>0]=l[11848+(h&15)>>0]|o;h=kq(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=11864;K=77}else{h=s;s=2;o=11864+(u>>4)|0;K=77}}else{b=N;h=s;s=0;o=11864;K=77}}else if((K|0)==76){b=gp(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=ip(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=11864;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=kp(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}jp(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=kp(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))dp(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;jp(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;jp(a,32,h,q,m);if(!(k[a>>2]&32))dp(v,w,a)|0;jp(a,48,h,q,m^65536);jp(a,48,o,s,0);if(!(k[a>>2]&32))dp(b,s,a)|0;jp(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(g){f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;fp(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ia;return f|0}function dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(ep(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=_a[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((_a[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);lq(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function ep(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function fp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function gp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295)while(1){d=uq(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=tq(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function hp(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[11874+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=11962;c=5;break}}if((c|0)==2)if(!b)a=11962;else{a=11962;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function ip(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=ha(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function jp(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;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;hq(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){dp(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;dp(g,e,a)|0}while(0);r=h;return}function kp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=lp(a,b,0)|0;return a|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Xo()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function mp(a,b){a=+a;b=b|0;return +(+np(a,b))}function np(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=kq(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+np(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=e+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function op(a){a=a|0;return 0}function pp(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function qp(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=rp(a)|0;break}c=(op(a)|0)==0;b=rp(a)|0;if(!c)_o(a)}else{if(!(k[1235]|0))b=0;else b=qp(k[1235]|0)|0;Ra(14588);a=k[3646]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=op(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=rp(a)|0|b;if(c|0)_o(a);a=k[a+56>>2]|0}while((a|0)!=0);Oa(14588)}while(0);return b|0}function rp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(_a[k[a+36>>2]&31](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)_a[k[a+40>>2]&31](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function sp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(ep(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((_a[k[a+36>>2]&31](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function tp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ha(c,b)|0;if((k[d+76>>2]|0)>-1){f=(op(d)|0)==0;a=dp(a,e,d)|0;if(!f)_o(d)}else a=dp(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(op(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|0)?(d=b+20|0,e=k[d>>2]|0,e>>>0<(k[b+16>>2]|0)>>>0):0){k[d>>2]=e+1;i[e>>0]=a;c=a&255}else c=sp(b,a)|0;_o(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=sp(b,a)|0}while(0);return c|0}function vp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=k[3652]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=14648+(b<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[3656]|0)>>>0)ya();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else ya()}else k[3652]=i&~(1<>2]=L|3;L=e+L+4|0;k[L>>2]=k[L>>2]|1;L=f;return L|0}g=k[3654]|0;if(o>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=14648+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[3656]|0)>>>0)ya();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[3654]|0;break}else ya()}else{k[3652]=i&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[3657]|0;b=j>>>3;c=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{l=a;m=b}}else{k[3652]=a|b;l=c+8|0;m=c}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[3654]=g;k[3657]=d;L=h;return L|0}a=k[3653]|0;if(a){c=(a&0-a)+-1|0;K=c>>>12&16;c=c>>>K;J=c>>>5&8;c=c>>>J;L=c>>>2&4;c=c>>>L;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[14912+((J|K|L|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-o|0;L=b>>>0>>0;c=L?b:c;b=a;d=L?a:d}f=k[3656]|0;if(i>>>0>>0)ya();h=i+o|0;if(i>>>0>=h>>>0)ya();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)ya();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(i|0))ya();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else ya()}while(0);do if(g|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){L=c+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[3654]|0;if(a|0){e=k[3657]|0;b=a>>>3;d=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{p=a;q=b}}else{k[3652]=a|b;p=d+8|0;q=d}k[p>>2]=e;k[q+12>>2]=e;k[e+8>>2]=q;k[e+12>>2]=d}k[3654]=c;k[3657]=h}L=i+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;i=k[3653]|0;if(i){c=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;h=14-(p|q|h)+(E<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;b=k[14912+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{e=c;a=0;f=o<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-o|0;if(c>>>0>>0)if((d|0)==(o|0)){a=g;b=g;E=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){E=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[14912+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){h=c;i=b}else E=90}if((E|0)==90)while(1){E=0;q=(k[a+4>>2]&-8)-o|0;d=q>>>0>>0;c=d?q:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;E=90;continue}a=k[a+20>>2]|0;if(!a){h=c;i=b;break}else E=90}if((i|0)!=0?h>>>0<((k[3654]|0)-o|0)>>>0:0){e=k[3656]|0;if(i>>>0>>0)ya();g=i+o|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){s=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;s=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(i|0))ya();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;s=c;break}else ya()}while(0);do if(f|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=s;if(!s){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=s;else k[f+20>>2]=s;if(!s)break}b=k[3656]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[s+16>>2]=a;k[a+24>>2]=s;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[s+20>>2]=a;k[a+24>>2]=s;break}}while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;a=h>>>3;if(h>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{u=a;v=b}}else{k[3652]=b|a;u=c+8|0;v=c}k[u>>2]=g;k[v+12>>2]=g;k[g+8>>2]=v;k[g+12>>2]=c;break}a=h>>>8;if(a)if(h>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[g+28>>2]=c;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}e=h<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(h|0)){c=a;E=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=145;break}else{e=e<<1;a=c}}if((E|0)==145)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=g;k[g+24>>2]=a;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((E|0)==148){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=g;k[a>>2]=g;k[g+8>>2]=b;k[g+12>>2]=c;k[g+24>>2]=0;break}else ya()}}else{L=h+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}while(0);L=i+8|0;return L|0}}}else o=-1;while(0);c=k[3654]|0;if(c>>>0>=o>>>0){a=c-o|0;b=k[3657]|0;if(a>>>0>15){L=b+o|0;k[3657]=L;k[3654]=a;k[L+4>>2]=a|1;k[L+a>>2]=a;k[b+4>>2]=o|3}else{k[3654]=0;k[3657]=0;k[b+4>>2]=c|3;L=b+c+4|0;k[L>>2]=k[L>>2]|1}L=b+8|0;return L|0}a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(k[3770]|0)){a=Ja(30)|0;if(!(a+-1&a)){k[3772]=a;k[3771]=a;k[3773]=-1;k[3774]=-1;k[3775]=0;k[3763]=0;v=(Ua(0)|0)&-16^1431655768;k[3770]=v;break}else ya()}while(0);g=o+48|0;f=k[3772]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=k[3762]|0;if(a|0?(u=k[3760]|0,v=u+i|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(k[3763]&4)){a=k[3658]|0;c:do if(a){c=15056;while(1){b=k[c>>2]|0;if(b>>>0<=a>>>0?(r=c+4|0,(b+(k[r>>2]|0)|0)>>>0>a>>>0):0){d=c;c=r;break}c=k[c+8>>2]|0;if(!c){E=173;break c}}a=e-(k[3655]|0)&f;if(a>>>0<2147483647){b=Ea(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Ea(0)|0,(t|0)!=(-1|0)):0){a=t;b=k[3771]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[3760]|0;c=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=k[3762]|0;if(v|0?c>>>0<=b>>>0|c>>>0>v>>>0:0)break;b=Ea(a|0)|0;if((b|0)==(t|0)){g=t;e=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=k[3772]|0,w=h-a+w&0-w,w>>>0<2147483647):0)if((Ea(w|0)|0)==(-1|0)){Ea(c|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}while(0);k[3763]=k[3763]|4;E=190}else E=190;while(0);if((((E|0)==190?i>>>0<2147483647:0)?(x=Ea(i|0)|0,y=Ea(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){g=x;e=z;E=193}if((E|0)==193){a=(k[3760]|0)+e|0;k[3760]=a;if(a>>>0>(k[3761]|0)>>>0)k[3761]=a;h=k[3658]|0;do if(h){d=15056;do{a=k[d>>2]|0;b=d+4|0;c=k[b>>2]|0;if((g|0)==(a+c|0)){A=a;B=b;C=c;D=d;E=203;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((E|0)==203?(k[D+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=A>>>0:0){k[B>>2]=C+e;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=e-L+(k[3655]|0)|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774];break}a=k[3656]|0;if(g>>>0>>0){k[3656]=g;i=g}else i=a;c=g+e|0;a=15056;while(1){if((k[a>>2]|0)==(c|0)){b=a;E=211;break}a=k[a+8>>2]|0;if(!a){b=15056;break}}if((E|0)==211)if(!(k[a+12>>2]&8)){k[b>>2]=g;l=a+4|0;k[l>>2]=(k[l>>2]|0)+e;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+o|0;f=a-l-o|0;k[l+4>>2]=o|3;do if((a|0)!=(h|0)){if((a|0)==(k[3657]|0)){L=(k[3654]|0)+f|0;k[3654]=L;k[3657]=j;k[j+4>>2]=L|1;k[j+L>>2]=L;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0>=256){g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){J=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;J=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)ya();b=e+12|0;if((k[b>>2]|0)!=(a|0))ya();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;J=d;break}else ya()}while(0);if(!g)break;b=k[a+28>>2]|0;c=14912+(b<<2)|0;do if((a|0)!=(k[c>>2]|0)){if(g>>>0<(k[3656]|0)>>>0)ya();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=J;else k[g+20>>2]=J;if(!J)break e}else{k[c>>2]=J;if(J|0)break;k[3653]=k[3653]&~(1<>>0>>0)ya();k[J+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[J+16>>2]=c;k[c+24>>2]=J;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[3656]|0)>>>0)ya();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=14648+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(a|0))break;ya()}while(0);if((d|0)==(c|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();b=d+8|0;if((k[b>>2]|0)==(a|0)){G=b;break}ya()}while(0);k[c+12>>2]=d;k[G>>2]=c}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0>=(k[3656]|0)>>>0){K=a;L=b;break}ya()}while(0);k[K>>2]=j;k[L+12>>2]=j;k[j+8>>2]=L;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=14912+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;E=281;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=278;break}else{e=e<<1;a=c}}if((E|0)==278)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((E|0)==281){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else ya()}}else{L=(k[3655]|0)+f|0;k[3655]=L;k[3658]=j;k[j+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=15056;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0?(F=a+(k[b+4>>2]|0)|0,F>>>0>h>>>0):0){b=F;break}b=k[b+8>>2]|0}f=b+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;a=c+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=e+-40-d|0;k[3658]=L;k[3655]=d;k[L+4>>2]=d|1;k[L+d+4>>2]=40;k[3659]=k[3774];d=c+4|0;k[d>>2]=27;k[a>>2]=k[3764];k[a+4>>2]=k[3765];k[a+8>>2]=k[3766];k[a+12>>2]=k[3767];k[3764]=g;k[3765]=e;k[3767]=0;k[3766]=a;a=c+24|0;do{a=a+4|0;k[a>>2]=7}while((a+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{H=a;I=b}}else{k[3652]=b|a;H=c+8|0;I=c}k[H>>2]=h;k[I+12>>2]=h;k[h+8>>2]=I;k[h+12>>2]=c;break}a=g>>>8;if(a)if(g>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;e=14912+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[3653]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;E=307;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=304;break}else{d=d<<1;a=c}}if((E|0)==304)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((E|0)==307){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else ya()}}}else{L=k[3656]|0;if((L|0)==0|g>>>0>>0)k[3656]=g;k[3764]=g;k[3765]=e;k[3767]=0;k[3661]=k[3770];k[3660]=-1;a=0;do{L=14648+(a<<1<<2)|0;k[L+12>>2]=L;k[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=e+-40-L|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774]}while(0);a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}}L=Xo()|0;k[L>>2]=12;L=0;return L|0}function wp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3656]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3657]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[3654]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else ya()}else e=c+8|0;k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(e){a=k[j+28>>2]|0;b=14912+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[3656]|0;if(h>>>0>>0)ya();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}else{q=j;f=i}}else{q=j;f=i}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)ya();a=m+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((m|0)==(k[3658]|0)){p=(k[3655]|0)+f|0;k[3655]=p;k[3658]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3657]|0))return;k[3657]=0;k[3654]=0;return}if((m|0)==(k[3657]|0)){p=(k[3654]|0)+f|0;k[3654]=p;k[3657]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0>=256){e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){n=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(m|0))ya();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else ya()}while(0);if(e|0){a=k[m+28>>2]|0;b=14912+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3656]|0)>>>0)ya();if((k[b+12>>2]|0)!=(m|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0<(k[3656]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[3657]|0)){k[3654]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{o=a;p=b}}else{k[3652]=b|a;o=c+8|0;p=c}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(a)if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[3653]|0;b=1<>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[3656]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else ya()}}else{k[3653]=a|b;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3660]|0)+-1|0;k[3660]=q;if(!q)a=15064;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3660]=-1;return}function xp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){b=4944;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=5136;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-5136>>2;a=b;b=(k[5136+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=17;break}c=k[4944+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else e=e+1|0}d:do if((h|0)==17)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ha(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else{e=e+210|0;h=17}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[5136+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function yp(a){a=a|0;Aa(13810,13833,303,13930)}function zp(a){a=a|0;Aa(13951,13833,314,13974)}function Ap(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Bp()|0;if(a|0?(d=k[a>>2]|0,d|0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[1353];Ep(14372,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(_a[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1353]|0;h=cb[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Ep(14286,f)}else{k[h>>2]=k[1353];k[h+4>>2]=a;Ep(14331,h)}}Ep(14410,g)}function Bp(){var a=0,b=0;a=r;r=r+16|0;if(!(Ma(15104,3)|0)){b=Ka(k[3777]|0)|0;r=a;return b|0}else Ep(14098,a);return 0}function Cp(){var a=0;a=r;r=r+16|0;if(!(xa(15108,71)|0)){r=a;return}else Ep(14048,a)}function Dp(a){a=a|0;var b=0;b=r;r=r+16|0;wp(a);if(!(Pa(k[3777]|0,0)|0)){r=b;return}else Ep(13995,b)}function Ep(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1178]|0;bp(b,a,c)|0;up(10,b)|0;ya()}function Fp(a){a=a|0;return}function Gp(a){a=a|0;return}function Hp(a){a=a|0;Ip(a);return}function Ip(a){a=a|0;wp(a);return}function Jp(a){a=a|0;return}function Kp(a){a=a|0;return}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Mp(b,712,680,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;hb[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Mp(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;fb[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{$a[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1?!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1):0){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);else{a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Pp(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;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;$a[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);else{a=k[a+8>>2]|0;hb[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Sp(a){a=a|0;Ip(a);return}function Tp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);return}function Up(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;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);return}function Wp(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;d=c+8|0;a=Bp()|0;if((a|0?(b=k[a>>2]|0,b|0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0){eb[k[b+12>>2]&3]();Ep(14422,c)}c=k[1332]|0;k[1332]=c+0;eb[c&3]();Ep(14422,d)}function Xp(a){a=a|0;return}function Yp(a){a=a|0;return}function Zp(a){a=a|0;Ip(a);return}function _p(a){a=a|0;return 14475}function $p(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=vp(b)|0;if(a|0){b=6;break}a=aq()|0;if(!a){b=5;break}eb[a&3]()}if((b|0)==5){b=Ba(4)|0;k[b>>2]=5424;Qa(b|0,736,68)}else if((b|0)==6)return a|0;return 0}function aq(){var a=0;a=k[3778]|0;k[3778]=a+0;return a|0}function bq(a){a=a|0;return $p(a)|0}function cq(a){a=a|0;Ip(a);return}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=_a[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function eq(a){a=a|0;if(!a)a=0;else a=(Mp(a,712,768,0)|0)!=0;return a&1|0}function fq(){}function gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ga(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else lq(a,b,c)|0;return a|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<>c-32|0}function oq(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function pq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=gq(j^a|0,i^b|0,j|0,i|0)|0;g=L;a=f^j;b=e^i;return gq((vq(h,g,gq(f^c|0,e^d|0,f|0,e|0)|0,L,0)|0)^a|0,L^b|0,a|0,b|0)|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=gq(g^a|0,f^b|0,g|0,f|0)|0;b=L;vq(a,b,gq(j^c|0,i^d|0,j|0,i|0)|0,L,h)|0;d=gq(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=L;r=e;return (L=c,d)|0}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=pq(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vq(a,b,c,d,0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;vq(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function vq(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g|0){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=oq(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((oq(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=jq(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;gq(j|0,c|0,d|0,n|0)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=gq(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _a[a&31](b|0,c|0,d|0)|0}function xq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$a[a&3](b|0,c|0,d|0,e|0,f|0)}function yq(a,b){a=a|0;b=b|0;ab[a&127](b|0)}function zq(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 bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Aq(a,b){a=a|0;b=b|0;return cb[a&127](b|0)|0}function Bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;db[a&7](b|0,c|0,d|0)}function Cq(a){a=a|0;eb[a&3]()}function Dq(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;fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function Fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hb[a&3](b|0,c|0,d|0,e|0)}function Gq(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Hq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function Iq(a){a=a|0;ka(2)}function Jq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(3);return 0}function Kq(a){a=a|0;ka(4);return 0}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;ka(5)}function Mq(){ka(6)}function Nq(){Wa()}function Oq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(7)}function Pq(a,b){a=a|0;b=b|0;ka(8);return 0}function Qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9)} + +// EMSCRIPTEN_END_FUNCS +var _a=[Gq,Ug,qh,sh,uh,yh,zh,Ah,Bh,Wi,Xi,bj,cj,dj,Yo,$o,ap,Lp,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq];var $a=[Hq,Up,Pp,Hq];var ab=[Iq,dg,fg,mg,ug,vg,Sg,Tg,Yg,Zg,gh,oh,ph,wh,xh,Fh,Gh,Qh,Vh,_h,$h,oi,ti,yi,zi,Mi,Ui,Vi,aj,gj,hj,yj,Dj,Ej,Rj,Wj,$j,ak,nk,wk,xk,Dk,Fk,Gk,Mk,Pk,an,gn,hn,rn,un,zn,Dn,An,Bn,Cn,Nn,Rn,On,Pn,Qn,to,vo,Fp,Sp,Jp,Kp,Hp,Xp,Zp,Zo,Dp,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq];var bb=[Jq,Th,Uh,Yh,Zh,ii,li,ri,si,wi,xi,Hi,Ki,Pi,Qi,sj,wj,Bj,Cj,Mj,Pj,Uj,Vj,Zj,_j,ik,lk,qk,rk,Jq,Jq,Jq];var cb=[Kq,lg,_g,$g,ah,bh,ch,dh,hh,ih,jh,Ri,Hh,Ih,Nh,Oh,Rh,Sh,Wh,Xh,ai,bi,ci,pi,qi,ui,vi,Ai,Bi,Ci,Ni,Oi,Zi,sk,ij,jj,kj,lj,qj,rj,zj,Aj,Fj,Gj,Hj,Sj,Tj,Xj,Yj,bk,ck,dk,ok,pk,Lk,Ik,Ok,cn,jn,ln,mn,pn,Yn,qo,ro,so,Fn,Tn,Ao,Lo,Mo,No,Vo,_p,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq];var db=[Lq,gg,qg,wg,yg,Lq,Lq,Lq];var eb=[Mq,Nq,Ap,Cp];var fb=[Oq,Tp,Np,Oq];var gb=[Pq,Vg,kh,lh,rh,th,Si,Jh,Kh,Lh,Mh,di,ei,fi,gi,Di,Ei,Fi,Gi,Yi,_i,tk,mj,nj,oj,pj,Ij,Jj,Kj,Lj,ek,fk,gk,hk,yk,Ak,Bk,Ek,Hk,Nk,Qk,bn,kn,nn,on,vn,wn,xn,yn,En,Sn,wo,xo,yo,zo,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq];var hb=[Qq,Vp,Qp,Qq];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:yb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Tb,_bitshift64Shl:iq,_emscripten_bind_Mesh___destroy___0:_b,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Ob,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:wb,_emscripten_bind_PointAttribute_byte_offset_0:Mb,_emscripten_bind_PointAttribute_normalized_0:Kb,_bitshift64Lshr:kq,_i64Subtract:gq,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Cb,_i64Add:jq,_malloc:vp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:ic,_fflush:qp,___cxa_is_pointer_type:eq,_emscripten_bind_PointAttribute_size_0:Gb,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:jc,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:hc,_emscripten_bind_VoidPtr___destroy___0:$b,_memset:hq,_emscripten_bind_PointAttribute_attribute_type_0:Hb,_emscripten_bind_DecoderBuffer_Init_2:Ub,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:fc,_emscripten_bind_DecoderBuffer___destroy___0:Vb,___errno_location:Xo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:gc,_emscripten_bind_DracoInt32Array___destroy___0:cc,_emscripten_bind_Mesh_num_points_0:Zb,_emscripten_bind_Mesh_Mesh_0:Wb,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Ab,_emscripten_bind_PointAttribute_components_count_0:Jb,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:ec,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:kc,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:lc,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Bb,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:ac,_emscripten_bind_PointAttribute_data_type_0:Ib,_emscripten_bind_Mesh_num_attributes_0:Yb,_emscripten_bind_DracoFloat32Array_GetValue_1:Pb,_emscripten_bind_DracoFloat32Array___destroy___0:Qb,_emscripten_bind_PointCloud_num_points_0:tb,_emscripten_bind_PointCloud___destroy___0:ub,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Rb,_emscripten_bind_PointAttribute_PointAttribute_0:Fb,_free:wp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:dc,_emscripten_bind_GeometryAttribute___destroy___0:Sb,_emscripten_bind_Mesh_num_faces_0:Xb,_emscripten_bind_DracoInt32Array_GetValue_1:bc,_emscripten_bind_PointAttribute_byte_stride_0:Lb,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zb,_memcpy:lq,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:vb,_memmove:mq,_emscripten_bind_PointCloud_num_attributes_0:sb,_emscripten_bind_WebIDLWrapper___destroy___0:Eb,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:xb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Db,_emscripten_bind_PointCloud_PointCloud_0:rb,_emscripten_bind_PointAttribute___destroy___0:Nb,___cxa_can_catch:dq,runPostSets:fq,_emscripten_replace_memory:Za,stackAlloc:ib,stackSave:jb,stackRestore:kb,establishStackSpace:lb,setThrew:mb,setTempRet0:pb,getTempRet0:qb,dynCall_iiii:wq,dynCall_viiiii:xq,dynCall_vi:yq,dynCall_iiiiiii:zq,dynCall_ii:Aq,dynCall_viii:Bq,dynCall_v:Cq,dynCall_viiiiii:Dq,dynCall_iii:Eq,dynCall_viiii:Fq}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];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_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];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_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_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_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___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_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];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_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}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(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i