draco/javascript/with_asserts/draco_decoder.js
2022-10-27 11:41:29 -07:00

38 lines
724 KiB
JavaScript

var DracoDecoderModule = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(DracoDecoderModule) {
DracoDecoderModule = DracoDecoderModule || {};
var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_free","_malloc","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_DecoderBuffer_DecoderBuffer_0","_emscripten_bind_DecoderBuffer_Init_2","_emscripten_bind_DecoderBuffer___destroy___0","_emscripten_bind_AttributeTransformData_AttributeTransformData_0","_emscripten_bind_AttributeTransformData_transform_type_0","_emscripten_bind_AttributeTransformData___destroy___0","_emscripten_bind_GeometryAttribute_GeometryAttribute_0","_emscripten_bind_GeometryAttribute___destroy___0","_emscripten_bind_PointAttribute_PointAttribute_0","_emscripten_bind_PointAttribute_size_0","_emscripten_bind_PointAttribute_GetAttributeTransformData_0","_emscripten_bind_PointAttribute_attribute_type_0","_emscripten_bind_PointAttribute_data_type_0","_emscripten_bind_PointAttribute_num_components_0","_emscripten_bind_PointAttribute_normalized_0","_emscripten_bind_PointAttribute_byte_stride_0","_emscripten_bind_PointAttribute_byte_offset_0","_emscripten_bind_PointAttribute_unique_id_0","_emscripten_bind_PointAttribute___destroy___0","_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0","_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1","_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0","_emscripten_bind_AttributeQuantizationTransform_min_value_1","_emscripten_bind_AttributeQuantizationTransform_range_0","_emscripten_bind_AttributeQuantizationTransform___destroy___0","_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0","_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1","_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0","_emscripten_bind_AttributeOctahedronTransform___destroy___0","_emscripten_bind_PointCloud_PointCloud_0","_emscripten_bind_PointCloud_num_attributes_0","_emscripten_bind_PointCloud_num_points_0","_emscripten_bind_PointCloud___destroy___0","_emscripten_bind_Mesh_Mesh_0","_emscripten_bind_Mesh_num_faces_0","_emscripten_bind_Mesh_num_attributes_0","_emscripten_bind_Mesh_num_points_0","_emscripten_bind_Mesh___destroy___0","_emscripten_bind_Metadata_Metadata_0","_emscripten_bind_Metadata___destroy___0","_emscripten_bind_Status_code_0","_emscripten_bind_Status_ok_0","_emscripten_bind_Status_error_msg_0","_emscripten_bind_Status___destroy___0","_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0","_emscripten_bind_DracoFloat32Array_GetValue_1","_emscripten_bind_DracoFloat32Array_size_0","_emscripten_bind_DracoFloat32Array___destroy___0","_emscripten_bind_DracoInt8Array_DracoInt8Array_0","_emscripten_bind_DracoInt8Array_GetValue_1","_emscripten_bind_DracoInt8Array_size_0","_emscripten_bind_DracoInt8Array___destroy___0","_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0","_emscripten_bind_DracoUInt8Array_GetValue_1","_emscripten_bind_DracoUInt8Array_size_0","_emscripten_bind_DracoUInt8Array___destroy___0","_emscripten_bind_DracoInt16Array_DracoInt16Array_0","_emscripten_bind_DracoInt16Array_GetValue_1","_emscripten_bind_DracoInt16Array_size_0","_emscripten_bind_DracoInt16Array___destroy___0","_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0","_emscripten_bind_DracoUInt16Array_GetValue_1","_emscripten_bind_DracoUInt16Array_size_0","_emscripten_bind_DracoUInt16Array___destroy___0","_emscripten_bind_DracoInt32Array_DracoInt32Array_0","_emscripten_bind_DracoInt32Array_GetValue_1","_emscripten_bind_DracoInt32Array_size_0","_emscripten_bind_DracoInt32Array___destroy___0","_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0","_emscripten_bind_DracoUInt32Array_GetValue_1","_emscripten_bind_DracoUInt32Array_size_0","_emscripten_bind_DracoUInt32Array___destroy___0","_emscripten_bind_MetadataQuerier_MetadataQuerier_0","_emscripten_bind_MetadataQuerier_HasEntry_2","_emscripten_bind_MetadataQuerier_GetIntEntry_2","_emscripten_bind_MetadataQuerier_GetIntEntryArray_3","_emscripten_bind_MetadataQuerier_GetDoubleEntry_2","_emscripten_bind_MetadataQuerier_GetStringEntry_2","_emscripten_bind_MetadataQuerier_NumEntries_1","_emscripten_bind_MetadataQuerier_GetEntryName_2","_emscripten_bind_MetadataQuerier___destroy___0","_emscripten_bind_Decoder_Decoder_0","_emscripten_bind_Decoder_DecodeArrayToPointCloud_3","_emscripten_bind_Decoder_DecodeArrayToMesh_3","_emscripten_bind_Decoder_GetAttributeId_2","_emscripten_bind_Decoder_GetAttributeIdByName_2","_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3","_emscripten_bind_Decoder_GetAttribute_2","_emscripten_bind_Decoder_GetAttributeByUniqueId_2","_emscripten_bind_Decoder_GetMetadata_1","_emscripten_bind_Decoder_GetAttributeMetadata_2","_emscripten_bind_Decoder_GetFaceFromMesh_3","_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2","_emscripten_bind_Decoder_GetTrianglesUInt16Array_3","_emscripten_bind_Decoder_GetTrianglesUInt32Array_3","_emscripten_bind_Decoder_GetAttributeFloat_3","_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3","_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5","_emscripten_bind_Decoder_SkipAttributeTransform_1","_emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1","_emscripten_bind_Decoder_DecodeBufferToPointCloud_2","_emscripten_bind_Decoder_DecodeBufferToMesh_2","_emscripten_bind_Decoder___destroy___0","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM","_emscripten_enum_draco_GeometryAttribute_Type_INVALID","_emscripten_enum_draco_GeometryAttribute_Type_POSITION","_emscripten_enum_draco_GeometryAttribute_Type_NORMAL","_emscripten_enum_draco_GeometryAttribute_Type_COLOR","_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD","_emscripten_enum_draco_GeometryAttribute_Type_GENERIC","_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE","_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD","_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH","_emscripten_enum_draco_DataType_DT_INVALID","_emscripten_enum_draco_DataType_DT_INT8","_emscripten_enum_draco_DataType_DT_UINT8","_emscripten_enum_draco_DataType_DT_INT16","_emscripten_enum_draco_DataType_DT_UINT16","_emscripten_enum_draco_DataType_DT_INT32","_emscripten_enum_draco_DataType_DT_UINT32","_emscripten_enum_draco_DataType_DT_INT64","_emscripten_enum_draco_DataType_DT_UINT64","_emscripten_enum_draco_DataType_DT_FLOAT32","_emscripten_enum_draco_DataType_DT_FLOAT64","_emscripten_enum_draco_DataType_DT_BOOL","_emscripten_enum_draco_DataType_DT_TYPES_COUNT","_emscripten_enum_draco_StatusCode_OK","_emscripten_enum_draco_StatusCode_DRACO_ERROR","_emscripten_enum_draco_StatusCode_IO_ERROR","_emscripten_enum_draco_StatusCode_INVALID_PARAMETER","_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION","_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}var fs,nodePath;if(typeof require==="function"){fs=require("fs");nodePath=require("path")}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){const data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){let data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var POINTER_SIZE=4;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort("Module."+prop+" has been replaced with plain "+newName+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort("`Module."+prop+"` was supplied but `"+prop+"` not included in INCOMING_MODULE_JS_API")}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+librarySymbol+")";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate(wa){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1028,"YAQAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABIOwAAOAQAAOAHAAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AF9fbmV4dF9wcmltZSBvdmVyZmxvdwB2ZWN0b3IAc3RkOjpleGNlcHRpb24AbmFuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAaW5mAHN0ZDo6YmFkX2FsbG9jAERSQUNPAE5BTgBJTkYAVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBVbmtub3duIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4AKG51bGwpAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAGxpYmMrK2FiaTogAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoARmxvYXRQb2ludHNUcmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBNZXRob2Qgbm90IHN1cHBvcnRlZC4gCgAAAAAAAAC0BwAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAABIOwAAiAcAAOAHAABONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAAAAACA7AADABwAAAAAAAGwIAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAACA7AAA8CAAASDsAACAIAABkCAAAAAAAANQIAAAmAAAAJwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAoAAAAKQAAACoAAABONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUAAABIOwAAsAgAAGwIAAAAAAAANAkAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQAAAAAgOwAADAkAAP////8AAAAArAkAADQAAAA1AAAAHAAAADYAAAA3AAAAHwAAACAAAAAhAAAAOAAAADkAAAA6AAAAOwAAADwAAABONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBIOwAAfAkAAGwIAAAAAAAAIAoAAD0AAAA+AAAAPwAAAC4AAAAvAAAAMAAAAEAAAAAyAAAAQQAAAEIAAABDAAAARAAAAEUAAABONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAEg7AAD0CQAANAkAAAAAAACsDAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUAIDsAAFAMAABIOwAAJQwAAHQMAABIOwAA8QsAAHwMAABIOwAAnQsAAIgMAABIOwAABwsAAJQMAABIOwAAZAoAAKAMAAAAAAAAoAwAAEYAAABSAAAAIwAAAEkAAAAjAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAIwAAAAAAAACUDAAARgAAAFMAAAAjAAAASQAAACMAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAjAAAAAAAAAAgOAABGAAAAVAAAAFUAAABJAAAAVgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFcAAABONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBIOwAAYA0AAKAMAAAAAAAAAA8AAFgAAABZAAAAWgAAAEkAAABbAAAASwAAAEwAAABNAAAATgAAAE8AAABcAAAAXQAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAEg7AABMDgAAoAwAAAAAAADkDwAAXgAAAF8AAABgAAAASQAAAGEAAABiAAAAYwAAAGQAAABOAAAATwAAAGUAAABmAAAATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAEg7AABEDwAAoAwAAAAAAADQEAAAZwAAAGgAAABpAAAASQAAAGoAAABrAAAAbAAAAG0AAABOAAAATwAAAG4AAABvAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAASDsAACgQAACgDAAAAAAAALwRAABwAAAAcQAAAHIAAABJAAAAcwAAAHQAAAB1AAAAdgAAAE4AAABPAAAAdwAAAHgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAABIOwAAFBEAAKAMAAAAAAAARBMAAHkAAAB6AAAAewAAAHwAAAB9AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAgOwAAjxIAAEg7AADkEQAAPBMAAAAAAAA8EwAAeQAAAH4AAAAjAAAAfAAAACMAAAAAAAAA0BQAAEYAAAB/AAAAgAAAAEkAAACBAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAggAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAEg7AAA6FAAAlAwAAEg7AACkEwAAxBQAAAAAAADEFAAARgAAAIMAAAAjAAAASQAAACMAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAjAAAAAAAAAOgVAABGAAAAhAAAAIUAAABJAAAAhgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAIcAAABONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAABIOwAATBUAAMQUAAAAAAAA1BYAAIgAAACJAAAAigAAAEkAAACLAAAASwAAAEwAAABNAAAATgAAAE8AAACMAAAAjQAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEg7AAAsFgAAxBQAAAAAAACsFwAAjgAAAI8AAACQAAAASQAAAJEAAACSAAAAkwAAAJQAAABOAAAATwAAAJUAAACWAAAATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEg7AAAYFwAAxBQAAAAAAACMGAAAlwAAAJgAAACZAAAASQAAAJoAAACbAAAAnAAAAJ0AAABOAAAATwAAAJ4AAACfAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAASDsAAPAXAADEFAAAAAAAAGgZAACgAAAAoQAAAKIAAABJAAAAowAAAKQAAAClAAAApgAAAE4AAABPAAAApwAAAKgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEg7AADQGAAAxBQAAAAAAADUGgAAqQAAAKoAAACrAAAArAAAAK0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAIDsAAC4aAABIOwAAkBkAAMwaAAAAAAAAzBoAAKkAAACuAAAAIwAAAKwAAAAjAAAAAAAAAJAbAABGAAAArwAAALAAAABJAAAAsQAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAALIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEg7AAA0GwAAlAwAAAAAAAAEHAAAswAAALQAAAC1AAAALgAAAC8AAAC2AAAAQAAAADIAAABBAAAAtwAAALgAAAC5AAAAugAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAASDsAANgbAAAgCgAAAAAAABAeAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAMYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBIOwAAmR0AAIgMAABIOwAA+BwAAPgdAABIOwAASBwAAAQeAAAAAAAArB8AAMcAAADIAAAAyQAAAMoAAADLAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFACA7AADuHgAASDsAADgeAACkHwAAAAAAADQhAADMAAAAzQAAAM4AAAC+AAAAzwAAANAAAADRAAAA0gAAAMMAAADEAAAA0wAAANQAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAABIOwAAkyAAAPgdAABIOwAA8B8AACghAAAAAAAAuCIAANUAAADWAAAA1wAAANgAAADZAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAACA7AAAFIgAASDsAAFwhAACwIgAAAAAAAGAjAADaAAAA2wAAANwAAAC+AAAA3QAAAN4AAADfAAAA4AAAAMMAAADEAAAA4QAAAOIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUASDsAAPwiAAD4HQAAAAAAAJQlAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAASDsAAA8lAACIDAAASDsAAGEkAAB8JQAASDsAAKQjAACIJQAAAAAAAEwnAADvAAAA8AAAAPEAAADyAAAA8wAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAIDsAAH8mAABIOwAAvCUAAEQnAAAAAAAA8CgAAPQAAAD1AAAA9gAAAOYAAAD3AAAA+AAAAPkAAAD6AAAA6wAAAOwAAAD7AAAA/AAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABIOwAAQCgAAHwlAABIOwAAkCcAAOQoAAAAAAAAjCoAAP0AAAD+AAAA/wAAAAABAAABAQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFACA7AADOKQAASDsAABgpAACEKgAAAAAAAEQrAADaAAAAAgEAAAMBAADmAAAABAEAAAUBAAAGAQAABwEAAOsAAADsAAAACAEAAAkBAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEg7AADQKgAAfCUAAAAAAADIKwAACgEAAAsBAAAMAQAALgAAAC8AAAANAQAAQAAAADIAAABBAAAADgEAAEMAAABEAAAADwEAABABAAARAQAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEg7AACUKwAAIAoAAAAAAAAoLAAAEgEAABMBAAAUAQAAFQEAACMAAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAIwAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEg7AAAQLAAAfDQAAAAAAACULAAAHQEAAB4BAAAUAQAAHwEAACABAAAWAQAAFwEAABgBAAAhAQAAIgEAACMBAAAkAQAAJQEAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEg7AABwLAAAKCwAAAAAAAC4LQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAAP////8AAAAAHC4AADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAAAAAAAfC4AADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAIDsAAIAtAABIOwAANC0AALAtAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAAAASDsAAMQtAACwLQAATjVkcmFjbzI2TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZWJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQAASDsAACguAACwLQAAAAAAAHgvAABEAQAARQEAAEYBAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUATjVkcmFjbzEzVHJhdmVyc2VyQmFzZUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFACA7AAAJLwAASDsAAJwuAABwLwAAAAAAAHAvAABHAQAASAEAAEYB");l(e,12196,"AQAAAAMAAAAFAAAABwAAAAAAAAB4MAAASQEAAEoBAABLAQAATAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAIDsAAFMwAABIOwAAzC8AAHAwAAD/////AAAAAGgxAABNAQAATgEAAE8BAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAIDsAAAUxAABIOwAAnDAAAGAxAAAAAAAAYDEAAFABAABRAQAATwEAAAAAAAAgMgAAUgEAAFMBAABUAQAAVQEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAASDsAAKAxAABwMAAAAAAAAKAyAABWAQAAVwEAAE8BAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBIOwAAQDIAAGAxAAAAAAAAUDMAAFgBAABZAQAAWgEAAFsBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEg7AADEMgAAcDA=");l(e,13156,"vDMAABIBAABcAQAAFAEAABUBAABdAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAF4BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEg7AACcMwAAKCwAAAAAAAD8MwAAXwEAAGABAABhAQAAYgEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABIOwAA4DMAAHAwAAAAAAAAfDQAABIBAABjAQAAZAEAABUBAAAjAAAAZQEAABcBAAAYAQAAGQE=");l(e,13376,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAIDsAAF40AAAAAAAA1DQAABIBAABmAQAAZAEAABUBAABnAQAAaAEAABcBAAAYAQAAGQEAAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVEZWNvZGVyRQAAAEg7AACwNAAAfDQAAAAAAAA0NQAAEgEAAGkBAABkAQAAFQEAAGoBAABrAQAAFwEAABgBAAAZAQAATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxEZWNvZGVyRQAAAEg7AAAMNQAAfDQAAAEAAAABAAAAAgAAAAIAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAB");l(e,13683,"wAAAAMAAAADAAAAAwP//////////AAAAALA1AABsAQAAbQEAAG4BAABvAQAATjVkcmFjbzRNZXNoRQAAAEg7AACgNQAA9DUAAP////8AAAAAAAAAAPQ1AABwAQAAcQEAAHIBAABzAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAIDsAANw1AADoPAAAGQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk=");l(e,13905,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO");l(e,13963,"DA==");l(e,13975,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");l(e,14021,"EA==");l(e,14033,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");l(e,14079,"Eg==");l(e,14091,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");l(e,14146,"GgAAABoaGgAAAAAAAAk=");l(e,14195,"FA==");l(e,14207,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");l(e,14253,"Fg==");l(e,14265,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAH8AAACDAAAAiQAAAIsAAACVAAAAlwAAAJ0AAACjAAAApwAAAK0AAACzAAAAtQAAAL8AAADBAAAAxQAAAMcAAADTAAAAAQAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAeQAAAH8AAACDAAAAiQAAAIsAAACPAAAAlQAAAJcAAACdAAAAowAAAKcAAACpAAAArQAAALMAAAC1AAAAuwAAAL8AAADBAAAAxQAAAMcAAADRAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTk=");l(e,14900,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7TjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAASDsAAFg6AADcPAAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAASDsAAIg6AAB8OgAATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAAAASDsAALg6AAB8OgAATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UASDsAAOg6AADcOgAAAAAAAKw6AAB7AQAAfAEAAH0BAAB+AQAAfwEAAIABAACBAQAAggEAAAAAAACQOwAAewEAAIMBAAB9AQAAfgEAAH8BAACEAQAAhQEAAIYBAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAASDsAAGg7AACsOgAAAAAAAAA8AAAOAAAAhwEAAIgBAAAAAAAAKDwAAA4AAACJAQAAigEAAAAAAADoOwAADgAAAIsBAACMAQAAU3Q5ZXhjZXB0aW9uAAAAACA7AADYOwAAU3Q5YmFkX2FsbG9jAAAAAEg7AADwOwAA6DsAAFN0MjBiYWRfYXJyYXlfbmV3X2xlbmd0aAAAAABIOwAADDwAAAA8AAAAAAAAWDwAAAEAAACNAQAAjgEAAFN0MTFsb2dpY19lcnJvcgBIOwAASDwAAOg7AAAAAAAAjDwAAAEAAACPAQAAjgEAAFN0MTJsZW5ndGhfZXJyb3IAAAAASDsAAHg8AABYPAAAAAAAAMA8AAABAAAAkAEAAI4BAABTdDEyb3V0X29mX3JhbmdlAAAAAEg7AACsPAAAWDwAAFN0OXR5cGVfaW5mbwAAAAAgOwAAzDw=");l(e,15592,"BQ==");l(e,15604,"dAE=");l(e,15628,"dQEAAHYBAACkPg==");l(e,15652,"Ag==");l(e,15668,"//////////8=");l(e,15736,"6DwAAAAAAAAF");l(e,15756,"dwE=");l(e,15780,"dQEAAHgBAAC4PgAAAAQ=");l(e,15804,"AQ==");l(e,15820,"/////wo=");l(e,15888,"gD0AAGBFUA==")}var r=new ArrayBuffer(16);var s=new Int32Array(r);var t=new Float32Array(r);var u=new Float64Array(r);function v(w){return s[w]}function x(w,y){s[w]=y}function z(){return u[0]}function A(y){u[0]=y}function B(y){t[2]=y}function C(){throw new Error("abort")}function D(){return t[2]}function va(q){var E=q.env;var F=E.memory;var G=F.buffer;F.grow=ta;var H=new Int8Array(G);var I=new Int16Array(G);var J=new Int32Array(G);var K=new Uint8Array(G);var L=new Uint16Array(G);var M=new Uint32Array(G);var N=new Float32Array(G);var O=new Float64Array(G);var P=Math.imul;var Q=Math.fround;var R=Math.abs;var S=Math.clz32;var T=Math.min;var U=Math.max;var V=Math.floor;var W=Math.ceil;var X=Math.trunc;var Y=Math.sqrt;var Z=NaN;var _=Infinity;var $=E.__cxa_allocate_exception;var aa=E.__cxa_throw;var ba=E.emscripten_memcpy_big;var ca=q.wasi_snapshot_preview1;var da=ca.fd_close;var ea=ca.fd_write;var fa=E.abort;var ga=E.emscripten_resize_heap;var ha=ca.fd_seek;var ia=5260640;var ja=0;var ka=0;var la=0;var ma=0;
// EMSCRIPTEN_START_FUNCS
function Ti(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=ia-672|0;ia=w;d=J[b+12>>2];e=J[b+20>>2];i=J[b+16>>2];l=i+4|0;e=l>>>0<4?e+1|0:e;a:{b:{c:{if((d|0)<=(e|0)&l>>>0>M[b+8>>2]|(d|0)<(e|0)){break c}e=i+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];d=e;l=J[b+16>>2];i=l+4|0;e=i>>>0<4?d+1|0:d;n=i;J[b+16>>2]=i;J[b+20>>2]=e;if(M[a>>2]>31){break c}i=J[b+12>>2];e=d;d=l+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break c}e=n+J[b>>2]|0;J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];d=e;l=J[b+16>>2];i=l+4|0;e=i>>>0<4?d+1|0:d;n=i;J[b+16>>2]=i;J[b+20>>2]=e;i=J[b+12>>2];e=d;d=l+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break c}e=n+J[b>>2]|0;J[a+12>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];d=e;l=J[b+16>>2];i=l+4|0;e=i>>>0<4?d+1|0:d;t=i;J[b+16>>2]=i;J[b+20>>2]=e;e=J[a+20>>2];n=J[a+12>>2];if((n|0)!=(e|0)?e:0){break c}i=J[b+12>>2];e=d;d=l+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break c}e=t+J[b>>2]|0;d=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+16>>2]=d;e=J[b+20>>2];i=J[b+16>>2]+4|0;e=i>>>0<4?e+1|0:e;J[b+16>>2]=i;J[b+20>>2]=e;if(d>>>0>=7){J[w>>2]=d;cj(1760,w);break c}J[w+664>>2]=c;d:{if(!n){break d}e:{l=J[c>>2];if(n>>>0<=(J[c+8>>2]-l|0)/12>>>0){break e}if(n>>>0<357913942){i=J[c+4>>2];d=P(n,12);e=Aj(d);n=d+e|0;d=e+P((i-l|0)/12|0,12)|0;e=d;if((i|0)!=(l|0)){e=d;while(1){e=e-12|0;i=i-12|0;J[e>>2]=J[i>>2];J[e+4>>2]=J[i+4>>2];J[e+8>>2]=J[i+8>>2];if((i|0)!=(l|0)){continue}break}}J[c+8>>2]=n;J[c+4>>2]=d;J[c>>2]=e;if(!l){break e}xj(l);break e}break b}f:{switch(J[a+16>>2]){case 0:g=xb(w+8|0,3);t=w+664|0;d=J[b+12>>2];e=J[b+20>>2];h=J[b+16>>2];i=h+4|0;e=i>>>0<4?e+1|0:e;g:{if((d|0)<=(e|0)&i>>>0>M[b+8>>2]|(d|0)<(e|0)){break g}e=h+J[b>>2]|0;J[g>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];d=e;i=J[b+16>>2];h=i+4|0;e=h>>>0<4?d+1|0:d;j=h;J[b+16>>2]=h;J[b+20>>2]=e;if(M[g>>2]>32){break g}h=J[b+12>>2];e=d;d=i+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>M[b+8>>2]&(e|0)>=(h|0)|(e|0)>(h|0)){break g}e=j+J[b>>2]|0;d=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[g+4>>2]=d;e=J[b+20>>2];h=J[b+16>>2]+4|0;e=h>>>0<4?e+1|0:e;J[b+16>>2]=h;J[b+20>>2]=e;if(!d){break g}J[g+8>>2]=0;if(!ie(g+16|0,b)){break g}if(!ie(g+36|0,b)){break g}if(!ie(g+56|0,b)){break g}if(!ie(g+76|0,b)){break g}q=J[g+4>>2];j=0;d=ia-32|0;ia=d;h=J[g+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(h){if(h>>>0>=1073741824){break b}b=h<<2;j=Aj(b);J[d+8>>2]=j;f=b+j|0;J[d+16>>2]=f;Xi(j,0,b);J[d+12>>2]=f}b=J[g+120>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);h=J[g+12>>2];j=J[d+8>>2];f=J[d+12>>2]}J[b+4>>2]=f;J[b>>2]=j;J[b+8>>2]=J[d+16>>2];j=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;h:{if(h){if(h>>>0>=1073741824){break b}b=h<<2;k=Aj(b);J[d+8>>2]=k;j=b+k|0;J[d+16>>2]=j;Xi(k,0,b);J[d+12>>2]=j}b=J[g+132>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);k=J[d+8>>2];j=J[d+12>>2]}J[b+4>>2]=j;J[b>>2]=k;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=q;h=J[d+28>>2]+1|0;J[d+28>>2]=h;i:{if(!h){break i}y=g+96|0;while(1){b=J[d+12>>2];j=J[d+24>>2];k=h-1|0;e=j+k|0;f=(e>>>0)/341|0;e=J[b+(f<<2)>>2]+P(e-P(f,341)|0,12)|0;n=J[e+8>>2];f=J[e+4>>2];i=J[e>>2];J[d+28>>2]=k;e=J[d+16>>2];if((((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)-(h+j|0)|0)+1>>>0>=682){xj(J[e-4>>2]);J[d+16>>2]=J[d+16>>2]-4}e=0;if(i>>>0>q>>>0){break i}b=J[g+12>>2];h=(f|0)!=(b-1|0)?f+1|0:0;if(h>>>0>=b>>>0){break i}j=P(n,12);m=j+J[g+132>>2]|0;l=j+J[g+120>>2]|0;f=J[g>>2];o=h<<2;k=J[o+J[m>>2]>>2];j:{k:{if((f|0)==(k|0)){if(!i){break k}while(1){b=J[l>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];f=J[t>>2];h=J[f+4>>2];k=J[f+8>>2];l:{if(h>>>0<k>>>0){J[h+8>>2]=m;J[h+4>>2]=o;J[h>>2]=p;J[f+4>>2]=h+12;break l}j=J[f>>2];u=(h-j|0)/12|0;b=u+1|0;if(b>>>0>=357913942){break b}k=(k-j|0)/12|0;n=k<<1;n=k>>>0>=178956970?357913941:b>>>0<n>>>0?n:b;if(n){if(n>>>0>=357913942){break a}b=Aj(P(n,12))}else{b=0}k=b+P(u,12)|0;J[k+8>>2]=m;J[k+4>>2]=o;J[k>>2]=p;m=k+12|0;if((h|0)!=(j|0)){while(1){k=k-12|0;h=h-12|0;J[k>>2]=J[h>>2];J[k+4>>2]=J[h+4>>2];J[k+8>>2]=J[h+8>>2];if((h|0)!=(j|0)){continue}break}}J[f+8>>2]=b+P(n,12);J[f+4>>2]=m;J[f>>2]=k;if(!j){break l}xj(j)}J[g+8>>2]=J[g+8>>2]+1;e=e+1|0;if((i|0)!=(e|0)){continue}break}break k}m:{n:{o:{p:{if(i>>>0<=2){b=J[g+108>>2];J[b>>2]=h;k=1;j=J[g+12>>2];if(j>>>0>1){break p}break m}if(M[g+8>>2]>M[g+4>>2]){break i}b=J[g+120>>2];p=n+1|0;m=P(p,12);e=b+m|0;if((e|0)!=(l|0)){Sa(e,J[l>>2],J[l+4>>2]);b=J[g+120>>2]}b=o+J[b+m>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(k^-1));b=S(i)^31;e=J[g+32>>2];k=32-e|0;q:{if((b|0)<=(k|0)){f=J[g+28>>2];if((f|0)==J[g+20>>2]){break o}k=J[f>>2];l=b+e|0;J[g+32>>2]=l;k=k<<e>>>32-b|0;if((l|0)!=32){break q}J[g+32>>2]=0;J[g+28>>2]=f+4;break q}f=J[g+28>>2];l=f+4|0;if((l|0)==J[g+20>>2]){break o}u=J[f>>2];J[g+28>>2]=l;k=b-k|0;J[g+32>>2]=k;k=J[f+4>>2]>>>32-k|u<<e>>>32-b}f=i>>>1|0;if(k>>>0>f>>>0){break i}break n}while(1){h=(j-1|0)!=(h|0)?h+1|0:0;J[b+(k<<2)>>2]=h;j=J[g+12>>2];k=k+1|0;if(j>>>0>k>>>0){continue}break}break m}f=i>>>1|0;k=0}r:{s:{b=f-k|0;e=i-b|0;t:{if((e|0)==(b|0)){e=b;break t}f=J[g+88>>2];if((f|0)==J[g+80>>2]){break s}i=J[f>>2];k=J[g+92>>2];l=k+1|0;J[g+92>>2]=l;i=i&-2147483648>>>k;u:{if((l|0)==32){J[g+92>>2]=0;J[g+88>>2]=f+4;if(i){break u}break s}if(!i){break s}}}f=e;e=b;break r}f=b}b=J[g+132>>2];i=b+j|0;j=J[i>>2];k=j+o|0;J[k>>2]=J[k>>2]+1;Sa(b+m|0,j,J[i+4>>2]);if(e){j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];k=J[d+12>>2];if((j|0)==(((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+12>>2];j=J[d+24>>2]+J[d+28>>2]|0}b=(j>>>0)/341|0;b=J[(b<<2)+k>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=h;J[b>>2]=e;J[d+28>>2]=J[d+28>>2]+1}if(!f){break k}j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];k=J[d+12>>2];if((j|0)==(((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+12>>2];j=J[d+24>>2]+J[d+28>>2]|0}b=(j>>>0)/341|0;b=J[(b<<2)+k>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=p;J[b+4>>2]=h;J[b>>2]=f;h=J[d+28>>2]+1|0;J[d+28>>2]=h;break j}if(!i){break k}while(1){if(J[g+12>>2]){j=J[g+40>>2];u=J[m>>2];f=J[g+96>>2];s=J[g+108>>2];h=0;while(1){k=s+(h<<2)|0;J[f+(J[k>>2]<<2)>>2]=0;b=J[g>>2];n=J[k>>2]<<2;o=J[n+u>>2];v:{if((b|0)==(o|0)){break v}n=f+n|0;b=b-o|0;o=J[g+52>>2];v=32-o|0;if((b|0)<=(v|0)){p=J[g+48>>2];if((p|0)==(j|0)){break i}J[n>>2]=J[p>>2]<<o>>>32-b;b=b+J[g+52>>2]|0;J[g+52>>2]=b;if((b|0)!=32){break v}J[g+52>>2]=0;J[g+48>>2]=p+4;break v}p=J[g+48>>2];r=p+4|0;if((r|0)==(j|0)){break i}x=J[p>>2];J[g+48>>2]=r;v=b-v|0;J[g+52>>2]=v;J[n>>2]=J[p+4>>2]>>>32-v|x<<o>>>32-b}b=J[k>>2]<<2;k=b+f|0;J[k>>2]=J[k>>2]|J[b+J[l>>2]>>2];h=h+1|0;if(h>>>0<M[g+12>>2]){continue}break}}Ui(t,y);J[g+8>>2]=J[g+8>>2]+1;e=e+1|0;if((i|0)!=(e|0)){continue}break}}h=J[d+28>>2]}if(h){continue}break}}J[d+28>>2]=0;k=J[d+16>>2];h=J[d+12>>2];j=k-h|0;if(j>>>0>=9){while(1){xj(J[h>>2]);h=J[d+12>>2]+4|0;J[d+12>>2]=h;k=J[d+16>>2];j=k-h|0;if(j>>>0>8){continue}break}}b=170;w:{switch((j>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break w}}x:{if((h|0)==(k|0)){break x}while(1){xj(J[h>>2]);h=h+4|0;if((k|0)!=(h|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break x}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break h}}wb(g);break d;case 1:g=xb(w+8|0,3);n=w+664|0;f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];h=d+4|0;e=h>>>0<4?e+1|0:e;y:{if(h>>>0>M[b+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break y}e=d+J[b>>2]|0;J[g>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];f=e;h=J[b+16>>2];d=h+4|0;e=d>>>0<4?e+1|0:e;i=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[g>>2]>32){break y}d=J[b+12>>2];e=f;f=h+8|0;e=f>>>0<8?e+1|0:e;if((d|0)<=(e|0)&f>>>0>M[b+8>>2]|(d|0)<(e|0)){break y}e=i+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[g+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){break y}J[g+8>>2]=0;if(!ie(g+16|0,b)){break y}if(!ie(g+36|0,b)){break y}if(!ie(g+56|0,b)){break y}if(!ie(g+76|0,b)){break y}t=J[g+4>>2];f=0;d=ia-32|0;ia=d;h=J[g+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(h){if(h>>>0>=1073741824){break b}b=h<<2;k=Aj(b);J[d+8>>2]=k;f=b+k|0;J[d+16>>2]=f;Xi(k,0,b);J[d+12>>2]=f}b=J[g+120>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);h=J[g+12>>2];k=J[d+8>>2];f=J[d+12>>2]}J[b+4>>2]=f;J[b>>2]=k;J[b+8>>2]=J[d+16>>2];k=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;z:{if(h){if(h>>>0>=1073741824){break b}b=h<<2;j=Aj(b);J[d+8>>2]=j;k=b+j|0;J[d+16>>2]=k;Xi(j,0,b);J[d+12>>2]=k}b=J[g+132>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);k=J[d+12>>2];j=J[d+8>>2]}J[b+4>>2]=k;J[b>>2]=j;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=t;h=J[d+28>>2]+1|0;J[d+28>>2]=h;A:{if(!h){break A}y=g+96|0;while(1){b=J[d+12>>2];k=J[d+24>>2];j=h-1|0;e=k+j|0;f=(e>>>0)/341|0;e=J[b+(f<<2)>>2]+P(e-P(f,341)|0,12)|0;i=J[e+8>>2];f=J[e+4>>2];e=J[e>>2];J[d+28>>2]=j;j=J[d+16>>2];if((((b|0)!=(j|0)?P(j-b>>2,341)-1|0:0)-(h+k|0)|0)+1>>>0>=682){xj(J[j-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(e>>>0>t>>>0){break A}b=J[g+12>>2];h=(f|0)!=(b-1|0)?f+1|0:0;if(h>>>0>=b>>>0){break A}b=J[g+120>>2];k=P(i,12);l=b+k|0;f=J[g>>2];q=h<<2;p=k+J[g+132>>2]|0;j=J[q+J[p>>2]>>2];B:{C:{if((f|0)==(j|0)){q=0;if(!e){break C}while(1){b=J[l>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];f=J[n>>2];h=J[f+4>>2];j=J[f+8>>2];D:{if(h>>>0<j>>>0){J[h+8>>2]=m;J[h+4>>2]=o;J[h>>2]=p;J[f+4>>2]=h+12;break D}i=J[f>>2];u=(h-i|0)/12|0;b=u+1|0;if(b>>>0>=357913942){break b}j=(j-i|0)/12|0;k=j<<1;k=j>>>0>=178956970?357913941:b>>>0<k>>>0?k:b;if(k){if(k>>>0>=357913942){break a}b=Aj(P(k,12))}else{b=0}j=b+P(u,12)|0;J[j+8>>2]=m;J[j+4>>2]=o;J[j>>2]=p;m=j+12|0;if((h|0)!=(i|0)){while(1){j=j-12|0;h=h-12|0;J[j>>2]=J[h>>2];J[j+4>>2]=J[h+4>>2];J[j+8>>2]=J[h+8>>2];if((h|0)!=(i|0)){continue}break}}J[f+8>>2]=b+P(k,12);J[f+4>>2]=m;J[f>>2]=j;if(!i){break D}xj(i)}J[g+8>>2]=J[g+8>>2]+1;q=q+1|0;if((e|0)!=(q|0)){continue}break}break C}E:{F:{G:{H:{if(e>>>0<=2){b=J[g+108>>2];J[b>>2]=h;j=1;k=J[g+12>>2];if(k>>>0>1){break H}break E}if(M[g+8>>2]>M[g+4>>2]){break A}m=b;b=k+12|0;Sa(m+b|0,J[l>>2],J[l+4>>2]);b=q+J[b+J[g+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(j^-1));b=S(e)^31;f=J[g+32>>2];l=32-f|0;I:{if((b|0)<=(l|0)){j=J[g+28>>2];if((j|0)==J[g+20>>2]){break G}l=J[j>>2];m=b+f|0;J[g+32>>2]=m;f=l<<f>>>32-b|0;if((m|0)!=32){break I}J[g+32>>2]=0;J[g+28>>2]=j+4;break I}j=J[g+28>>2];m=j+4|0;if((m|0)==J[g+20>>2]){break G}o=J[j>>2];J[g+28>>2]=m;l=b-l|0;J[g+32>>2]=l;f=J[j+4>>2]>>>32-l|o<<f>>>32-b}j=e>>>1|0;if(j>>>0<f>>>0){break A}break F}while(1){h=(k-1|0)!=(h|0)?h+1|0:0;J[b+(j<<2)>>2]=h;j=j+1|0;k=J[g+12>>2];if(j>>>0<k>>>0){continue}break}break E}j=e>>>1|0;f=0}l=i+1|0;J:{K:{b=j-f|0;f=e-b|0;L:{if((f|0)==(b|0)){e=b;break L}e=J[g+88>>2];if((e|0)==J[g+80>>2]){break K}j=J[e>>2];m=J[g+92>>2];o=m+1|0;J[g+92>>2]=o;j=j&-2147483648>>>m;M:{if((o|0)==32){J[g+92>>2]=0;J[g+88>>2]=e+4;if(j){break M}break K}if(!j){break K}}e=f}f=b;break J}e=b}b=J[g+132>>2];j=b+k|0;k=J[j>>2];q=k+q|0;J[q>>2]=J[q>>2]+1;Sa(b+P(l,12)|0,k,J[j+4>>2]);if(f){k=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];j=J[d+12>>2];if((k|0)==(((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+24>>2]+J[d+28>>2]|0;j=J[d+12>>2]}b=(k>>>0)/341|0;b=J[j+(b<<2)>>2]+P(k-P(b,341)|0,12)|0;J[b+8>>2]=i;J[b+4>>2]=h;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break C}k=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];j=J[d+12>>2];if((k|0)==(((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+24>>2]+J[d+28>>2]|0;j=J[d+12>>2]}b=(k>>>0)/341|0;b=J[j+(b<<2)>>2]+P(k-P(b,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=h;J[b>>2]=e;h=J[d+28>>2]+1|0;J[d+28>>2]=h;break B}k=0;if(!e){break C}while(1){if(J[g+12>>2]){i=J[g+40>>2];u=J[p>>2];f=J[g+96>>2];s=J[g+108>>2];h=0;while(1){j=s+(h<<2)|0;J[f+(J[j>>2]<<2)>>2]=0;b=J[g>>2];q=J[j>>2]<<2;m=J[q+u>>2];N:{if((b|0)==(m|0)){break N}q=f+q|0;b=b-m|0;m=J[g+52>>2];v=32-m|0;if((b|0)<=(v|0)){o=J[g+48>>2];if((o|0)==(i|0)){break A}J[q>>2]=J[o>>2]<<m>>>32-b;b=b+J[g+52>>2]|0;J[g+52>>2]=b;if((b|0)!=32){break N}J[g+52>>2]=0;J[g+48>>2]=o+4;break N}o=J[g+48>>2];r=o+4|0;if((r|0)==(i|0)){break A}x=J[o>>2];J[g+48>>2]=r;v=b-v|0;J[g+52>>2]=v;J[q>>2]=J[o+4>>2]>>>32-v|x<<m>>>32-b}b=J[j>>2]<<2;j=b+f|0;J[j>>2]=J[j>>2]|J[b+J[l>>2]>>2];h=h+1|0;if(h>>>0<M[g+12>>2]){continue}break}}Ui(n,y);J[g+8>>2]=J[g+8>>2]+1;k=k+1|0;if((e|0)!=(k|0)){continue}break}}h=J[d+28>>2]}if(h){continue}break}}J[d+28>>2]=0;j=J[d+16>>2];h=J[d+12>>2];k=j-h|0;if(k>>>0>=9){while(1){xj(J[h>>2]);h=J[d+12>>2]+4|0;J[d+12>>2]=h;j=J[d+16>>2];k=j-h|0;if(k>>>0>8){continue}break}}b=170;O:{switch((k>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break O}}P:{if((h|0)==(j|0)){break P}while(1){xj(J[h>>2]);h=h+4|0;if((j|0)!=(h|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break P}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break z}}wb(g);break d;case 2:h=Bb(w+8|0,3);t=w+664|0;f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];g=d+4|0;e=g>>>0<4?e+1|0:e;Q:{if(g>>>0>M[b+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break Q}e=d+J[b>>2]|0;J[h>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];f=e;g=J[b+16>>2];d=g+4|0;e=d>>>0<4?e+1|0:e;i=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[h>>2]>32){break Q}d=J[b+12>>2];e=f;f=g+8|0;e=f>>>0<8?e+1|0:e;if((d|0)<=(e|0)&f>>>0>M[b+8>>2]|(d|0)<(e|0)){break Q}e=i+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[h+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){break Q}J[h+8>>2]=0;if(!je(h+16|0,b)){break Q}if(!ie(h+32|0,b)){break Q}if(!ie(h+52|0,b)){break Q}if(!ie(h+72|0,b)){break Q}q=J[h+4>>2];e=0;d=ia-32|0;ia=d;g=J[h+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(g){if(g>>>0>=1073741824){break b}b=g<<2;j=Aj(b);J[d+8>>2]=j;e=b+j|0;J[d+16>>2]=e;Xi(j,0,b);J[d+12>>2]=e}b=J[h+116>>2];f=J[b>>2];if(f){J[b+4>>2]=f;xj(f);g=J[h+12>>2];j=J[d+8>>2];e=J[d+12>>2]}J[b+4>>2]=e;J[b>>2]=j;J[b+8>>2]=J[d+16>>2];j=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;R:{if(g){if(g>>>0>=1073741824){break b}b=g<<2;k=Aj(b);J[d+8>>2]=k;j=b+k|0;J[d+16>>2]=j;Xi(k,0,b);J[d+12>>2]=j}b=J[h+128>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);k=J[d+8>>2];j=J[d+12>>2]}J[b+4>>2]=j;J[b>>2]=k;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=q;g=J[d+28>>2]+1|0;J[d+28>>2]=g;S:{if(!g){break S}y=h+92|0;u=h+16|0;while(1){b=J[d+12>>2];k=J[d+24>>2];f=g-1|0;e=k+f|0;i=(e>>>0)/341|0;e=J[b+(i<<2)>>2]+P(e-P(i,341)|0,12)|0;i=J[e+8>>2];j=J[e+4>>2];e=J[e>>2];J[d+28>>2]=f;f=J[d+16>>2];if((((b|0)!=(f|0)?P(f-b>>2,341)-1|0:0)-(g+k|0)|0)+1>>>0>=682){xj(J[f-4>>2]);J[d+16>>2]=J[d+16>>2]-4}f=0;if(e>>>0>q>>>0){break S}b=J[h+12>>2];g=(j|0)!=(b-1|0)?j+1|0:0;if(g>>>0>=b>>>0){break S}j=P(i,12);n=j+J[h+128>>2]|0;l=j+J[h+116>>2]|0;m=J[h>>2];k=g<<2;o=J[k+J[n>>2]>>2];T:{if((m|0)==(o|0)){if(!e){break T}while(1){b=J[l>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];i=J[t>>2];g=J[i+4>>2];k=J[i+8>>2];U:{if(g>>>0<k>>>0){J[g+8>>2]=m;J[g+4>>2]=o;J[g>>2]=p;J[i+4>>2]=g+12;break U}j=J[i>>2];s=(g-j|0)/12|0;b=s+1|0;if(b>>>0>=357913942){break b}k=(k-j|0)/12|0;n=k<<1;n=k>>>0>=178956970?357913941:b>>>0<n>>>0?n:b;if(n){if(n>>>0>=357913942){break a}b=Aj(P(n,12))}else{b=0}k=b+P(s,12)|0;J[k+8>>2]=m;J[k+4>>2]=o;J[k>>2]=p;m=k+12|0;if((g|0)!=(j|0)){while(1){k=k-12|0;g=g-12|0;J[k>>2]=J[g>>2];J[k+4>>2]=J[g+4>>2];J[k+8>>2]=J[g+8>>2];if((g|0)!=(j|0)){continue}break}}J[i+8>>2]=b+P(n,12);J[i+4>>2]=m;J[i>>2]=k;if(!j){break U}xj(j)}J[h+8>>2]=J[h+8>>2]+1;f=f+1|0;if((e|0)!=(f|0)){continue}break}break T}V:{W:{X:{Y:{if(e>>>0<=2){b=J[h+104>>2];J[b>>2]=g;k=1;j=J[h+12>>2];if(j>>>0>1){break Y}break V}if(M[h+8>>2]>M[h+4>>2]){break S}b=J[h+116>>2];p=i+1|0;n=P(p,12);f=b+n|0;if((f|0)!=(l|0)){Sa(f,J[l>>2],J[l+4>>2]);b=J[h+116>>2]}b=k+J[b+n>>2]|0;J[b>>2]=J[b>>2]+(1<<m+(o^-1));J[d+4>>2]=0;me(u,S(e)^31,d+4|0);b=e>>>1|0;f=J[d+4>>2];if(b>>>0<f>>>0){break S}b=b-f|0;f=e-b|0;Z:{if((f|0)==(b|0)){e=b;break Z}e=J[h+84>>2];if((e|0)==J[h+76>>2]){break X}l=J[e>>2];m=J[h+88>>2];o=m+1|0;J[h+88>>2]=o;l=l&-2147483648>>>m;_:{if((o|0)==32){J[h+88>>2]=0;J[h+84>>2]=e+4;if(l){break _}break X}if(!l){break X}}e=f}f=b;break W}while(1){g=(j-1|0)!=(g|0)?g+1|0:0;J[b+(k<<2)>>2]=g;j=J[h+12>>2];k=k+1|0;if(j>>>0>k>>>0){continue}break}break V}e=b}l=k;b=J[h+128>>2];j=b+j|0;k=J[j>>2];l=l+k|0;J[l>>2]=J[l>>2]+1;Sa(b+n|0,k,J[j+4>>2]);if(f){j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];k=J[d+12>>2];if((j|0)==(((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+12>>2];j=J[d+24>>2]+J[d+28>>2]|0}b=(j>>>0)/341|0;b=J[(b<<2)+k>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=i;J[b+4>>2]=g;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break T}j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];k=J[d+12>>2];if((j|0)==(((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)|0)){Rb(d+8|0);k=J[d+12>>2];j=J[d+24>>2]+J[d+28>>2]|0}b=(j>>>0)/341|0;b=J[(b<<2)+k>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=p;J[b+4>>2]=g;J[b>>2]=e;J[d+28>>2]=J[d+28>>2]+1;break T}if(!e){break T}while(1){if(J[h+12>>2]){j=J[h+36>>2];s=J[n>>2];i=J[h+92>>2];v=J[h+104>>2];g=0;while(1){k=v+(g<<2)|0;J[i+(J[k>>2]<<2)>>2]=0;b=J[h>>2];m=J[k>>2]<<2;o=J[m+s>>2];$:{if((b|0)==(o|0)){break $}m=i+m|0;b=b-o|0;o=J[h+48>>2];r=32-o|0;if((b|0)<=(r|0)){p=J[h+44>>2];if((p|0)==(j|0)){break S}J[m>>2]=J[p>>2]<<o>>>32-b;b=b+J[h+48>>2]|0;J[h+48>>2]=b;if((b|0)!=32){break $}J[h+48>>2]=0;J[h+44>>2]=p+4;break $}p=J[h+44>>2];x=p+4|0;if((x|0)==(j|0)){break S}z=J[p>>2];J[h+44>>2]=x;r=b-r|0;J[h+48>>2]=r;J[m>>2]=J[p+4>>2]>>>32-r|z<<o>>>32-b}b=J[k>>2]<<2;k=b+i|0;J[k>>2]=J[k>>2]|J[b+J[l>>2]>>2];g=g+1|0;if(g>>>0<M[h+12>>2]){continue}break}}Ui(t,y);J[h+8>>2]=J[h+8>>2]+1;f=f+1|0;if((e|0)!=(f|0)){continue}break}}g=J[d+28>>2];if(g){continue}break}}J[d+28>>2]=0;k=J[d+16>>2];g=J[d+12>>2];j=k-g|0;if(j>>>0>=9){while(1){xj(J[g>>2]);g=J[d+12>>2]+4|0;J[d+12>>2]=g;k=J[d+16>>2];j=k-g|0;if(j>>>0>8){continue}break}}b=170;aa:{switch((j>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break aa}}ba:{if((g|0)==(k|0)){break ba}while(1){xj(J[g>>2]);g=g+4|0;if((k|0)!=(g|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break ba}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break R}}Ab(h);break d;case 3:i=Bb(w+8|0,3);n=w+664|0;d=J[b+12>>2];e=J[b+20>>2];g=J[b+16>>2];k=g+4|0;e=k>>>0<4?e+1|0:e;ca:{if((d|0)<=(e|0)&k>>>0>M[b+8>>2]|(d|0)<(e|0)){break ca}e=g+J[b>>2]|0;J[i>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];d=e;k=J[b+16>>2];g=k+4|0;e=g>>>0<4?d+1|0:d;l=g;J[b+16>>2]=g;J[b+20>>2]=e;if(M[i>>2]>32){break ca}g=J[b+12>>2];e=d;d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>M[b+8>>2]&(e|0)>=(g|0)|(e|0)>(g|0)){break ca}e=l+J[b>>2]|0;d=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[i+4>>2]=d;e=J[b+20>>2];g=J[b+16>>2]+4|0;e=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=e;if(!d){break ca}J[i+8>>2]=0;if(!je(i+16|0,b)){break ca}if(!ie(i+32|0,b)){break ca}if(!ie(i+52|0,b)){break ca}if(!ie(i+72|0,b)){break ca}t=J[i+4>>2];d=ia-32|0;ia=d;g=J[i+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(g){if(g>>>0>=1073741824){break b}b=g<<2;h=Aj(b);J[d+8>>2]=h;f=b+h|0;J[d+16>>2]=f;Xi(h,0,b);J[d+12>>2]=f}b=J[i+116>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);g=J[i+12>>2];h=J[d+8>>2];f=J[d+12>>2]}J[b+4>>2]=f;J[b>>2]=h;J[b+8>>2]=J[d+16>>2];h=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;da:{if(g){if(g>>>0>=1073741824){break b}b=g<<2;j=Aj(b);J[d+8>>2]=j;h=b+j|0;J[d+16>>2]=h;Xi(j,0,b);J[d+12>>2]=h}b=J[i+128>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);j=J[d+8>>2];h=J[d+12>>2]}J[b+4>>2]=h;J[b>>2]=j;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=t;g=J[d+28>>2]+1|0;J[d+28>>2]=g;ea:{if(!g){break ea}y=i+92|0;u=i+16|0;while(1){b=J[d+12>>2];j=J[d+24>>2];h=g-1|0;e=j+h|0;f=(e>>>0)/341|0;e=J[b+(f<<2)>>2]+P(e-P(f,341)|0,12)|0;l=J[e+8>>2];f=J[e+4>>2];e=J[e>>2];J[d+28>>2]=h;h=J[d+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[h-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(e>>>0>t>>>0){break ea}b=J[i+12>>2];g=(f|0)!=(b-1|0)?f+1|0:0;if(g>>>0>=b>>>0){break ea}b=J[i+116>>2];h=P(l,12);k=b+h|0;f=J[i>>2];j=g<<2;p=h+J[i+128>>2]|0;q=J[j+J[p>>2]>>2];fa:{if((f|0)==(q|0)){q=0;if(!e){break fa}while(1){b=J[k>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];f=J[n>>2];g=J[f+4>>2];j=J[f+8>>2];ga:{if(g>>>0<j>>>0){J[g+8>>2]=m;J[g+4>>2]=o;J[g>>2]=p;J[f+4>>2]=g+12;break ga}h=J[f>>2];s=(g-h|0)/12|0;b=s+1|0;if(b>>>0>=357913942){break b}j=(j-h|0)/12|0;l=j<<1;l=j>>>0>=178956970?357913941:b>>>0<l>>>0?l:b;if(l){if(l>>>0>=357913942){break a}b=Aj(P(l,12))}else{b=0}j=b+P(s,12)|0;J[j+8>>2]=m;J[j+4>>2]=o;J[j>>2]=p;m=j+12|0;if((g|0)!=(h|0)){while(1){j=j-12|0;g=g-12|0;J[j>>2]=J[g>>2];J[j+4>>2]=J[g+4>>2];J[j+8>>2]=J[g+8>>2];if((g|0)!=(h|0)){continue}break}}J[f+8>>2]=b+P(l,12);J[f+4>>2]=m;J[f>>2]=j;if(!h){break ga}xj(h)}J[i+8>>2]=J[i+8>>2]+1;q=q+1|0;if((e|0)!=(q|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(e>>>0<=2){b=J[i+104>>2];J[b>>2]=g;j=1;h=J[i+12>>2];if(h>>>0>1){break ka}break ha}if(M[i+8>>2]>M[i+4>>2]){break ea}m=b;b=h+12|0;Sa(m+b|0,J[k>>2],J[k+4>>2]);b=j+J[b+J[i+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(q^-1));J[d+4>>2]=0;me(u,S(e)^31,d+4|0);b=e>>>1|0;f=J[d+4>>2];if(b>>>0<f>>>0){break ea}k=l+1|0;b=b-f|0;f=e-b|0;la:{if((f|0)==(b|0)){e=b;break la}e=J[i+84>>2];if((e|0)==J[i+76>>2]){break ja}q=J[e>>2];m=J[i+88>>2];o=m+1|0;J[i+88>>2]=o;q=q&-2147483648>>>m;ma:{if((o|0)==32){J[i+88>>2]=0;J[i+84>>2]=e+4;if(q){break ma}break ja}if(!q){break ja}}e=f}f=b;break ia}while(1){g=(h-1|0)!=(g|0)?g+1|0:0;J[b+(j<<2)>>2]=g;h=J[i+12>>2];j=j+1|0;if(h>>>0>j>>>0){continue}break}break ha}e=b}m=j;b=J[i+128>>2];h=b+h|0;j=J[h>>2];q=m+j|0;J[q>>2]=J[q>>2]+1;Sa(b+P(k,12)|0,j,J[h+4>>2]);if(f){h=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];j=J[d+12>>2];if((h|0)==(((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)|0)){Rb(d+8|0);j=J[d+12>>2];h=J[d+24>>2]+J[d+28>>2]|0}b=(h>>>0)/341|0;b=J[(b<<2)+j>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=g;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break fa}h=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];j=J[d+12>>2];if((h|0)==(((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)|0)){Rb(d+8|0);j=J[d+12>>2];h=J[d+24>>2]+J[d+28>>2]|0}b=(h>>>0)/341|0;b=J[(b<<2)+j>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=g;J[b>>2]=e;J[d+28>>2]=J[d+28>>2]+1;break fa}h=0;if(!e){break fa}while(1){if(J[i+12>>2]){j=J[i+36>>2];s=J[p>>2];f=J[i+92>>2];v=J[i+104>>2];g=0;while(1){l=v+(g<<2)|0;J[f+(J[l>>2]<<2)>>2]=0;b=J[i>>2];q=J[l>>2]<<2;m=J[q+s>>2];na:{if((b|0)==(m|0)){break na}q=f+q|0;b=b-m|0;m=J[i+48>>2];r=32-m|0;if((b|0)<=(r|0)){o=J[i+44>>2];if((o|0)==(j|0)){break ea}J[q>>2]=J[o>>2]<<m>>>32-b;b=b+J[i+48>>2]|0;J[i+48>>2]=b;if((b|0)!=32){break na}J[i+48>>2]=0;J[i+44>>2]=o+4;break na}o=J[i+44>>2];x=o+4|0;if((x|0)==(j|0)){break ea}z=J[o>>2];J[i+44>>2]=x;r=b-r|0;J[i+48>>2]=r;J[q>>2]=J[o+4>>2]>>>32-r|z<<m>>>32-b}b=J[l>>2]<<2;l=b+f|0;J[l>>2]=J[l>>2]|J[b+J[k>>2]>>2];g=g+1|0;if(g>>>0<M[i+12>>2]){continue}break}}Ui(n,y);J[i+8>>2]=J[i+8>>2]+1;h=h+1|0;if((e|0)!=(h|0)){continue}break}}g=J[d+28>>2];if(g){continue}break}}J[d+28>>2]=0;j=J[d+16>>2];g=J[d+12>>2];h=j-g|0;if(h>>>0>=9){while(1){xj(J[g>>2]);g=J[d+12>>2]+4|0;J[d+12>>2]=g;j=J[d+16>>2];h=j-g|0;if(h>>>0>8){continue}break}}b=170;oa:{switch((h>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break oa}}pa:{if((g|0)==(j|0)){break pa}while(1){xj(J[g>>2]);g=g+4|0;if((j|0)!=(g|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break pa}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break da}}Ab(i);break d;case 4:h=Fb(w+8|0,3);t=w+664|0;f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;qa:{if(i>>>0>M[b+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break qa}e=d+J[b>>2]|0;J[h>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];f=e;i=J[b+16>>2];d=i+4|0;e=d>>>0<4?e+1|0:e;j=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[h>>2]>32){break qa}d=J[b+12>>2];e=f;f=i+8|0;e=f>>>0<8?e+1|0:e;if((d|0)<=(e|0)&f>>>0>M[b+8>>2]|(d|0)<(e|0)){break qa}e=j+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[h+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){break qa}J[h+8>>2]=0;if(!Mb(h+16|0,b)){break qa}if(!ie(h+544|0,b)){break qa}if(!ie(h+564|0,b)){break qa}if(!ie(h+584|0,b)){break qa}q=J[h+4>>2];i=0;e=0;d=ia-32|0;ia=d;f=J[h+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(f){if(f>>>0>=1073741824){break b}b=f<<2;i=Aj(b);J[d+8>>2]=i;e=b+i|0;J[d+16>>2]=e;Xi(i,0,b);J[d+12>>2]=e}b=J[h+628>>2];j=J[b>>2];if(j){J[b+4>>2]=j;xj(j);f=J[h+12>>2];i=J[d+8>>2];e=J[d+12>>2]}J[b+4>>2]=e;J[b>>2]=i;J[b+8>>2]=J[d+16>>2];i=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;ra:{if(f){if(f>>>0>=1073741824){break b}b=f<<2;g=Aj(b);J[d+8>>2]=g;i=b+g|0;J[d+16>>2]=i;Xi(g,0,b);J[d+12>>2]=i}b=J[h+640>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);i=J[d+12>>2];g=J[d+8>>2]}J[b+4>>2]=i;J[b>>2]=g;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=q;f=J[d+28>>2]+1|0;J[d+28>>2]=f;sa:{if(!f){break sa}y=h+604|0;u=h+16|0;while(1){b=J[d+12>>2];j=J[d+24>>2];i=f-1|0;e=j+i|0;g=(e>>>0)/341|0;e=J[b+(g<<2)>>2]+P(e-P(g,341)|0,12)|0;k=J[e+8>>2];g=J[e+4>>2];e=J[e>>2];J[d+28>>2]=i;i=J[d+16>>2];if((((b|0)!=(i|0)?P(i-b>>2,341)-1|0:0)-(f+j|0)|0)+1>>>0>=682){xj(J[i-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(e>>>0>q>>>0){break sa}b=J[h+12>>2];g=(g|0)!=(b-1|0)?g+1|0:0;if(g>>>0>=b>>>0){break sa}l=P(k,12);n=l+J[h+640>>2]|0;j=l+J[h+628>>2]|0;f=J[h>>2];m=g<<2;i=J[m+J[n>>2]>>2];ta:{ua:{if((f|0)==(i|0)){k=0;if(!e){break ua}while(1){b=J[j>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];i=J[t>>2];f=J[i+4>>2];g=J[i+8>>2];va:{if(f>>>0<g>>>0){J[f+8>>2]=m;J[f+4>>2]=o;J[f>>2]=p;J[i+4>>2]=f+12;break va}l=J[i>>2];s=(f-l|0)/12|0;b=s+1|0;if(b>>>0>=357913942){break b}g=(g-l|0)/12|0;n=g<<1;n=g>>>0>=178956970?357913941:b>>>0<n>>>0?n:b;if(n){if(n>>>0>=357913942){break a}b=Aj(P(n,12))}else{b=0}g=b+P(s,12)|0;J[g+8>>2]=m;J[g+4>>2]=o;J[g>>2]=p;m=g+12|0;if((f|0)!=(l|0)){while(1){g=g-12|0;f=f-12|0;J[g>>2]=J[f>>2];J[g+4>>2]=J[f+4>>2];J[g+8>>2]=J[f+8>>2];if((f|0)!=(l|0)){continue}break}}J[i+8>>2]=b+P(n,12);J[i+4>>2]=m;J[i>>2]=g;if(!l){break va}xj(l)}J[h+8>>2]=J[h+8>>2]+1;k=k+1|0;if((e|0)!=(k|0)){continue}break}break ua}wa:{xa:{ya:{if(e>>>0<=2){b=J[h+616>>2];J[b>>2]=g;f=1;i=J[h+12>>2];if(i>>>0>1){break ya}break wa}if(M[h+8>>2]>M[h+4>>2]){break sa}b=J[h+628>>2];o=k+1|0;n=P(o,12);p=b+n|0;if((p|0)!=(j|0)){Sa(p,J[j>>2],J[j+4>>2]);b=J[h+628>>2]}b=m+J[b+n>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(i^-1));i=0;f=0;b=S(e)^31;if(!b){f=e>>>1|0;break xa}while(1){i=le(u+(f<<4)|0)|i<<1;f=f+1|0;if((b|0)!=(f|0)){continue}break}f=e>>>1|0;if(i>>>0<=f>>>0){break xa}break sa}while(1){g=(i-1|0)!=(g|0)?g+1|0:0;J[b+(f<<2)>>2]=g;f=f+1|0;i=J[h+12>>2];if(f>>>0<i>>>0){continue}break}break wa}za:{Aa:{b=f-i|0;f=e-b|0;Ba:{if((f|0)==(b|0)){e=b;break Ba}e=J[h+596>>2];if((e|0)==J[h+588>>2]){break Aa}i=J[e>>2];j=J[h+600>>2];p=j+1|0;J[h+600>>2]=p;i=i&-2147483648>>>j;Ca:{if((p|0)==32){J[h+600>>2]=0;J[h+596>>2]=e+4;if(i){break Ca}break Aa}if(!i){break Aa}}e=f}f=b;break za}e=b}b=J[h+640>>2];i=b+l|0;j=J[i>>2];l=j+m|0;J[l>>2]=J[l>>2]+1;Sa(b+n|0,j,J[i+4>>2]);if(f){j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];i=J[d+12>>2];if((j|0)==(((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)|0)){Rb(d+8|0);j=J[d+24>>2]+J[d+28>>2]|0;i=J[d+12>>2]}b=(j>>>0)/341|0;b=J[i+(b<<2)>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=g;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break ua}i=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];f=J[d+12>>2];if((i|0)==(((b|0)!=(f|0)?P(b-f>>2,341)-1|0:0)|0)){Rb(d+8|0);i=J[d+24>>2]+J[d+28>>2]|0;f=J[d+12>>2]}b=(i>>>0)/341|0;b=J[f+(b<<2)>>2]+P(i-P(b,341)|0,12)|0;J[b+8>>2]=o;J[b+4>>2]=g;J[b>>2]=e;f=J[d+28>>2]+1|0;J[d+28>>2]=f;break ta}g=0;if(!e){break ua}while(1){if(J[h+12>>2]){k=J[h+548>>2];s=J[n>>2];i=J[h+604>>2];v=J[h+616>>2];f=0;while(1){l=v+(f<<2)|0;J[i+(J[l>>2]<<2)>>2]=0;b=J[h>>2];m=J[l>>2]<<2;o=J[m+s>>2];Da:{if((b|0)==(o|0)){break Da}m=i+m|0;b=b-o|0;o=J[h+560>>2];r=32-o|0;if((b|0)<=(r|0)){p=J[h+556>>2];if((p|0)==(k|0)){break sa}J[m>>2]=J[p>>2]<<o>>>32-b;b=b+J[h+560>>2]|0;J[h+560>>2]=b;if((b|0)!=32){break Da}J[h+560>>2]=0;J[h+556>>2]=p+4;break Da}p=J[h+556>>2];x=p+4|0;if((x|0)==(k|0)){break sa}z=J[p>>2];J[h+556>>2]=x;r=b-r|0;J[h+560>>2]=r;J[m>>2]=J[p+4>>2]>>>32-r|z<<o>>>32-b}b=J[l>>2]<<2;l=b+i|0;J[l>>2]=J[l>>2]|J[b+J[j>>2]>>2];f=f+1|0;if(f>>>0<M[h+12>>2]){continue}break}}Ui(t,y);J[h+8>>2]=J[h+8>>2]+1;g=g+1|0;if((e|0)!=(g|0)){continue}break}}f=J[d+28>>2]}if(f){continue}break}}J[d+28>>2]=0;g=J[d+16>>2];f=J[d+12>>2];i=g-f|0;if(i>>>0>=9){while(1){xj(J[f>>2]);f=J[d+12>>2]+4|0;J[d+12>>2]=f;g=J[d+16>>2];i=g-f|0;if(i>>>0>8){continue}break}}b=170;Ea:{switch((i>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break Ea}}Fa:{if((g|0)==(f|0)){break Fa}while(1){xj(J[f>>2]);f=f+4|0;if((g|0)!=(f|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break Fa}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break ra}}Eb(h);break d;case 5:g=Fb(w+8|0,3);t=w+664|0;f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];h=d+4|0;e=h>>>0<4?e+1|0:e;Ga:{if(h>>>0>M[b+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break Ga}e=d+J[b>>2]|0;J[g>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];f=e;h=J[b+16>>2];d=h+4|0;e=d>>>0<4?e+1|0:e;i=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[g>>2]>32){break Ga}d=J[b+12>>2];e=f;f=h+8|0;e=f>>>0<8?e+1|0:e;if((d|0)<=(e|0)&f>>>0>M[b+8>>2]|(d|0)<(e|0)){break Ga}e=i+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[g+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){break Ga}J[g+8>>2]=0;if(!Mb(g+16|0,b)){break Ga}if(!ie(g+544|0,b)){break Ga}if(!ie(g+564|0,b)){break Ga}if(!ie(g+584|0,b)){break Ga}q=J[g+4>>2];i=0;e=0;d=ia-32|0;ia=d;f=J[g+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(f){if(f>>>0>=1073741824){break b}b=f<<2;i=Aj(b);J[d+8>>2]=i;e=b+i|0;J[d+16>>2]=e;Xi(i,0,b);J[d+12>>2]=e}b=J[g+628>>2];h=J[b>>2];if(h){J[b+4>>2]=h;xj(h);f=J[g+12>>2];i=J[d+8>>2];e=J[d+12>>2]}J[b+4>>2]=e;J[b>>2]=i;J[b+8>>2]=J[d+16>>2];i=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Ha:{if(f){if(f>>>0>=1073741824){break b}b=f<<2;j=Aj(b);J[d+8>>2]=j;i=b+j|0;J[d+16>>2]=i;Xi(j,0,b);J[d+12>>2]=i}b=J[g+640>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);j=J[d+8>>2];i=J[d+12>>2]}J[b+4>>2]=i;J[b>>2]=j;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=q;f=J[d+28>>2]+1|0;J[d+28>>2]=f;Ia:{if(!f){break Ia}y=g+604|0;u=g+16|0;while(1){b=J[d+12>>2];j=J[d+24>>2];h=f-1|0;e=j+h|0;i=(e>>>0)/341|0;e=J[b+(i<<2)>>2]+P(e-P(i,341)|0,12)|0;k=J[e+8>>2];i=J[e+4>>2];e=J[e>>2];J[d+28>>2]=h;h=J[d+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,341)-1|0:0)-(f+j|0)|0)+1>>>0>=682){xj(J[h-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(e>>>0>q>>>0){break Ia}h=0;b=J[g+12>>2];j=(i|0)!=(b-1|0)?i+1|0:0;if(j>>>0>=b>>>0){break Ia}b=J[g+628>>2];n=P(k,12);l=b+n|0;f=J[g>>2];m=j<<2;p=n+J[g+640>>2]|0;i=J[m+J[p>>2]>>2];Ja:{Ka:{if((f|0)==(i|0)){if(!e){break Ka}while(1){b=J[l>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];i=J[t>>2];f=J[i+4>>2];j=J[i+8>>2];La:{if(f>>>0<j>>>0){J[f+8>>2]=m;J[f+4>>2]=o;J[f>>2]=p;J[i+4>>2]=f+12;break La}k=J[i>>2];s=(f-k|0)/12|0;b=s+1|0;if(b>>>0>=357913942){break b}j=(j-k|0)/12|0;n=j<<1;n=j>>>0>=178956970?357913941:b>>>0<n>>>0?n:b;if(n){if(n>>>0>=357913942){break a}b=Aj(P(n,12))}else{b=0}j=b+P(s,12)|0;J[j+8>>2]=m;J[j+4>>2]=o;J[j>>2]=p;m=j+12|0;if((f|0)!=(k|0)){while(1){j=j-12|0;f=f-12|0;J[j>>2]=J[f>>2];J[j+4>>2]=J[f+4>>2];J[j+8>>2]=J[f+8>>2];if((f|0)!=(k|0)){continue}break}}J[i+8>>2]=b+P(n,12);J[i+4>>2]=m;J[i>>2]=j;if(!k){break La}xj(k)}J[g+8>>2]=J[g+8>>2]+1;h=h+1|0;if((e|0)!=(h|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(e>>>0<=2){b=J[g+616>>2];J[b>>2]=j;f=1;i=J[g+12>>2];if(i>>>0>1){break Oa}break Ma}if(M[g+8>>2]>M[g+4>>2]){break Ia}h=b;b=n+12|0;Sa(h+b|0,J[l>>2],J[l+4>>2]);b=m+J[b+J[g+628>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(i^-1));i=0;f=0;b=S(e)^31;if(!b){f=e>>>1|0;break Na}while(1){i=le(u+(f<<4)|0)|i<<1;f=f+1|0;if((b|0)!=(f|0)){continue}break}f=e>>>1|0;if(i>>>0<=f>>>0){break Na}break Ia}while(1){j=(i-1|0)!=(j|0)?j+1|0:0;J[b+(f<<2)>>2]=j;f=f+1|0;i=J[g+12>>2];if(f>>>0<i>>>0){continue}break}break Ma}l=k+1|0;Pa:{Qa:{b=f-i|0;f=e-b|0;Ra:{if((f|0)==(b|0)){e=b;break Ra}e=J[g+596>>2];if((e|0)==J[g+588>>2]){break Qa}h=J[e>>2];i=J[g+600>>2];o=i+1|0;J[g+600>>2]=o;h=h&-2147483648>>>i;Sa:{if((o|0)==32){J[g+600>>2]=0;J[g+596>>2]=e+4;if(h){break Sa}break Qa}if(!h){break Qa}}e=f}f=b;break Pa}e=b}b=J[g+640>>2];h=b+n|0;i=J[h>>2];n=i+m|0;J[n>>2]=J[n>>2]+1;Sa(b+P(l,12)|0,i,J[h+4>>2]);if(f){h=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];i=J[d+12>>2];if((h|0)==(((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)|0)){Rb(d+8|0);i=J[d+12>>2];h=J[d+24>>2]+J[d+28>>2]|0}b=(h>>>0)/341|0;b=J[(b<<2)+i>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=j;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break Ka}i=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];f=J[d+12>>2];if((i|0)==(((b|0)!=(f|0)?P(b-f>>2,341)-1|0:0)|0)){Rb(d+8|0);i=J[d+24>>2]+J[d+28>>2]|0;f=J[d+12>>2]}b=(i>>>0)/341|0;b=J[f+(b<<2)>>2]+P(i-P(b,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=j;J[b>>2]=e;f=J[d+28>>2]+1|0;J[d+28>>2]=f;break Ja}if(!e){break Ka}while(1){if(J[g+12>>2]){j=J[g+548>>2];s=J[p>>2];i=J[g+604>>2];v=J[g+616>>2];f=0;while(1){k=v+(f<<2)|0;J[i+(J[k>>2]<<2)>>2]=0;b=J[g>>2];n=J[k>>2]<<2;m=J[n+s>>2];Ta:{if((b|0)==(m|0)){break Ta}n=i+n|0;b=b-m|0;m=J[g+560>>2];r=32-m|0;if((b|0)<=(r|0)){o=J[g+556>>2];if((o|0)==(j|0)){break Ia}J[n>>2]=J[o>>2]<<m>>>32-b;b=b+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break Ta}J[g+560>>2]=0;J[g+556>>2]=o+4;break Ta}o=J[g+556>>2];x=o+4|0;if((x|0)==(j|0)){break Ia}z=J[o>>2];J[g+556>>2]=x;r=b-r|0;J[g+560>>2]=r;J[n>>2]=J[o+4>>2]>>>32-r|z<<m>>>32-b}b=J[k>>2]<<2;k=b+i|0;J[k>>2]=J[k>>2]|J[b+J[l>>2]>>2];f=f+1|0;if(f>>>0<M[g+12>>2]){continue}break}}Ui(t,y);J[g+8>>2]=J[g+8>>2]+1;h=h+1|0;if((e|0)!=(h|0)){continue}break}}f=J[d+28>>2]}if(f){continue}break}}J[d+28>>2]=0;j=J[d+16>>2];f=J[d+12>>2];i=j-f|0;if(i>>>0>=9){while(1){xj(J[f>>2]);f=J[d+12>>2]+4|0;J[d+12>>2]=f;j=J[d+16>>2];i=j-f|0;if(i>>>0>8){continue}break}}b=170;Ua:{switch((i>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break Ua}}Va:{if((f|0)==(j|0)){break Va}while(1){xj(J[f>>2]);f=f+4|0;if((j|0)!=(f|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break Va}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break Ha}}Eb(g);break d;case 6:break f;default:break c}}h=Fb(w+8|0,3);t=w+664|0;f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;Wa:{if(i>>>0>M[b+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break Wa}e=d+J[b>>2]|0;J[h>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];f=e;i=J[b+16>>2];d=i+4|0;e=d>>>0<4?e+1|0:e;j=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[h>>2]>32){break Wa}d=J[b+12>>2];e=f;f=i+8|0;e=f>>>0<8?e+1|0:e;if((d|0)<=(e|0)&f>>>0>M[b+8>>2]|(d|0)<(e|0)){break Wa}e=j+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[h+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){break Wa}J[h+8>>2]=0;if(!Mb(h+16|0,b)){break Wa}if(!ie(h+544|0,b)){break Wa}if(!ie(h+564|0,b)){break Wa}if(!ie(h+584|0,b)){break Wa}q=J[h+4>>2];i=0;e=0;d=ia-32|0;ia=d;f=J[h+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;if(f){if(f>>>0>=1073741824){break b}b=f<<2;i=Aj(b);J[d+8>>2]=i;e=b+i|0;J[d+16>>2]=e;Xi(i,0,b);J[d+12>>2]=e}b=J[h+628>>2];j=J[b>>2];if(j){J[b+4>>2]=j;xj(j);f=J[h+12>>2];i=J[d+8>>2];e=J[d+12>>2]}J[b+4>>2]=e;J[b>>2]=i;J[b+8>>2]=J[d+16>>2];i=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Xa:{if(f){if(f>>>0>=1073741824){break b}b=f<<2;g=Aj(b);J[d+8>>2]=g;i=b+g|0;J[d+16>>2]=i;Xi(g,0,b);J[d+12>>2]=i}b=J[h+640>>2];e=J[b>>2];if(e){J[b+4>>2]=e;xj(e);i=J[d+12>>2];g=J[d+8>>2]}J[b+4>>2]=i;J[b>>2]=g;J[b+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;e=(b>>>0)/341|0;b=J[J[d+12>>2]+(e<<2)>>2]+P(b-P(e,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=q;f=J[d+28>>2]+1|0;J[d+28>>2]=f;Ya:{if(!f){break Ya}y=h+604|0;u=h+16|0;while(1){b=J[d+12>>2];i=J[d+24>>2];g=f-1|0;e=i+g|0;j=(e>>>0)/341|0;e=J[b+(j<<2)>>2]+P(e-P(j,341)|0,12)|0;k=J[e+8>>2];e=J[e>>2];J[d+28>>2]=g;g=J[d+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,341)-1|0:0)-(f+i|0)|0)+1>>>0>=682){xj(J[g-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(e>>>0>q>>>0){break Ya}b=J[h+628>>2];l=P(k,12);n=l+J[h+640>>2]|0;g=Si(h,e,n);if(g>>>0>=M[h+12>>2]){break Ya}j=b+l|0;f=J[h>>2];m=g<<2;i=J[m+J[n>>2]>>2];Za:{_a:{if((f|0)==(i|0)){k=0;if(!e){break _a}while(1){b=J[j>>2];m=J[b+8>>2];o=J[b+4>>2];p=J[b>>2];i=J[t>>2];f=J[i+4>>2];g=J[i+8>>2];$a:{if(f>>>0<g>>>0){J[f+8>>2]=m;J[f+4>>2]=o;J[f>>2]=p;J[i+4>>2]=f+12;break $a}l=J[i>>2];s=(f-l|0)/12|0;b=s+1|0;if(b>>>0>=357913942){break b}g=(g-l|0)/12|0;n=g<<1;n=g>>>0>=178956970?357913941:b>>>0<n>>>0?n:b;if(n){if(n>>>0>=357913942){break a}b=Aj(P(n,12))}else{b=0}g=b+P(s,12)|0;J[g+8>>2]=m;J[g+4>>2]=o;J[g>>2]=p;m=g+12|0;if((f|0)!=(l|0)){while(1){g=g-12|0;f=f-12|0;J[g>>2]=J[f>>2];J[g+4>>2]=J[f+4>>2];J[g+8>>2]=J[f+8>>2];if((f|0)!=(l|0)){continue}break}}J[i+8>>2]=b+P(n,12);J[i+4>>2]=m;J[i>>2]=g;if(!l){break $a}xj(l)}J[h+8>>2]=J[h+8>>2]+1;k=k+1|0;if((e|0)!=(k|0)){continue}break}break _a}ab:{bb:{cb:{if(e>>>0<=2){b=J[h+616>>2];J[b>>2]=g;f=1;i=J[h+12>>2];if(i>>>0>1){break cb}break ab}if(M[h+8>>2]>M[h+4>>2]){break Ya}b=J[h+628>>2];o=k+1|0;n=P(o,12);p=b+n|0;if((p|0)!=(j|0)){Sa(p,J[j>>2],J[j+4>>2]);b=J[h+628>>2]}b=m+J[b+n>>2]|0;J[b>>2]=J[b>>2]+(1<<f+(i^-1));i=0;f=0;b=S(e)^31;if(!b){f=e>>>1|0;break bb}while(1){i=le(u+(f<<4)|0)|i<<1;f=f+1|0;if((b|0)!=(f|0)){continue}break}f=e>>>1|0;if(i>>>0<=f>>>0){break bb}break Ya}while(1){g=(i-1|0)!=(g|0)?g+1|0:0;J[b+(f<<2)>>2]=g;f=f+1|0;i=J[h+12>>2];if(f>>>0<i>>>0){continue}break}break ab}db:{eb:{b=f-i|0;f=e-b|0;fb:{if((f|0)==(b|0)){e=b;break fb}e=J[h+596>>2];if((e|0)==J[h+588>>2]){break eb}i=J[e>>2];j=J[h+600>>2];p=j+1|0;J[h+600>>2]=p;i=i&-2147483648>>>j;gb:{if((p|0)==32){J[h+600>>2]=0;J[h+596>>2]=e+4;if(i){break gb}break eb}if(!i){break eb}}e=f}f=b;break db}e=b}b=J[h+640>>2];i=b+l|0;j=J[i>>2];l=j+m|0;J[l>>2]=J[l>>2]+1;Sa(b+n|0,j,J[i+4>>2]);if(f){j=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];i=J[d+12>>2];if((j|0)==(((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)|0)){Rb(d+8|0);j=J[d+24>>2]+J[d+28>>2]|0;i=J[d+12>>2]}b=(j>>>0)/341|0;b=J[i+(b<<2)>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=g;J[b>>2]=f;J[d+28>>2]=J[d+28>>2]+1}if(!e){break _a}i=J[d+28>>2]+J[d+24>>2]|0;b=J[d+16>>2];f=J[d+12>>2];if((i|0)==(((b|0)!=(f|0)?P(b-f>>2,341)-1|0:0)|0)){Rb(d+8|0);i=J[d+24>>2]+J[d+28>>2]|0;f=J[d+12>>2]}b=(i>>>0)/341|0;b=J[f+(b<<2)>>2]+P(i-P(b,341)|0,12)|0;J[b+8>>2]=o;J[b+4>>2]=g;J[b>>2]=e;f=J[d+28>>2]+1|0;J[d+28>>2]=f;break Za}g=0;if(!e){break _a}while(1){if(J[h+12>>2]){k=J[h+548>>2];s=J[n>>2];i=J[h+604>>2];v=J[h+616>>2];f=0;while(1){l=v+(f<<2)|0;J[i+(J[l>>2]<<2)>>2]=0;b=J[h>>2];m=J[l>>2]<<2;o=J[m+s>>2];hb:{if((b|0)==(o|0)){break hb}m=i+m|0;b=b-o|0;o=J[h+560>>2];r=32-o|0;if((b|0)<=(r|0)){p=J[h+556>>2];if((p|0)==(k|0)){break Ya}J[m>>2]=J[p>>2]<<o>>>32-b;b=b+J[h+560>>2]|0;J[h+560>>2]=b;if((b|0)!=32){break hb}J[h+560>>2]=0;J[h+556>>2]=p+4;break hb}p=J[h+556>>2];x=p+4|0;if((x|0)==(k|0)){break Ya}z=J[p>>2];J[h+556>>2]=x;r=b-r|0;J[h+560>>2]=r;J[m>>2]=J[p+4>>2]>>>32-r|z<<o>>>32-b}b=J[l>>2]<<2;l=b+i|0;J[l>>2]=J[l>>2]|J[b+J[j>>2]>>2];f=f+1|0;if(f>>>0<M[h+12>>2]){continue}break}}Ui(t,y);J[h+8>>2]=J[h+8>>2]+1;g=g+1|0;if((e|0)!=(g|0)){continue}break}}f=J[d+28>>2]}if(f){continue}break}}J[d+28>>2]=0;g=J[d+16>>2];f=J[d+12>>2];i=g-f|0;if(i>>>0>=9){while(1){xj(J[f>>2]);f=J[d+12>>2]+4|0;J[d+12>>2]=f;g=J[d+16>>2];i=g-f|0;if(i>>>0>8){continue}break}}b=170;ib:{switch((i>>>2|0)-1|0){case 1:b=341;case 0:J[d+24>>2]=b;break;default:break ib}}jb:{if((g|0)==(f|0)){break jb}while(1){xj(J[f>>2]);f=f+4|0;if((g|0)!=(f|0)){continue}break}b=J[d+16>>2];e=J[d+12>>2];if((b|0)==(e|0)){break jb}J[d+16>>2]=b+((e-b|0)+3&-4)}b=J[d+8>>2];if(b){xj(b)}ia=d+32|0;break Xa}}Eb(h)}f=J[a+12>>2]==((J[c+4>>2]-J[c>>2]|0)/12|0)}ia=w+672|0;return f}La();C()}Za();C()}function re(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!a){return 1}e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break a}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;b:{switch(g|0){case 0:f=a;e=b;k=d;d=0;m=ia+-64|0;ia=m;J[m+56>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;c:{if(!se(m+8|0,c)){break c}if(!te(m+8|0,c)|(J[m+20>>2]?0:f)){break c}sg(c,0,0);b=(f|0)!=0;d:{if(f){n=e<<2;q=J[m+36>>2];r=J[m+48>>2];s=J[m+24>>2];while(1){l=J[m+56>>2];e:{if(l>>>0>16383){break e}a=J[m+52>>2];while(1){if((a|0)<=0){break e}a=a-1|0;J[m+52>>2]=a;l=K[a+r|0]|l<<8;J[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;t=J[(a<<2)+s>>2];i=(t<<3)+q|0;J[m+56>>2]=(P(J[i>>2],l>>>12|0)+a|0)-J[i+4>>2];f:{if((e|0)<=0){break f}if(!K[c+36|0]|t>>>0>32){break d}if(!t){Xi(k+(d<<2)|0,0,n);d=d+e|0;break f}w=t&-2;x=t&1;g=d+e|0;b=J[c+32>>2];j=J[c+28>>2];h=J[c+24>>2];while(1){l=0;a=b;i=0;p=0;if((t|0)!=1){while(1){o=h+(a>>>3|0)|0;g:{if(o>>>0>=j>>>0){o=0;break g}o=K[o|0];b=a+1|0;J[c+32>>2]=b;o=o>>>(a&7)&1;a=b}o=o<<l|i;i=0;u=h+(a>>>3|0)|0;if(u>>>0<j>>>0){i=K[u|0];b=a+1|0;J[c+32>>2]=b;i=i>>>(a&7)&1;a=b}u=l|1;l=l+2|0;i=o|i<<u;p=p+2|0;if((w|0)!=(p|0)){continue}break}}p=k+(d<<2)|0;if(x){o=h+(a>>>3|0)|0;if(o>>>0<j>>>0){o=K[o|0];b=a+1|0;J[c+32>>2]=b;a=o>>>(a&7)&1}else{a=0}i=a<<l|i}J[p>>2]=i;d=d+1|0;if((g|0)!=(d|0)){continue}break}d=g}v=e+v|0;b=f>>>0>v>>>0;if(b){continue}break}}H[c+36|0]=0;d=J[c+20>>2];e=0;a=J[c+32>>2]+7|0;e=a>>>0<7?1:e;f=(e&7)<<29|a>>>3;a=f+J[c+16>>2]|0;e=(e>>>3|0)+d|0;J[c+16>>2]=a;J[c+20>>2]=a>>>0<f>>>0?e+1|0:e}l=b^1}a=J[m+36>>2];if(a){J[m+40>>2]=a;xj(a)}a=J[m+24>>2];if(a){J[m+28>>2]=a;xj(a)}a=J[m+8>>2];if(a){J[m+12>>2]=a;xj(a)}ia=m- -64|0;return l&1;case 1:break b;default:break a}}b=0;e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];h:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break h}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;i:{switch(g-1|0){case 8:m=a;t=d;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;h=g+8|0;a=L[c+38>>1];j:{k:{if(!a){break k}l:{if(a>>>0<=511){a=J[c+12>>2];e=J[c+20>>2];b=J[c+16>>2];d=b+4|0;e=d>>>0<4?e+1|0:e;if((a|0)<=(e|0)&d>>>0>M[c+8>>2]|(a|0)<(e|0)){break k}a=b+J[c>>2]|0;j=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[h+12>>2]=j;e=J[c+20>>2];a=J[c+16>>2]+4|0;e=a>>>0<4?e+1|0:e;f=a;J[c+16>>2]=a;J[c+20>>2]=e;break l}if(!ve(1,h+12|0,c)){break k}f=J[c+16>>2];e=J[c+20>>2];j=J[h+12>>2]}a=J[c+8>>2];b=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(b>>>0<j>>>6>>>0&(a|0)<=0|(a|0)<0){break k}b=J[h>>2];a=J[h+4>>2]-b>>2;m:{if(a>>>0<j>>>0){Oa(h,j-a|0);j=J[h+12>>2];break m}if(a>>>0<=j>>>0){break m}J[h+4>>2]=b+(j<<2)}d=1;if(!j){break j}f=J[c+16>>2];e=J[c+20>>2];q=J[h>>2];r=J[c+8>>2];o=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break j}d=J[c>>2];n=K[d+f|0];a=f+1|0;e=a?e:e+1|0;f=a;J[c+16>>2]=a;J[c+20>>2]=e;a=n>>>2|0;i=0;n:{o:{p:{q:{s=n&3;switch(s|0){case 0:break o;case 3:break q;default:break p}}a=a+b|0;d=0;if(a>>>0>=j>>>0){break j}Xi(q+(b<<2)|0,0,(n&252)+4|0);b=a;break n}while(1){if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break k}j=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=j<<(i<<3|6)|a;i=i+1|0;if((s|0)!=(i|0)){continue}break}}J[q+(b<<2)>>2]=a}b=b+1|0;j=J[h+12>>2];if(b>>>0<j>>>0){continue}break}a=h+16|0;o=J[h>>2];d=J[h+16>>2];b=J[h+20>>2]-d|0;r:{if(b>>>0<=32767){Oa(a,8192-(b>>>2|0)|0);break r}if((b|0)==32768){break r}J[h+20>>2]=d+32768}d=h+28|0;b=J[d>>2];e=J[h+32>>2]-b>>3;s:{if(e>>>0<j>>>0){we(d,j-e|0);b=J[d>>2];break s}if(e>>>0>j>>>0){J[h+32>>2]=(j<<3)+b}if(!j){break k}}h=J[a>>2];e=0;d=0;while(1){f=o+(e<<2)|0;i=J[f>>2];n=(e<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=i;f=J[f>>2];d=f+a|0;if(d>>>0>8192){break k}t:{if(a>>>0>=d>>>0){break t}i=0;n=f&7;if(n){while(1){J[h+(a<<2)>>2]=e;a=a+1|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}if(f-1>>>0<=6){break t}while(1){f=h+(a<<2)|0;J[f>>2]=e;J[f+28>>2]=e;J[f+24>>2]=e;J[f+20>>2]=e;J[f+16>>2]=e;J[f+12>>2]=e;J[f+8>>2]=e;J[f+4>>2]=e;a=a+8|0;if((d|0)!=(a|0)){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}k=(d|0)==8192}d=k}u:{if(!d|(J[g+20>>2]?0:m)){break u}d=0;i=ia-16|0;ia=i;v:{w:{if(L[c+38>>1]<=511){j=J[c+12>>2];a=j;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;b=J[c+8>>2];if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break v}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break w}if(!xe(1,i+8|0,c)){break v}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];j=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}h=b-f|0;b=j-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>h>>>0|b>>>0<k>>>0){break v}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break v}b=f+J[c>>2]|0;J[g+48>>2]=b;c=a-1|0;e=c+b|0;f=K[e|0];x:{if(f>>>0<=63){J[g+52>>2]=c;a=K[e|0]&63;break x}y:{switch((f>>>6|0)-1|0){case 0:if(a>>>0<2){break v}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break x;case 1:if(a>>>0<3){break v}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break x;default:break y}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=K[a+2|0]<<16|K[a+3|0]<<24&1056964608|K[a+1|0]<<8|K[a|0]}J[g+56>>2]=a+32768;d=a>>>0<8355840}ia=i+16|0;if(!d){break u}if(!m){l=1;break u}a=J[g+56>>2];b=J[g+36>>2];c=J[g+48>>2];d=J[g+24>>2];while(1){z:{if(a>>>0>32767){break z}l=J[g+52>>2];while(1){if((l|0)<=0){break z}l=l-1|0;J[g+52>>2]=l;a=K[c+l|0]|a<<8;J[g+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;f=J[d+(e<<2)>>2];l=b+(f<<3)|0;a=(P(J[l>>2],a>>>13|0)+e|0)-J[l+4>>2]|0;J[g+56>>2]=a;J[t+(p<<2)>>2]=f;l=1;p=p+1|0;if((m|0)!=(p|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;b=l;break h;case 9:m=a;t=d;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;h=g+8|0;a=L[c+38>>1];A:{B:{if(!a){break B}C:{if(a>>>0<=511){a=J[c+12>>2];e=J[c+20>>2];b=J[c+16>>2];d=b+4|0;e=d>>>0<4?e+1|0:e;if((a|0)<=(e|0)&d>>>0>M[c+8>>2]|(a|0)<(e|0)){break B}a=b+J[c>>2]|0;j=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[h+12>>2]=j;e=J[c+20>>2];a=J[c+16>>2]+4|0;e=a>>>0<4?e+1|0:e;f=a;J[c+16>>2]=a;J[c+20>>2]=e;break C}if(!ve(1,h+12|0,c)){break B}f=J[c+16>>2];e=J[c+20>>2];j=J[h+12>>2]}a=J[c+8>>2];b=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(b>>>0<j>>>6>>>0&(a|0)<=0|(a|0)<0){break B}b=J[h>>2];a=J[h+4>>2]-b>>2;D:{if(a>>>0<j>>>0){Oa(h,j-a|0);j=J[h+12>>2];break D}if(a>>>0<=j>>>0){break D}J[h+4>>2]=b+(j<<2)}d=1;if(!j){break A}f=J[c+16>>2];e=J[c+20>>2];q=J[h>>2];r=J[c+8>>2];o=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break A}d=J[c>>2];n=K[d+f|0];a=f+1|0;e=a?e:e+1|0;f=a;J[c+16>>2]=a;J[c+20>>2]=e;a=n>>>2|0;i=0;E:{F:{G:{H:{s=n&3;switch(s|0){case 0:break F;case 3:break H;default:break G}}a=a+b|0;d=0;if(a>>>0>=j>>>0){break A}Xi(q+(b<<2)|0,0,(n&252)+4|0);b=a;break E}while(1){if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break B}j=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=j<<(i<<3|6)|a;i=i+1|0;if((s|0)!=(i|0)){continue}break}}J[q+(b<<2)>>2]=a}b=b+1|0;j=J[h+12>>2];if(b>>>0<j>>>0){continue}break}a=h+16|0;o=J[h>>2];d=J[h+16>>2];b=J[h+20>>2]-d|0;I:{if(b>>>0<=131071){Oa(a,32768-(b>>>2|0)|0);break I}if((b|0)==131072){break I}J[h+20>>2]=d+131072}d=h+28|0;b=J[d>>2];e=J[h+32>>2]-b>>3;J:{if(e>>>0<j>>>0){we(d,j-e|0);b=J[d>>2];break J}if(e>>>0>j>>>0){J[h+32>>2]=(j<<3)+b}if(!j){break B}}h=J[a>>2];e=0;d=0;while(1){f=o+(e<<2)|0;i=J[f>>2];n=(e<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=i;f=J[f>>2];d=f+a|0;if(d>>>0>32768){break B}K:{if(a>>>0>=d>>>0){break K}i=0;n=f&7;if(n){while(1){J[h+(a<<2)>>2]=e;a=a+1|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}if(f-1>>>0<=6){break K}while(1){f=h+(a<<2)|0;J[f>>2]=e;J[f+28>>2]=e;J[f+24>>2]=e;J[f+20>>2]=e;J[f+16>>2]=e;J[f+12>>2]=e;J[f+8>>2]=e;J[f+4>>2]=e;a=a+8|0;if((d|0)!=(a|0)){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}k=(d|0)==32768}d=k}L:{if(!d|(J[g+20>>2]?0:m)){break L}d=0;h=ia-16|0;ia=h;M:{N:{if(L[c+38>>1]<=511){j=J[c+12>>2];a=j;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;b=J[c+8>>2];if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break M}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break N}if(!xe(1,h+8|0,c)){break M}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];j=J[c+12>>2];a=J[h+8>>2];k=J[h+12>>2]}i=b-f|0;b=j-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0<k>>>0){break M}i=e+k|0;b=a+f|0;i=b>>>0<a>>>0?i+1|0:i;J[c+16>>2]=b;J[c+20>>2]=i;if((a|0)<=0){break M}b=f+J[c>>2]|0;J[g+48>>2]=b;c=a-1|0;e=c+b|0;f=K[e|0];O:{if(f>>>0<=63){J[g+52>>2]=c;a=K[e|0]&63;break O}P:{switch((f>>>6|0)-1|0){case 0:if(a>>>0<2){break M}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break O;case 1:if(a>>>0<3){break M}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break O;default:break P}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=K[a+2|0]<<16|K[a+3|0]<<24&1056964608|K[a+1|0]<<8|K[a|0]}J[g+56>>2]=a+131072;d=a>>>0<33423360}ia=h+16|0;if(!d){break L}if(!m){l=1;break L}a=J[g+56>>2];b=J[g+36>>2];c=J[g+48>>2];d=J[g+24>>2];while(1){Q:{if(a>>>0>131071){break Q}l=J[g+52>>2];while(1){if((l|0)<=0){break Q}l=l-1|0;J[g+52>>2]=l;a=K[c+l|0]|a<<8;J[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;f=J[d+(e<<2)>>2];l=b+(f<<3)|0;a=(P(J[l>>2],a>>>15|0)+e|0)-J[l+4>>2]|0;J[g+56>>2]=a;J[t+(p<<2)>>2]=f;l=1;p=p+1|0;if((m|0)!=(p|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;b=l;break h;case 10:m=a;t=d;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;h=g+8|0;a=L[c+38>>1];R:{S:{if(!a){break S}T:{if(a>>>0<=511){a=J[c+12>>2];e=J[c+20>>2];b=J[c+16>>2];d=b+4|0;e=d>>>0<4?e+1|0:e;if((a|0)<=(e|0)&d>>>0>M[c+8>>2]|(a|0)<(e|0)){break S}a=b+J[c>>2]|0;j=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[h+12>>2]=j;e=J[c+20>>2];a=J[c+16>>2]+4|0;e=a>>>0<4?e+1|0:e;f=a;J[c+16>>2]=a;J[c+20>>2]=e;break T}if(!ve(1,h+12|0,c)){break S}f=J[c+16>>2];e=J[c+20>>2];j=J[h+12>>2]}a=J[c+8>>2];b=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(b>>>0<j>>>6>>>0&(a|0)<=0|(a|0)<0){break S}b=J[h>>2];a=J[h+4>>2]-b>>2;U:{if(a>>>0<j>>>0){Oa(h,j-a|0);j=J[h+12>>2];break U}if(a>>>0<=j>>>0){break U}J[h+4>>2]=b+(j<<2)}d=1;if(!j){break R}f=J[c+16>>2];e=J[c+20>>2];q=J[h>>2];r=J[c+8>>2];o=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break R}d=J[c>>2];n=K[d+f|0];a=f+1|0;i=a?e:e+1|0;f=a;J[c+16>>2]=a;e=i;J[c+20>>2]=e;a=n>>>2|0;i=0;V:{W:{X:{Y:{s=n&3;switch(s|0){case 0:break W;case 3:break Y;default:break X}}a=a+b|0;d=0;if(a>>>0>=j>>>0){break R}Xi(q+(b<<2)|0,0,(n&252)+4|0);b=a;break V}while(1){if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break S}j=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=j<<(i<<3|6)|a;i=i+1|0;if((s|0)!=(i|0)){continue}break}}J[q+(b<<2)>>2]=a}b=b+1|0;j=J[h+12>>2];if(b>>>0<j>>>0){continue}break}a=h+16|0;o=J[h>>2];d=J[h+16>>2];b=J[h+20>>2]-d|0;Z:{if(b>>>0<=262143){Oa(a,65536-(b>>>2|0)|0);break Z}if((b|0)==262144){break Z}J[h+20>>2]=d+262144}d=h+28|0;b=J[d>>2];e=J[h+32>>2]-b>>3;_:{if(e>>>0<j>>>0){we(d,j-e|0);b=J[d>>2];break _}if(e>>>0>j>>>0){J[h+32>>2]=(j<<3)+b}if(!j){break S}}h=J[a>>2];e=0;d=0;while(1){f=o+(e<<2)|0;i=J[f>>2];n=(e<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=i;f=J[f>>2];d=f+a|0;if(d>>>0>65536){break S}$:{if(a>>>0>=d>>>0){break $}i=0;n=f&7;if(n){while(1){J[h+(a<<2)>>2]=e;a=a+1|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}if(f-1>>>0<=6){break $}while(1){f=h+(a<<2)|0;J[f>>2]=e;J[f+28>>2]=e;J[f+24>>2]=e;J[f+20>>2]=e;J[f+16>>2]=e;J[f+12>>2]=e;J[f+8>>2]=e;J[f+4>>2]=e;a=a+8|0;if((d|0)!=(a|0)){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}k=(d|0)==65536}d=k}aa:{if(!d|(J[g+20>>2]?0:m)){break aa}d=0;i=ia-16|0;ia=i;ba:{ca:{if(L[c+38>>1]<=511){j=J[c+12>>2];a=j;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;b=J[c+8>>2];if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break ba}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break ca}if(!xe(1,i+8|0,c)){break ba}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];j=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}h=b-f|0;b=j-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>h>>>0|b>>>0<k>>>0){break ba}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break ba}b=f+J[c>>2]|0;J[g+48>>2]=b;c=a-1|0;e=c+b|0;f=K[e|0];da:{if(f>>>0<=63){J[g+52>>2]=c;a=K[e|0]&63;break da}ea:{switch((f>>>6|0)-1|0){case 0:if(a>>>0<2){break ba}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break da;case 1:if(a>>>0<3){break ba}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break da;default:break ea}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=K[a+2|0]<<16|K[a+3|0]<<24&1056964608|K[a+1|0]<<8|K[a|0]}J[g+56>>2]=a+262144;d=a>>>0<66846720}ia=i+16|0;if(!d){break aa}if(!m){l=1;break aa}a=J[g+56>>2];b=J[g+36>>2];c=J[g+48>>2];d=J[g+24>>2];while(1){fa:{if(a>>>0>262143){break fa}l=J[g+52>>2];while(1){if((l|0)<=0){break fa}l=l-1|0;J[g+52>>2]=l;a=K[c+l|0]|a<<8;J[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;f=J[d+(e<<2)>>2];l=b+(f<<3)|0;a=(P(J[l>>2],a>>>16|0)+e|0)-J[l+4>>2]|0;J[g+56>>2]=a;J[t+(p<<2)>>2]=f;l=1;p=p+1|0;if((m|0)!=(p|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;b=l;break h;case 11:m=a;t=d;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;h=g+8|0;a=L[c+38>>1];ga:{ha:{if(!a){break ha}ia:{if(a>>>0<=511){a=J[c+12>>2];e=J[c+20>>2];b=J[c+16>>2];d=b+4|0;e=d>>>0<4?e+1|0:e;if((a|0)<=(e|0)&d>>>0>M[c+8>>2]|(a|0)<(e|0)){break ha}a=b+J[c>>2]|0;j=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[h+12>>2]=j;i=J[c+20>>2];a=J[c+16>>2]+4|0;i=a>>>0<4?i+1|0:i;f=a;J[c+16>>2]=a;e=i;J[c+20>>2]=e;break ia}if(!ve(1,h+12|0,c)){break ha}f=J[c+16>>2];e=J[c+20>>2];j=J[h+12>>2]}a=J[c+8>>2];b=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(b>>>0<j>>>6>>>0&(a|0)<=0|(a|0)<0){break ha}b=J[h>>2];a=J[h+4>>2]-b>>2;ja:{if(a>>>0<j>>>0){Oa(h,j-a|0);j=J[h+12>>2];break ja}if(a>>>0<=j>>>0){break ja}J[h+4>>2]=b+(j<<2)}d=1;if(!j){break ga}f=J[c+16>>2];e=J[c+20>>2];q=J[h>>2];r=J[c+8>>2];o=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break ga}d=J[c>>2];n=K[d+f|0];a=f+1|0;e=a?e:e+1|0;f=a;J[c+16>>2]=a;J[c+20>>2]=e;a=n>>>2|0;i=0;ka:{la:{ma:{na:{s=n&3;switch(s|0){case 0:break la;case 3:break na;default:break ma}}a=a+b|0;d=0;if(a>>>0>=j>>>0){break ga}Xi(q+(b<<2)|0,0,(n&252)+4|0);b=a;break ka}while(1){if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break ha}j=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=j<<(i<<3|6)|a;i=i+1|0;if((s|0)!=(i|0)){continue}break}}J[q+(b<<2)>>2]=a}b=b+1|0;j=J[h+12>>2];if(b>>>0<j>>>0){continue}break}a=h+16|0;o=J[h>>2];d=J[h+16>>2];b=J[h+20>>2]-d|0;oa:{if(b>>>0<=1048575){Oa(a,262144-(b>>>2|0)|0);break oa}if((b|0)==1048576){break oa}J[h+20>>2]=d- -1048576}d=h+28|0;b=J[d>>2];e=J[h+32>>2]-b>>3;pa:{if(e>>>0<j>>>0){we(d,j-e|0);b=J[d>>2];break pa}if(e>>>0>j>>>0){J[h+32>>2]=(j<<3)+b}if(!j){break ha}}h=J[a>>2];e=0;d=0;while(1){f=o+(e<<2)|0;i=J[f>>2];n=(e<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=i;f=J[f>>2];d=f+a|0;if(d>>>0>262144){break ha}qa:{if(a>>>0>=d>>>0){break qa}i=0;n=f&7;if(n){while(1){J[h+(a<<2)>>2]=e;a=a+1|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}if(f-1>>>0<=6){break qa}while(1){f=h+(a<<2)|0;J[f>>2]=e;J[f+28>>2]=e;J[f+24>>2]=e;J[f+20>>2]=e;J[f+16>>2]=e;J[f+12>>2]=e;J[f+8>>2]=e;J[f+4>>2]=e;a=a+8|0;if((d|0)!=(a|0)){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}k=(d|0)==262144}d=k}ra:{if(!d|(J[g+20>>2]?0:m)){break ra}d=0;h=ia-16|0;ia=h;sa:{ta:{if(L[c+38>>1]<=511){j=J[c+12>>2];a=j;i=J[c+20>>2];k=J[c+16>>2];e=k+8|0;i=e>>>0<8?i+1|0:i;b=J[c+8>>2];f=e;e=i;if(b>>>0<f>>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break sa}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break ta}if(!xe(1,h+8|0,c)){break sa}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];j=J[c+12>>2];a=J[h+8>>2];k=J[h+12>>2]}i=b-f|0;b=j-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0<k>>>0){break sa}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break sa}b=f+J[c>>2]|0;J[g+48>>2]=b;c=a-1|0;e=c+b|0;f=K[e|0];ua:{if(f>>>0<=63){J[g+52>>2]=c;a=K[e|0]&63;break ua}va:{switch((f>>>6|0)-1|0){case 0:if(a>>>0<2){break sa}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ua;case 1:if(a>>>0<3){break sa}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ua;default:break va}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=K[a+2|0]<<16|K[a+3|0]<<24&1056964608|K[a+1|0]<<8|K[a|0]}J[g+56>>2]=a- -1048576;d=a>>>0<267386880}ia=h+16|0;if(!d){break ra}if(!m){l=1;break ra}a=J[g+56>>2];b=J[g+36>>2];c=J[g+48>>2];d=J[g+24>>2];while(1){wa:{if(a>>>0>1048575){break wa}l=J[g+52>>2];while(1){if((l|0)<=0){break wa}l=l-1|0;J[g+52>>2]=l;a=K[c+l|0]|a<<8;J[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;f=J[d+(e<<2)>>2];l=b+(f<<3)|0;a=(P(J[l>>2],a>>>18|0)+e|0)-J[l+4>>2]|0;J[g+56>>2]=a;J[t+(p<<2)>>2]=f;l=1;p=p+1|0;if((m|0)!=(p|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;b=l;break h;case 12:m=a;t=d;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;h=g+8|0;a=L[c+38>>1];xa:{ya:{if(!a){break ya}za:{if(a>>>0<=511){a=J[c+12>>2];i=J[c+20>>2];b=J[c+16>>2];d=b+4|0;i=d>>>0<4?i+1|0:i;if((a|0)<=(i|0)&d>>>0>M[c+8>>2]|(a|0)<(i|0)){break ya}a=b+J[c>>2]|0;j=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[h+12>>2]=j;e=J[c+20>>2];a=J[c+16>>2]+4|0;e=a>>>0<4?e+1|0:e;f=a;J[c+16>>2]=a;J[c+20>>2]=e;break za}if(!ve(1,h+12|0,c)){break ya}f=J[c+16>>2];e=J[c+20>>2];j=J[h+12>>2]}a=J[c+8>>2];b=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(b>>>0<j>>>6>>>0&(a|0)<=0|(a|0)<0){break ya}b=J[h>>2];a=J[h+4>>2]-b>>2;Aa:{if(a>>>0<j>>>0){Oa(h,j-a|0);j=J[h+12>>2];break Aa}if(a>>>0<=j>>>0){break Aa}J[h+4>>2]=b+(j<<2)}d=1;if(!j){break xa}f=J[c+16>>2];e=J[c+20>>2];q=J[h>>2];r=J[c+8>>2];o=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break xa}d=J[c>>2];n=K[d+f|0];a=f+1|0;e=a?e:e+1|0;f=a;J[c+16>>2]=a;J[c+20>>2]=e;a=n>>>2|0;i=0;Ba:{Ca:{Da:{Ea:{s=n&3;switch(s|0){case 0:break Ca;case 3:break Ea;default:break Da}}a=a+b|0;d=0;if(a>>>0>=j>>>0){break xa}Xi(q+(b<<2)|0,0,(n&252)+4|0);b=a;break Ba}while(1){if((e|0)>=(o|0)&f>>>0>=r>>>0|(e|0)>(o|0)){break ya}j=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=j<<(i<<3|6)|a;i=i+1|0;if((s|0)!=(i|0)){continue}break}}J[q+(b<<2)>>2]=a}b=b+1|0;j=J[h+12>>2];if(b>>>0<j>>>0){continue}break}a=h+16|0;o=J[h>>2];d=J[h+16>>2];b=J[h+20>>2]-d|0;Fa:{if(b>>>0<=2097151){Oa(a,524288-(b>>>2|0)|0);break Fa}if((b|0)==2097152){break Fa}J[h+20>>2]=d+2097152}d=h+28|0;b=J[d>>2];e=J[h+32>>2]-b>>3;Ga:{if(e>>>0<j>>>0){we(d,j-e|0);b=J[d>>2];break Ga}if(e>>>0>j>>>0){J[h+32>>2]=(j<<3)+b}if(!j){break ya}}h=J[a>>2];e=0;d=0;while(1){f=o+(e<<2)|0;i=J[f>>2];n=(e<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=i;f=J[f>>2];d=f+a|0;if(d>>>0>524288){break ya}Ha:{if(a>>>0>=d>>>0){break Ha}i=0;n=f&7;if(n){while(1){J[h+(a<<2)>>2]=e;a=a+1|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}if(f-1>>>0<=6){break Ha}while(1){f=h+(a<<2)|0;J[f>>2]=e;J[f+28>>2]=e;J[f+24>>2]=e;J[f+20>>2]=e;J[f+16>>2]=e;J[f+12>>2]=e;J[f+8>>2]=e;J[f+4>>2]=e;a=a+8|0;if((d|0)!=(a|0)){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}k=(d|0)==524288}d=k}Ia:{if(!d|(J[g+20>>2]?0:m)){break Ia}d=0;i=ia-16|0;ia=i;Ja:{Ka:{if(L[c+38>>1]<=511){j=J[c+12>>2];a=j;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;b=J[c+8>>2];if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ja}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break Ka}if(!xe(1,i+8|0,c)){break Ja}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];j=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}h=b-f|0;b=j-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>h>>>0|b>>>0<k>>>0){break Ja}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break Ja}b=f+J[c>>2]|0;J[g+48>>2]=b;c=a-1|0;e=c+b|0;f=K[e|0];La:{if(f>>>0<=63){J[g+52>>2]=c;a=K[e|0]&63;break La}Ma:{switch((f>>>6|0)-1|0){case 0:if(a>>>0<2){break Ja}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break La;case 1:if(a>>>0<3){break Ja}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break La;default:break Ma}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=K[a+2|0]<<16|K[a+3|0]<<24&1056964608|K[a+1|0]<<8|K[a|0]}J[g+56>>2]=a+2097152;d=a>>>0<534773760}ia=i+16|0;if(!d){break Ia}if(!m){l=1;break Ia}a=J[g+56>>2];b=J[g+36>>2];c=J[g+48>>2];d=J[g+24>>2];while(1){Na:{if(a>>>0>2097151){break Na}l=J[g+52>>2];while(1){if((l|0)<=0){break Na}l=l-1|0;J[g+52>>2]=l;a=K[c+l|0]|a<<8;J[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;f=J[d+(e<<2)>>2];l=b+(f<<3)|0;a=(P(J[l>>2],a>>>19|0)+e|0)-J[l+4>>2]|0;J[g+56>>2]=a;J[t+(p<<2)>>2]=f;l=1;p=p+1|0;if((m|0)!=(p|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;b=l;break h;case 17:b=ue(a,c,d);break h;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e=ia+-64|0;ia=e;J[e+56>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Oa:{if(!se(e+8|0,c)|(J[e+20>>2]?0:a)){break Oa}if(!te(e+8|0,c)){break Oa}if(!a){b=1;break Oa}c=J[e+56>>2];l=J[e+36>>2];k=J[e+48>>2];i=J[e+24>>2];while(1){Pa:{if(c>>>0>16383){break Pa}b=J[e+52>>2];while(1){if((b|0)<=0){break Pa}b=b-1|0;J[e+52>>2]=b;c=K[b+k|0]|c<<8;J[e+56>>2]=c;if(c>>>0<16384){continue}break}}b=c&4095;g=J[i+(b<<2)>>2];m=l+(g<<3)|0;c=(P(J[m>>2],c>>>12|0)+b|0)-J[m+4>>2]|0;J[e+56>>2]=c;J[(f<<2)+d>>2]=g;b=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}}a=J[e+36>>2];if(a){J[e+40>>2]=a;xj(a)}a=J[e+24>>2];if(a){J[e+28>>2]=a;xj(a)}a=J[e+8>>2];if(a){J[e+12>>2]=a;xj(a)}ia=e- -64|0;break h;case 13:case 14:case 15:case 16:break i;default:break h}}b=ue(a,c,d)}f=b}return f}function of(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0,R=0;t=ia+-64|0;ia=t;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){d=J[c>>2];xj(c);c=d;if(c){continue}break}}c=0;J[a+144>>2]=0;d=J[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){f=d&-4;while(1){b=c<<2;J[b+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(b|4)>>2]=0;J[J[a+136>>2]+(b|8)>>2]=0;J[J[a+136>>2]+(b|12)>>2]=0;c=c+4|0;g=g+4|0;if((f|0)!=(g|0)){continue}break}}d=d&3;if(!d){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;w=w+1|0;if((d|0)!=(w|0)){continue}break}}J[a+148>>2]=0}b:{c:{d:{c=J[a+4>>2];w=K[c+36|0];d=w<<8|K[c+37|0];if(d>>>0<=513){b=J[c+32>>2];e:{if(d>>>0<=511){g=J[b+20>>2];f=J[b+16>>2];d=f+4|0;g=d>>>0<4?g+1|0:g;e=d;d=g;i=J[b+12>>2];if(e>>>0>M[b+8>>2]&(d|0)>=(i|0)|(d|0)>(i|0)){break d}g=f+J[b>>2]|0;g=K[g|0]|K[g+1|0]<<8|(K[g+2|0]<<16|K[g+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;break e}if(!Te(1,t,b)){break d}c=J[a+4>>2];w=K[c+36|0];g=J[t>>2]}J[a+132>>2]=g}g=J[c+32>>2];f:{g:{h:{if((w&255)>>>0<=1){w=0;d=J[g+20>>2];b=J[g+16>>2];f=b+4|0;d=f>>>0<4?d+1|0:d;e=J[g+12>>2];if((e|0)<=(d|0)&f>>>0>M[g+8>>2]|(d|0)>(e|0)){break c}b=b+J[g>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[t+60>>2]=b;J[g+16>>2]=f;J[g+20>>2]=d;J[a+156>>2]=b;q=a+156|0;break h}w=0;if(!Te(1,t+60|0,g)){break c}c=J[a+4>>2];d=K[c+36|0];J[a+156>>2]=J[t+60>>2];q=a+156|0;if(d>>>0>1){break g}}d=J[c+32>>2];c=J[d+8>>2];g=J[d+12>>2];i=c;c=J[d+20>>2];b=J[d+16>>2];f=b+4|0;c=f>>>0<4?c+1|0:c;if(i>>>0<f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}g=b+J[d>>2]|0;g=K[g|0]|K[g+1|0]<<8|(K[g+2|0]<<16|K[g+3|0]<<24);J[t+56>>2]=g;J[d+16>>2]=f;J[d+20>>2]=c;break f}if(!Te(1,t+56|0,J[c+32>>2])){break c}g=J[t+56>>2]}if(g>>>0>1431655765|M[q>>2]>P(g,3)>>>0){break c}l=J[a+4>>2];b=J[l+32>>2];A=J[b+8>>2];f=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];if((f|0)<=(d|0)&A>>>0<=e>>>0|(d|0)>(f|0)){break c}j=J[b>>2];i=K[j+e|0];c=d;q=e+1|0;c=q?c:c+1|0;J[b+16>>2]=q;J[b+20>>2]=c;i:{if(K[l+36|0]<=1){c=f;f=e+5|0;d=f>>>0<5?d+1|0:d;if((c|0)<=(d|0)&f>>>0>A>>>0|(c|0)<(d|0)){break c}c=j+q|0;q=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+52>>2]=q;J[b+16>>2]=f;J[b+20>>2]=d;break i}if(!Te(1,t+52|0,b)){break c}q=J[t+52>>2]}if(g>>>0<q>>>0|((q>>>0)/3|0)+q>>>0<g>>>0){break c}c=J[a+4>>2];b=J[c+32>>2];j:{if(K[c+36|0]<=1){c=J[b+20>>2];d=J[b+16>>2];f=d+4|0;c=f>>>0<4?c+1|0:c;e=J[b+12>>2];if((e|0)<=(c|0)&f>>>0>M[b+8>>2]|(c|0)>(e|0)){break c}d=d+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[t+48>>2]=d;J[b+16>>2]=f;J[b+20>>2]=c;break j}if(!Te(1,t+48|0,b)){break c}d=J[t+48>>2]}if(d>>>0>q>>>0){break c}J[a+28>>2]=J[a+24>>2];b=ui(Aj(88));c=J[a+8>>2];J[a+8>>2]=b;if(c){Ue(c);if(!J[a+8>>2]){break c}}J[a+164>>2]=J[a+160>>2];Ve(a+160|0,g);J[a+176>>2]=J[a+172>>2];Ve(a+172|0,g);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];B=a+216|0;We(B);Xe(B,i);if(!vi(J[a+8>>2],g,J[a+156>>2]+d|0)){break c}c=J[a+156>>2];H[t|0]=1;Qe(a+120|0,c+d|0,t);c=J[a+4>>2];g=L[c+36>>1];g=(g<<8|g>>>8)&65535;k:{if(g>>>0<=513){b=J[c+32>>2];l:{if(g>>>0<=511){g=J[b+20>>2];f=J[b+16>>2];c=f+4|0;g=c>>>0<4?g+1|0:g;e=c;c=g;l=J[b+12>>2];if(e>>>0>M[b+8>>2]&(c|0)>=(l|0)|(c|0)>(l|0)){break c}g=f+J[b>>2]|0;g=K[g|0]|K[g+1|0]<<8|(K[g+2|0]<<16|K[g+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break l}if(!Te(1,t+44|0,b)){break c}g=J[t+44>>2]}if(!g){break c}c=J[J[a+4>>2]+32>>2];b=J[c+8>>2];f=J[c+16>>2];e=b-f|0;c=J[c+12>>2]-(J[c+20>>2]+(b>>>0<f>>>0)|0)|0;if(e>>>0<g>>>0&(c|0)<=0|(c|0)<0){break c}c=rg(t);f=J[J[a+4>>2]+32>>2];b=J[f+16>>2];e=(b+J[f>>2]|0)+g|0;l=J[f+8>>2];g=(l-b|0)-g|0;I[c+38>>1]=L[f+38>>1];J[c>>2]=e;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=g;J[c+12>>2]=0;A=Ye(a,c);if((A|0)==-1){break c}N=A>>31;break k}A=-1;N=-1;if((Ye(a,J[c+32>>2])|0)==-1){break c}}e=a+232|0;mf(e,a);J[a+372>>2]=i;J[a+384>>2]=J[a+156>>2]+d;E=rg(t);b=E;g=0;i=ia-16|0;ia=i;m:{n:{c=J[e+144>>2];c=L[(na[J[J[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+4>>2];J[e+40>>2]=J[e>>2];J[e+44>>2]=c;c=J[e+36>>2];J[e+72>>2]=J[e+32>>2];J[e+76>>2]=c;d=J[e+28>>2];c=e- -64|0;J[c>>2]=J[e+24>>2];J[c+4>>2]=d;c=J[e+20>>2];J[e+56>>2]=J[e+16>>2];J[e+60>>2]=c;c=J[e+12>>2];J[e+48>>2]=J[e+8>>2];J[e+52>>2]=c;if(!sg(e+40|0,1,i+8|0)){break n}c=J[e+44>>2];J[e>>2]=J[e+40>>2];J[e+4>>2]=c;c=J[e+76>>2];J[e+32>>2]=J[e+72>>2];J[e+36>>2]=c;c=J[e+68>>2];J[e+24>>2]=J[e+64>>2];J[e+28>>2]=c;d=J[e+60>>2];f=d;c=J[e+56>>2];J[e+16>>2]=c;J[e+20>>2]=d;l=J[e+52>>2];d=J[e+48>>2];J[e+8>>2]=d;J[e+12>>2]=l;j=d-c|0;m=J[i+12>>2];d=l-((c>>>0>d>>>0)+f|0)|0;l=J[i+8>>2];if((m|0)==(d|0)&j>>>0<l>>>0|d>>>0<m>>>0){break n}d=c;l=c+l|0;c=f+m|0;J[e+16>>2]=l;J[e+20>>2]=d>>>0>l>>>0?c+1|0:c}o:{if(L[e+38>>1]<=513){c=J[e+4>>2];J[e+96>>2]=J[e>>2];J[e+100>>2]=c;c=J[e+36>>2];J[e+128>>2]=J[e+32>>2];J[e+132>>2]=c;c=J[e+28>>2];J[e+120>>2]=J[e+24>>2];J[e+124>>2]=c;c=J[e+20>>2];J[e+112>>2]=J[e+16>>2];J[e+116>>2]=c;c=J[e+12>>2];J[e+104>>2]=J[e+8>>2];J[e+108>>2]=c;if(!sg(e+96|0,1,i+8|0)){break n}c=J[e+100>>2];J[e>>2]=J[e+96>>2];J[e+4>>2]=c;c=J[e+132>>2];J[e+32>>2]=J[e+128>>2];J[e+36>>2]=c;c=J[e+124>>2];J[e+24>>2]=J[e+120>>2];J[e+28>>2]=c;d=J[e+116>>2];f=d;c=J[e+112>>2];J[e+16>>2]=c;J[e+20>>2]=d;l=J[e+108>>2];d=J[e+104>>2];J[e+8>>2]=d;J[e+12>>2]=l;j=d-c|0;m=J[i+12>>2];d=l-((c>>>0>d>>>0)+f|0)|0;l=J[i+8>>2];if((m|0)==(d|0)&j>>>0<l>>>0|d>>>0<m>>>0){break n}d=f+m|0;l=c+l|0;d=l>>>0<c>>>0?d+1|0:d;J[e+16>>2]=l;J[e+20>>2]=d;break o}if(!je(e+80|0,e)){break m}}if(!ef(e)){break m}c=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=c;c=J[e+36>>2];J[b+32>>2]=J[e+32>>2];J[b+36>>2]=c;c=J[e+28>>2];J[b+24>>2]=J[e+24>>2];J[b+28>>2]=c;c=J[e+20>>2];J[b+16>>2]=J[e+16>>2];J[b+20>>2]=c;c=J[e+12>>2];J[b+8>>2]=J[e+8>>2];J[b+12>>2]=c;c=J[e+144>>2];c=L[(na[J[J[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+144>>2];q:{if(K[(na[J[J[c>>2]+32>>2]](c)|0)+36|0]<=1){c=J[b+20>>2];d=J[b+16>>2];f=d+4|0;c=f>>>0<4?c+1|0:c;l=J[b+12>>2];if((l|0)<=(c|0)&f>>>0>M[b+8>>2]|(c|0)>(l|0)){break m}d=d+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;break q}if(!Te(1,i+8|0,b)){break m}d=J[i+8>>2]}c=J[e+152>>2];if(d>>>0>=c>>>0){break m}d=J[b+20>>2];l=J[b+12>>2];f=J[b+16>>2];if((d|0)>=(l|0)&f>>>0>=M[b+8>>2]|(d|0)>(l|0)){break m}l=K[f+J[b>>2]|0];f=f+1|0;d=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=d;if(l){break m}J[e+176>>2]=2;J[e+180>>2]=7;break p}J[e+176>>2]=2;J[e+180>>2]=7;c=J[e+152>>2]}if((c|0)<0){break m}J[i+8>>2]=0;g=2;l=J[e+156>>2];f=J[e+160>>2]-l>>2;r:{if(f>>>0<c>>>0){jb(e+156|0,c-f|0,i+8|0);g=J[e+176>>2];d=J[e+180>>2];break r}d=7;if(c>>>0>=f>>>0){break r}J[e+160>>2]=l+(c<<2)}f=e+184|0;d=(d-g|0)+1|0;c=J[e+188>>2];l=J[e+184>>2];g=(c-l|0)/12|0;s:{if(d>>>0>g>>>0){d=d-g|0;j=J[f+8>>2];c=J[f+4>>2];t:{if(d>>>0<=(j-c|0)/12>>>0){if(d){g=c;c=P(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=Xi(g,0,c)+c|0}J[f+4>>2]=c;break t}u:{v:{w:{l=J[f>>2];m=(c-l|0)/12|0;g=m+d|0;if(g>>>0<357913942){j=(j-l|0)/12|0;h=j<<1;j=j>>>0>=178956970?357913941:g>>>0<h>>>0?h:g;if(j){if(j>>>0>=357913942){break w}x=Aj(P(j,12))}g=P(m,12)+x|0;d=P(d,12)-12|0;m=(d-((d>>>0)%12|0)|0)+12|0;d=Xi(g,0,m);m=d+m|0;j=P(j,12)+x|0;if((c|0)==(l|0)){break v}while(1){g=g-12|0;c=c-12|0;J[g>>2]=J[c>>2];J[g+4>>2]=J[c+4>>2];J[g+8>>2]=J[c+8>>2];J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if((c|0)!=(l|0)){continue}break}J[f+8>>2]=j;d=J[f+4>>2];J[f+4>>2]=m;c=J[f>>2];J[f>>2]=g;if((c|0)==(d|0)){break u}while(1){g=d-12|0;l=J[g>>2];if(l){J[d-8>>2]=l;xj(l)}d=g;if((d|0)!=(c|0)){continue}break}break u}break b}Za();C()}J[f+8>>2]=j;J[f+4>>2]=m;J[f>>2]=d}if(c){xj(c)}}d=J[e+188>>2];break s}if(d>>>0>=g>>>0){d=c;break s}d=l+P(d,12)|0;if((d|0)!=(c|0)){while(1){g=c-12|0;l=J[g>>2];if(l){J[c-8>>2]=l;xj(l)}c=g;if((d|0)!=(c|0)){continue}break}}J[e+188>>2]=d}j=e+196|0;g=J[e+184>>2];c=(d-g|0)/12|0;m=J[e+196>>2];l=J[e+200>>2]-m>>2;x:{if(c>>>0>l>>>0){Oa(j,c-l|0);g=J[e+184>>2];d=J[e+188>>2];break x}if(c>>>0>=l>>>0){break x}J[e+200>>2]=m+(c<<2)}if((d|0)==(g|0)){g=1;break m}c=0;while(1){if(!Te(1,i+8|0,b)){break n}g=J[i+8>>2];d=J[e+148>>2];if(g>>>0>(J[d+4>>2]-J[d>>2]>>2>>>0)/3>>>0){break n}if(g){x=P(c,12);l=x+J[f>>2]|0;d=J[l>>2];m=J[l+4>>2]-d>>2;y:{if(m>>>0<g>>>0){Oa(l,g-m|0);d=J[x+J[f>>2]>>2];break y}if(g>>>0>=m>>>0){break y}J[l+4>>2]=(g<<2)+d}re(g,1,b,d);J[J[j>>2]+(c<<2)>>2]=g}g=1;c=c+1|0;if(c>>>0<(J[e+188>>2]-J[e+184>>2]|0)/12>>>0){continue}break}break m}g=0}ia=i+16|0;z:{if(!g){break z}c=0;f=0;g=0;d=0;l=0;x=0;n=ia-96|0;ia=n;J[n+72>>2]=0;J[n+64>>2]=0;J[n+68>>2]=0;J[n+48>>2]=0;J[n+52>>2]=0;J[n+40>>2]=0;J[n+44>>2]=0;J[n+56>>2]=1065353216;J[n+32>>2]=0;J[n+24>>2]=0;J[n+28>>2]=0;j=a;F=J[a+124>>2];A:{B:{C:{D:{if((q|0)<=0){break D}r=j+232|0;O=J[j+216>>2]!=J[j+220>>2];D=1;while(1){i=l;l=i+1|0;a=J[r+172>>2];E:{F:{if((a|0)!=-1){b=J[r+196>>2]+(a<<2)|0;m=J[b>>2];a=m-1|0;J[b>>2]=a;b=9;if((m|0)<=0){break E}a=J[J[J[r+184>>2]+P(J[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break E}b=J[(a<<2)+12192>>2];break F}b=7;a=J[r+144>>2];a=L[(na[J[J[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!K[r+76|0]){break F}b=0;p=J[r- -64>>2];h=J[r+72>>2];a=p+(h>>>3|0)|0;o=J[r+68>>2];if(a>>>0>=o>>>0){break F}m=K[a|0];a=h+1|0;J[r+72>>2]=a;m=m>>>(h&7)&1;if(!m){break F}k=a>>>3|0;b=p+k|0;G:{if(b>>>0>=o>>>0){b=a;a=0;break G}s=K[b|0];b=h+2|0;J[r+72>>2]=b;k=b>>>3|0;a=s>>>(a&7)&1}h=k+p|0;if(h>>>0<o>>>0){h=K[h|0];J[r+72>>2]=b+1;b=h>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|m}J[r+168>>2]=b}H:{I:{if(!b){if((c|0)==(g|0)){m=-1;break C}a=-1;k=J[j+8>>2];s=J[k+24>>2];v=c-4|0;h=J[v>>2];b=-1;J:{if((h|0)==-1){break J}m=h+1|0;m=(m>>>0)%3|0?m:h-2|0;b=-1;if((m|0)==-1){break J}b=J[J[k>>2]+(m<<2)>>2]}f=J[s+(b<<2)>>2];if((f|0)!=-1){a=f+1|0;a=(a>>>0)%3|0?a:f-2|0}if((a|0)==(h|0)){m=-1;break C}if((h|0)!=-1){m=-1;if(J[J[k+12>>2]+(h<<2)>>2]!=-1){break C}}f=J[k+12>>2];if((a|0)!=-1){m=-1;if(J[f+(a<<2)>>2]!=-1){break C}}i=P(i,3);m=i+1|0;J[f+(h<<2)>>2]=m;D=m<<2;J[D+f>>2]=h;o=i+2|0;J[f+(a<<2)>>2]=o;y=o<<2;J[y+f>>2]=a;p=-1;f=-1;K:{if((h|0)==-1){break K}L:{if((h>>>0)%3|0){m=h-1|0;break L}m=h+2|0;f=-1;if((m|0)==-1){break K}}f=J[J[k>>2]+(m<<2)>>2]}M:{if((a|0)==-1){break M}m=a+1|0;a=(m>>>0)%3|0?m:a-2|0;if((a|0)==-1){break M}p=J[J[k>>2]+(a<<2)>>2]}m=-1;if((b|0)==(f|0)|(b|0)==(p|0)){break C}a=J[k>>2];J[a+(i<<2)>>2]=b;J[a+D>>2]=p;J[a+y>>2]=f;if((f|0)!=-1){J[s+(f<<2)>>2]=o}a=J[j+120>>2]+(b>>>3&536870908)|0;f=J[a>>2];Q=a,R=nk(b)&f,J[Q>>2]=R;J[v>>2]=i;s=J[c-4>>2];break I}m=-1;N:{O:{P:{Q:{R:{S:{T:{U:{V:{switch(b-1|0){case 2:case 4:if((c|0)==(g|0)){break C}v=c-4|0;a=J[v>>2];h=J[j+8>>2];k=J[h+12>>2];if(!((a|0)==-1|J[k+(a<<2)>>2]==-1)){break C}f=P(i,3);o=(b|0)==5;s=f+(o?2:1)|0;y=s<<2;J[y+k>>2]=a;J[k+(a<<2)>>2]=s;ff(h+24|0,11472);b=J[j+8>>2];p=J[b+24>>2];if(J[b+28>>2]-p>>2>(F|0)){break C}b=J[b>>2];z=b+y|0;k=J[h+28>>2];h=J[h+24>>2];y=(k-h>>2)-1|0;J[z>>2]=y;if((h|0)!=(k|0)){J[p+(y<<2)>>2]=s}k=o?f:f+2|0;o=b+(f+o<<2)|0;W:{if((a|0)==-1){J[b+(k<<2)>>2]=-1;h=-1;break W}X:{Y:{Z:{if((a>>>0)%3|0){h=a-1|0;break Z}h=a+2|0;if((h|0)==-1){break Y}}h=J[b+(h<<2)>>2];J[b+(k<<2)>>2]=h;if((h|0)==-1){break X}J[p+(h<<2)>>2]=k;break X}J[b+(k<<2)>>2]=-1}k=a+1|0;a=(k>>>0)%3|0?k:a-2|0;h=-1;if((a|0)==-1){break W}h=J[b+(a<<2)>>2]}J[o>>2]=h;J[v>>2]=f;break U;case 0:if((c|0)==(f|0)){break C}a=c-4|0;p=J[a>>2];J[n+68>>2]=a;o=J[n+44>>2];_:{if(!o){c=a;break _}z=J[n+40>>2];s=mk(o)>>>0>1;b=i&o+2147483647;$:{if(!s){break $}b=i;if(b>>>0<o>>>0){break $}b=(i>>>0)%(o>>>0)|0}h=b;b=J[z+(h<<2)>>2];if(!b){c=a;break _}k=J[b>>2];if(!k){c=a;break _}aa:{if(!s){b=o-1|0;while(1){o=J[k+4>>2];ba:{if((o|0)!=(i|0)){if((h|0)==(b&o)){break ba}c=a;break _}if((i|0)==J[k+8>>2]){break aa}}k=J[k>>2];if(k){continue}break}c=a;break _}while(1){b=J[k+4>>2];ca:{if((b|0)!=(i|0)){if(b>>>0>=o>>>0){b=(b>>>0)%(o>>>0)|0}if((b|0)==(h|0)){break ca}c=a;break _}if((i|0)==J[k+8>>2]){break aa}}k=J[k>>2];if(k){continue}break}c=a;break _}if((a|0)!=(u|0)){J[a>>2]=J[k+12>>2];J[n+68>>2]=c;break _}a=u-f|0;b=a>>2;c=b+1|0;if(c>>>0>=1073741824){break b}g=a>>1;c=a>>>0>=2147483644?1073741823:c>>>0<g>>>0?g:c;if(c){if(c>>>0>=1073741824){break B}g=Aj(c<<2)}else{g=0}b=g+(b<<2)|0;J[b>>2]=J[k+12>>2];u=(c<<2)+g|0;c=b+4|0;if((a|0)>0){Vi(g,f,a)}J[n+72>>2]=u;J[n+68>>2]=c;J[n+64>>2]=g;if(!f){break _}xj(f)}if((c|0)==(g|0)){break O}y=c-4|0;a=J[y>>2];if((a|0)==(p|0)){break O}b=(a|0)==-1;o=J[j+8>>2];if(!b&J[J[o+12>>2]+(a<<2)>>2]!=-1){break O}v=J[o+12>>2];if((p|0)!=-1&J[v+(p<<2)>>2]!=-1){break O}s=P(i,3);k=s+2|0;J[v+(a<<2)>>2]=k;i=k<<2;J[i+v>>2]=a;f=s+1|0;J[v+(p<<2)>>2]=f;z=f<<2;J[z+v>>2]=p;if(b){break S}if((a>>>0)%3|0){b=a-1|0;break R}b=a+2|0;if((b|0)!=-1){break R}h=J[o>>2];f=-1;break Q;case 6:break V;default:break C}}h=J[j+8>>2];ff(h+24|0,11472);b=J[j+8>>2];a=P(i,3);k=J[h+28>>2];p=J[h+24>>2];o=k-p|0;h=o>>2;s=h-1|0;J[J[b>>2]+(a<<2)>>2]=s;ff(b+24|0,11472);v=a+1|0;J[J[b>>2]+(v<<2)>>2]=(J[b+28>>2]-J[b+24>>2]>>2)-1;b=J[j+8>>2];ff(b+24|0,11472);y=a+2|0;J[J[b>>2]+(y<<2)>>2]=(J[b+28>>2]-J[b+24>>2]>>2)-1;z=J[j+8>>2];b=J[z+24>>2];if(J[z+28>>2]-b>>2>(F|0)){break C}da:{ea:{if((k|0)!=(p|0)){J[b+(s<<2)>>2]=a;p=0;if((o|0)==-4){break ea}}J[b+(h<<2)>>2]=v;p=h+1|0;if((p|0)==-1){break da}}J[b+(p<<2)>>2]=y}if((c|0)!=(u|0)){J[c>>2]=a;c=c+4|0;J[n+68>>2]=c;break T}b=c-f|0;h=b>>2;c=h+1|0;if(c>>>0>=1073741824){break b}g=b>>1;c=b>>>0>=2147483644?1073741823:c>>>0<g>>>0?g:c;if(c){if(c>>>0>=1073741824){break B}g=Aj(c<<2)}else{g=0}h=g+(h<<2)|0;J[h>>2]=a;u=(c<<2)+g|0;c=h+4|0;if((b|0)>0){Vi(g,f,b)}J[n+72>>2]=u;J[n+68>>2]=c;J[n+64>>2]=g;if(!f){break U}xj(f)}f=g}pf(r,J[c-4>>2]);a=J[j+40>>2];if((a|0)==J[j+36>>2]){break H}b=a-12|0;h=J[b+4>>2];i=(i^-1)+q|0;if(h>>>0>i>>>0){break O}if((h|0)!=(i|0)){break H}k=K[a-4|0];h=J[b>>2];J[j+40>>2]=b;if((h|0)<0){break O}p=c-4|0;a=J[p>>2];J[n+20>>2]=(h^-1)+q;b=n+20|0;J[n+88>>2]=b;gf(n,n+40|0,b,n+88|0);h=J[n>>2];fa:{if(k&1){b=-1;if((a|0)==-1){break fa}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break fa}b=-1;if((a|0)==-1){break fa}b=a-1|0;if((a>>>0)%3|0){break fa}b=a+2|0}J[h+12>>2]=b;b=J[j+40>>2];if((b|0)==J[j+36>>2]){break H}while(1){a=b-12|0;h=J[a+4>>2];if(h>>>0>i>>>0){break O}if((h|0)!=(i|0)){break H}h=K[b-4|0];b=J[a>>2];J[j+40>>2]=a;if((b|0)<0){break O}a=J[p>>2];J[n+20>>2]=(b^-1)+q;b=n+20|0;J[n+88>>2]=b;gf(n,n+40|0,b,n+88|0);o=J[n>>2];ga:{if(h&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}J[o+12>>2]=b;b=J[j+40>>2];if((b|0)!=J[j+36>>2]){continue}break}break H}f=-1;h=J[o>>2];J[h+(s<<2)>>2]=-1;b=-1;break P}h=J[o>>2];f=J[h+(b<<2)>>2]}J[(s<<2)+h>>2]=f;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;b=-1;if((a|0)==-1){break P}b=J[(a<<2)+h>>2]}J[h+z>>2]=b;ha:{if((p|0)==-1){J[h+i>>2]=-1;k=-1;a=-1;break ha}ia:{ja:{ka:{if((p>>>0)%3|0){b=p-1|0;break ka}b=p+2|0;if((b|0)==-1){break ja}}a=J[(b<<2)+h>>2];J[h+i>>2]=a;if((a|0)==-1){break ia}J[J[o+24>>2]+(a<<2)>>2]=k;break ia}J[h+i>>2]=-1}k=-1;b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;a=-1;if((b|0)==-1){break ha}k=J[(b<<2)+h>>2];a=b}b=J[j+388>>2];i=f<<2;p=b+i|0;z=b;b=k<<2;J[p>>2]=J[p>>2]+J[z+b>>2];z=b;b=J[o+24>>2];p=z+b|0;if((f|0)!=-1){J[b+i>>2]=J[p>>2]}b=a;while(1){if((b|0)==-1){break N}J[(b<<2)+h>>2]=f;o=b+1|0;b=(o>>>0)%3|0?o:b-2|0;i=-1;la:{if((b|0)==-1){break la}b=J[v+(b<<2)>>2];i=-1;if((b|0)==-1){break la}i=b+1|0;i=(i>>>0)%3|0?i:b-2|0}b=i;if((a|0)!=(b|0)){continue}break}}if(!D){break D}break C}J[p>>2]=-1;ma:{if(O){break ma}if((x|0)!=(G|0)){J[x>>2]=k;x=x+4|0;J[n+28>>2]=x;break ma}b=G-d|0;i=b>>2;a=i+1|0;if(a>>>0>=1073741824){break b}f=b>>1;f=b>>>0>=2147483644?1073741823:a>>>0<f>>>0?f:a;if(f){if(f>>>0>=1073741824){break B}a=Aj(f<<2)}else{a=0}i=a+(i<<2)|0;J[i>>2]=k;G=a+(f<<2)|0;x=i+4|0;if((b|0)>0){Vi(a,d,b)}J[n+32>>2]=G;J[n+28>>2]=x;J[n+24>>2]=a;if(d){xj(d)}d=a}J[y>>2]=s}pf(r,s);f=g}D=(l|0)<(q|0);if((l|0)!=(q|0)){continue}break}l=q}m=-1;f=J[j+8>>2];if(J[f+28>>2]-J[f+24>>2]>>2>(F|0)){break C}if((c|0)!=(g|0)){s=j+72|0;f=j+60|0;v=j+312|0;while(1){c=c-4|0;q=J[c>>2];J[n+68>>2]=c;na:{oa:{pa:{if(L[j+270>>1]<=513){if(!K[j+364|0]){break oa}a=J[j+360>>2];b=J[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=M[j+356>>2]){break pa}b=K[b|0];J[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break pa}break oa}if(le(v)){break oa}}k=J[j+64>>2];a=J[j+68>>2];if((k|0)==a<<5){if((k+1|0)<0){break b}if(k>>>0<=1073741822){a=a<<6;b=(k&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}Mc(f,a);k=J[j+64>>2]}J[j+64>>2]=k+1;a=J[j+60>>2]+(k>>>3&536870908)|0;b=J[a>>2];Q=a,R=nk(k)&b,J[Q>>2]=R;a=J[j+76>>2];if((a|0)!=J[j+80>>2]){J[a>>2]=q;J[j+76>>2]=a+4;break na}i=J[s>>2];b=a-i|0;k=b>>2;a=k+1|0;if(a>>>0<1073741824){h=b>>1;h=b>>>0>=2147483644?1073741823:a>>>0<h>>>0?h:a;if(h){if(h>>>0>=1073741824){break B}a=Aj(h<<2)}else{a=0}k=a+(k<<2)|0;J[k>>2]=q;if((b|0)>0){Vi(a,i,b)}J[j+80>>2]=a+(h<<2);J[j+76>>2]=k+4;J[j+72>>2]=a;if(!i){break na}xj(i);break na}break b}o=J[j+8>>2];r=J[o>>2];if(((J[o+4>>2]-r>>2>>>0)/3|0)<=(l|0)){break C}a=-1;u=J[o+24>>2];i=-1;qa:{if((q|0)==-1){break qa}h=q+1|0;h=(h>>>0)%3|0?h:q-2|0;i=-1;if((h|0)==-1){break qa}i=J[r+(h<<2)>>2]}b=J[u+(i<<2)>>2];ra:{if((b|0)==-1){p=1;h=-1;break ra}p=1;h=-1;k=b+1|0;b=(k>>>0)%3|0?k:b-2|0;if((b|0)==-1){break ra}p=0;a=b+1|0;a=(a>>>0)%3|0?a:b-2|0;if((a|0)!=-1){h=J[r+(a<<2)>>2]}a=b}k=-1;b=J[u+(h<<2)>>2];if((b|0)!=-1){k=b+1|0;k=(k>>>0)%3|0?k:b-2|0}if((a|0)==(q|0)|(k|0)==(q|0)|(a|0)==(k|0)){break C}if(!((q|0)==-1|J[J[o+12>>2]+(q<<2)>>2]==-1)|!(J[J[o+12>>2]+(a<<2)>>2]==-1|p)){break C}p=-1;b=J[o+12>>2];o=-1;sa:{if((k|0)==-1){break sa}if(J[b+(k<<2)>>2]!=-1){break C}u=k+1|0;u=(u>>>0)%3|0?u:k-2|0;o=-1;if((u|0)==-1){break sa}o=J[r+(u<<2)>>2]}u=P(l,3);J[n>>2]=u;J[b+(u<<2)>>2]=q;J[b+(q<<2)>>2]=u;q=J[n>>2]+1|0;J[b+(q<<2)>>2]=a;J[b+(a<<2)>>2]=q;a=J[n>>2]+2|0;J[b+(a<<2)>>2]=k;J[b+(k<<2)>>2]=a;a=J[n>>2];J[r+(a<<2)>>2]=h;b=a+1|0;q=r+(b<<2)|0;J[q>>2]=o;k=a+2|0;r=r+(k<<2)|0;J[r>>2]=i;a=J[j+120>>2];i=b?h:-1;h=a+(i>>>3&536870908)|0;o=J[h>>2];Q=h,R=nk(i)&o,J[Q>>2]=R;p=(b|0)!=-1?J[q>>2]:p;b=a+(p>>>3&536870908)|0;i=J[b>>2];Q=b,R=nk(p)&i,J[Q>>2]=R;b=-1;b=(k|0)!=-1?J[r>>2]:b;a=a+(b>>>3&536870908)|0;i=J[a>>2];Q=a,R=nk(b)&i,J[Q>>2]=R;H[n+88|0]=1;hf(f,n+88|0);ff(s,n);l=l+1|0}if((c|0)!=(g|0)){continue}break}f=J[j+8>>2]}if(((J[f+4>>2]-J[f>>2]>>2>>>0)/3|0)!=(l|0)){break C}m=J[f+28>>2]-J[f+24>>2]>>2;if((d|0)==(x|0)){d=x;break C}a=d;while(1){i=J[a>>2];l=J[f+24>>2];b=m-1|0;c=l+(b<<2)|0;if(J[c>>2]==-1){while(1){b=m-2|0;m=m-1|0;c=l+(b<<2)|0;if(J[c>>2]==-1){continue}break}}if(b>>>0>=i>>>0){J[n>>2]=f;c=J[c>>2];H[n+12|0]=1;J[n+8>>2]=c;J[n+4>>2]=c;if((c|0)!=-1){while(1){c=J[J[j+8>>2]>>2]+(c<<2)|0;if(J[c>>2]!=(b|0)){m=-1;break C}J[c>>2]=i;yd(n);c=J[n+8>>2];if((c|0)!=-1){continue}break}f=J[j+8>>2]}l=J[f+24>>2];c=l+(b<<2)|0;if((i|0)!=-1){J[l+(i<<2)>>2]=J[c>>2]}J[c>>2]=-1;c=1<<i;l=J[j+120>>2];i=l+(i>>>3&536870908)|0;l=l+(b>>>3&536870908)|0;b=1<<b;if(J[l>>2]&b){c=c|J[i>>2]}else{c=J[i>>2]&(c^-1)}J[i>>2]=c;J[l>>2]=J[l>>2]&(b^-1);m=m-1|0}a=a+4|0;if((x|0)!=(a|0)){continue}break}}if(d){xj(d)}a=J[n+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[n+40>>2];J[n+40>>2]=0;if(a){xj(a)}if(g){J[n+68>>2]=g;xj(g)}ia=n+96|0;a=m;break A}Za();C()}g=a;if((a|0)==-1){break z}a=J[E+16>>2];c=a+J[E>>2]|0;d=J[E+8>>2];d=d-a|0;a=J[J[j+4>>2]+32>>2];I[a+38>>1]=L[a+38>>1];J[a>>2]=c;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=d;J[a+12>>2]=0;a=J[j+4>>2];c=L[a+36>>1];b=c<<8|c>>>8;if((b&65535)>>>0<=513){a=J[a+32>>2];d=N+J[a+20>>2]|0;c=A+J[a+16>>2]|0;d=c>>>0<A>>>0?d+1|0:d;J[a+16>>2]=c;J[a+20>>2]=d}ta:{if(J[j+216>>2]==J[j+220>>2]){break ta}c=J[j+8>>2];a=J[c>>2];c=J[c+4>>2];ua:{if((b&65535)>>>0>=513){if((a|0)==(c|0)){break ta}c=0;break ua}if((a|0)==(c|0)){break ta}c=0;while(1){if(_e(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ta}break}break z}while(1){if($e(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ta}break}break z}af(e);c=J[j+216>>2];if((c|0)!=J[j+220>>2]){q=0;while(1){d=P(q,144);Ci((d+c|0)+4|0,J[j+8>>2]);a=J[B>>2];b=a+d|0;c=J[b+132>>2];b=J[b+136>>2];if((c|0)!=(b|0)){while(1){Ei((d+J[B>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}a=J[B>>2]}if(!Di((a+d|0)+4|0)){break z}q=q+1|0;c=J[j+216>>2];if(q>>>0<(J[j+220>>2]-c|0)/144>>>0){continue}break}}a=J[j+8>>2];bf(j+184|0,J[a+28>>2]-J[a+24>>2]>>2);w=J[j+216>>2];if((w|0)!=J[j+220>>2]){c=0;while(1){a=P(c,144)+w|0;d=J[a+60>>2]-J[a+56>>2]>>2;b=a+104|0;a=J[j+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;bf(b,(a|0)<(d|0)?d:a);c=c+1|0;w=J[j+216>>2];if(c>>>0<(J[j+220>>2]-w|0)/144>>>0){continue}break}}w=cf(j,g)}break c}w=0}ia=t- -64|0;return w|0}La();C()}function lf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0,R=0,S=0,T=0;t=ia+-64|0;ia=t;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){d=J[c>>2];xj(c);c=d;if(c){continue}break}}c=0;J[a+144>>2]=0;o=J[a+140>>2];a:{if(!o){break a}if(o>>>0>=4){d=o&-4;while(1){h=c<<2;J[h+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(h|4)>>2]=0;J[J[a+136>>2]+(h|8)>>2]=0;J[J[a+136>>2]+(h|12)>>2]=0;c=c+4|0;b=b+4|0;if((d|0)!=(b|0)){continue}break}}d=o&3;if(!d){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;y=y+1|0;if((d|0)!=(y|0)){continue}break}}J[a+148>>2]=0}b:{c:{c=J[a+4>>2];y=K[c+36|0];d=y<<8|K[c+37|0];if(d>>>0<=513){j=J[c+32>>2];d:{if(d>>>0<=511){d=J[j+20>>2];b=J[j+16>>2];h=b+4|0;d=h>>>0<4?d+1|0:d;o=h;h=J[j+12>>2];if(o>>>0>M[j+8>>2]&(h|0)<=(d|0)|(d|0)>(h|0)){break c}h=b+J[j>>2]|0;b=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[j+16>>2]=o;J[j+20>>2]=d;break d}if(!Te(1,t,j)){break c}c=J[a+4>>2];y=K[c+36|0];b=J[t>>2]}J[a+132>>2]=b}j=J[c+32>>2];e:{f:{g:{if((y&255)>>>0<=1){y=0;d=J[j+20>>2];o=J[j+16>>2];h=o+4|0;d=h>>>0<4?d+1|0:d;b=h;h=J[j+12>>2];if(b>>>0>M[j+8>>2]&(h|0)<=(d|0)|(d|0)>(h|0)){break b}h=o+J[j>>2]|0;h=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[t+60>>2]=h;J[j+16>>2]=b;J[j+20>>2]=d;J[a+156>>2]=h;p=a+156|0;break g}y=0;if(!Te(1,t+60|0,j)){break b}c=J[a+4>>2];d=K[c+36|0];J[a+156>>2]=J[t+60>>2];p=a+156|0;if(d>>>0>1){break f}}o=J[c+32>>2];c=J[o+8>>2];b=J[o+12>>2];e=c;c=J[o+20>>2];h=J[o+16>>2];d=h+4|0;c=d>>>0<4?c+1|0:c;if(e>>>0<d>>>0&(c|0)>=(b|0)|(c|0)>(b|0)){break b}h=h+J[o>>2]|0;b=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[t+56>>2]=b;J[o+16>>2]=d;J[o+20>>2]=c;break e}if(!Te(1,t+56|0,J[c+32>>2])){break b}b=J[t+56>>2]}if(b>>>0>1431655765|M[p>>2]>P(b,3)>>>0){break b}i=J[a+4>>2];d=J[i+32>>2];e=J[d+8>>2];h=J[d+12>>2];c=J[d+20>>2];f=J[d+16>>2];if((h|0)<=(c|0)&f>>>0>=e>>>0|(c|0)>(h|0)){break b}k=J[d>>2];g=K[k+f|0];j=f+1|0;o=j?c:c+1|0;J[d+16>>2]=j;J[d+20>>2]=o;h:{if(K[i+36|0]<=1){o=f+5|0;c=o>>>0<5?c+1|0:c;if(o>>>0>e>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}h=j+k|0;p=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[t+52>>2]=p;J[d+16>>2]=o;J[d+20>>2]=c;break h}if(!Te(1,t+52|0,d)){break b}p=J[t+52>>2]}if(b>>>0<p>>>0|((p>>>0)/3|0)+p>>>0<b>>>0){break b}c=J[a+4>>2];j=J[c+32>>2];i:{if(K[c+36|0]<=1){c=J[j+20>>2];h=J[j+16>>2];d=h+4|0;c=d>>>0<4?c+1|0:c;o=d;d=J[j+12>>2];if(o>>>0>M[j+8>>2]&(d|0)<=(c|0)|(c|0)>(d|0)){break b}d=h+J[j>>2]|0;h=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[t+48>>2]=h;J[j+16>>2]=o;J[j+20>>2]=c;break i}if(!Te(1,t+48|0,j)){break b}h=J[t+48>>2]}if(h>>>0>p>>>0){break b}J[a+28>>2]=J[a+24>>2];c=ui(Aj(88));d=J[a+8>>2];J[a+8>>2]=c;if(d){Ue(d);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Ve(a+160|0,b);J[a+176>>2]=J[a+172>>2];Ve(a+172|0,b);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];E=a+216|0;We(E);Xe(E,g);if(!vi(J[a+8>>2],b,J[a+156>>2]+h|0)){break b}c=J[a+156>>2];H[t|0]=1;Qe(a+120|0,c+h|0,t);d=J[a+4>>2];c=L[d+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){j=J[d+32>>2];k:{if(c>>>0<=511){d=J[j+20>>2];b=J[j+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;o=c;c=J[j+12>>2];if(o>>>0>M[j+8>>2]&(c|0)<=(d|0)|(c|0)<(d|0)){break b}c=b+J[j>>2]|0;b=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[j+16>>2]=o;J[j+20>>2]=d;break k}if(!Te(1,t+44|0,j)){break b}b=J[t+44>>2]}if(!b){break b}j=J[J[a+4>>2]+32>>2];o=J[j+8>>2];c=J[j+16>>2];d=o-c|0;c=J[j+12>>2]-(J[j+20>>2]+(c>>>0>o>>>0)|0)|0;if((c|0)<=0&b>>>0>d>>>0|(c|0)<0){break b}d=rg(t);k=J[J[a+4>>2]+32>>2];c=J[k+16>>2];j=(c+J[k>>2]|0)+b|0;o=J[k+8>>2];c=(o-c|0)-b|0;I[d+38>>1]=L[k+38>>1];J[d>>2]=j;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=c;J[d+12>>2]=0;o=Ye(a,d);if((o|0)==-1){break b}O=o>>31;break j}o=-1;O=-1;if((Ye(a,J[d+32>>2])|0)==-1){break b}}B=a+232|0;mf(B,a);J[a+372>>2]=g;J[a+384>>2]=J[a+156>>2]+h;Q=rg(t);k=Q;e=0;j=ia-16|0;ia=j;l:{if(!Ze(B,k)){break l}d=J[k+20>>2];b=J[k+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;h=c;c=J[k+12>>2];if(h>>>0>M[k+8>>2]&(c|0)<=(d|0)|(c|0)<(d|0)){break l}c=b+J[k>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[k+16>>2]=h;J[k+20>>2]=d;if((c|0)<0){break l}h=J[B+152>>2];if((h|0)<=(c|0)){break l}J[j+12>>2]=0;c=J[B+156>>2];d=J[B+160>>2]-c>>2;m:{if(d>>>0<h>>>0){jb(B+156|0,h-d|0,j+12|0);break m}if(d>>>0<=h>>>0){break m}J[B+160>>2]=c+(h<<2)}e=je(B+168|0,k)}ia=j+16|0;n:{if(!e){break n}e=0;c=0;d=0;h=0;j=0;l=ia-96|0;ia=l;J[l+72>>2]=0;J[l+64>>2]=0;J[l+68>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+56>>2]=1065353216;J[l+32>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;i=a;G=J[a+124>>2];o:{p:{q:{r:{s:{if((p|0)<=0){break s}F=i+400|0;R=i+232|0;x=J[i+216>>2]!=J[i+220>>2];A=1;while(1){k=j;j=j+1|0;t:{u:{v:{w:{x:{if(J[i+420>>2]!=-1){if(le(F)){break x}}if(!K[i+308|0]){break w}y:{m=J[i+296>>2];s=J[i+304>>2];a=m+(s>>>3|0)|0;v=J[i+300>>2];if(a>>>0>=v>>>0){break y}b=K[a|0];a=s+1|0;J[i+304>>2]=a;g=b>>>(s&7)&1;if(!g){break y}n=a>>>3|0;b=m+n|0;z:{if(b>>>0>=v>>>0){b=a;a=0;break z}f=K[b|0];b=s+2|0;J[i+304>>2]=b;n=b>>>3|0;a=f>>>(a&7)&1}f=n+m|0;if(f>>>0<v>>>0){f=K[f|0];J[i+304>>2]=b+1;b=f>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|g;J[i+416>>2]=b;break v}J[i+416>>2]=0;break w}b=J[i+420>>2];J[i+416>>2]=b;if(b){break v}}if((c|0)==(d|0)){v=-1;break r}e=-1;A=J[i+8>>2];s=J[A+24>>2];m=c-4|0;n=J[m>>2];g=-1;A:{if((n|0)==-1){break A}b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;g=-1;if((b|0)==-1){break A}g=J[J[A>>2]+(b<<2)>>2]}b=J[s+(g<<2)>>2];if((b|0)!=-1){a=b+1|0;e=(a>>>0)%3|0?a:b-2|0}if((e|0)==(n|0)){v=-1;break r}if((n|0)!=-1){v=-1;if(J[J[A+12>>2]+(n<<2)>>2]!=-1){break r}}b=J[A+12>>2];if((e|0)!=-1){v=-1;if(J[b+(e<<2)>>2]!=-1){break r}}u=P(k,3);a=u+1|0;J[b+(n<<2)>>2]=a;f=a<<2;J[f+b>>2]=n;r=u+2|0;J[b+(e<<2)>>2]=r;k=r<<2;J[k+b>>2]=e;w=-1;a=-1;B:{if((n|0)==-1){break B}C:{if((n>>>0)%3|0){b=n-1|0;break C}b=n+2|0;a=-1;if((b|0)==-1){break B}}a=J[J[A>>2]+(b<<2)>>2]}D:{if((e|0)==-1){break D}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break D}w=J[J[A>>2]+(b<<2)>>2]}v=-1;if((a|0)==(g|0)|(g|0)==(w|0)){break r}b=J[A>>2];J[b+(u<<2)>>2]=g;J[b+f>>2]=w;J[b+k>>2]=a;if((a|0)!=-1){J[s+(a<<2)>>2]=r}b=J[i+120>>2]+(g>>>3&536870908)|0;a=J[b>>2];S=b,T=nk(g)&a,J[S>>2]=T;J[m>>2]=u;e=J[c-4>>2];break u}v=-1;E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{switch(b-1|0){case 2:case 4:if((c|0)==(d|0)){break r}g=c-4|0;q=J[g>>2];r=J[i+8>>2];e=J[r+12>>2];if(!((q|0)==-1|J[e+(q<<2)>>2]==-1)){break r}u=P(k,3);m=(b|0)==5;f=u+(m?2:1)|0;a=f<<2;J[a+e>>2]=q;J[e+(q<<2)>>2]=f;ff(r+24|0,11472);b=J[i+8>>2];s=J[b+24>>2];if(J[b+28>>2]-s>>2>(G|0)){break r}n=J[b>>2];w=n+a|0;e=J[r+28>>2];b=J[r+24>>2];a=(e-b>>2)-1|0;J[w>>2]=a;if((b|0)!=(e|0)){J[s+(a<<2)>>2]=f}f=m?u:u+2|0;m=n+(m+u<<2)|0;P:{if((q|0)==-1){J[n+(f<<2)>>2]=-1;b=-1;break P}Q:{R:{S:{if((q>>>0)%3|0){e=q-1|0;break S}e=q+2|0;if((e|0)==-1){break R}}a=J[n+(e<<2)>>2];J[n+(f<<2)>>2]=a;if((a|0)==-1){break Q}J[s+(a<<2)>>2]=f;break Q}J[n+(f<<2)>>2]=-1}a=q+1|0;a=(a>>>0)%3|0?a:q-2|0;b=-1;if((a|0)==-1){break P}b=J[n+(a<<2)>>2]}J[m>>2]=b;J[g>>2]=u;break N;case 0:if((c|0)==(e|0)){break r}a=c-4|0;q=J[a>>2];J[l+68>>2]=a;m=J[l+44>>2];T:{if(!m){c=a;break T}s=J[l+40>>2];g=mk(m)>>>0>1;b=k&m+2147483647;U:{if(!g){break U}b=k;if(b>>>0<m>>>0){break U}b=(k>>>0)%(m>>>0)|0}f=b;b=J[s+(f<<2)>>2];if(!b){c=a;break T}b=J[b>>2];if(!b){c=a;break T}V:{if(!g){m=m-1|0;while(1){g=J[b+4>>2];W:{if((g|0)!=(k|0)){if((f|0)==(g&m)){break W}c=a;break T}if((k|0)==J[b+8>>2]){break V}}b=J[b>>2];if(b){continue}break}c=a;break T}while(1){g=J[b+4>>2];X:{if((g|0)!=(k|0)){if(g>>>0>=m>>>0){g=(g>>>0)%(m>>>0)|0}if((f|0)==(g|0)){break X}c=a;break T}if((k|0)==J[b+8>>2]){break V}}b=J[b>>2];if(b){continue}break}c=a;break T}if((a|0)!=(z|0)){J[a>>2]=J[b+12>>2];J[l+68>>2]=c;break T}f=z-e|0;c=f>>2;d=c+1|0;if(d>>>0>=1073741824){break L}a=f>>1;g=f>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(g){if(g>>>0>=1073741824){break p}d=Aj(g<<2)}else{d=0}a=d+(c<<2)|0;J[a>>2]=J[b+12>>2];z=(g<<2)+d|0;c=a+4|0;if((f|0)>0){Vi(d,e,f)}J[l+72>>2]=z;J[l+68>>2]=c;J[l+64>>2]=d;if(!e){break T}xj(e)}if((c|0)==(d|0)){break F}m=c-4|0;n=J[m>>2];if((n|0)==(q|0)){break F}g=(n|0)==-1;u=J[i+8>>2];if(!g&J[J[u+12>>2]+(n<<2)>>2]!=-1){break F}r=J[u+12>>2];if((q|0)!=-1&J[r+(q<<2)>>2]!=-1){break F}e=P(k,3);k=e+2|0;J[r+(n<<2)>>2]=k;s=k<<2;J[s+r>>2]=n;a=e+1|0;J[r+(q<<2)>>2]=a;b=a<<2;J[b+r>>2]=q;if(g){break K}if((n>>>0)%3|0){g=n-1|0;break I}g=n+2|0;if((g|0)!=-1){break I}w=J[u>>2];a=-1;break H;case 6:break O;default:break r}}a=J[i+8>>2];ff(a+24|0,11472);b=J[i+8>>2];q=P(k,3);r=J[a+28>>2];s=J[a+24>>2];m=r-s|0;u=m>>2;g=u-1|0;J[J[b>>2]+(q<<2)>>2]=g;ff(b+24|0,11472);f=q+1|0;J[J[b>>2]+(f<<2)>>2]=(J[b+28>>2]-J[b+24>>2]>>2)-1;a=J[i+8>>2];ff(a+24|0,11472);b=q+2|0;J[J[a>>2]+(b<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[i+8>>2];n=J[a+24>>2];if(J[a+28>>2]-n>>2>(G|0)){break r}Y:{Z:{if((r|0)!=(s|0)){J[n+(g<<2)>>2]=q;g=0;if((m|0)==-4){break Z}}J[n+(u<<2)>>2]=f;g=u+1|0;if((g|0)==-1){break Y}}J[n+(g<<2)>>2]=b}if((c|0)!=(z|0)){J[c>>2]=q;c=c+4|0;J[l+68>>2]=c;break M}g=c-e|0;c=g>>2;d=c+1|0;if(d>>>0>=1073741824){break J}a=g>>1;b=g>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(b){if(b>>>0>=1073741824){break p}d=Aj(b<<2)}else{d=0}a=d+(c<<2)|0;J[a>>2]=q;z=(b<<2)+d|0;c=a+4|0;if((g|0)>0){Vi(d,e,g)}J[l+72>>2]=z;J[l+68>>2]=c;J[l+64>>2]=d;if(!e){break N}xj(e)}e=d}nf(R,J[c-4>>2]);g=J[i+40>>2];if((g|0)==J[i+36>>2]){break t}b=g-12|0;a=J[b+4>>2];m=(k^-1)+p|0;if(a>>>0>m>>>0){break F}if((a|0)!=(m|0)){break t}k=K[g-4|0];a=J[b>>2];J[i+40>>2]=b;if((a|0)<0){break F}g=c-4|0;f=J[g>>2];J[l+20>>2]=(a^-1)+p;a=l+20|0;J[l+88>>2]=a;gf(l,l+40|0,a,l+88|0);b=J[l>>2];_:{if(k&1){a=-1;if((f|0)==-1){break _}a=f+1|0;a=(a>>>0)%3|0?a:f-2|0;break _}a=-1;if((f|0)==-1){break _}a=f-1|0;if((f>>>0)%3|0){break _}a=f+2|0}J[b+12>>2]=a;b=J[i+40>>2];if((b|0)==J[i+36>>2]){break t}while(1){f=b-12|0;a=J[f+4>>2];if(a>>>0>m>>>0){break F}if((a|0)!=(m|0)){break t}k=K[b-4|0];a=J[f>>2];J[i+40>>2]=f;if((a|0)<0){break F}f=J[g>>2];J[l+20>>2]=(a^-1)+p;a=l+20|0;J[l+88>>2]=a;gf(l,l+40|0,a,l+88|0);b=J[l>>2];$:{if(k&1){a=-1;if((f|0)==-1){break $}a=f+1|0;a=(a>>>0)%3|0?a:f-2|0;break $}a=-1;if((f|0)==-1){break $}a=f-1|0;if((f>>>0)%3|0){break $}a=f+2|0}J[b+12>>2]=a;b=J[i+40>>2];if((b|0)!=J[i+36>>2]){continue}break}break t}La();C()}g=-1;w=J[u>>2];J[w+(e<<2)>>2]=-1;f=-1;break G}La();C()}w=J[u>>2];a=J[w+(g<<2)>>2]}g=a;J[(e<<2)+w>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;f=-1;if((a|0)==-1){break G}f=J[(a<<2)+w>>2]}J[b+w>>2]=f;aa:{if((q|0)==-1){J[s+w>>2]=-1;n=-1;a=-1;break aa}ba:{ca:{da:{if((q>>>0)%3|0){b=q-1|0;break da}b=q+2|0;if((b|0)==-1){break ca}}a=J[(b<<2)+w>>2];J[s+w>>2]=a;if((a|0)==-1){break ba}J[J[u+24>>2]+(a<<2)>>2]=k;break ba}J[s+w>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;a=-1;if((b|0)==-1){break aa}n=J[(b<<2)+w>>2];a=b}f=J[i+388>>2];k=g<<2;b=f+k|0;s=b;q=J[b>>2];b=n<<2;J[s>>2]=q+J[b+f>>2];f=b;b=J[u+24>>2];s=f+b|0;if((g|0)!=-1){J[b+k>>2]=J[s>>2]}b=a;while(1){if((b|0)==-1){break E}J[(b<<2)+w>>2]=g;f=b+1|0;b=(f>>>0)%3|0?f:b-2|0;k=-1;ea:{if((b|0)==-1){break ea}f=J[r+(b<<2)>>2];k=-1;if((f|0)==-1){break ea}b=f+1|0;k=(b>>>0)%3|0?b:f-2|0}b=k;if((a|0)!=(b|0)){continue}break}}if(!A){break s}break r}J[s>>2]=-1;fa:{if(x){break fa}if((D|0)!=(N|0)){J[D>>2]=n;D=D+4|0;J[l+28>>2]=D;break fa}g=N-h|0;b=g>>2;k=b+1|0;if(k>>>0>=1073741824){break q}a=g>>1;k=g>>>0>=2147483644?1073741823:a>>>0>k>>>0?a:k;if(k){if(k>>>0>=1073741824){break p}a=Aj(k<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;N=a+(k<<2)|0;D=b+4|0;if((g|0)>0){Vi(a,h,g)}J[l+32>>2]=N;J[l+28>>2]=D;J[l+24>>2]=a;if(h){xj(h)}h=a}J[m>>2]=e}nf(R,e);e=d}A=(j|0)<(p|0);if((j|0)!=(p|0)){continue}break}j=p}v=-1;e=J[i+8>>2];if(J[e+28>>2]-J[e+24>>2]>>2>(G|0)){break r}if((c|0)!=(d|0)){F=i+72|0;k=i+60|0;s=i+312|0;while(1){c=c-4|0;x=J[c>>2];J[l+68>>2]=c;ga:{ha:{ia:{if(L[i+270>>1]<=513){if(!K[i+364|0]){break ha}b=J[i+360>>2];a=J[i+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[i+356>>2]){break ia}a=K[a|0];J[i+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ia}break ha}if(le(s)){break ha}}ja:{ka:{e=J[i+64>>2];b=J[i+68>>2];if((e|0)==b<<5){if((e+1|0)<0){break ka}if(e>>>0<=1073741822){g=b<<6;b=(e&-32)+32|0;a=b>>>0<g>>>0?g:b}else{a=2147483647}Mc(k,a);e=J[i+64>>2]}J[i+64>>2]=e+1;b=J[i+60>>2]+(e>>>3&536870908)|0;a=J[b>>2];S=b,T=nk(e)&a,J[S>>2]=T;a=J[i+76>>2];if((a|0)!=J[i+80>>2]){J[a>>2]=x;J[i+76>>2]=a+4;break ga}g=J[F>>2];f=a-g|0;b=f>>2;e=b+1|0;if(e>>>0>=1073741824){break ja}a=f>>1;e=f>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(e){if(e>>>0>=1073741824){break p}a=Aj(e<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=x;if((f|0)>0){Vi(a,g,f)}J[i+80>>2]=a+(e<<2);J[i+76>>2]=b+4;J[i+72>>2]=a;if(!g){break ga}xj(g);break ga}La();C()}La();C()}m=J[i+8>>2];r=J[m>>2];if(((J[m+4>>2]-r>>2>>>0)/3|0)<=(j|0)){break r}a=-1;f=J[m+24>>2];b=-1;la:{if((x|0)==-1){break la}e=x+1|0;e=(e>>>0)%3|0?e:x-2|0;b=-1;if((e|0)==-1){break la}b=J[r+(e<<2)>>2]}p=J[f+(b<<2)>>2];ma:{if((p|0)==-1){g=1;z=-1;break ma}g=1;z=-1;e=p+1|0;e=(e>>>0)%3|0?e:p-2|0;if((e|0)==-1){break ma}g=0;a=e+1|0;a=(a>>>0)%3|0?a:e-2|0;if((a|0)!=-1){z=J[r+(a<<2)>>2]}a=e}e=-1;f=J[f+(z<<2)>>2];if((f|0)!=-1){e=f+1|0;e=(e>>>0)%3|0?e:f-2|0}if((a|0)==(x|0)|(e|0)==(x|0)|(a|0)==(e|0)){break r}if(!((x|0)==-1|J[J[m+12>>2]+(x<<2)>>2]==-1)|!(J[J[m+12>>2]+(a<<2)>>2]==-1|g)){break r}g=-1;m=J[m+12>>2];p=-1;na:{if((e|0)==-1){break na}if(J[m+(e<<2)>>2]!=-1){break r}f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;p=-1;if((f|0)==-1){break na}p=J[r+(f<<2)>>2]}f=P(j,3);J[l>>2]=f;J[m+(f<<2)>>2]=x;J[m+(x<<2)>>2]=f;f=J[l>>2]+1|0;J[m+(f<<2)>>2]=a;J[m+(a<<2)>>2]=f;a=J[l>>2]+2|0;J[m+(a<<2)>>2]=e;J[m+(e<<2)>>2]=a;a=J[l>>2];J[r+(a<<2)>>2]=z;x=a+1|0;m=r+(x<<2)|0;J[m>>2]=p;p=a+2|0;f=r+(p<<2)|0;J[f>>2]=b;r=J[i+120>>2];e=x?z:-1;b=r+(e>>>3&536870908)|0;a=J[b>>2];S=b,T=nk(e)&a,J[S>>2]=T;g=(x|0)!=-1?J[m>>2]:g;b=r+(g>>>3&536870908)|0;a=J[b>>2];S=b,T=nk(g)&a,J[S>>2]=T;b=-1;b=(p|0)!=-1?J[f>>2]:b;e=r+(b>>>3&536870908)|0;a=J[e>>2];S=e,T=nk(b)&a,J[S>>2]=T;H[l+88|0]=1;hf(k,l+88|0);ff(F,l);j=j+1|0}if((c|0)!=(d|0)){continue}break}e=J[i+8>>2]}if(((J[e+4>>2]-J[e>>2]>>2>>>0)/3|0)!=(j|0)){break r}v=J[e+28>>2]-J[e+24>>2]>>2;if((h|0)==(D|0)){h=D;break r}a=h;while(1){k=J[a>>2];j=J[e+24>>2];b=v-1|0;c=j+(b<<2)|0;if(J[c>>2]==-1){while(1){b=v-2|0;v=v-1|0;c=j+(b<<2)|0;if(J[c>>2]==-1){continue}break}}if(b>>>0>=k>>>0){J[l>>2]=e;c=J[c>>2];H[l+12|0]=1;J[l+8>>2]=c;J[l+4>>2]=c;if((c|0)!=-1){while(1){c=J[J[i+8>>2]>>2]+(c<<2)|0;if(J[c>>2]!=(b|0)){v=-1;break r}J[c>>2]=k;yd(l);c=J[l+8>>2];if((c|0)!=-1){continue}break}e=J[i+8>>2]}c=J[e+24>>2];j=c+(b<<2)|0;if((k|0)!=-1){J[c+(k<<2)>>2]=J[j>>2]}J[j>>2]=-1;g=1<<k;c=J[i+120>>2];j=c+(k>>>3&536870908)|0;k=c+(b>>>3&536870908)|0;c=1<<b;if(J[k>>2]&c){b=g|J[j>>2]}else{b=J[j>>2]&(g^-1)}J[j>>2]=b;J[k>>2]=J[k>>2]&(c^-1);v=v-1|0}a=a+4|0;if((D|0)!=(a|0)){continue}break}}if(h){xj(h)}a=J[l+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[l+40>>2];J[l+40>>2]=0;if(a){xj(a)}if(d){J[l+68>>2]=d;xj(d)}ia=l+96|0;a=v;break o}La();C()}Za();C()}d=a;if((a|0)==-1){break n}c=Q;a=J[c+16>>2];h=a+J[c>>2]|0;c=J[c+8>>2];a=c-a|0;c=J[J[i+4>>2]+32>>2];I[c+38>>1]=L[c+38>>1];J[c>>2]=h;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=a;J[c+12>>2]=0;c=J[i+4>>2];a=L[c+36>>1];h=a<<8|a>>>8;if((h&65535)>>>0<=513){a=J[c+32>>2];c=O+J[a+20>>2]|0;b=o+J[a+16>>2]|0;c=b>>>0<o>>>0?c+1|0:c;J[a+16>>2]=b;J[a+20>>2]=c}oa:{if(J[i+216>>2]==J[i+220>>2]){break oa}a=J[i+8>>2];c=J[a>>2];a=J[a+4>>2];pa:{if((h&65535)>>>0>=513){if((a|0)==(c|0)){break oa}c=0;break pa}if((a|0)==(c|0)){break oa}c=0;while(1){if(_e(i,c)){c=c+3|0;a=J[i+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break oa}break}break n}while(1){if($e(i,c)){c=c+3|0;a=J[i+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break oa}break}break n}af(B);c=J[i+216>>2];if((c|0)!=J[i+220>>2]){p=0;while(1){b=P(p,144);Ci((b+c|0)+4|0,J[i+8>>2]);a=J[E>>2];h=a+b|0;c=J[h+132>>2];h=J[h+136>>2];if((c|0)!=(h|0)){while(1){Ei((b+J[E>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((h|0)!=(c|0)){continue}break}a=J[E>>2]}if(!Di((a+b|0)+4|0)){break n}p=p+1|0;c=J[i+216>>2];if(p>>>0<(J[i+220>>2]-c|0)/144>>>0){continue}break}}a=J[i+8>>2];bf(i+184|0,J[a+28>>2]-J[a+24>>2]>>2);y=J[i+216>>2];if((y|0)!=J[i+220>>2]){c=0;while(1){a=P(c,144)+y|0;h=J[a+60>>2]-J[a+56>>2]>>2;b=a+104|0;a=J[i+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;bf(b,(a|0)<(h|0)?h:a);c=c+1|0;y=J[i+216>>2];if(c>>>0<(J[i+220>>2]-y|0)/144>>>0){continue}break}}y=cf(i,d)}break b}y=0}ia=t- -64|0;return y|0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0;q=ia+-64|0;ia=q;J[a+132>>2]=0;if(J[a+148>>2]){d=J[a+144>>2];if(d){while(1){c=J[d>>2];xj(d);d=c;if(c){continue}break}}d=0;J[a+144>>2]=0;c=J[a+140>>2];a:{if(!c){break a}if(c>>>0>=4){m=c&-4;while(1){b=d<<2;J[b+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(b|4)>>2]=0;J[J[a+136>>2]+(b|8)>>2]=0;J[J[a+136>>2]+(b|12)>>2]=0;d=d+4|0;e=e+4|0;if((m|0)!=(e|0)){continue}break}}e=c&3;if(!e){break a}while(1){J[J[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;u=u+1|0;if((e|0)!=(u|0)){continue}break}}J[a+148>>2]=0}b:{c:{d=J[a+4>>2];u=K[d+36|0];e=u<<8|K[d+37|0];if(e>>>0<=513){b=J[d+32>>2];d:{if(e>>>0<=511){e=J[b+20>>2];m=J[b+16>>2];c=m+4|0;e=c>>>0<4?e+1|0:e;g=c;c=e;w=J[b+12>>2];if(g>>>0>M[b+8>>2]&(c|0)>=(w|0)|(c|0)>(w|0)){break c}e=m+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=c;break d}if(!Te(1,q,b)){break c}d=J[a+4>>2];u=K[d+36|0];e=J[q>>2]}J[a+132>>2]=e}c=J[d+32>>2];e:{f:{g:{if((u&255)>>>0<=1){u=0;e=J[c+20>>2];b=J[c+16>>2];m=b+4|0;e=m>>>0<4?e+1|0:e;g=J[c+12>>2];if((g|0)<=(e|0)&m>>>0>M[c+8>>2]|(e|0)>(g|0)){break b}b=b+J[c>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[q+60>>2]=b;J[c+16>>2]=m;J[c+20>>2]=e;J[a+156>>2]=b;o=a+156|0;break g}u=0;if(!Te(1,q+60|0,c)){break b}d=J[a+4>>2];e=K[d+36|0];J[a+156>>2]=J[q+60>>2];o=a+156|0;if(e>>>0>1){break f}}c=J[d+32>>2];d=J[c+8>>2];e=J[c+12>>2];g=d;d=J[c+20>>2];b=J[c+16>>2];m=b+4|0;d=m>>>0<4?d+1|0:d;if(g>>>0<m>>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break b}e=b+J[c>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[q+56>>2]=e;J[c+16>>2]=m;J[c+20>>2]=d;break e}if(!Te(1,q+56|0,J[d+32>>2])){break b}e=J[q+56>>2]}if(e>>>0>1431655765|M[o>>2]>P(e,3)>>>0){break b}w=J[a+4>>2];c=J[w+32>>2];o=J[c+8>>2];b=o;m=J[c+12>>2];d=J[c+20>>2];g=J[c+16>>2];if((m|0)<=(d|0)&g>>>0>=b>>>0|(d|0)>(m|0)){break b}n=J[c>>2];h=K[n+g|0];b=d;f=g+1|0;b=f?b:b+1|0;J[c+16>>2]=f;J[c+20>>2]=b;h:{if(K[w+36|0]<=1){b=m;m=g+5|0;d=m>>>0<5?d+1|0:d;if((b|0)<=(d|0)&m>>>0>o>>>0|(b|0)<(d|0)){break b}b=f+n|0;o=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[q+52>>2]=o;J[c+16>>2]=m;J[c+20>>2]=d;break h}if(!Te(1,q+52|0,c)){break b}o=J[q+52>>2]}if(e>>>0<o>>>0|((o>>>0)/3|0)+o>>>0<e>>>0){break b}d=J[a+4>>2];b=J[d+32>>2];i:{if(K[d+36|0]<=1){d=J[b+20>>2];c=J[b+16>>2];m=c+4|0;d=m>>>0<4?d+1|0:d;g=J[b+12>>2];if((g|0)<=(d|0)&m>>>0>M[b+8>>2]|(d|0)>(g|0)){break b}c=c+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[q+48>>2]=c;J[b+16>>2]=m;J[b+20>>2]=d;break i}if(!Te(1,q+48|0,b)){break b}c=J[q+48>>2]}if(c>>>0>o>>>0){break b}J[a+28>>2]=J[a+24>>2];b=ui(Aj(88));d=J[a+8>>2];J[a+8>>2]=b;if(d){Ue(d);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Ve(a+160|0,e);J[a+176>>2]=J[a+172>>2];Ve(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];B=a+216|0;We(B);Xe(B,h);if(!vi(J[a+8>>2],e,J[a+156>>2]+c|0)){break b}d=J[a+156>>2];H[q|0]=1;Qe(a+120|0,c+d|0,q);d=J[a+4>>2];e=L[d+36>>1];e=(e<<8|e>>>8)&65535;j:{if(e>>>0<=513){c=J[d+32>>2];k:{if(e>>>0<=511){e=J[c+20>>2];b=J[c+16>>2];d=b+4|0;e=d>>>0<4?e+1|0:e;m=d;d=e;g=J[c+12>>2];if(m>>>0>M[c+8>>2]&(d|0)>=(g|0)|(d|0)>(g|0)){break b}e=b+J[c>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[c+16>>2]=m;J[c+20>>2]=d;break k}if(!Te(1,q+44|0,c)){break b}e=J[q+44>>2]}if(!e){break b}d=J[J[a+4>>2]+32>>2];c=J[d+8>>2];b=J[d+16>>2];m=c-b|0;d=J[d+12>>2]-(J[d+20>>2]+(b>>>0>c>>>0)|0)|0;if((d|0)<=0&e>>>0>m>>>0|(d|0)<0){break b}c=rg(q);b=J[J[a+4>>2]+32>>2];d=J[b+16>>2];m=(d+J[b>>2]|0)+e|0;g=J[b+8>>2];d=(g-d|0)-e|0;I[c+38>>1]=L[b+38>>1];J[c>>2]=m;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=d;J[c+12>>2]=0;w=Ye(a,c);if((w|0)==-1){break b}F=w>>31;break j}w=-1;F=-1;if((Ye(a,J[d+32>>2])|0)==-1){break b}}G=a+232|0;e=G;J[e+144>>2]=a;d=J[(na[J[J[a>>2]+32>>2]](a)|0)+32>>2];c=J[d>>2]+J[d+16>>2]|0;b=J[(na[J[J[a>>2]+32>>2]](a)|0)+32>>2];d=J[b+8>>2];b=J[b+16>>2];d=d-b|0;O=e,Q=L[J[(na[J[J[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],I[O+38>>1]=Q;J[e>>2]=c;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=d;J[e+12>>2]=0;J[a+372>>2]=h;E=rg(q);l:{if(!Ze(e,E)){break l}c=0;d=0;e=0;m=0;j=ia-96|0;ia=j;J[j+72>>2]=0;J[j+64>>2]=0;J[j+68>>2]=0;J[j+48>>2]=0;J[j+52>>2]=0;J[j+40>>2]=0;J[j+44>>2]=0;J[j+56>>2]=1065353216;J[j+32>>2]=0;J[j+24>>2]=0;J[j+28>>2]=0;h=a;v=J[a+124>>2];m:{n:{o:{p:{q:{if((o|0)<=0){break q}N=J[h+216>>2]!=J[h+220>>2];y=1;while(1){g=r;r=g+1|0;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{if(!K[h+308|0]){break F}f=J[h+296>>2];b=J[h+304>>2];a=f+(b>>>3|0)|0;i=J[h+300>>2];if(a>>>0>=i>>>0){break F}n=K[a|0];a=b+1|0;J[h+304>>2]=a;l=n>>>(b&7)&1;if(!l){break F}k=0;n=a>>>3|0;p=f+n|0;G:{if(p>>>0>=i>>>0){b=a;a=0;break G}p=K[p|0];b=b+2|0;J[h+304>>2]=b;n=b>>>3|0;a=p>>>(a&7)&1}n=f+n|0;if(n>>>0<i>>>0){n=K[n|0];J[h+304>>2]=b+1;k=n>>>(b&7)<<1&2}n=-1;f=l|(a|k)<<1;switch(f-1|0){case 6:break C;case 0:break D;case 2:case 4:break E;default:break p}}if((d|0)==(e|0)){n=-1;break p}c=-1;f=J[h+8>>2];p=J[f+24>>2];y=d-4|0;b=J[y>>2];a=-1;H:{if((b|0)==-1){break H}i=b+1|0;i=(i>>>0)%3|0?i:b-2|0;a=-1;if((i|0)==-1){break H}a=J[J[f>>2]+(i<<2)>>2]}n=J[p+(a<<2)>>2];if((n|0)!=-1){c=n+1|0;c=(c>>>0)%3|0?c:n-2|0}if((b|0)==(c|0)){n=-1;break p}if((b|0)!=-1){n=-1;if(J[J[f+12>>2]+(b<<2)>>2]!=-1){break p}}i=J[f+12>>2];if((c|0)!=-1){n=-1;if(J[i+(c<<2)>>2]!=-1){break p}}k=P(g,3);g=k+1|0;J[i+(b<<2)>>2]=g;t=g<<2;J[t+i>>2]=b;l=k+2|0;J[i+(c<<2)>>2]=l;g=i;i=l<<2;J[g+i>>2]=c;g=-1;n=-1;I:{if((b|0)==-1){break I}J:{if((b>>>0)%3|0){b=b-1|0;break J}b=b+2|0;n=-1;if((b|0)==-1){break I}}n=J[J[f>>2]+(b<<2)>>2]}b=n;K:{if((c|0)==-1){break K}n=c+1|0;c=(n>>>0)%3|0?n:c-2|0;if((c|0)==-1){break K}g=J[J[f>>2]+(c<<2)>>2]}n=-1;if((a|0)==(b|0)|(a|0)==(g|0)){break p}c=J[f>>2];J[c+(k<<2)>>2]=a;J[c+t>>2]=g;J[c+i>>2]=b;if((b|0)!=-1){J[p+(b<<2)>>2]=l}c=J[h+120>>2]+(a>>>3&536870908)|0;b=J[c>>2];O=c,Q=nk(a)&b,J[O>>2]=Q;J[y>>2]=k;c=e;break r}if((d|0)==(e|0)){break p}p=d-4|0;c=J[p>>2];a=J[h+8>>2];b=J[a+12>>2];if(!((c|0)==-1|J[b+(c<<2)>>2]==-1)){break p}l=(f|0)==5;f=P(g,3);i=(l?2:1)+f|0;t=i<<2;J[t+b>>2]=c;J[b+(c<<2)>>2]=i;ff(a+24|0,11472);b=J[h+8>>2];k=J[b+24>>2];if(J[b+28>>2]-k>>2>(v|0)){break p}b=J[b>>2];A=b+t|0;t=J[a+28>>2];a=J[a+24>>2];z=(t-a>>2)-1|0;J[A>>2]=z;if((a|0)!=(t|0)){J[k+(z<<2)>>2]=i}i=l?f:f+2|0;l=b+(f+l<<2)|0;L:{if((c|0)==-1){J[b+(i<<2)>>2]=-1;a=-1;break L}M:{N:{O:{if((c>>>0)%3|0){a=c-1|0;break O}a=c+2|0;if((a|0)==-1){break N}}a=J[b+(a<<2)>>2];J[b+(i<<2)>>2]=a;if((a|0)==-1){break M}J[k+(a<<2)>>2]=i;break M}J[b+(i<<2)>>2]=-1}i=c+1|0;c=(i>>>0)%3|0?i:c-2|0;a=-1;if((c|0)==-1){break L}a=J[b+(c<<2)>>2]}J[l>>2]=a;J[p>>2]=f;break B}if((c|0)==(d|0)){break p}a=d-4|0;k=J[a>>2];J[j+68>>2]=a;l=J[j+44>>2];P:{if(!l){d=a;break P}f=J[j+40>>2];p=mk(l)>>>0>1;b=g&l+2147483647;Q:{if(!p){break Q}b=g;if(b>>>0<l>>>0){break Q}b=(g>>>0)%(l>>>0)|0}i=b;b=J[f+(i<<2)>>2];if(!b){d=a;break P}b=J[b>>2];if(!b){d=a;break P}R:{if(!p){f=l-1|0;while(1){l=J[b+4>>2];S:{if((l|0)!=(g|0)){if((i|0)==(f&l)){break S}d=a;break P}if((g|0)==J[b+8>>2]){break R}}b=J[b>>2];if(b){continue}break}d=a;break P}while(1){f=J[b+4>>2];T:{if((f|0)!=(g|0)){if(f>>>0>=l>>>0){f=(f>>>0)%(l>>>0)|0}if((f|0)==(i|0)){break T}d=a;break P}if((g|0)==J[b+8>>2]){break R}}b=J[b>>2];if(b){continue}break}d=a;break P}if((a|0)!=(s|0)){J[a>>2]=J[b+12>>2];J[j+68>>2]=d;break P}a=s-c|0;f=a>>2;d=f+1|0;if(d>>>0>=1073741824){break z}e=a>>1;d=a>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break n}e=Aj(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[b+12>>2];s=(d<<2)+e|0;d=f+4|0;if((a|0)>0){Vi(e,c,a)}J[j+72>>2]=s;J[j+68>>2]=d;J[j+64>>2]=e;if(!c){break P}xj(c)}if((d|0)==(e|0)){break t}z=d-4|0;c=J[z>>2];if((c|0)==(k|0)){break t}a=(c|0)==-1;f=J[h+8>>2];if(!a&J[J[f+12>>2]+(c<<2)>>2]!=-1){break t}i=J[f+12>>2];if((k|0)!=-1&J[i+(k<<2)>>2]!=-1){break t}p=P(g,3);t=p+2|0;J[i+(c<<2)>>2]=t;l=t<<2;J[l+i>>2]=c;b=p+1|0;J[i+(k<<2)>>2]=b;A=b<<2;J[A+i>>2]=k;if(a){break y}if((c>>>0)%3|0){g=c-1|0;break w}g=c+2|0;if((g|0)!=-1){break w}a=J[f>>2];g=-1;break v}f=J[h+8>>2];ff(f+24|0,11472);a=J[h+8>>2];b=P(g,3);k=J[f+28>>2];l=J[f+24>>2];p=k-l|0;i=p>>2;t=i-1|0;J[J[a>>2]+(b<<2)>>2]=t;ff(a+24|0,11472);z=b+1|0;J[J[a>>2]+(z<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];ff(a+24|0,11472);A=b+2|0;J[J[a>>2]+(A<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];f=J[a+24>>2];if(J[a+28>>2]-f>>2>(v|0)){break p}U:{V:{if((k|0)!=(l|0)){J[f+(t<<2)>>2]=b;a=0;if((p|0)==-4){break V}}J[f+(i<<2)>>2]=z;a=i+1|0;if((a|0)==-1){break U}}J[f+(a<<2)>>2]=A}if((d|0)!=(s|0)){J[d>>2]=b;d=d+4|0;J[j+68>>2]=d;break A}a=d-c|0;f=a>>2;d=f+1|0;if(d>>>0>=1073741824){break x}e=a>>1;d=a>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break n}e=Aj(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=b;s=(d<<2)+e|0;d=f+4|0;if((a|0)>0){Vi(e,c,a)}J[j+72>>2]=s;J[j+68>>2]=d;J[j+64>>2]=e;if(!c){break B}xj(c)}c=e}a=J[h+40>>2];if((a|0)==J[h+36>>2]){break r}b=a-12|0;f=J[b+4>>2];g=(g^-1)+o|0;if(f>>>0>g>>>0){break t}if((g|0)!=(f|0)){break r}i=K[a-4|0];f=J[b>>2];J[h+40>>2]=b;if((f|0)<0){break t}k=d-4|0;a=J[k>>2];J[j+20>>2]=(f^-1)+o;b=j+20|0;J[j+88>>2]=b;gf(j,j+40|0,b,j+88|0);f=J[j>>2];W:{if(i&1){b=-1;if((a|0)==-1){break W}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break W}b=-1;if((a|0)==-1){break W}b=a-1|0;if((a>>>0)%3|0){break W}b=a+2|0}J[f+12>>2]=b;b=J[h+40>>2];if((b|0)==J[h+36>>2]){break r}while(1){a=b-12|0;f=J[a+4>>2];if(f>>>0>g>>>0){break t}if((g|0)!=(f|0)){break r}f=K[b-4|0];b=J[a>>2];J[h+40>>2]=a;if((b|0)<0){break t}a=J[k>>2];J[j+20>>2]=(b^-1)+o;b=j+20|0;J[j+88>>2]=b;gf(j,j+40|0,b,j+88|0);i=J[j>>2];X:{if(f&1){b=-1;if((a|0)==-1){break X}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break X}b=-1;if((a|0)==-1){break X}b=a-1|0;if((a>>>0)%3|0){break X}b=a+2|0}J[i+12>>2]=b;b=J[h+40>>2];if((b|0)!=J[h+36>>2]){continue}break}break r}La();C()}g=-1;a=J[f>>2];J[a+(p<<2)>>2]=-1;b=-1;break u}La();C()}a=J[f>>2];g=J[a+(g<<2)>>2]}J[(p<<2)+a>>2]=g;b=c+1|0;c=(b>>>0)%3|0?b:c-2|0;b=-1;if((c|0)==-1){break u}b=J[(c<<2)+a>>2]}J[a+A>>2]=b;Y:{if((k|0)==-1){J[a+l>>2]=-1;l=-1;c=-1;break Y}Z:{_:{$:{if((k>>>0)%3|0){b=k-1|0;break $}b=k+2|0;if((b|0)==-1){break _}}c=J[(b<<2)+a>>2];J[a+l>>2]=c;if((c|0)==-1){break Z}J[J[f+24>>2]+(c<<2)>>2]=t;break Z}J[a+l>>2]=-1}l=-1;b=k+1|0;b=(b>>>0)%3|0?b:k-2|0;c=-1;if((b|0)==-1){break Y}l=J[(b<<2)+a>>2];c=b}b=J[f+24>>2];k=b+(l<<2)|0;if((g|0)!=-1){J[b+(g<<2)>>2]=J[k>>2]}b=c;while(1){if((b|0)==-1){break s}J[(b<<2)+a>>2]=g;t=b+1|0;b=(t>>>0)%3|0?t:b-2|0;f=-1;aa:{if((b|0)==-1){break aa}b=J[i+(b<<2)>>2];f=-1;if((b|0)==-1){break aa}f=b+1|0;f=(f>>>0)%3|0?f:b-2|0}b=f;if((c|0)!=(b|0)){continue}break}}if(!y){break q}break p}J[k>>2]=-1;ba:{if(N){break ba}if((x|0)!=(D|0)){J[x>>2]=l;x=x+4|0;J[j+28>>2]=x;break ba}c=D-m|0;g=c>>2;a=g+1|0;if(a>>>0>=1073741824){break o}b=c>>1;b=c>>>0>=2147483644?1073741823:a>>>0<b>>>0?b:a;if(b){if(b>>>0>=1073741824){break n}a=Aj(b<<2)}else{a=0}g=a+(g<<2)|0;J[g>>2]=l;D=a+(b<<2)|0;x=g+4|0;if((c|0)>0){Vi(a,m,c)}J[j+32>>2]=D;J[j+28>>2]=x;J[j+24>>2]=a;if(m){xj(m)}m=a}J[z>>2]=p;c=e}y=(o|0)>(r|0);if((o|0)!=(r|0)){continue}break}r=o}n=-1;a=J[h+8>>2];if(J[a+28>>2]-J[a+24>>2]>>2>(v|0)){break p}if((d|0)!=(e|0)){p=h+72|0;o=h+60|0;D=h+312|0;while(1){d=d-4|0;k=J[d>>2];J[j+68>>2]=d;ca:{da:{ea:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break da}a=J[h+360>>2];c=J[h+352>>2]+(a>>>3|0)|0;if(c>>>0>=M[h+356>>2]){break ea}c=K[c|0];J[h+360>>2]=a+1;if(!(c>>>(a&7)&1)){break ea}break da}if(le(D)){break da}}fa:{ga:{c=J[h+64>>2];a=J[h+68>>2];if((c|0)==a<<5){if((c+1|0)<0){break ga}if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}Mc(o,a);c=J[h+64>>2]}J[h+64>>2]=c+1;a=J[h+60>>2]+(c>>>3&536870908)|0;b=J[a>>2];O=a,Q=nk(c)&b,J[O>>2]=Q;a=J[h+76>>2];if((a|0)!=J[h+80>>2]){J[a>>2]=k;J[h+76>>2]=a+4;break ca}b=J[p>>2];c=a-b|0;f=c>>2;a=f+1|0;if(a>>>0>=1073741824){break fa}g=c>>1;g=c>>>0>=2147483644?1073741823:a>>>0<g>>>0?g:a;if(g){if(g>>>0>=1073741824){break n}a=Aj(g<<2)}else{a=0}f=a+(f<<2)|0;J[f>>2]=k;if((c|0)>0){Vi(a,b,c)}J[h+80>>2]=a+(g<<2);J[h+76>>2]=f+4;J[h+72>>2]=a;if(!b){break ca}xj(b);break ca}La();C()}La();C()}s=J[h+8>>2];l=J[s>>2];if(((J[s+4>>2]-l>>2>>>0)/3|0)<=(r|0)){break p}a=-1;c=-1;v=J[s+24>>2];b=-1;ha:{if((k|0)==-1){break ha}f=k+1|0;f=(f>>>0)%3|0?f:k-2|0;b=-1;if((f|0)==-1){break ha}b=J[l+(f<<2)>>2]}f=b;i=J[v+(f<<2)>>2];ia:{if((i|0)==-1){g=1;b=-1;break ia}g=1;y=i+1|0;i=(y>>>0)%3|0?y:i-2|0;b=-1;if((i|0)==-1){break ia}g=0;a=i;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){b=J[l+(b<<2)>>2]}else{b=-1}}i=J[(b<<2)+v>>2];if((i|0)!=-1){c=i+1|0;c=(c>>>0)%3|0?c:i-2|0}if((a|0)==(k|0)|(c|0)==(k|0)|(a|0)==(c|0)){break p}if(!((k|0)==-1|J[J[s+12>>2]+(k<<2)>>2]==-1)|!(J[J[s+12>>2]+(a<<2)>>2]==-1|g)){break p}g=-1;i=J[s+12>>2];s=-1;ja:{if((c|0)==-1){break ja}if(J[i+(c<<2)>>2]!=-1){break p}v=c+1|0;v=(v>>>0)%3|0?v:c-2|0;s=-1;if((v|0)==-1){break ja}s=J[l+(v<<2)>>2]}v=P(r,3);J[j>>2]=v;J[i+(v<<2)>>2]=k;J[i+(k<<2)>>2]=v;k=J[j>>2]+1|0;J[i+(k<<2)>>2]=a;J[i+(a<<2)>>2]=k;a=J[j>>2]+2|0;J[i+(a<<2)>>2]=c;J[i+(c<<2)>>2]=a;a=J[j>>2];J[l+(a<<2)>>2]=b;c=a+1|0;i=l+(c<<2)|0;J[i>>2]=s;k=a+2|0;l=l+(k<<2)|0;J[l>>2]=f;a=J[h+120>>2];b=c?b:-1;f=a+(b>>>3&536870908)|0;s=J[f>>2];O=f,Q=nk(b)&s,J[O>>2]=Q;g=(c|0)!=-1?J[i>>2]:g;c=a+(g>>>3&536870908)|0;b=J[c>>2];O=c,Q=nk(g)&b,J[O>>2]=Q;b=-1;b=(k|0)!=-1?J[l>>2]:b;a=a+(b>>>3&536870908)|0;c=J[a>>2];O=a,Q=nk(b)&c,J[O>>2]=Q;H[j+88|0]=1;hf(o,j+88|0);ff(p,j);r=r+1|0}if((d|0)!=(e|0)){continue}break}a=J[h+8>>2]}if(((J[a+4>>2]-J[a>>2]>>2>>>0)/3|0)!=(r|0)){break p}n=J[a+28>>2]-J[a+24>>2]>>2;if((m|0)==(x|0)){m=x;break p}d=m;while(1){g=J[d>>2];r=J[a+24>>2];b=n-1|0;c=r+(b<<2)|0;if(J[c>>2]==-1){while(1){b=n-2|0;n=n-1|0;c=r+(b<<2)|0;if(J[c>>2]==-1){continue}break}}if(b>>>0>=g>>>0){J[j>>2]=a;c=J[c>>2];H[j+12|0]=1;J[j+8>>2]=c;J[j+4>>2]=c;if((c|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(c<<2)|0;if(J[a>>2]!=(b|0)){n=-1;break p}J[a>>2]=g;yd(j);c=J[j+8>>2];if((c|0)!=-1){continue}break}a=J[h+8>>2]}r=J[a+24>>2];c=r+(b<<2)|0;if((g|0)!=-1){J[r+(g<<2)>>2]=J[c>>2]}J[c>>2]=-1;c=1<<g;r=J[h+120>>2];g=r+(g>>>3&536870908)|0;r=r+(b>>>3&536870908)|0;b=1<<b;if(J[r>>2]&b){c=c|J[g>>2]}else{c=J[g>>2]&(c^-1)}J[g>>2]=c;J[r>>2]=J[r>>2]&(b^-1);n=n-1|0}d=d+4|0;if((x|0)!=(d|0)){continue}break}}if(m){xj(m)}a=J[j+48>>2];if(a){while(1){d=J[a>>2];xj(a);a=d;if(a){continue}break}}a=J[j+40>>2];J[j+40>>2]=0;if(a){xj(a)}if(e){J[j+68>>2]=e;xj(e)}ia=j+96|0;a=n;break m}La();C()}Za();C()}c=a;if((a|0)==-1){break l}a=J[E+16>>2];d=a+J[E>>2]|0;e=J[E+8>>2];e=e-a|0;a=J[J[h+4>>2]+32>>2];I[a+38>>1]=L[a+38>>1];J[a>>2]=d;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=e;J[a+12>>2]=0;a=J[h+4>>2];d=L[a+36>>1];b=d<<8|d>>>8;if((b&65535)>>>0<=513){a=J[a+32>>2];e=F+J[a+20>>2]|0;d=w+J[a+16>>2]|0;e=d>>>0<w>>>0?e+1|0:e;J[a+16>>2]=d;J[a+20>>2]=e}ka:{if(J[h+216>>2]==J[h+220>>2]){break ka}d=J[h+8>>2];a=J[d>>2];d=J[d+4>>2];la:{if((b&65535)>>>0>=513){if((a|0)==(d|0)){break ka}d=0;break la}if((a|0)==(d|0)){break ka}d=0;while(1){if(_e(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ka}break}break l}while(1){if($e(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ka}break}break l}af(G);d=J[h+216>>2];if((d|0)!=J[h+220>>2]){o=0;while(1){e=P(o,144);Ci((e+d|0)+4|0,J[h+8>>2]);a=J[B>>2];b=a+e|0;d=J[b+132>>2];b=J[b+136>>2];if((d|0)!=(b|0)){while(1){Ei((e+J[B>>2]|0)+4|0,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}a=J[B>>2]}if(!Di((a+e|0)+4|0)){break l}o=o+1|0;d=J[h+216>>2];if(o>>>0<(J[h+220>>2]-d|0)/144>>>0){continue}break}}a=J[h+8>>2];bf(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);u=J[h+216>>2];if((u|0)!=J[h+220>>2]){d=0;while(1){a=P(d,144)+u|0;e=J[a+60>>2]-J[a+56>>2]>>2;b=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;bf(b,(a|0)<(e|0)?e:a);d=d+1|0;u=J[h+216>>2];if(d>>>0<(J[h+220>>2]-u|0)/144>>>0){continue}break}}u=cf(h,c)}break b}u=0}ia=q- -64|0;return u|0}function Mh(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0;z=c;c=0;m=ia-96|0;ia=m;k=m+16|0;Xi(k,0,76);J[m+92>>2]=-1;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;q=ia-16|0;ia=q;J[k+68>>2]=0;J[k+72>>2]=0;J[k>>2]=b;s=ia-16|0;ia=s;v=b;a=J[b+20>>2];a:{if((J[b+24>>2]-a|0)<=0){break a}a=J[a>>2];if((a|0)==-1){break a}c=J[J[v+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=J[v+100>>2];d=J[v+96>>2];J[s+8>>2]=0;J[s>>2]=0;J[s+4>>2]=0;e=a-d|0;b=(e|0)/12|0;e:{if((a|0)==(d|0)){break e}if(b>>>0>=357913942){break c}f=Aj(e);J[s>>2]=f;J[s+8>>2]=f+P(b,12);a=0;g=f;e=e-12|0;f=(e-((e>>>0)%12|0)|0)+12|0;e=Xi(g,0,f);J[s+4>>2]=e+f;if(K[c+84|0]){c=b>>>0<=1?1:b;g=c&1;if(b>>>0>=2){i=c&-2;c=0;while(1){f=P(a,12);b=f+d|0;h=J[b+4>>2];o=J[b>>2];f=e+f|0;J[f+8>>2]=J[b+8>>2];J[f>>2]=o;J[f+4>>2]=h;f=P(a|1,12);b=f+d|0;h=J[b+4>>2];o=J[b>>2];f=e+f|0;J[f+8>>2]=J[b+8>>2];J[f>>2]=o;J[f+4>>2]=h;a=a+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break e}b=P(a,12);a=b+d|0;c=J[a+4>>2];d=J[a>>2];b=b+e|0;J[b+8>>2]=J[a+8>>2];J[b>>2]=d;J[b+4>>2]=c;break e}g=b>>>0<=1?1:b;a=J[c+68>>2];c=0;while(1){f=P(c,12);b=f+d|0;i=J[a+(J[b>>2]<<2)>>2];h=J[a+(J[b+4>>2]<<2)>>2];f=e+f|0;J[f+8>>2]=J[a+(J[b+8>>2]<<2)>>2];J[f+4>>2]=h;J[f>>2]=i;c=c+1|0;if((g|0)!=(c|0)){continue}break}}c=0;D=ia-16|0;ia=D;h=Aj(88);ui(h);A=ia-16|0;ia=A;J[h+80>>2]=0;J[h+84>>2]=0;a=J[h+76>>2];J[h+76>>2]=0;if(a){xj(a)}J[h+68>>2]=0;J[h+72>>2]=0;b=h- -64|0;a=J[b>>2];J[b>>2]=0;if(a){xj(a)}d=J[s+4>>2];g=J[s>>2];b=(d-g|0)/12|0;a=P(b,3);f=J[h>>2];e=J[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){Oa(h,a-e|0);d=J[s+4>>2];g=J[s>>2];b=(d-g|0)/12|0;break f}if(a>>>0>=e>>>0){break f}J[h+4>>2]=f+(a<<2)}g:{if((d|0)==(g|0)){break g}d=b>>>0<=1?1:b;f=d&1;a=J[h>>2];if(b>>>0>=2){i=d&-2;b=0;while(1){d=P(c,12);o=d+a|0;e=d+g|0;J[o>>2]=J[e>>2];J[a+(d|4)>>2]=J[e+4>>2];J[o+8>>2]=J[e+8>>2];e=P(c|1,12);d=e+a|0;e=e+g|0;J[d>>2]=J[e>>2];J[d+4>>2]=J[e+4>>2];J[d+8>>2]=J[e+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!f){break g}b=P(c,12);a=b+a|0;b=b+g|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}J[A+12>>2]=-1;a=0;e=0;d=0;i=ia-32|0;ia=i;h:{i:{w=A+12|0;j:{if(!w){break j}b=J[h+4>>2];o=J[h>>2];c=b-o|0;j=c>>2;g=J[h+12>>2];f=J[h+16>>2]-g>>2;k:{if(j>>>0>f>>>0){jb(h+12|0,j-f|0,13700);b=J[h+4>>2];o=J[h>>2];c=b-o|0;j=c>>2;break k}if(f>>>0<=j>>>0){break k}J[h+16>>2]=g+(j<<2)}J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;f=(b|0)==(o|0);if(!f){if((c|0)<0){break i}e=Aj(c);J[i+20>>2]=e;J[i+16>>2]=e;J[i+24>>2]=(j<<2)+e}l:{m:{n:{o:{p:{if(c){while(1){g=J[(a<<2)+o>>2];c=J[i+20>>2]-e>>2;q:{if(g>>>0<c>>>0){break q}J[i>>2]=0;f=g+1|0;if(f>>>0>c>>>0){jb(i+16|0,f-c|0,i);o=J[h>>2];b=J[h+4>>2];e=J[i+16>>2];break q}if(c>>>0<=f>>>0){break q}J[i+20>>2]=(f<<2)+e}c=(g<<2)+e|0;J[c>>2]=J[c>>2]+1;a=a+1|0;c=b-o|0;j=c>>2;if(a>>>0<j>>>0){continue}break}break p}c=0;if(!f){break o}break n}if((b|0)==(o|0)){c=0;break n}if(c>>>0>=2147483645){break m}}c=Aj(c<<1);Xi(c,255,j<<3)}J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;b=J[i+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}n=Aj(a);J[i>>2]=n;J[i+8>>2]=(t<<2)+n;b=Xi(n,0,a);J[i+4>>2]=b+a;f=t>>>0<=1?1:t;g=f&3;a=0;if(f-1>>>0>=3){r=f&-4;while(1){f=d<<2;J[f+b>>2]=a;x=f|4;a=J[e+f>>2]+a|0;J[x+b>>2]=a;u=f|8;a=a+J[e+x>>2]|0;J[u+b>>2]=a;f=f|12;a=a+J[e+u>>2]|0;J[f+b>>2]=a;a=a+J[e+f>>2]|0;d=d+4|0;p=p+4|0;if((r|0)!=(p|0)){continue}break}}if(!g){break s}while(1){f=d<<2;J[f+b>>2]=a;d=d+1|0;a=J[e+f>>2]+a|0;l=l+1|0;if((g|0)!=(l|0)){continue}break}}if(!j){break l}x=J[h+12>>2];f=0;while(1){E=f<<2;a=E+o|0;l=-1;g=f+1|0;b=(g>>>0)%3|0?g:f-2|0;if((b|0)!=-1){l=J[(b<<2)+o>>2]}b=J[a>>2];t:{u:{if(!((f>>>0)%3|0)){p=-1;a=f+2|0;if((a|0)!=-1){p=J[(a<<2)+o>>2]}if(!((b|0)==(l|0)|(b|0)==(p|0))&(l|0)!=(p|0)){break u}J[h+40>>2]=J[h+40>>2]+1;f=f+3|0;break t}p=J[a-4>>2]}a=p<<2;u=J[a+e>>2];v:{w:{if((u|0)<=0){break w}a=J[a+n>>2];d=0;while(1){r=(a<<3)+c|0;y=J[r>>2];if((y|0)==-1){break w}x:{if((l|0)!=(y|0)){break x}r=J[r+4>>2];if((r|0)!=-1){y=J[(r<<2)+o>>2]}else{y=-1}if((y|0)==(b|0)){break x}while(1){y:{b=a;d=d+1|0;if((u|0)<=(d|0)){break y}a=b+1|0;F=(a<<3)+c|0;y=J[F>>2];G=(b<<3)+c|0;J[G+4>>2]=J[F+4>>2];J[G>>2]=y;if((y|0)!=-1){continue}}break}J[(b<<3)+c>>2]=-1;if((r|0)==-1){break w}J[x+E>>2]=r;J[x+(r<<2)>>2]=f;break v}a=a+1|0;d=d+1|0;if((u|0)!=(d|0)){continue}break}}a=l<<2;l=J[a+e>>2];if((l|0)<=0){break v}a=J[a+n>>2];d=0;while(1){b=(a<<3)+c|0;if(J[b>>2]==-1){J[b>>2]=p;J[b+4>>2]=f;break v}a=a+1|0;d=d+1|0;if((l|0)!=(d|0)){continue}break}}f=g}if(j>>>0>f>>>0){continue}break}break l}break i}La();C()}J[w>>2]=t;if(n){xj(n)}if(c){xj(c)}a=J[i+16>>2];if(!a){break j}J[i+20>>2]=a;xj(a)}ia=i+32|0;x=(w|0)!=0;if(x){l=ia-32|0;ia=l;n=J[h>>2];a=J[h+4>>2];J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;z:{if((a|0)==(n|0)){break z}c=a-n|0;if((c|0)<0){break i}b=c>>2;e=b-1>>>5|0;d=Aj((e<<2)+4|0);J[l+16>>2]=d;J[d+((c>>>0>=132?e:0)<<2)>>2]=0;c=b>>>5<<2;d=Xi(d,0,c);if((b|0)==(b&-32)){break z}c=c+d|0;J[c>>2]=J[c>>2]&(-1>>>32-(b&31)^-1)}J[l+8>>2]=0;J[l>>2]=0;while(1){A:{r=0;o=0;if((a|0)==(n|0)){break A}while(1){b=J[l+16>>2];B:{if(J[b+(o>>>3&536870908)>>2]>>>o&1){break B}e=J[l>>2];J[l+4>>2]=e;c=J[h+12>>2];a=o;while(1){C:{d=a+1|0;i=a;a=(d>>>0)%3|0?d:a-2|0;if((a|0)==-1){break C}a=J[c+(a<<2)>>2];if((a|0)==-1){break C}d=a+1|0;a=(d>>>0)%3|0?d:a-2|0;if((o|0)==(a|0)|(a|0)==-1){break C}if(!(J[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}d=i;D:{E:{F:{while(1){a=J[l+16>>2]+(d>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<<d;a=d+1|0;g=(a>>>0)%3|0?a:d-2|0;n=J[h>>2];u=(d>>>0)%3|0;b=(u?-1:2)+d|0;j=J[l>>2];G:{if((j|0)==(e|0)){break G}w=J[(g<<2)+n>>2];p=J[h+12>>2];a=j;if((b|0)!=-1){c=p+(b<<2)|0;while(1){H:{if((w|0)!=J[a>>2]){break H}f=J[a+4>>2];t=J[c>>2];if((f|0)==(t|0)){break H}e=-1;c=b;a=-1;if((f|0)==-1){break D}break E}a=a+8|0;if((e|0)!=(a|0)){continue}break}break G}while(1){if((w|0)==J[a>>2]){t=-1;c=-1;f=J[a+4>>2];if((f|0)!=-1){break E}}a=a+8|0;if((e|0)!=(a|0)){continue}break}}f=J[(b<<2)+n>>2];I:{if(J[l+8>>2]!=(e|0)){J[e>>2]=f;J[e+4>>2]=g;e=e+8|0;J[l+4>>2]=e;break I}b=e-j|0;e=b>>3;a=e+1|0;if(a>>>0>=536870912){break i}c=b>>2;c=b>>>0>=2147483640?536870911:a>>>0<c>>>0?c:a;if(c){if(c>>>0>=536870912){break F}a=Aj(c<<3)}else{a=0}e=a+(e<<3)|0;J[e>>2]=f;J[e+4>>2]=g;e=e+8|0;if((b|0)>0){Vi(a,j,b)}J[l+8>>2]=a+(c<<3);J[l+4>>2]=e;J[l>>2]=a;if(!j){break I}xj(j)}J:{K:{if(u){a=d-1|0;break K}a=d+2|0;if((a|0)==-1){break J}}a=J[J[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break J}d=a+((a>>>0)%3|0?-1:2)|0;if((i|0)==(d|0)){break J}if((d|0)!=-1){continue}}break}n=J[h>>2];break B}Za();C()}b=c;e=f;a=J[p+(e<<2)>>2]}if((t|0)!=-1){J[p+(t<<2)>>2]=-1}if((a|0)!=-1){J[J[h+12>>2]+(a<<2)>>2]=-1}a=J[h+12>>2];J[a+(b<<2)>>2]=-1;J[a+(e<<2)>>2]=-1;r=1}o=o+1|0;a=J[h+4>>2];if(o>>>0<a-n>>2>>>0){continue}break}if(r){continue}}break}a=J[l>>2];if(a){xj(a)}a=J[l+16>>2];if(a){xj(a)}ia=l+32|0;c=0;f=0;l=0;i=ia-32|0;ia=i;a=J[A+12>>2];J[h+36>>2]=a;o=h+24|0;d=J[h+24>>2];b=J[h+28>>2]-d>>2;L:{M:{if(b>>>0<a>>>0){jb(o,a-b|0,13700);J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;break M}if(a>>>0<b>>>0){J[h+28>>2]=d+(a<<2)}J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;if(!a){break L}}if((a|0)<0){break i}b=a-1>>>5|0;d=b+1|0;c=Aj(d<<2);J[i+24>>2]=d;J[i+16>>2]=c;J[i+20>>2]=a;J[((a>>>0>=33?b:0)<<2)+c>>2]=0;b=a>>>5<<2;d=Xi(c,0,b);if((a&-32)==(a|0)){break L}b=b+d|0;J[b>>2]=J[b>>2]&(-1>>>32-(a&31)^-1)}j=J[h>>2];e=J[h+4>>2];J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;d=e-j|0;N:{if((e|0)==(j|0)){break N}if((d|0)<0){break i}b=d>>2;g=b-1>>>5|0;n=g+1|0;f=Aj(n<<2);J[i+8>>2]=n;J[i>>2]=f;J[i+4>>2]=b;J[((d>>>0>=132?g:0)<<2)+f>>2]=0;g=b>>>5<<2;n=Xi(f,0,g);if((b|0)==(b&-32)){break N}g=g+n|0;J[g>>2]=J[g>>2]&(-1>>>32-(b&31)^-1)}if(d>>>0>=12){O:{P:{while(1){p=P(l,3);d=(p<<2)+j|0;b=J[d>>2];g=-1;n=p+1|0;if((n|0)!=-1){g=J[(n<<2)+j>>2]}Q:{if((b|0)==(g|0)){break Q}n=b;b=J[d+8>>2];if((n|0)==(b|0)){break Q}n=0;if((b|0)==(g|0)){break Q}while(1){b=n+p|0;if(!(J[(b>>>3&536870908)+f>>2]>>>b&1)){d=J[(b<<2)+j>>2];g=1<<d;j=d>>>5|0;t=g&J[(j<<2)+c>>2];if(t){c=J[h+28>>2];R:{if((c|0)!=J[h+32>>2]){J[c>>2]=-1;J[h+28>>2]=c+4;break R}f=J[o>>2];e=c-f|0;j=e>>2;c=j+1|0;if(c>>>0>=1073741824){break i}g=e>>1;g=e>>>0>=2147483644?1073741823:c>>>0<g>>>0?g:c;if(g){if(g>>>0>=1073741824){break P}c=Aj(g<<2)}else{c=0}j=c+(j<<2)|0;J[j>>2]=-1;if((e|0)>0){Vi(c,f,e)}J[h+32>>2]=c+(g<<2);J[h+28>>2]=j+4;J[h+24>>2]=c;if(!f){break R}xj(f)}c=J[h+52>>2];S:{if((c|0)!=J[h+56>>2]){J[c>>2]=d;J[h+52>>2]=c+4;break S}f=J[h+48>>2];e=c-f|0;j=e>>2;c=j+1|0;if(c>>>0>=1073741824){break i}g=e>>1;g=e>>>0>=2147483644?1073741823:c>>>0<g>>>0?g:c;if(g){if(g>>>0>=1073741824){break P}c=Aj(g<<2)}else{c=0}j=c+(j<<2)|0;J[j>>2]=d;if((e|0)>0){Vi(c,f,e)}J[h+56>>2]=c+(g<<2);J[h+52>>2]=j+4;J[h+48>>2]=c;if(!f){break S}xj(f)}g=J[i+20>>2];c=J[i+24>>2];if((g|0)==c<<5){if((g+1|0)<0){break i}d=i+16|0;if(g>>>0<=1073741822){c=c<<6;e=(g&-32)+32|0;c=c>>>0>e>>>0?c:e}else{c=2147483647}Mc(d,c);g=J[i+20>>2]}J[i+20>>2]=g+1;c=J[i+16>>2]+(g>>>3&536870908)|0;d=J[c>>2];L=c,M=nk(g)&d,J[L>>2]=M;g=1<<a;j=a>>>5|0;d=a;a=a+1|0}e=a;c=J[i+16>>2];a=c+(j<<2)|0;J[a>>2]=J[a>>2]|g;w=J[h+24>>2]+(d<<2)|0;r=J[h+12>>2];j=J[h>>2];f=J[i>>2];a=b;T:{U:{V:{while(1){if((a|0)==-1){break V}g=(a>>>3&536870908)+f|0;J[g>>2]=J[g>>2]|1<<a;J[w>>2]=a;if(t){J[(a<<2)+j>>2]=d}u=a+1|0;a=(u>>>0)%3|0?u:a-2|0;g=-1;W:{if((a|0)==-1){break W}a=J[r+(a<<2)>>2];g=-1;if((a|0)==-1){break W}g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}a=g;if((b|0)!=(a|0)){continue}break}if((b|0)!=-1){break T}a=1;break U}if((b>>>0)%3|0){a=b-1|0;break U}a=b+2|0;if((a|0)==-1){break T}}a=J[r+(a<<2)>>2];if((a|0)==-1){break T}X:{if((a>>>0)%3|0){a=a-1|0;break X}a=a+2|0;if((a|0)==-1){break T}}b=J[h+12>>2];j=J[h>>2];f=J[i>>2];while(1){g=(a>>>3&536870908)+f|0;J[g>>2]=J[g>>2]|1<<a;if(t){J[(a<<2)+j>>2]=d}Y:{if((a>>>0)%3|0){a=a-1|0;break Y}a=a+2|0;if((a|0)==-1){break T}}a=J[b+(a<<2)>>2];if((a|0)==-1){break T}a=a+((a>>>0)%3|0?-1:2)|0;if((a|0)!=-1){continue}break}}a=e}n=n+1|0;if((n|0)!=3){continue}break}j=J[h>>2];e=J[h+4>>2]}l=l+1|0;if(l>>>0<(e-j>>2>>>0)/3>>>0){continue}break}break O}Za();C()}c=J[i+16>>2]}a=0;J[h+44>>2]=0;b=J[i+20>>2];if(b){d=b&31;b=(b>>>3&536870908)+c|0;g=c;f=0;while(1){if(!(J[g>>2]>>>a&1)){f=f+1|0;J[h+44>>2]=f}e=(a|0)==31;a=e?0:a+1|0;g=(e<<2)+g|0;if((b|0)!=(g|0)|(a|0)!=(d|0)){continue}break}}a=J[i>>2];if(a){xj(a);c=J[i+16>>2]}if(c){xj(c)}ia=i+32|0}ia=A+16|0;if(!x){J[D+8>>2]=0;Ue(h);h=0}ia=D+16|0;a=h;break h}La();C()}b=J[s>>2];if(!b){break d}J[s+4>>2]=b;xj(b)}ia=s+16|0;break b}La();C()}c=J[k+4>>2];b=a;J[k+4>>2]=a;if(c){Ue(c);b=J[k+4>>2]}Z:{if(!b){break Z}a=J[v+100>>2];c=J[v+96>>2];H[q+12|0]=0;Qe(k+56|0,(a-c|0)/12|0,q+12|0);a=J[v+100>>2];c=J[v+96>>2];if((a|0)==(c|0)){break Z}while(1){if(!(J[J[k+56>>2]+(B>>>3&536870908)>>2]>>>B&1)){a=P(B,3);Fi(k,0,a);c=J[k+8>>2];d=J[k+12>>2];Fi(k,1,a+1|0);e=J[k+20>>2];f=J[k+24>>2];Fi(k,2,a+2|0);g=(c|0)==(d|0)?-1:0;a=f-e>>2;c=d-c>>2;d=a>>>0>c>>>0;c=J[k+36>>2]-J[k+32>>2]>>2>>>0>(d?a:c)>>>0?2:d?1:g;_:{if(J[k+68>>2]<=0){break _}J[q+12>>2]=J[k+76>>2];J[q+8>>2]=m;wg(q+8|0,q+12|0);a=J[((c<<2)+k|0)+44>>2];if((a|0)<0){a=-1}else{d=(a>>>0)/3|0;a=J[(J[J[k>>2]+96>>2]+P(d,12)|0)+(a-P(d,3)<<2)>>2]}J[q+12>>2]=a;J[q+8>>2]=m;wg(q+8|0,q+12|0);d=J[k+72>>2];J[k+72>>2]=d+2;if(!(d&1)){break _}J[q+12>>2]=a;J[q+8>>2]=m;wg(q+8|0,q+12|0);J[k+72>>2]=J[k+72>>2]+1}f=0;d=ia-16|0;ia=d;J[k+68>>2]=J[k+68>>2]+1;a=P(c,12)+k|0;a=J[a+12>>2]-J[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;g=a>>>0<=1?1:a;c=J[((c<<2)+k|0)+44>>2];while(1){a=c;e=(a>>>0)/3|0;c=(a|0)==-1;i=c?-1:e;h=J[k+56>>2]+(i>>>3&536870908)|0;J[h>>2]=J[h>>2]|1<<i;J[k+72>>2]=J[k+72>>2]+1;$:{aa:{ba:{ca:{da:{if(!f){ea:{if((a|0)>=0){J[d+12>>2]=J[(J[J[k>>2]+96>>2]+P(e,12)|0)+((a>>>0)%3<<2)>>2];J[d+8>>2]=m;wg(d+8|0,d+12|0);break ea}J[d+12>>2]=-1;J[d+8>>2]=m;wg(d+8|0,d+12|0);if(c){break da}}c=-1;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)>=0){i=(e>>>0)/3|0;e=J[(J[J[k>>2]+96>>2]+P(i,12)|0)+(e-P(i,3)<<2)>>2]}else{e=-1}J[d+12>>2]=e;J[d+8>>2]=m;wg(d+8|0,d+12|0);e=((a>>>0)%3|0?-1:2)+a|0;if((e|0)<0){break ca}c=(e>>>0)/3|0;c=J[(J[J[k>>2]+96>>2]+P(c,12)|0)+(e-P(c,3)<<2)>>2];break ca}c=(a|0)<0?-1:J[(J[J[k>>2]+96>>2]+P(e,12)|0)+((a>>>0)%3<<2)>>2];J[k+76>>2]=c;J[d+12>>2]=c;J[d+8>>2]=m;wg(d+8|0,d+12|0);if(f&1){c=-1;if((a|0)==-1){break $}if((P(e,3)|0)!=(a|0)){a=a-1|0;break aa}a=a+2|0;break ba}c=-1;if((a|0)==-1){break $}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break ba}c=-1;J[d+12>>2]=-1;J[d+8>>2]=m;wg(d+8|0,d+12|0)}J[k+76>>2]=c;J[d+12>>2]=c;J[d+8>>2]=m;wg(d+8|0,d+12|0)}c=-1;if((a|0)==-1){break $}}c=J[J[J[k+4>>2]+12>>2]+(a<<2)>>2]}f=f+1|0;if((g|0)!=(f|0)){continue}break}}ia=d+16|0;c=J[v+96>>2];a=J[v+100>>2]}B=B+1|0;if(B>>>0<(a-c|0)/12>>>0){continue}break}}ia=q+16|0;fa:{if(b){a=J[z>>2];if(a){J[z+4>>2]=a;xj(a)}J[z>>2]=J[m>>2];J[z+4>>2]=J[m+4>>2];J[z+8>>2]=J[m+8>>2];I=J[m+84>>2];break fa}a=J[m>>2];if(!a){break fa}J[m+4>>2]=a;xj(a)}a=J[m+72>>2];if(a){xj(a)}a=J[m+48>>2];if(a){J[m+52>>2]=a;xj(a)}a=J[m+36>>2];if(a){J[m+40>>2]=a;xj(a)}a=J[m+24>>2];if(a){J[m+28>>2]=a;xj(a)}a=J[m+20>>2];J[m+20>>2]=0;if(a){Ue(a)}ia=m+96|0;return I|0}function Xh(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{b:{switch(d-1|0){case 0:a=0;i=J[b+80>>2];l=K[c+24|0];c:{if((P(i,l)|0)!=(e|0)){break c}b=J[c+28>>2]!=1;a=K[c+84|0];if(!(b|!a)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break c}d=0;if(l){d=Aj(l);Xi(d,0,l)}d:{if(!i){break d}if(!b){if(l){b=0;a=0;while(1){h=J[J[c>>2]>>2];n=J[c+40>>2];e=J[c+48>>2]+jk(n,J[c+44>>2],K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],0)|0;Vi(b+f|0,Vi(d,h+e|0,n),l);b=b+l|0;a=a+1|0;if((i|0)!=(a|0)){continue}break}break d}if(a){e=J[c>>2];a=J[c+48>>2];l=J[c+44>>2];p=J[c+40>>2];if((i|0)!=1){m=i&-2;c=0;b=0;while(1){f=J[e>>2];h=jk(p,l,c,0)+a|0;f=Vi(d,f+h|0,p);k=J[e>>2];h=jk(p,l,c|1,0)+a|0;Vi(f,k+h|0,p);c=c+2|0;b=b+2|0;if((m|0)!=(b|0)){continue}break}h=c}if(!(i&1)){break d}c=J[e>>2];b=jk(h,0,p,l)+a|0;Vi(d,c+b|0,p);break d}e=J[c>>2];a=J[c+48>>2];h=J[c+68>>2];l=J[c+44>>2];p=J[c+40>>2];c=0;if((i|0)!=1){j=i&-2;b=0;while(1){f=J[e>>2];k=c<<2;m=jk(p,l,J[k+h>>2],0)+a|0;f=Vi(d,f+m|0,p);o=J[e>>2];m=jk(p,l,J[h+(k|4)>>2],0)+a|0;Vi(f,o+m|0,p);c=c+2|0;b=b+2|0;if((j|0)!=(b|0)){continue}break}}if(!(i&1)){break d}e=J[e>>2];b=jk(p,l,J[h+(c<<2)>>2],0)+a|0;Vi(d,e+b|0,p);break d}a=0;g=1;if(!l){while(1){if(!xg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],d)){break d}a=a+1|0;g=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break d}}b=0;while(1){if(!xg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],d)){break d}Vi(a+f|0,d,l);a=a+l|0;b=b+1|0;g=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}}a=!g;if(!d){break c}xj(d)}g=a&1;break a;case 2:k=K[c+24|0];n=k<<1;b=J[b+80>>2];e:{f:{if((P(n,b)|0)!=(e|0)){break f}d=J[c+28>>2]!=3;q=K[c+84|0];if(!(d|!q)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);g=1;break e}a=0;if(k){a=Aj(n);Xi(a,0,n)}g:{if(!b){break g}if(!d){d=J[c+68>>2];i=J[c>>2];e=J[c+48>>2];m=J[c+44>>2];j=J[c+40>>2];if(k){if(!q){c=0;while(1){o=J[i>>2];h=jk(j,m,J[d+(g<<2)>>2],0)+e|0;Vi((c<<1)+f|0,Vi(a,o+h|0,j),n);c=c+k|0;g=g+1|0;if((b|0)!=(g|0)){continue}break}break g}c=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;Vi((c<<1)+f|0,Vi(a,o+d|0,j),n);c=c+k|0;d=g;g=h+1|0;d=g?d:d+1|0;h=g;g=d;if((b|0)!=(h|0)|d){continue}break}break g}if(!q){c=0;if((b|0)!=1){h=b&-2;while(1){o=J[i>>2];k=c<<2;f=jk(j,m,J[k+d>>2],0)+e|0;o=Vi(a,o+f|0,j);n=J[i>>2];f=jk(j,m,J[d+(k|4)>>2],0)+e|0;Vi(o,n+f|0,j);c=c+2|0;g=g+2|0;if((h|0)!=(g|0)){continue}break}}if(!(b&1)){break g}f=J[i>>2];b=jk(j,m,J[d+(c<<2)>>2],0)+e|0;Vi(a,f+b|0,j);break g}f=b&1;if((b|0)!=1){k=b&-2;c=0;b=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;o=Vi(a,o+d|0,j);n=J[i>>2];d=jk(j,m,h|1,g)+e|0;Vi(o,n+d|0,j);d=h+2|0;g=d>>>0<2?g+1|0:g;h=d;d=b;b=c+2|0;d=b>>>0<2?d+1|0:d;c=b;b=d;if((k|0)!=(c|0)|b){continue}break}}if(!f){break g}c=J[i>>2];b=jk(h,g,j,m)+e|0;Vi(a,c+b|0,j);break g}d=0;l=1;if(!k){while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break g}d=d+1|0;l=b>>>0>d>>>0;if((b|0)!=(d|0)){continue}break g}}while(1){if(!Ag(c,K[c+84|0]?g:J[J[c+68>>2]+(g<<2)>>2],H[c+24|0],a)){break g}Vi((d<<1)+f|0,a,n);d=d+k|0;g=g+1|0;l=b>>>0>g>>>0;if((b|0)!=(g|0)){continue}break}}g=!l;if(!a){break f}xj(a)}g=g&1}break a;case 4:k=K[c+24|0];n=k<<2;b=J[b+80>>2];h:{if((P(n,b)|0)!=(e|0)){break h}i=J[c+28>>2]!=5;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);g=1;break h}a=0;if(k){a=Aj(n);Xi(a,0,n)}i:{if(!b){break i}if(!i){q=J[c+68>>2];i=J[c>>2];e=J[c+48>>2];m=J[c+44>>2];j=J[c+40>>2];if(k){if(!d){c=0;d=0;while(1){h=J[i>>2];g=jk(j,m,J[q+(d<<2)>>2],0)+e|0;Vi((c<<2)+f|0,Vi(a,h+g|0,j),n);c=c+k|0;d=d+1|0;if((b|0)!=(d|0)){continue}break}break i}d=b;c=0;while(1){o=J[i>>2];b=jk(h,g,j,m)+e|0;Vi((c<<2)+f|0,Vi(a,o+b|0,j),n);c=c+k|0;b=g;g=h+1|0;b=g?b:b+1|0;h=g;g=b;if((d|0)!=(h|0)|b){continue}break}break i}if(!d){c=0;if((b|0)!=1){g=b&-2;d=0;while(1){k=J[i>>2];h=c<<2;f=jk(j,m,J[h+q>>2],0)+e|0;k=Vi(a,k+f|0,j);o=J[i>>2];f=jk(j,m,J[q+(h|4)>>2],0)+e|0;Vi(k,o+f|0,j);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break i}d=J[i>>2];b=jk(j,m,J[q+(c<<2)>>2],0)+e|0;Vi(a,d+b|0,j);break i}f=b&1;if((b|0)!=1){k=b&-2;c=0;b=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;o=Vi(a,o+d|0,j);n=J[i>>2];d=jk(j,m,h|1,g)+e|0;Vi(o,n+d|0,j);d=g;g=h+2|0;d=g>>>0<2?d+1|0:d;h=g;g=d;c=c+2|0;b=c>>>0<2?b+1|0:b;if((k|0)!=(c|0)|b){continue}break}}if(!f){break i}c=J[i>>2];b=jk(h,g,j,m)+e|0;Vi(a,c+b|0,j);break i}l=1;if(!k){while(1){if(!Cg(c,K[c+84|0]?g:J[J[c+68>>2]+(g<<2)>>2],H[c+24|0],a)){break i}g=g+1|0;l=b>>>0>g>>>0;if((b|0)!=(g|0)){continue}break i}}d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break i}Vi((g<<2)+f|0,a,n);g=g+k|0;d=d+1|0;l=b>>>0>d>>>0;if((b|0)!=(d|0)){continue}break}}g=!l;if(!a){break h}xj(a)}g=g&1;break a;case 1:a=0;i=J[b+80>>2];l=K[c+24|0];j:{if((P(i,l)|0)!=(e|0)){break j}b=J[c+28>>2]!=2;a=K[c+84|0];if(!(b|!a)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break j}d=0;if(l){d=Aj(l);Xi(d,0,l)}k:{if(!i){break k}if(!b){if(l){b=0;a=0;while(1){h=J[J[c>>2]>>2];n=J[c+40>>2];e=J[c+48>>2]+jk(n,J[c+44>>2],K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],0)|0;Vi(b+f|0,Vi(d,h+e|0,n),l);b=b+l|0;a=a+1|0;if((i|0)!=(a|0)){continue}break}break k}if(a){e=J[c>>2];a=J[c+48>>2];l=J[c+44>>2];p=J[c+40>>2];if((i|0)!=1){m=i&-2;c=0;b=0;while(1){f=J[e>>2];h=jk(p,l,c,0)+a|0;f=Vi(d,f+h|0,p);k=J[e>>2];h=jk(p,l,c|1,0)+a|0;Vi(f,k+h|0,p);c=c+2|0;b=b+2|0;if((m|0)!=(b|0)){continue}break}h=c}if(!(i&1)){break k}c=J[e>>2];b=jk(h,0,p,l)+a|0;Vi(d,c+b|0,p);break k}e=J[c>>2];a=J[c+48>>2];h=J[c+68>>2];l=J[c+44>>2];p=J[c+40>>2];c=0;if((i|0)!=1){j=i&-2;b=0;while(1){f=J[e>>2];k=c<<2;m=jk(p,l,J[k+h>>2],0)+a|0;f=Vi(d,f+m|0,p);o=J[e>>2];m=jk(p,l,J[h+(k|4)>>2],0)+a|0;Vi(f,o+m|0,p);c=c+2|0;b=b+2|0;if((j|0)!=(b|0)){continue}break}}if(!(i&1)){break k}e=J[e>>2];b=jk(p,l,J[h+(c<<2)>>2],0)+a|0;Vi(d,e+b|0,p);break k}a=0;g=1;if(!l){while(1){if(!yg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],d)){break k}a=a+1|0;g=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break k}}b=0;while(1){if(!yg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],d)){break k}Vi(a+f|0,d,l);a=a+l|0;b=b+1|0;g=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}}a=!g;if(!d){break j}xj(d)}g=a&1;break a;case 3:k=K[c+24|0];n=k<<1;b=J[b+80>>2];l:{m:{if((P(n,b)|0)!=(e|0)){break m}d=J[c+28>>2]!=4;q=K[c+84|0];if(!(d|!q)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);g=1;break l}a=0;if(k){a=Aj(n);Xi(a,0,n)}n:{if(!b){break n}if(!d){d=J[c+68>>2];i=J[c>>2];e=J[c+48>>2];m=J[c+44>>2];j=J[c+40>>2];if(k){if(!q){c=0;while(1){o=J[i>>2];h=jk(j,m,J[d+(g<<2)>>2],0)+e|0;Vi((c<<1)+f|0,Vi(a,o+h|0,j),n);c=c+k|0;g=g+1|0;if((b|0)!=(g|0)){continue}break}break n}c=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;Vi((c<<1)+f|0,Vi(a,o+d|0,j),n);c=c+k|0;d=g;g=h+1|0;d=g?d:d+1|0;h=g;g=d;if((b|0)!=(h|0)|d){continue}break}break n}if(!q){c=0;if((b|0)!=1){h=b&-2;while(1){o=J[i>>2];k=c<<2;f=jk(j,m,J[k+d>>2],0)+e|0;o=Vi(a,o+f|0,j);n=J[i>>2];f=jk(j,m,J[d+(k|4)>>2],0)+e|0;Vi(o,n+f|0,j);c=c+2|0;g=g+2|0;if((h|0)!=(g|0)){continue}break}}if(!(b&1)){break n}f=J[i>>2];b=jk(j,m,J[d+(c<<2)>>2],0)+e|0;Vi(a,f+b|0,j);break n}f=b&1;if((b|0)!=1){k=b&-2;c=0;b=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;o=Vi(a,o+d|0,j);n=J[i>>2];d=jk(j,m,h|1,g)+e|0;Vi(o,n+d|0,j);d=h+2|0;g=d>>>0<2?g+1|0:g;h=d;d=b;b=c+2|0;d=b>>>0<2?d+1|0:d;c=b;b=d;if((k|0)!=(c|0)|b){continue}break}}if(!f){break n}c=J[i>>2];b=jk(h,g,j,m)+e|0;Vi(a,c+b|0,j);break n}d=0;l=1;if(!k){while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break n}d=d+1|0;l=b>>>0>d>>>0;if((b|0)!=(d|0)){continue}break n}}while(1){if(!Bg(c,K[c+84|0]?g:J[J[c+68>>2]+(g<<2)>>2],H[c+24|0],a)){break n}Vi((d<<1)+f|0,a,n);d=d+k|0;g=g+1|0;l=b>>>0>g>>>0;if((b|0)!=(g|0)){continue}break}}g=!l;if(!a){break m}xj(a)}g=g&1}break a;case 5:k=K[c+24|0];n=k<<2;b=J[b+80>>2];o:{if((P(n,b)|0)!=(e|0)){break o}i=J[c+28>>2]!=6;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);g=1;break o}a=0;if(k){a=Aj(n);Xi(a,0,n)}p:{if(!b){break p}if(!i){q=J[c+68>>2];i=J[c>>2];e=J[c+48>>2];m=J[c+44>>2];j=J[c+40>>2];if(k){if(!d){c=0;d=0;while(1){h=J[i>>2];g=jk(j,m,J[q+(d<<2)>>2],0)+e|0;Vi((c<<2)+f|0,Vi(a,h+g|0,j),n);c=c+k|0;d=d+1|0;if((b|0)!=(d|0)){continue}break}break p}d=b;c=0;while(1){o=J[i>>2];b=jk(h,g,j,m)+e|0;Vi((c<<2)+f|0,Vi(a,o+b|0,j),n);c=c+k|0;b=g;g=h+1|0;b=g?b:b+1|0;h=g;g=b;if((d|0)!=(h|0)|b){continue}break}break p}if(!d){c=0;if((b|0)!=1){g=b&-2;d=0;while(1){k=J[i>>2];h=c<<2;f=jk(j,m,J[h+q>>2],0)+e|0;k=Vi(a,k+f|0,j);o=J[i>>2];f=jk(j,m,J[q+(h|4)>>2],0)+e|0;Vi(k,o+f|0,j);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break p}d=J[i>>2];b=jk(j,m,J[q+(c<<2)>>2],0)+e|0;Vi(a,d+b|0,j);break p}f=b&1;if((b|0)!=1){k=b&-2;c=0;b=0;while(1){o=J[i>>2];d=jk(h,g,j,m)+e|0;o=Vi(a,o+d|0,j);n=J[i>>2];d=jk(j,m,h|1,g)+e|0;Vi(o,n+d|0,j);d=g;g=h+2|0;d=g>>>0<2?d+1|0:d;h=g;g=d;c=c+2|0;b=c>>>0<2?b+1|0:b;if((k|0)!=(c|0)|b){continue}break}}if(!f){break p}c=J[i>>2];b=jk(h,g,j,m)+e|0;Vi(a,c+b|0,j);break p}l=1;if(!k){while(1){if(!Dg(c,K[c+84|0]?g:J[J[c+68>>2]+(g<<2)>>2],H[c+24|0],a)){break p}g=g+1|0;l=b>>>0>g>>>0;if((b|0)!=(g|0)){continue}break p}}d=0;while(1){if(!Dg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break p}Vi((g<<2)+f|0,a,n);g=g+k|0;d=d+1|0;l=b>>>0>d>>>0;if((b|0)!=(d|0)){continue}break}}g=!l;if(!a){break o}xj(a)}g=g&1;break a;case 8:break b;default:break a}}a=0;n=K[c+24|0];q=n<<2;i=J[b+80>>2];q:{if((P(q,i)|0)!=(e|0)){break q}e=J[c+28>>2];b=0;r:{if(!n){break r}b=Aj(q);a=b;p=q-4|0;m=(p>>>2|0)+1&7;if(m){d=0;a=b;while(1){J[a>>2]=-1073741824;a=a+4|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}if(p>>>0<28){break r}d=(n<<2)+b|0;while(1){J[a+24>>2]=-1073741824;J[a+28>>2]=-1073741824;J[a+16>>2]=-1073741824;J[a+20>>2]=-1073741824;J[a+8>>2]=-1073741824;J[a+12>>2]=-1073741824;J[a>>2]=-1073741824;J[a+4>>2]=-1073741824;a=a+32|0;if((d|0)!=(a|0)){continue}break}}s:{if(!i){break s}if((e|0)==9){j=J[c+68>>2];m=J[c>>2];e=J[c+48>>2];s=K[c+84|0];p=J[c+44>>2];c=J[c+40>>2];k=c;if(n){d=0;a=0;while(1){h=J[m>>2];g=jk(c,p,s?a:J[j+(a<<2)>>2],0)+e|0;Vi((d<<2)+f|0,Vi(b,h+g|0,k),q);d=d+n|0;a=a+1|0;if((i|0)!=(a|0)){continue}break}break s}if(!s){a=0;if((i|0)!=1){g=i&-2;d=0;while(1){l=J[m>>2];h=a<<2;f=jk(c,p,J[h+j>>2],0)+e|0;l=Vi(b,l+f|0,k);o=J[m>>2];f=jk(c,p,J[j+(h|4)>>2],0)+e|0;Vi(l,o+f|0,k);a=a+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(i&1)){break s}d=J[m>>2];a=jk(c,p,J[j+(a<<2)>>2],0)+e|0;Vi(b,d+a|0,k);break s}f=i&1;if((i|0)!=1){i=i&-2;while(1){d=J[m>>2];a=jk(h,g,c,p)+e|0;d=Vi(b,d+a|0,k);j=J[m>>2];a=jk(c,p,h|1,g)+e|0;Vi(d,j+a|0,k);a=h+2|0;g=a>>>0<2?g+1|0:g;h=a;d=l;a=o+2|0;d=a>>>0<2?d+1|0:d;o=a;l=d;if((i|0)!=(a|0)|d){continue}break}}if(!f){break s}d=J[m>>2];a=jk(h,g,c,p)+e|0;Vi(b,d+a|0,k);break s}a=0;r=1;if(!n){while(1){if(!Uc(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],b)){break s}a=a+1|0;r=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break s}}d=0;while(1){if(!Uc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],b)){break s}Vi((a<<2)+f|0,b,q);a=a+n|0;d=d+1|0;r=i>>>0>d>>>0;if((d|0)!=(i|0)){continue}break}}a=!r;if(!b){break q}xj(b)}g=a&1}return g|0}function wj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=ia-16|0;ia=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){e=J[4312];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=e>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17288|0;d=J[a+17296>>2];a=J[d+8>>2];l:{if((b|0)==(a|0)){m=17248,n=nk(c)&e,J[m>>2]=n;break l}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4314];if(k>>>0>=h>>>0){break k}if(b){a=2<<c;a=(0-a|a)&b<<c;b=a-1&(a^-1);a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;d=(c|a)+(b>>>a|0)|0;a=d<<3;b=a+17288|0;g=J[a+17296>>2];a=J[g+8>>2];m:{if((b|0)==(a|0)){e=nk(d)&e;J[4312]=e;break m}J[a+12>>2]=b;J[b+8>>2]=a}J[g+4>>2]=h|3;c=g+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+g>>2]=d;if(k){b=(k&-8)+17288|0;f=J[4317];a=1<<(k>>>3);n:{if(!(a&e)){J[4312]=a|e;a=b;break n}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=g+8|0;J[4317]=c;J[4314]=d;break a}j=J[4313];if(!j){break k}b=j-1&(j^-1);a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=J[((c|a)+(b>>>a|0)<<2)+17552>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){o:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break o}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0<f>>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break j}b=c+16|0}while(1){g=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=J[4313];if(!j){break k}f=0-h|0;e=0;p:{if(h>>>0<256){break p}e=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;e=(a<<1|h>>>a+21&1)+28|0}b=J[(e<<2)+17552>>2];q:{r:{s:{if(!b){a=0;break s}a=0;c=h<<((e|0)!=31?25-(e>>>1|0)|0:0);while(1){t:{g=(J[b+4>>2]&-8)-h|0;if(g>>>0>=f>>>0){break t}d=b;f=g;if(f){break t}f=0;a=b;break r}g=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=g?(g|0)==(b|0)?a:g:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<<e;a=(0-a|a)&j;if(!a){break k}b=a-1&(a^-1);a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=J[((c|a)+(b>>>a|0)<<2)+17552>>2]}if(!a){break q}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0<f>>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4314]-h>>>0<=f>>>0){break k}e=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break i}b=d+16|0}while(1){g=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[g>>2]=0;break c}c=J[4314];if(c>>>0>=h>>>0){d=J[4317];b=c-h|0;u:{if(b>>>0>=16){J[4314]=b;a=d+h|0;J[4317]=a;J[a+4>>2]=b|1;J[c+d>>2]=b;J[d+4>>2]=h|3;break u}J[4317]=0;J[4314]=0;J[d+4>>2]=c|3;a=c+d|0;J[a+4>>2]=J[a+4>>2]|1}a=d+8|0;break a}i=J[4315];if(i>>>0>h>>>0){b=i-h|0;J[4315]=b;c=J[4318];a=c+h|0;J[4318]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4430]){c=J[4432]}else{J[4433]=-1;J[4434]=-1;J[4431]=4096;J[4432]=4096;J[4430]=l+12&-16^1431655768;J[4435]=0;J[4423]=0;c=4096}g=j+c|0;f=0-c|0;b=g&f;if(b>>>0<=h>>>0){break a}d=J[4422];if(d){c=J[4420];e=c+b|0;if(d>>>0<e>>>0|c>>>0>=e>>>0){break a}}if(K[17692]&4){break f}v:{w:{d=J[4318];if(d){a=17696;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0<c+J[a+4>>2]>>>0){break w}a=J[a+8>>2];if(a){continue}break}}c=vj(0);if((c|0)==-1){break g}e=b;d=J[4431];a=d-1|0;if(a&c){e=(b-c|0)+(a+c&0-d)|0}if(e>>>0<=h>>>0|e>>>0>2147483646){break g}d=J[4422];if(d){a=J[4420];f=a+e|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break g}}a=vj(e);if((c|0)!=(a|0)){break v}break e}e=f&g-i;if(e>>>0>2147483646){break g}c=vj(e);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break h}a=c}if(!((a|0)==-1|h+48>>>0<=e>>>0)){c=J[4432];c=c+(j-e|0)&0-c;if(c>>>0>2147483646){c=a;break e}if((vj(c)|0)!=-1){e=c+e|0;c=a;break e}vj(0-e|0);break g}c=a;if((a|0)!=-1){break e}break g}d=0;break b}c=0;break c}if((c|0)!=-1){break e}}J[4423]=J[4423]|4}if(b>>>0>2147483646){break d}c=vj(b);a=vj(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}e=a-c|0;if(e>>>0<=h+40>>>0){break d}}a=J[4420]+e|0;J[4420]=a;if(a>>>0>M[4421]){J[4421]=a}x:{y:{z:{g=J[4318];if(g){a=17696;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break z}a=J[a+8>>2];if(a){continue}break}break y}a=J[4316];if(!(a>>>0<=c>>>0?a:0)){J[4316]=c}a=0;J[4425]=e;J[4424]=c;J[4320]=-1;J[4321]=J[4430];J[4427]=0;while(1){d=a<<3;b=d+17288|0;J[d+17296>>2]=b;J[d+17300>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=e-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4315]=b;a=a+c|0;J[4318]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4319]=J[4434];break x}if(K[a+12|0]&8|d>>>0>g>>>0|c>>>0<=g>>>0){break y}J[a+4>>2]=b+e;a=g+8&7?-8-g&7:0;c=a+g|0;J[4318]=c;b=J[4315]+e|0;a=b-a|0;J[4315]=a;J[c+4>>2]=a|1;J[(b+g|0)+4>>2]=40;J[4319]=J[4434];break x}if(M[4316]>c>>>0){J[4316]=c}b=c+e|0;a=17696;A:{B:{C:{D:{E:{F:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break F}break}if(!(K[a+12|0]&8)){break E}}a=17696;while(1){b=J[a>>2];if(b>>>0<=g>>>0){f=b+J[a+4>>2]|0;if(f>>>0>g>>>0){break D}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+e;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;e=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=e-i|0;if((e|0)==(g|0)){J[4318]=i;a=J[4315]+a|0;J[4315]=a;J[i+4>>2]=a|1;break B}if(J[4317]==(e|0)){J[4317]=i;a=J[4314]+a|0;J[4314]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break B}f=J[e+4>>2];if((f&3)==1){g=f&-8;G:{if(f>>>0<=255){d=J[e+8>>2];b=f>>>3|0;c=J[e+12>>2];if((c|0)==(d|0)){m=17248,n=J[4312]&nk(b),J[m>>2]=n;break G}J[d+12>>2]=c;J[c+8>>2]=d;break G}h=J[e+24>>2];c=J[e+12>>2];H:{if((e|0)!=(c|0)){b=J[e+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break H}I:{f=e+20|0;b=J[f>>2];if(b){break I}f=e+16|0;b=J[f>>2];if(b){break I}c=0;break H}while(1){d=f;c=b;f=b+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break G}d=J[e+28>>2];b=(d<<2)+17552|0;J:{if(J[b>>2]==(e|0)){J[b>>2]=c;if(c){break J}m=17252,n=J[4313]&nk(d),J[m>>2]=n;break G}J[h+(J[h+16>>2]==(e|0)?16:20)>>2]=c;if(!c){break G}}J[c+24>>2]=h;b=J[e+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[e+20>>2];if(!b){break G}J[c+20>>2]=b;J[b+24>>2]=c}e=e+g|0;f=J[e+4>>2];a=a+g|0}J[e+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17288|0;c=J[4312];a=1<<(a>>>3);K:{if(!(c&a)){J[4312]=a|c;a=b;break K}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break B}f=31;if(a>>>0<=16777215){b=a>>>8|0;f=b+1048320>>>16&8;b=b<<f;d=b+520192>>>16&4;b=b<<d;c=b+245760>>>16&2;b=(b<<c>>>15|0)-(c|(d|f))|0;f=(b<<1|a>>>b+21&1)+28|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+17552|0;d=J[4313];c=1<<f;L:{if(!(d&c)){J[4313]=c|d;J[b>>2]=i;break L}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[b+4>>2]&-8)==(a|0)){break C}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break B}d=e-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4315]=b;a=a+c|0;J[4318]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4319]=J[4434];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0<g+16>>>0?g:a;J[d+4>>2]=27;a=J[4427];J[d+16>>2]=J[4426];J[d+20>>2]=a;a=J[4425];J[d+8>>2]=J[4424];J[d+12>>2]=a;J[4426]=d+8;J[4425]=e;J[4424]=c;J[4427]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((d|0)==(g|0)){break x}J[d+4>>2]=J[d+4>>2]&-2;f=d-g|0;J[g+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17288|0;c=J[4312];a=1<<(f>>>3);M:{if(!(c&a)){J[4312]=a|c;a=b;break M}a=J[b+8>>2]}J[b+8>>2]=g;J[a+12>>2]=g;J[g+12>>2]=b;J[g+8>>2]=a;break x}a=31;if(f>>>0<=16777215){a=f>>>8|0;d=a+1048320>>>16&8;a=a<<d;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|d))|0;a=(a<<1|f>>>a+21&1)+28|0}J[g+28>>2]=a;J[g+16>>2]=0;J[g+20>>2]=0;b=(a<<2)+17552|0;d=J[4313];c=1<<a;N:{if(!(d&c)){J[4313]=c|d;J[b>>2]=g;break N}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break A}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=g}J[g+24>>2]=b;J[g+12>>2]=g;J[g+8>>2]=g;break x}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=g;J[b+8>>2]=g;J[g+24>>2]=0;J[g+12>>2]=b;J[g+8>>2]=a}a=J[4315];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4315]=b;c=J[4318];a=c+h|0;J[4318]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4004]=48;a=0;break a}O:{if(!e){break O}b=J[d+28>>2];a=(b<<2)+17552|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=nk(b)&j;J[4313]=j;break O}J[e+(J[e+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}J[c+24>>2]=e;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break O}J[c+20>>2]=a;J[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break Q}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17288|0;c=J[4312];a=1<<(f>>>3);R:{if(!(c&a)){J[4312]=a|c;a=b;break R}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=f>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;a=(a<<1|f>>>a+21&1)+28|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17552|0;S:{c=1<<a;T:{if(!(c&j)){J[4313]=c|j;J[b>>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break Q}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=J[c+28>>2];a=(b<<2)+17552|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=17252,n=nk(b)&j,J[m>>2]=n;break U}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break U}J[d+20>>2]=a;J[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break W}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+17288|0;g=J[4317];a=1<<(k>>>3);X:{if(!(a&e)){J[4312]=a|e;a=b;break X}a=J[b+8>>2]}J[b+8>>2]=g;J[a+12>>2]=g;J[g+12>>2]=b;J[g+8>>2]=a}J[4317]=d;J[4314]=f}a=c+8|0}ia=l+16|0;return a|0}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,k=0,l=0,m=0,n=0,o=0;h=ia-48|0;ia=h;a:{b:{if((c|0)!=1){break b}g=J[a+4>>2];f=J[a+12>>2];J[h+40>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;d=h+8|0;c:{if((b|0)==-2){break c}m=J[J[J[g+4>>2]+8>>2]+(f<<2)>>2];if((na[J[J[g>>2]+8>>2]](g)|0)==1){a=L[g+36>>1];l=(a<<8|a>>>8)&65535;a=0;i=ia-32|0;ia=i;j=J[J[J[g+4>>2]+8>>2]+(f<<2)>>2];d:{if((na[J[J[g>>2]+8>>2]](g)|0)!=1|b-1>>>0>5){break d}e=na[J[J[g>>2]+36>>2]](g)|0;k=na[J[J[g>>2]+44>>2]](g,f)|0;if(!e|!k){break d}c=na[J[J[g>>2]+40>>2]](g,f)|0;if(c){a=J[g+44>>2];J[i+12>>2]=c;J[i+8>>2]=a;J[i+20>>2]=k;J[i+16>>2]=k+12;f=i+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=Aj(60);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a>>2]=2612;break e;case 1:a=Aj(60);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a>>2]=3376;break e;case 3:a=Aj(112);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3612;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break e;case 2:a=Aj(92);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3860;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=l;break e;case 4:a=Aj(104);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=4088;b=J[f+4>>2];J[a+88>>2]=J[f>>2];J[a+92>>2]=b;b=J[f+12>>2];J[a+96>>2]=J[f+8>>2];J[a+100>>2]=b;break e;case 5:break f;default:break e}}a=Aj(128);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=Aj(c);J[a+32>>2]=b;J[a+36>>2]=b;J[a+40>>2]=b+(c&-4);c=J[d+24>>2];e=J[d+28>>2]-c|0;if((e|0)>0){b=Vi(b,c,e)+e|0}J[a+36>>2]=b}J[a>>2]=3264;b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4952;J[a>>2]=4324;b=J[f+4>>2];J[a+72>>2]=J[f>>2];J[a+76>>2]=b;b=J[f+12>>2];J[a+80>>2]=J[f+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4560;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break g}}break d}a=J[g+44>>2];J[i+12>>2]=e;J[i+8>>2]=a;J[i+20>>2]=k;J[i+16>>2]=k+12;f=i+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=Aj(60);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a>>2]=4980;break h;case 1:a=Aj(60);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a>>2]=5404;break h;case 3:a=Aj(112);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5628;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break h;case 2:a=Aj(92);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5864;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=l;break h;case 4:a=Aj(104);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;b=J[d+28>>2];c=J[d+24>>2];if((b|0)!=(c|0)){e=b-c|0;if((e|0)<0){break a}b=Aj(e);J[a+32>>2]=b;J[a+40>>2]=b+(e&-4);n=a,o=Vi(b,c,e)+e|0,J[n+36>>2]=o}b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=6080;b=J[f+4>>2];J[a+88>>2]=J[f>>2];J[a+92>>2]=b;b=J[f+12>>2];J[a+96>>2]=J[f+8>>2];J[a+100>>2]=b;break h;case 5:break i;default:break h}}a=Aj(128);J[a+4>>2]=j;J[a>>2]=3320;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;j:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=Aj(c);J[a+32>>2]=b;J[a+36>>2]=b;J[a+40>>2]=b+(c&-4);c=J[d+24>>2];e=J[d+28>>2]-c|0;if((e|0)>0){b=Vi(b,c,e)+e|0}J[a+36>>2]=b}J[a>>2]=5348;b=J[f+4>>2];J[a+44>>2]=J[f>>2];J[a+48>>2]=b;b=J[f+12>>2];J[a+52>>2]=J[f+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6888;J[a>>2]=6304;b=J[f+4>>2];J[a+72>>2]=J[f>>2];J[a+76>>2]=b;b=J[f+12>>2];J[a+80>>2]=J[f+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=6524;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break j}}}ia=i+32|0;e=a;if(a){break c}}e=Aj(44);J[e+4>>2]=m;J[e>>2]=3320;a=J[d+4>>2];J[e+8>>2]=J[d>>2];J[e+12>>2]=a;a=J[d+12>>2];J[e+16>>2]=J[d+8>>2];J[e+20>>2]=a;a=J[d+20>>2];J[e+24>>2]=J[d+16>>2];J[e+28>>2]=a;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;a=J[d+28>>2];b=J[d+24>>2];if((a|0)!=(b|0)){c=a-b|0;if((c|0)<0){break a}a=Aj(c);J[e+32>>2]=a;J[e+40>>2]=a+(c&-4);n=e,o=Vi(a,b,c)+c|0,J[n+36>>2]=o}J[e>>2]=6916;break c}a=J[h+32>>2];if(!a){break b}J[h+36>>2]=a;xj(a)}ia=h+48|0;return e|0}La();C()}function Hi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=ia-32|0;ia=n;o=Aj(12);J[o+8>>2]=0;J[o+4>>2]=b;J[o>>2]=0;t=o+12|0;b=t;a:{b:{c:{d:{while(1){b=b-12|0;v=J[b+8>>2];j=J[b+4>>2];u=J[b>>2];if(u){q=0;if((v|0)>1e3){break a}J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;f=1;c=J[a>>2];d=J[c+8>>2];g=J[c+12>>2];e=J[c+20>>2];l=d;d=J[c+16>>2];e:{if((g|0)<=(e|0)&l>>>0<=d>>>0|(e|0)>(g|0)){break e}g=K[d+J[c>>2]|0];d=d+1|0;e=d?e:e+1|0;J[c+16>>2]=d;J[c+20>>2]=e;Ij(n+16|0,g);if(g){d=J[a>>2];m=Hj(n+16|0);e=J[d+20>>2];i=J[d+16>>2];c=g;l=i+c|0;h=J[d+12>>2];e=c>>>0>l>>>0?e+1|0:e;if(l>>>0>M[d+8>>2]&(h|0)<=(e|0)|(e|0)>(h|0)){break e}Vi(m,i+J[d>>2]|0,g);e=J[d+20>>2];f=c+J[d+16>>2]|0;e=f>>>0<c>>>0?e+1|0:e;J[d+16>>2]=f;J[d+20>>2]=e}j=Aj(24);c=j;J[c+4>>2]=0;J[c+8>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[j>>2]=j+4;J[j+12>>2]=c;e=ia-32|0;ia=e;g=u+12|0;c=n+16|0;p=ug(g,c);k=u+16|0;f:{if((p|0)==(k|0)){J[e+16>>2]=c;g:{h:{d=J[g+4>>2];i:{if(!d){f=g+4|0;c=f;break i}f=K[c+11|0];h=f<<24>>24<0;l=h?J[c>>2]:c;h=h?J[c+4>>2]:f;while(1){c=d;d=K[c+27|0];f=d<<24>>24<0;d=f?J[c+20>>2]:d;m=d>>>0<h>>>0;j:{k:{l:{m:{i=m?d:h;n:{if(i){f=f?J[c+16>>2]:c+16|0;r=bj(l,f,i);if(!r){if(d>>>0>h>>>0){break n}break m}if((r|0)>=0){break m}break n}if(d>>>0<=h>>>0){break l}}f=c;d=J[c>>2];if(d){continue}break i}d=bj(f,l,i);if(d){break k}}if(m){break j}break h}if((d|0)>=0){break h}}d=J[c+4>>2];if(d){continue}break}f=c+4|0}d=Aj(32);l=d+16|0;h=J[e+16>>2];o:{if(H[h+11|0]>=0){m=J[h+4>>2];J[l>>2]=J[h>>2];J[l+4>>2]=m;J[l+8>>2]=J[h+8>>2];break o}Ej(l,J[h>>2],J[h+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+28>>2]=0;J[f>>2]=d;c=d;h=J[J[g>>2]>>2];if(h){J[g>>2]=h;c=J[f>>2]}qe(J[g+4>>2],c);J[g+8>>2]=J[g+8>>2]+1;c=1;break g}d=c;c=0}H[e+28|0]=c;J[e+24>>2]=d;d=J[e+24>>2];c=J[d+28>>2];J[d+28>>2]=j;if(!c){break f}kg(c+12|0,J[c+16>>2]);lg(c,J[c+4>>2]);xj(c);break f}if(!j){break f}kg(j+12|0,J[j+16>>2]);lg(j,J[j+4>>2]);xj(j)}ia=e+32|0;f=(k|0)!=(p|0)}if(H[n+27|0]<0){xj(J[n+16>>2])}if(f){break a}}q=0;if(!j){break a}J[n+16>>2]=0;if(!Ii(1,n+16|0,J[a>>2])){break a}p=0;w=J[n+16>>2];if(w){while(1){c=0;i=ia-32|0;ia=i;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;d=J[a>>2];f=J[d+8>>2];p:{q:{g=J[d+12>>2];e=J[d+20>>2];l=f;f=J[d+16>>2];r:{if((g|0)<=(e|0)&l>>>0<=f>>>0|(e|0)>(g|0)){break r}g=K[f+J[d>>2]|0];f=f+1|0;e=f?e:e+1|0;J[d+16>>2]=f;J[d+20>>2]=e;Ij(i+16|0,g);if(g){f=J[a>>2];m=Hj(i+16|0);e=J[f+20>>2];k=J[f+16>>2];d=g;l=k+d|0;h=J[f+12>>2];e=d>>>0>l>>>0?e+1|0:e;if(l>>>0>M[f+8>>2]&(h|0)<=(e|0)|(e|0)>(h|0)){break r}Vi(m,k+J[f>>2]|0,g);e=J[f+20>>2];g=d+J[f+16>>2]|0;e=g>>>0<d>>>0?e+1|0:e;J[f+16>>2]=g;J[f+20>>2]=e}J[i+12>>2]=0;if(!Ii(1,i+12|0,J[a>>2])){break r}d=J[i+12>>2];if(!d){break r}f=J[a>>2];e=J[f+8>>2];g=J[f+16>>2];h=e-g|0;e=J[f+12>>2]-(J[f+20>>2]+(e>>>0<g>>>0)|0)|0;if((e|0)<=0&d>>>0>h>>>0|(e|0)<0){break r}J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;if((d|0)<0){break q}c=Aj(d);J[i>>2]=c;e=c+d|0;J[i+8>>2]=e;m=Xi(c,0,d);J[i+4>>2]=e;g=J[f+12>>2];r=g;e=J[f+20>>2];s:{x=J[f+8>>2];k=J[f+16>>2];l=d+k|0;y=l;e=d>>>0>l>>>0?e+1|0:e;l=e;if(x>>>0<y>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break s}Vi(m,k+J[f>>2]|0,d);e=J[f+20>>2];c=d+J[f+16>>2]|0;e=c>>>0<d>>>0?e+1|0:e;J[f+16>>2]=c;J[f+20>>2]=e;g=ia-48|0;ia=g;e=ug(j,i+16|0);if((e|0)!=(j+4|0)){c=J[e+4>>2];t:{if(!c){c=e;while(1){d=J[c+8>>2];f=J[d>>2]!=(c|0);c=d;if(f){continue}break}break t}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[j>>2]){J[j>>2]=d}J[j+8>>2]=J[j+8>>2]-1;f=J[j+4>>2];u:{v:{h=e;d=e;e=J[d>>2];if(e){c=J[h+4>>2];if(!c){break v}while(1){d=c;c=J[c>>2];if(c){continue}break}}e=J[d+4>>2];if(e){break v}e=0;m=1;break u}J[e+8>>2]=J[d+8>>2];m=0}k=J[d+8>>2];c=J[k>>2];w:{if((d|0)==(c|0)){J[k>>2]=e;if((d|0)==(f|0)){c=0;f=e;break w}c=J[k+4>>2];break w}J[k+4>>2]=e}s=!K[d+12|0];if((d|0)!=(h|0)){k=J[h+8>>2];J[d+8>>2]=k;J[k+(((h|0)!=J[J[h+8>>2]>>2])<<2)>>2]=d;k=J[h>>2];J[d>>2]=k;J[k+8>>2]=d;k=J[h+4>>2];J[d+4>>2]=k;if(k){J[k+8>>2]=d}H[d+12|0]=K[h+12|0];f=(f|0)==(h|0)?d:f}x:{if(s|!f){break x}if(m){while(1){e=K[c+12|0];y:{d=J[c+8>>2];if(J[d>>2]!=(c|0)){if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[d+4>>2];m=J[e>>2];J[d+4>>2]=m;if(m){J[m+8>>2]=d}J[e+8>>2]=J[d+8>>2];m=J[d+8>>2];J[(((d|0)!=J[m>>2])<<2)+m>>2]=e;J[e>>2]=d;J[d+8>>2]=e;d=c;c=J[c>>2];f=(c|0)==(f|0)?d:f;c=J[c+4>>2]}z:{A:{d=J[c>>2];B:{if(!(K[d+12|0]?0:d)){e=J[c+4>>2];if(K[e+12|0]?0:e){break B}H[c+12|0]=0;c=J[c+8>>2];C:{if((f|0)==(c|0)){c=f;break C}if(K[c+12|0]){break y}}H[c+12|0]=1;break x}e=J[c+4>>2];if(!e){break A}}if(K[e+12|0]){break A}d=c;break z}H[d+12|0]=1;H[c+12|0]=0;e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c+4>>2];e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;break x}if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[c+4>>2];J[d>>2]=e;if(e){J[e+8>>2]=d}J[c+8>>2]=J[d+8>>2];e=J[d+8>>2];J[(((d|0)!=J[e>>2])<<2)+e>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=J[d>>2]}e=J[c>>2];D:{if(!(!e|K[e+12|0])){d=c;break D}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((c|0)!=(f|0)?K[c+12|0]:0){break y}H[c+12|0]=1;break x}if(e){if(!K[e+12|0]){d=c;break D}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c>>2];e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;break x}d=c;c=J[c+8>>2];c=J[(((d|0)==J[c>>2])<<2)+c>>2];continue}}H[e+12|0]=1}c=J[h+28>>2];if(c){J[h+32>>2]=c;xj(c)}if(H[h+27|0]<0){xj(J[h+16>>2])}xj(h)}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c=J[i+4>>2];d=J[i>>2];f=c-d|0;e=0;E:{F:{if((c|0)!=(d|0)){if((f|0)<0){break F}e=Aj(f);c=Xi(e,0,f);h=c+f|0;J[g+8>>2]=h;J[g+4>>2]=h;J[g>>2]=c;c=d}Vi(e,c,f);G:{if(H[i+27|0]>=0){J[g+24>>2]=J[i+24>>2];c=J[i+20>>2];J[g+16>>2]=J[i+16>>2];J[g+20>>2]=c;break G}Ej(g+16|0,J[i+16>>2],J[i+20>>2])}Ki(g+28|0,g);f=g+16|0;c=f;H:{I:{d=J[j+4>>2];J:{if(!d){e=j+4|0;c=e;break J}e=K[c+11|0];h=e<<24>>24<0;m=h?J[c>>2]:c;h=h?J[c+4>>2]:e;while(1){c=d;d=K[c+27|0];e=d<<24>>24<0;d=e?J[c+20>>2]:d;k=d>>>0<h>>>0;K:{L:{M:{N:{s=k?d:h;O:{if(s){e=e?J[c+16>>2]:c+16|0;z=bj(m,e,s);if(!z){if(d>>>0>h>>>0){break O}break N}if((z|0)>=0){break N}break O}if(d>>>0<=h>>>0){break M}}e=c;d=J[c>>2];if(d){continue}break J}d=bj(e,m,s);if(d){break L}}if(k){break K}break I}if((d|0)>=0){break I}}d=J[c+4>>2];if(d){continue}break}e=c+4|0}d=Aj(40);J[d+24>>2]=J[f+8>>2];h=J[f+4>>2];J[d+16>>2]=J[f>>2];J[d+20>>2]=h;J[f>>2]=0;J[f+4>>2]=0;J[f+8>>2]=0;Ki(d+28|0,f+12|0);J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[e>>2]=d;c=d;f=J[J[j>>2]>>2];if(f){J[j>>2]=f;c=J[e>>2]}qe(J[j+4>>2],c);J[j+8>>2]=J[j+8>>2]+1;c=1;break H}d=c;c=0}H[g+44|0]=c;J[g+40>>2]=d;c=J[g+28>>2];if(c){J[g+32>>2]=c;xj(c)}if(H[g+27|0]<0){xj(J[g+16>>2])}c=J[g>>2];if(c){J[g+4>>2]=c;xj(c)}ia=g+48|0;break E}La();C()}c=J[i>>2];if(c){break s}c=1;break r}J[i+4>>2]=c;xj(c);c=(l|0)<=(r|0)&x>>>0>=y>>>0|(l|0)<(r|0)}if(H[i+27|0]<0){xj(J[i+16>>2])}ia=i+32|0;break p}La();C()}if(!c){break a}p=p+1|0;if((w|0)!=(p|0)){continue}break}}J[n+12>>2]=0;if(!Ii(1,n+12|0,J[a>>2])){break b}c=J[a>>2];d=J[c+8>>2];e=J[c+16>>2];f=d-e|0;q=J[n+12>>2];c=J[c+12>>2]-(J[c+20>>2]+(d>>>0<e>>>0)|0)|0;if(f>>>0<q>>>0&(c|0)<=0|(c|0)<0){break b}if(q){p=0;g=((u|0)!=0)+v|0;while(1){P:{if(b>>>0<t>>>0){J[b+8>>2]=g;J[b+4>>2]=0;J[b>>2]=j;b=b+12|0;q=J[n+12>>2];break P}e=b-o|0;c=(e|0)/12|0;b=c+1|0;if(b>>>0>=357913942){break d}d=(t-o|0)/12|0;f=d<<1;f=d>>>0>=178956970?357913941:b>>>0<f>>>0?f:b;if(f){if(f>>>0>=357913942){break c}b=Aj(P(f,12))}else{b=0}d=b+P(c,12)|0;J[d+8>>2]=g;J[d+4>>2]=0;J[d>>2]=j;c=d+P((e|0)/-12|0,12)|0;if((e|0)>0){Vi(c,o,e)}t=b+P(f,12)|0;b=d+12|0;if(o){xj(o)}o=c}p=p+1|0;if(p>>>0<q>>>0){continue}break}}if((b|0)!=(o|0)){continue}break}q=1;break a}La();C()}Za();C()}q=0}if(o){xj(o)}ia=n+32|0;return q}function hg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ia-32|0;ia=h;J[b+32>>2]=d;J[b+40>>2]=c;J[b+4>>2]=e;dg(a,d,h+16|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}d=K[h+23|0];if((na[J[J[b>>2]+8>>2]](b)|0)!=(d|0)){b=Aj(64);H[b+50|0]=0;c=K[1349]|K[1350]<<8;H[b+48|0]=c;H[b+49|0]=c>>>8;c=K[1345]|K[1346]<<8|(K[1347]<<16|K[1348]<<24);d=K[1341]|K[1342]<<8|(K[1343]<<16|K[1344]<<24);H[b+40|0]=d;H[b+41|0]=d>>>8;H[b+42|0]=d>>>16;H[b+43|0]=d>>>24;H[b+44|0]=c;H[b+45|0]=c>>>8;H[b+46|0]=c>>>16;H[b+47|0]=c>>>24;c=K[1337]|K[1338]<<8|(K[1339]<<16|K[1340]<<24);d=K[1333]|K[1334]<<8|(K[1335]<<16|K[1336]<<24);H[b+32|0]=d;H[b+33|0]=d>>>8;H[b+34|0]=d>>>16;H[b+35|0]=d>>>24;H[b+36|0]=c;H[b+37|0]=c>>>8;H[b+38|0]=c>>>16;H[b+39|0]=c>>>24;c=K[1329]|K[1330]<<8|(K[1331]<<16|K[1332]<<24);d=K[1325]|K[1326]<<8|(K[1327]<<16|K[1328]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1321]|K[1322]<<8|(K[1323]<<16|K[1324]<<24);d=K[1317]|K[1318]<<8|(K[1319]<<16|K[1320]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1313]|K[1314]<<8|(K[1315]<<16|K[1316]<<24);d=K[1309]|K[1310]<<8|(K[1311]<<16|K[1312]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1305]|K[1306]<<8|(K[1307]<<16|K[1308]<<24);d=K[1301]|K[1302]<<8|(K[1303]<<16|K[1304]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ej(a+4|0,b,50);xj(b);break a}c=K[h+21|0];H[b+36|0]=c;e=K[h+22|0];H[b+37|0]=e;if((c-3&255)>>>0<=253){b=Aj(32);H[b+22|0]=0;c=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);d=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1456]|K[1457]<<8|(K[1458]<<16|K[1459]<<24);d=K[1452]|K[1453]<<8|(K[1454]<<16|K[1455]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1448]|K[1449]<<8|(K[1450]<<16|K[1451]<<24);d=K[1444]|K[1445]<<8|(K[1446]<<16|K[1447]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Ej(a+4|0,b,22);xj(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=Aj(32);H[b+22|0]=0;c=K[1439]|K[1440]<<8|(K[1441]<<16|K[1442]<<24);d=K[1435]|K[1436]<<8|(K[1437]<<16|K[1438]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1433]|K[1434]<<8|(K[1435]<<16|K[1436]<<24);d=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1425]|K[1426]<<8|(K[1427]<<16|K[1428]<<24);d=K[1421]|K[1422]<<8|(K[1423]<<16|K[1424]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Ej(a+4|0,b,22);xj(b);break a}c=e|c<<8;I[J[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|I[h+26>>1]>=0){break b}i=ia-16|0;ia=i;e=Aj(36);c=e;J[c+4>>2]=0;J[c+8>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[e>>2]=e+4;J[e+32>>2]=0;J[e+12>>2]=c;J[i>>2]=0;d=J[b+32>>2];j=ia-16|0;ia=j;c=0;c:{if(!e){break c}J[i>>2]=d;J[j+12>>2]=0;c=0;if(!Ii(1,j+12|0,d)){break c}m=J[j+12>>2];if(m){while(1){d:{if(Ii(1,j+8|0,J[i>>2])){c=Aj(28);J[c+4>>2]=0;J[c+8>>2]=0;d=c+16|0;J[d>>2]=0;J[d+4>>2]=0;J[c>>2]=c+4;J[c+12>>2]=d;J[c+24>>2]=J[j+8>>2];if(Hi(i,c)){break d}kg(c+12|0,J[c+16>>2]);lg(c,J[c+4>>2]);xj(c)}c=0;break c}f=ia-16|0;ia=f;J[f+8>>2]=c;e:{if(!c){break e}d=J[e+28>>2];f:{if(d>>>0<M[e+32>>2]){J[f+8>>2]=0;J[d>>2]=c;J[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=J[e+24>>2];l=J[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=J[e+32>>2]-g|0;k=g>>1;c=g>>>0>=2147483644?1073741823:c>>>0<k>>>0?k:c;if(c){if(c>>>0>=1073741824){break i}d=Aj(c<<2)}k=J[f+8>>2];J[f+8>>2]=0;g=(l<<2)+d|0;J[g>>2]=k;l=(c<<2)+d|0;k=g+4|0;d=J[e+28>>2];c=J[e+24>>2];if((d|0)==(c|0)){break h}while(1){d=d-4|0;o=J[d>>2];J[d>>2]=0;g=g-4|0;J[g>>2]=o;if((c|0)!=(d|0)){continue}break}J[e+32>>2]=l;d=J[e+28>>2];J[e+28>>2]=k;c=J[e+24>>2];J[e+24>>2]=g;if((c|0)==(d|0)){break g}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;if(g){kg(g+12|0,J[g+16>>2]);lg(g,J[g+4>>2]);xj(g)}if((c|0)!=(d|0)){continue}break}break g}La();C()}Za();C()}J[e+32>>2]=l;J[e+28>>2]=k;J[e+24>>2]=g}if(c){xj(c)}}c=J[f+8>>2];J[f+8>>2]=0;if(!c){break e}kg(c+12|0,J[c+16>>2]);lg(c,J[c+4>>2]);xj(c)}ia=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=Hi(i,e)}ia=j+16|0;j:{if(c){d=J[b+4>>2];c=J[d+4>>2];J[d+4>>2]=e;if(c){gg(c)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break j}c=Aj(32);H[c+26|0]=0;d=K[1614]|K[1615]<<8;H[c+24|0]=d;H[c+25|0]=d>>>8;d=K[1610]|K[1611]<<8|(K[1612]<<16|K[1613]<<24);f=K[1606]|K[1607]<<8|(K[1608]<<16|K[1609]<<24);H[c+16|0]=f;H[c+17|0]=f>>>8;H[c+18|0]=f>>>16;H[c+19|0]=f>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);f=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[c+8|0]=f;H[c+9|0]=f>>>8;H[c+10|0]=f>>>16;H[c+11|0]=f>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1594]|K[1595]<<8|(K[1596]<<16|K[1597]<<24);f=K[1590]|K[1591]<<8|(K[1592]<<16|K[1593]<<24);H[c|0]=f;H[c+1|0]=f>>>8;H[c+2|0]=f>>>16;H[c+3|0]=f>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;J[a>>2]=-1;Ej(a+4|0,c,26);xj(c);J[i+8>>2]=0;gg(e)}ia=i+16|0;if(J[a>>2]){break a}if(H[a+15|0]>=0){break b}xj(J[a+4>>2])}if(!(na[J[J[b>>2]+12>>2]](b)|0)){b=Aj(48);H[b+33|0]=0;H[b+32|0]=K[1419];c=K[1415]|K[1416]<<8|(K[1417]<<16|K[1418]<<24);d=K[1411]|K[1412]<<8|(K[1413]<<16|K[1414]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);d=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);d=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);d=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ej(a+4|0,b,33);xj(b);break a}if(!(na[J[J[b>>2]+20>>2]](b)|0)){b=eg(h,1617);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Ej(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}if(!(na[J[J[b>>2]+24>>2]](b)|0)){b=eg(h,1352);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Ej(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ia=h+32|0}function Jb(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,k=0,l=0,m=0,n=0,o=0,p=Q(0),q=0,r=0,s=0;f=ia-720|0;ia=f;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(L[b+38>>1]>=515){J[f+680>>2]=0;J[f+672>>2]=0;J[f+676>>2]=0;if((na[J[J[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=na[J[J[a>>2]+20>>2]](a,m)|0;d=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(J[d+28>>2]==9){g=J[f+672>>2];c=J[f+676>>2]-g>>2;e=K[d+24|0];j:{if(c>>>0<e>>>0){Oa(f+672|0,e-c|0);break j}if(c>>>0<=e>>>0){break j}J[f+676>>2]=g+(e<<2)}k=0;c=J[b+20>>2];j=J[b+16>>2];d=e<<2;h=j+d|0;g=J[b+12>>2];c=d>>>0>h>>>0?c+1|0:c;if(h>>>0>M[b+8>>2]&(g|0)<=(c|0)|(c|0)>(g|0)){break b}Vi(J[f+672>>2],j+J[b>>2]|0,d);c=J[b+20>>2];g=d+J[b+16>>2]|0;c=g>>>0<d>>>0?c+1|0:c;J[b+16>>2]=g;J[b+20>>2]=c;l=J[b+12>>2];j=l;h=g+4|0;d=h>>>0<4?c+1|0:c;n=J[b+8>>2];if(n>>>0<h>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){break b}o=J[b>>2];j=o+g|0;j=K[j|0]|K[j+1|0]<<8|(K[j+2|0]<<16|K[j+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=d;if((d|0)>=(l|0)&h>>>0>=n>>>0|(d|0)>(l|0)){break b}d=K[h+o|0];g=g+5|0;c=g>>>0<5?c+1|0:c;J[b+16>>2]=g;J[b+20>>2]=c;if(d>>>0>31){break b}p=(x(2,j),D());J[f+20>>2]=-1;J[f+16>>2]=1880;J[f+32>>2]=0;J[f+36>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;c=f+16|0;g=J[f+672>>2];h=d-1|0;if(h>>>0<=29){J[c+4>>2]=d;Sa(c+8|0,g,g+(e<<2)|0);N[c+20>>2]=p}k:{if(h>>>0>=30){break k}if(!_a(f+16|0,J[J[a+60>>2]+((J[a+40>>2]-J[a+36>>2]|0)/24<<2)>>2])){break k}c=J[a+40>>2];l:{if((c|0)!=J[a+44>>2]){J[c>>2]=1880;d=J[f+20>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;d=J[f+28>>2];e=J[f+24>>2];if((d|0)!=(e|0)){e=d-e|0;if((e|0)<0){break i}d=Aj(e);J[c+8>>2]=d;J[c+12>>2]=d;J[c+16>>2]=d+(e&-4);g=J[f+24>>2];e=J[f+28>>2]-g|0;if((e|0)>0){d=Vi(d,g,e)+e|0}J[c+12>>2]=d}N[c+20>>2]=N[f+36>>2];J[a+40>>2]=c+24;break l}m:{n:{o:{p:{g=J[a+40>>2];d=J[a+36>>2];e=(g-d|0)/24|0;c=e+1|0;if(c>>>0<178956971){h=(J[a+44>>2]-d|0)/24|0;j=h<<1;h=h>>>0>=89478485?178956970:c>>>0<j>>>0?j:c;if(h){if(h>>>0>=178956971){break p}k=Aj(P(h,24))}e=P(e,24)+k|0;J[e>>2]=1880;c=J[f+20>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+4>>2]=c;c=J[f+28>>2];j=J[f+24>>2];if((c|0)!=(j|0)){c=c-j|0;if((c|0)<0){break o}l=Aj(c);J[e+8>>2]=l;J[e+16>>2]=l+(c&-4);r=e,s=Vi(l,j,c)+c|0,J[r+12>>2]=s}c=P(h,24)+k|0;N[e+20>>2]=N[f+36>>2];h=e+24|0;if((d|0)==(g|0)){break n}while(1){e=e-24|0;J[e>>2]=1880;g=g-24|0;J[e+4>>2]=J[g+4>>2];J[e+8>>2]=J[g+8>>2];J[e+12>>2]=J[g+12>>2];J[e+16>>2]=J[g+16>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;N[e+20>>2]=N[g+20>>2];if((d|0)!=(g|0)){continue}break}J[a+44>>2]=c;k=J[a+40>>2];J[a+40>>2]=h;g=J[a+36>>2];J[a+36>>2]=e;if((g|0)==(k|0)){break m}while(1){k=k-24|0;na[J[J[k>>2]>>2]](k)|0;if((g|0)!=(k|0)){continue}break}break m}La();C()}Za();C()}La();C()}J[a+44>>2]=c;J[a+40>>2]=h;J[a+36>>2]=e}if(g){xj(g)}}k=1}J[f+16>>2]=1880;c=J[f+24>>2];if(c){J[f+28>>2]=c;xj(c)}if(!k){break c}}m=m+1|0;if((na[J[J[a>>2]+24>>2]](a)|0)>(m|0)){continue}break}break d}m=na[J[J[a>>2]+24>>2]](a)|0;J[f+712>>2]=0;J[f+704>>2]=0;J[f+708>>2]=0;if(m){if(m>>>0>=214748365){break h}c=P(m,20);d=Aj(c);J[f+704>>2]=d;J[f+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;r=f,s=Xi(d,0,c)+c|0,J[r+708>>2]=s;while(1){c=na[J[J[a>>2]+20>>2]](a,i)|0;d=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];h=J[d+28>>2];c=h-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}j=(c|0)>0?c:0;if(j>>>0>4){break f}c=J[f+704>>2]+P(i,20)|0;l=K[d+24|0];J[c+16>>2]=l;J[c+12>>2]=j;J[c+8>>2]=h;J[c+4>>2]=e;J[c>>2]=d;e=e+l|0;i=i+1|0;if((m|0)!=(i|0)){continue}break}}c=na[J[J[a>>2]+20>>2]](a,0)|0;n=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];H[n+84|0]=1;J[n+72>>2]=J[n+68>>2];i=J[b+12>>2];c=i;d=J[b+20>>2];j=J[b+8>>2];h=J[b+16>>2];if((c|0)<=(d|0)&j>>>0<=h>>>0|(c|0)<(d|0)){break f}o=J[b>>2];q=K[o+h|0];c=d;l=h+1|0;c=l?c:c+1|0;J[b+16>>2]=l;J[b+20>>2]=c;q:{switch(q|0){case 0:a=J[f+704>>2];if((J[f+708>>2]-a|0)!=20){break e}if(J[a+16>>2]!=3){break f}r:{if(j>>>0<=l>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break r}c=d;a=h+2|0;c=a>>>0<2?c+1|0:c;J[b+16>>2]=a;J[b+20>>2]=c;c=d;d=h+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>j>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break r}a=a+o|0;a=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;db(n,a);i=f+672|0;J[i+20>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+20>>2]=a;d=ub(f+16|0,f+704|0);e=ia-32|0;ia=e;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;h=J[b+12>>2];c=J[b+20>>2];a=c;j=J[b+16>>2];k=j+4|0;c=k>>>0<4?c+1|0:c;l=J[b+8>>2];s:{if(l>>>0<k>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break s}n=J[b>>2];m=n+j|0;m=K[m|0]|K[m+1|0]<<8|(K[m+2|0]<<16|K[m+3|0]<<24);J[b+16>>2]=k;J[b+20>>2]=c;t:{u:{switch(m-2|0){case 1:if((c|0)>=(h|0)&k>>>0>=l>>>0|(c|0)>(h|0)){break s}k=H[k+n|0];c=a;a=j+5|0;c=a>>>0<5?c+1|0:c;J[b+16>>2]=a;J[b+20>>2]=c;J[i+8>>2]=k;if((k|0)==1){if(Ti(i,b,e+16|0)){break t}break s}aj(1846,23,J[3455]);break s;default:aj(1821,24,J[3455]);break s;case 0:break u}}if(!Ti(i,b,e+16|0)){break s}}J[e+8>>2]=J[e+16>>2];J[e>>2]=J[e+20>>2];c=ia-32|0;ia=c;a=J[i>>2];p=N[i+4>>2];h=c+24|0;J[h>>2]=1065353216;k=-1<<a^-1;a=k;if((a|0)>0){N[h>>2]=p/Q(a|0)}i=J[e+8>>2];m=J[e>>2];if((i|0)!=(m|0)){a=J[d+28>>2];while(1){b=J[i>>2];g=J[i+4>>2];p=N[h>>2];N[c+16>>2]=p*Q(J[i+8>>2]-k|0);N[c+12>>2]=p*Q(g-k|0);N[c+8>>2]=p*Q(b-k|0);b=a;j=J[d+16>>2];g=J[j>>2];if(!K[g+84|0]){b=J[J[g+68>>2]+(a<<2)>>2]}if(M[g+80>>2]>b>>>0){a=J[g+40>>2];Vi(J[J[g>>2]>>2]+P(a,b)|0,(c+8|0)+(J[j+4>>2]<<2)|0,a);m=J[e>>2];a=J[d+28>>2]}a=a+1|0;J[d+28>>2]=a;i=i+12|0;if((m|0)!=(i|0)){continue}break}}ia=c+32|0;g=1}a=J[e+16>>2];if(a){J[e+20>>2]=a;xj(a)}ia=e+32|0;Ib(d);k=1;if(g){break f}}k=0;break f;case 1:break q;default:break f}}if(j>>>0<=l>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break f}g=K[l+o|0];c=d;l=h+2|0;c=l>>>0<2?c+1|0:c;J[b+16>>2]=l;J[b+20>>2]=c;if(g>>>0>=7){J[f>>2]=g;cj(1698,f);break f}c=d;d=h+6|0;c=d>>>0<6?c+1|0:c;h=d;if(d>>>0>j>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break f}d=l+o|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=c;if(m){i=0;while(1){c=na[J[J[a>>2]+20>>2]](a,i)|0;c=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];db(c,d);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];i=i+1|0;if((m|0)!=(i|0)){continue}break}}a=ub(f+672|0,f+704|0);v:{w:{switch(g|0){case 1:c=xb(f+16|0,e);b=yb(c,b,a);wb(c);if(!b){break g}break v;case 2:c=Bb(f+16|0,e);b=zb(c,b,a);Ab(c);if(!b){break g}break v;case 3:c=Bb(f+16|0,e);b=Cb(c,b,a);Ab(c);if(!b){break g}break v;case 4:c=Fb(f+16|0,e);b=Db(c,b,a);Eb(c);if(!b){break g}break v;case 5:c=Fb(f+16|0,e);b=Gb(c,b,a);Eb(c);if(!b){break g}break v;case 6:c=Fb(f+16|0,e);b=Hb(c,b,a);Eb(c);if(b){break v}break g;case 0:break w;default:break g}}c=xb(f+16|0,e);b=vb(c,b,a);wb(c);if(!b){break g}}Ib(a);k=1;break f}La();C()}La();C()}Ib(a)}a=J[f+704>>2]}if(!a){break a}J[f+708>>2]=a;xj(a);break a}k=1;if(J[a+52>>2]==J[a+48>>2]){break b}while(1){if(!Kb(1,f+16|0,b)){break c}c=J[a+48>>2];d=J[f+16>>2];J[c+(i<<2)>>2]=d>>>1^0-(d&1);i=i+1|0;if(i>>>0<J[a+52>>2]-c>>2>>>0){continue}break}break b}k=0}a=J[f+672>>2];if(!a){break a}J[f+676>>2]=a;xj(a)}ia=f+720|0;return k|0}function Yh(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=ia-16|0;ia=m;J[m+12>>2]=b;b=Aj(32);J[m>>2]=b;J[m+4>>2]=24;J[m+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;l=ia-48|0;ia=l;f=J[m+12>>2];d=a;a=a+16|0;b=J[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>J[b+16>>2];c=e?c:b;b=J[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=J[c+16>>2]){break a}}J[l+28>>2]=0;J[l+32>>2]=0;x=l+24|0;J[l+24>>2]=x|4;a=l+16|0;J[a>>2]=0;J[a+4>>2]=0;J[l+8>>2]=f;J[l+12>>2]=a;v=l+8|0;a=v;w=ia-16|0;ia=w;t=d+12|0;c=J[t+4>>2];c:{d:{if(!c){o=t+4|0;d=o;break d}a=J[a>>2];while(1){d=c;b=J[c+16>>2];if((b|0)>(a|0)){o=d;c=J[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=J[d+4>>2];if(c){continue}break}o=d+4|0}g=Aj(32);b=J[v>>2];q=g+24|0;a=q;J[a>>2]=0;J[a+4>>2]=0;J[g+16>>2]=b;r=g+20|0;J[r>>2]=a;c=J[v+4>>2];y=v+8|0;if((c|0)!=(y|0)){while(1){p=ia-16|0;ia=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=K[f+27|0];h=b<<24>>24<0;i=K[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?J[k+4>>2]:i;b=h?J[f+20>>2]:b;s=i>>>0>b>>>0;u=s?b:i;if(u){j=j?J[k>>2]:k;h=h?J[f+16>>2]:f+16|0;z=bj(j,h,u);if(!z){if(b>>>0>i>>>0){break l}break k}if((z|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=J[f>>2];m:{a=f;n:{if((a|0)==J[r>>2]){break n}o:{if(!h){b=f;while(1){a=J[b+8>>2];i=J[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=J[b+4>>2];if(b){continue}break}}i=K[k+11|0];s=i<<24>>24;b=(s|0)<0;j=K[a+27|0];n=j<<24>>24<0;p:{i=b?J[k+4>>2]:i;j=n?J[a+20>>2]:j;u=i>>>0<j>>>0?i:j;if(u){b=bj(n?J[a+16>>2]:a+16|0,b?J[k>>2]:k,u);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){J[p+12>>2]=f;a=f;break e}J[p+12>>2]=a;a=a+4|0;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(s|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0<i>>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}break g}b=bj(h,j,u);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=J[f+4>>2];v:{if(!h){b=f;while(1){a=J[b+8>>2];j=J[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=J[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=K[a+27|0];b=j<<24>>24<0;y:{j=b?J[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=bj((n|0)<0?J[k>>2]:k,b?J[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0<j>>>0){break x}break w}if((b|0)>=0){break w}}if(!h){J[p+12>>2]=f;a=f+4|0;break e}J[p+12>>2]=a;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(n|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0<i>>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}}J[p+12>>2]=a;a=f;break e}J[p+12>>2]=f;J[a>>2]=f}f=a;a=J[a>>2];if(a){b=0}else{a=Aj(40);b=a+16|0;E:{if(H[c+27|0]>=0){e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+24>>2];break E}Ej(b,J[c+16>>2],J[c+20>>2])}b=a+28|0;F:{if(H[c+39|0]>=0){e=J[c+32>>2];J[b>>2]=J[c+28>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+36>>2];break F}Ej(b,J[c+28>>2],J[c+32>>2])}J[a+8>>2]=J[p+12>>2];J[a>>2]=0;J[a+4>>2]=0;J[f>>2]=a;b=a;e=J[J[r>>2]>>2];if(e){J[r>>2]=e;b=J[f>>2]}qe(J[r+4>>2],b);J[r+8>>2]=J[r+8>>2]+1;b=1}H[w+12|0]=b;J[w+8>>2]=a;ia=p+16|0;b=J[c+4>>2];G:{if(b){while(1){c=b;b=J[b>>2];if(b){continue}break G}}while(1){a=c;c=J[c+8>>2];if((a|0)!=J[c>>2]){continue}break}}if((c|0)!=(y|0)){continue}break}}J[g+8>>2]=d;J[g>>2]=0;J[g+4>>2]=0;J[o>>2]=g;c=g;a=J[J[t>>2]>>2];if(a){J[t>>2]=a;c=J[o>>2]}qe(J[t+4>>2],c);J[t+8>>2]=J[t+8>>2]+1;a=1}H[l+44|0]=a;J[l+40>>2]=g;ia=w+16|0;c=J[l+40>>2];pe(v|4,J[l+16>>2]);pe(x,J[l+28>>2])}f=ia-48|0;ia=f;d=f+8|0;e=ia-32|0;ia=e;o=e+32|0;b=o;a=e+21|0;H:{if((b|0)==(a|0)){break H}}g=b-a|0;I:{if((g|0)<=9){h=61;if((g|0)<(M[3724]<=1|0)){break I}}H[a|0]=49;b=a+1|0;h=0}J[e+12>>2]=h;J[e+8>>2]=b;h=ia-16|0;ia=h;g=ia-16|0;ia=g;J:{q=J[e+8>>2];e=q-a|0;if(e>>>0<=4294967279){K:{if(e>>>0<11){H[d+11|0]=e;b=d;break K}if(e>>>0>=11){k=e+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}k=b+1|0;b=Aj(k);J[d>>2]=b;J[d+8>>2]=k|-2147483648;J[d+4>>2]=e}while(1){if((a|0)!=(q|0)){H[b|0]=K[a|0];b=b+1|0;a=a+1|0;continue}break}H[g+15|0]=0;H[b|0]=K[g+15|0];ia=g+16|0;break J}fg();C()}ia=h+16|0;ia=o;J[f+32>>2]=m;L:{M:{a=c+20|0;d=J[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=K[m+11|0];c=b<<24>>24<0;e=c?J[m>>2]:m;b=c?J[m+4>>2]:b;while(1){c=d;d=K[c+27|0];g=d<<24>>24<0;d=g?J[c+20>>2]:d;o=d>>>0<b>>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?J[c+16>>2]:c+16|0;q=bj(e,g,h);if(!q){if(b>>>0<d>>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=J[c>>2];if(d){continue}break N}d=bj(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=J[c+4>>2];if(d){continue}break}g=c+4|0}d=Aj(40);e=d+16|0;b=J[f+32>>2];T:{if(H[b+11|0]>=0){o=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=o;J[e+8>>2]=J[b+8>>2];break T}Ej(e,J[b>>2],J[b+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+36>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[g>>2]=d;c=d;b=J[J[a>>2]>>2];if(b){J[a>>2]=b;c=J[g>>2]}qe(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;a=1;break L}d=c;a=0}H[f+44|0]=a;J[f+40>>2]=d;a=J[f+40>>2];if(H[a+39|0]<0){xj(J[a+28>>2])}b=J[f+12>>2];J[a+28>>2]=J[f+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[f+16>>2];ia=f+48|0;ia=l+48|0;if(H[m+11|0]<0){xj(J[m>>2])}ia=m+16|0}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];j=d+4|0;e=j>>>0<4?e+1|0:e;a:{if(j>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break a}e=d+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;j=J[b+16>>2];d=j+4|0;e=d>>>0<4?e+1|0:e;k=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[a>>2]>32){break a}d=J[b+12>>2];e=i;i=j+8|0;e=i>>>0<8?e+1|0:e;if((d|0)<=(e|0)&i>>>0>M[b+8>>2]|(d|0)<(e|0)){break a}e=k+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=f;e=J[b+20>>2];i=J[b+16>>2]+4|0;e=i>>>0<4?e+1|0:e;J[b+16>>2]=i;J[b+20>>2]=e;if(!f){return 1}f=0;J[a+8>>2]=0;if(!ie(a+16|0,b)){break a}if(!ie(a+36|0,b)){break a}if(!ie(a+56|0,b)){break a}if(!ie(a+76|0,b)){break a}s=J[a+4>>2];i=c;b=0;d=ia-32|0;ia=d;f=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Aj(c);J[d+8>>2]=b;h=b+c|0;J[d+16>>2]=h;Xi(b,0,c);J[d+12>>2]=h}c=J[f+120>>2];e=J[c>>2];if(e){J[c+4>>2]=e;xj(e);h=J[d+12>>2];b=J[d+8>>2];a=J[f+12>>2]}J[c+4>>2]=h;J[c>>2]=b;J[c+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Aj(a);J[d+8>>2]=g;b=a+g|0;J[d+16>>2]=b;Xi(g,0,a);J[d+12>>2]=b}a=J[f+132>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);g=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=g;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=s;c=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}while(1){b=J[d+12>>2];g=J[d+24>>2];k=a-1|0;c=g+k|0;e=(c>>>0)/341|0;c=J[b+(e<<2)>>2]+P(c-P(e,341)|0,12)|0;h=J[c+8>>2];e=J[c+4>>2];j=J[c>>2];J[d+28>>2]=k;c=J[d+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[d+16>>2]=J[d+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=J[f+12>>2];a=(b-1|0)!=(e|0)?e+1|0:0;if(a>>>0>=b>>>0){break e}g=P(h,12);o=g+J[f+132>>2]|0;k=g+J[f+120>>2]|0;e=J[f>>2];l=a<<2;m=J[l+J[o>>2]>>2];f:{g:{if((e|0)==(m|0)){if(!j){break g}o=0;b=J[i+20>>2];h=J[i+16>>2];if((b|0)==(h|0)){a=J[f+8>>2];J[i+28>>2]=j+J[i+28>>2];J[f+8>>2]=a+j;break g}while(1){c=(b|0)==(h|0);a=b;e=0;b=h;h:{if(c){break h}while(1){g=J[i+28>>2];b=a;c=P(e,20)+h|0;l=J[c>>2];if(!K[l+84|0]){g=J[J[l+68>>2]+(g<<2)>>2]}if(M[l+80>>2]<=g>>>0){break h}m=J[k>>2]+(J[c+4>>2]<<2)|0;h=J[c+12>>2];b=m;i:{if(h>>>0>3){break i}a=0;b=J[i+12>>2];if(!J[c+16>>2]){break i}while(1){b=Vi(b,m+(a<<2)|0,h);h=J[c+12>>2];b=b+h|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,g)|0,b,a);e=e+1|0;a=J[i+20>>2];b=a;h=J[i+16>>2];if(e>>>0<(b-h|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=J[f+108>>2];J[c>>2]=a;g=1;b=J[f+12>>2];if(b>>>0>1){break m}break j}if(M[f+8>>2]>M[f+4>>2]){break e}b=J[f+120>>2];n=h+1|0;o=P(n,12);p=b+o|0;if((p|0)!=(k|0)){Sa(p,J[k>>2],J[k+4>>2]);b=J[f+120>>2]}b=l+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<<e+(m^-1));b=S(j)^31;e=J[f+32>>2];m=32-e|0;n:{if((b|0)<=(m|0)){k=J[f+28>>2];if((k|0)==J[f+20>>2]){break l}m=J[k>>2];p=b+e|0;J[f+32>>2]=p;b=m<<e>>>32-b|0;if((p|0)!=32){break n}J[f+32>>2]=0;J[f+28>>2]=k+4;break n}k=J[f+28>>2];p=k+4|0;if((p|0)==J[f+20>>2]){break l}r=J[k>>2];J[f+28>>2]=p;m=b-m|0;J[f+32>>2]=m;b=J[k+4>>2]>>>32-m|r<<e>>>32-b}e=j>>>1|0;if(e>>>0<b>>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(g<<2)>>2]=a;b=J[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break j}e=j>>>1|0;b=0}o:{p:{b=e-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}e=J[f+88>>2];if((e|0)==J[f+80>>2]){break p}j=J[e>>2];k=J[f+92>>2];m=k+1|0;J[f+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){J[f+92>>2]=0;J[f+88>>2]=e+4;if(j){break r}break p}if(!j){break p}}}e=c;c=b;break o}e=b}b=J[f+132>>2];g=b+g|0;j=J[g>>2];k=j+l|0;J[k>>2]=J[k>>2]+1;Sa(b+o|0,j,J[g+4>>2]);if(c){b=J[d+28>>2]+J[d+24>>2]|0;j=J[d+16>>2];g=J[d+12>>2];if((b|0)==(((g|0)!=(j|0)?P(j-g>>2,341)-1|0:0)|0)){Rb(d+8|0);g=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}m=g;g=(b>>>0)/341|0;b=J[m+(g<<2)>>2]+P(b-P(g,341)|0,12)|0;J[b+8>>2]=h;J[b+4>>2]=a;J[b>>2]=c;J[d+28>>2]=J[d+28>>2]+1}if(!e){break g}b=J[d+28>>2]+J[d+24>>2]|0;c=J[d+16>>2];g=J[d+12>>2];if((b|0)==(((c|0)!=(g|0)?P(c-g>>2,341)-1|0:0)|0)){Rb(d+8|0);g=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+g>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=e;a=J[d+28>>2]+1|0;J[d+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(J[f+12>>2]){e=J[f+40>>2];p=J[o>>2];c=J[f+96>>2];r=J[f+108>>2];a=0;while(1){h=r+(a<<2)|0;J[c+(J[h>>2]<<2)>>2]=0;b=J[f>>2];g=J[h>>2]<<2;l=J[g+p>>2];s:{if((b|0)==(l|0)){break s}g=c+g|0;b=b-l|0;l=J[f+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=J[f+48>>2];if((n|0)==(e|0)){c=0;break e}J[g>>2]=J[n>>2]<<l>>>32-b;b=b+J[f+52>>2]|0;J[f+52>>2]=b;if((b|0)!=32){break s}J[f+52>>2]=0;J[f+48>>2]=n+4;break s}n=J[f+48>>2];t=n+4|0;if((e|0)==(t|0)){c=0;break e}u=J[n>>2];J[f+48>>2]=t;q=b-q|0;J[f+52>>2]=q;J[g>>2]=J[n+4>>2]>>>32-q|u<<l>>>32-b}b=J[h>>2]<<2;h=b+c|0;J[h>>2]=J[h>>2]|J[b+J[k>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}e=0;a=J[i+16>>2];t:{if((a|0)==J[i+20>>2]){break t}while(1){g=J[i+28>>2];c=P(e,20)+a|0;l=J[c>>2];if(!K[l+84|0]){g=J[J[l+68>>2]+(g<<2)>>2]}if(M[l+80>>2]<=g>>>0){break t}n=J[f+96>>2]+(J[c+4>>2]<<2)|0;h=J[c+12>>2];b=n;u:{if(h>>>0>3){break u}a=0;b=J[i+12>>2];if(!J[c+16>>2]){break u}while(1){b=Vi(b,n+(a<<2)|0,h);h=J[c+12>>2];b=b+h|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,g)|0,b,a);e=e+1|0;a=J[i+16>>2];if(e>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[d+28>>2]}if(a){continue}break}c=1}J[d+28>>2]=0;g=J[d+16>>2];a=J[d+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;g=J[d+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}h=170;v:{switch((b>>>2|0)-1|0){case 1:h=341;case 0:J[d+24>>2]=h;break;default:break v}}w:{if((a|0)==(g|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break w}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;break b}La();C()}La();C()}f=c}return f}function yb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=J[b+12>>2];d=J[b+20>>2];h=J[b+16>>2];e=h+4|0;d=e>>>0<4?d+1|0:d;a:{if(e>>>0>M[b+8>>2]&(d|0)>=(i|0)|(d|0)>(i|0)){break a}d=h+J[b>>2]|0;J[a>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];i=d;e=J[b+16>>2];h=e+4|0;d=h>>>0<4?d+1|0:d;k=h;J[b+16>>2]=h;J[b+20>>2]=d;if(M[a>>2]>32){break a}h=J[b+12>>2];d=i;i=e+8|0;d=i>>>0<8?d+1|0:d;if(i>>>0>M[b+8>>2]&(d|0)>=(h|0)|(d|0)>(h|0)){break a}d=k+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[a+4>>2]=f;d=J[b+20>>2];i=J[b+16>>2]+4|0;d=i>>>0<4?d+1|0:d;J[b+16>>2]=i;J[b+20>>2]=d;if(!f){return 1}f=0;J[a+8>>2]=0;if(!ie(a+16|0,b)){break a}if(!ie(a+36|0,b)){break a}if(!ie(a+56|0,b)){break a}if(!ie(a+76|0,b)){break a}q=J[a+4>>2];i=c;b=0;c=0;e=ia-32|0;ia=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Aj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}d=J[f+120>>2];h=J[d>>2];if(h){J[d+4>>2]=h;xj(h);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[d+4>>2]=c;J[d>>2]=b;J[d+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Aj(a);J[e+8>>2]=g;b=a+g|0;J[e+16>>2]=b;Xi(g,0,a);J[e+12>>2]=b}a=J[f+132>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);g=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=g;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Rb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=q;h=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){b=J[e+12>>2];h=J[e+24>>2];g=a-1|0;c=h+g|0;d=(c>>>0)/341|0;c=J[b+(d<<2)>>2]+P(c-P(d,341)|0,12)|0;l=J[c+8>>2];d=J[c+4>>2];k=J[c>>2];J[e+28>>2]=g;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(k>>>0>q>>>0){h=0;break e}h=0;b=J[f+12>>2];a=(d|0)!=(b-1|0)?d+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+120>>2];g=P(l,12);m=b+g|0;c=J[f>>2];n=a<<2;p=g+J[f+132>>2]|0;d=J[n+J[p>>2]>>2];f:{g:{if((c|0)==(d|0)){if(!k){break g}g=0;b=J[i+20>>2];c=J[i+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[i+28>>2]=k+J[i+28>>2];J[f+8>>2]=a+k;break g}while(1){h=(b|0)==(c|0);a=b;d=0;b=c;h:{if(h){break h}while(1){h=J[i+28>>2];b=a;l=P(d,20)+c|0;n=J[l>>2];if(!K[n+84|0]){h=J[J[n+68>>2]+(h<<2)>>2]}if(M[n+80>>2]<=h>>>0){break h}j=J[m>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=J[i+12>>2];if(!J[l+16>>2]){break i}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[l+16>>2]){continue}break}b=J[i+12>>2]}a=J[n+40>>2];Vi(J[J[n>>2]>>2]+P(a,h)|0,b,a);d=d+1|0;a=J[i+20>>2];b=a;c=J[i+16>>2];if(d>>>0<(b-c|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;g=g+1|0;if((k|0)!=(g|0)){continue}break}break g}j:{k:{l:{m:{if(k>>>0<=2){c=J[f+108>>2];J[c>>2]=a;g=1;b=J[f+12>>2];if(b>>>0>1){break m}break j}if(M[f+8>>2]>M[f+4>>2]){break e}j=b;b=g+12|0;Sa(j+b|0,J[m>>2],J[m+4>>2]);b=n+J[b+J[f+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<c+(d^-1));b=S(k)^31;c=J[f+32>>2];m=32-c|0;n:{if((b|0)<=(m|0)){d=J[f+28>>2];if((d|0)==J[f+20>>2]){break l}m=J[d>>2];j=b+c|0;J[f+32>>2]=j;c=m<<c>>>32-b|0;if((j|0)!=32){break n}J[f+32>>2]=0;J[f+28>>2]=d+4;break n}d=J[f+28>>2];j=d+4|0;if((j|0)==J[f+20>>2]){break l}p=J[d>>2];J[f+28>>2]=j;m=b-m|0;J[f+32>>2]=m;c=J[d+4>>2]>>>32-m|p<<c>>>32-b}d=k>>>1|0;if(d>>>0<c>>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(g<<2)>>2]=a;b=J[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break j}d=k>>>1|0;c=0}h=l+1|0;o:{p:{b=d-c|0;c=k-b|0;q:{if((c|0)==(b|0)){c=b;break q}d=J[f+88>>2];if((d|0)==J[f+80>>2]){break p}k=J[d>>2];m=J[f+92>>2];j=m+1|0;J[f+92>>2]=j;k=k&-2147483648>>>m;r:{if((j|0)==32){J[f+92>>2]=0;J[f+88>>2]=d+4;if(k){break r}break p}if(!k){break p}}}d=c;c=b;break o}d=b}b=J[f+132>>2];g=b+g|0;k=J[g>>2];m=k+n|0;J[m>>2]=J[m>>2]+1;Sa(b+P(h,12)|0,k,J[g+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;k=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((g|0)!=(k|0)?P(k-g>>2,341)-1|0:0)|0)){Rb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=g;g=(b>>>0)/341|0;b=J[j+(g<<2)>>2]+P(b-P(g,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!d){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((c|0)!=(g|0)?P(c-g>>2,341)-1|0:0)|0)){Rb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+g>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=h;J[b+4>>2]=a;J[b>>2]=d;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}n=0;if(!k){break g}while(1){if(J[f+12>>2]){d=J[f+40>>2];s=J[p>>2];c=J[f+96>>2];t=J[f+108>>2];a=0;while(1){h=(a<<2)+t|0;J[c+(J[h>>2]<<2)>>2]=0;b=J[f>>2];g=J[h>>2]<<2;l=J[g+s>>2];s:{if((b|0)==(l|0)){break s}g=c+g|0;b=b-l|0;l=J[f+52>>2];o=32-l|0;if((b|0)<=(o|0)){j=J[f+48>>2];if((j|0)==(d|0)){h=0;break e}J[g>>2]=J[j>>2]<<l>>>32-b;b=b+J[f+52>>2]|0;J[f+52>>2]=b;if((b|0)!=32){break s}J[f+52>>2]=0;J[f+48>>2]=j+4;break s}j=J[f+48>>2];r=j+4|0;if((d|0)==(r|0)){h=0;break e}u=J[j>>2];J[f+48>>2]=r;o=b-o|0;J[f+52>>2]=o;J[g>>2]=J[j+4>>2]>>>32-o|u<<l>>>32-b}b=J[h>>2]<<2;h=b+c|0;J[h>>2]=J[h>>2]|J[b+J[m>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}d=0;a=J[i+16>>2];t:{if((a|0)==J[i+20>>2]){break t}while(1){h=J[i+28>>2];g=P(d,20)+a|0;l=J[g>>2];if(!K[l+84|0]){h=J[J[l+68>>2]+(h<<2)>>2]}if(M[l+80>>2]<=h>>>0){break t}j=J[f+96>>2]+(J[g+4>>2]<<2)|0;c=J[g+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=J[i+12>>2];if(!J[g+16>>2]){break u}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[g+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[g+16>>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,h)|0,b,a);d=d+1|0;a=J[i+16>>2];if(d>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;n=n+1|0;if((k|0)!=(n|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}h=1}J[e+28>>2]=0;g=J[e+16>>2];a=J[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;g=J[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(g|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break w}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}ia=e+32|0;a=h;break b}La();C()}La();C()}f=a}return f}function Db(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=J[b+12>>2];g=J[b+20>>2];f=J[b+16>>2];k=f+4|0;g=k>>>0<4?g+1|0:g;a:{if((d|0)<=(g|0)&k>>>0>M[b+8>>2]|(d|0)<(g|0)){break a}g=f+J[b>>2]|0;J[a>>2]=K[g|0]|K[g+1|0]<<8|(K[g+2|0]<<16|K[g+3|0]<<24);g=J[b+20>>2];d=g;k=J[b+16>>2];f=k+4|0;g=f>>>0<4?d+1|0:d;j=f;J[b+16>>2]=f;J[b+20>>2]=g;if(M[a>>2]>32){break a}f=J[b+12>>2];g=d;d=k+8|0;g=d>>>0<8?g+1|0:g;if(d>>>0>M[b+8>>2]&(g|0)>=(f|0)|(g|0)>(f|0)){break a}e=j+J[b>>2]|0;g=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=g;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!g){return 1}e=0;J[a+8>>2]=0;if(!Mb(a+16|0,b)){break a}if(!ie(a+544|0,b)){break a}if(!ie(a+564|0,b)){break a}if(!ie(a+584|0,b)){break a}q=J[a+4>>2];g=c;b=0;c=0;d=ia-32|0;ia=d;e=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}f=a<<2;b=Aj(f);J[d+8>>2]=b;c=b+f|0;J[d+16>>2]=c;Xi(b,0,f);J[d+12>>2]=c}f=J[e+628>>2];k=J[f>>2];if(k){J[f+4>>2]=k;xj(k);c=J[d+12>>2];b=J[d+8>>2];a=J[e+12>>2]}J[f+4>>2]=c;J[f>>2]=b;J[f+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=Aj(a);J[d+8>>2]=h;b=a+h|0;J[d+16>>2]=b;Xi(h,0,a);J[d+12>>2]=b}a=J[e+640>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);h=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=h;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=q;c=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}s=e+16|0;while(1){b=J[d+12>>2];j=J[d+24>>2];i=a-1|0;c=j+i|0;h=(c>>>0)/341|0;c=J[b+(h<<2)>>2]+P(c-P(h,341)|0,12)|0;k=J[c+8>>2];h=J[c+4>>2];f=J[c>>2];J[d+28>>2]=i;c=J[d+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[d+16>>2]=J[d+16>>2]-4}c=0;if(f>>>0>q>>>0){break e}a=J[e+12>>2];h=(h|0)!=(a-1|0)?h+1|0:0;if(h>>>0>=a>>>0){break e}j=P(k,12);n=j+J[e+640>>2]|0;o=j+J[e+628>>2]|0;b=J[e>>2];i=h<<2;l=J[i+J[n>>2]>>2];f:{g:{if((b|0)==(l|0)){if(!f){break g}c=J[g+16>>2];b=J[g+20>>2];i=0;while(1){h=(b|0)==(c|0);a=b;j=0;b=c;h:{if(h){break h}while(1){k=J[g+28>>2];b=a;h=P(j,20)+c|0;m=J[h>>2];if(!K[m+84|0]){k=J[J[m+68>>2]+(k<<2)>>2]}if(M[m+80>>2]<=k>>>0){break h}n=J[o>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=n;i:{if(c>>>0>3){break i}a=0;b=J[g+12>>2];if(!J[h+16>>2]){break i}while(1){b=Vi(b,n+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[h+16>>2]){continue}break}b=J[g+12>>2]}a=J[m+40>>2];Vi(J[J[m>>2]>>2]+P(a,k)|0,b,a);a=J[g+20>>2];b=a;j=j+1|0;c=J[g+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}J[g+28>>2]=J[g+28>>2]+1;J[e+8>>2]=J[e+8>>2]+1;i=i+1|0;if((f|0)!=(i|0)){continue}break}break g}j:{k:{l:{if(f>>>0<=2){c=J[e+616>>2];J[c>>2]=h;a=1;b=J[e+12>>2];if(b>>>0>1){break l}break j}if(M[e+8>>2]>M[e+4>>2]){break e}a=J[e+628>>2];n=k+1|0;m=P(n,12);c=a+m|0;if((c|0)!=(o|0)){Sa(c,J[o>>2],J[o+4>>2]);a=J[e+628>>2]}a=i+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<<b+(l^-1));b=0;a=0;c=S(f)^31;if(!c){a=f>>>1|0;break k}while(1){b=le((a<<4)+s|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=f>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){h=(b-1|0)!=(h|0)?h+1|0:0;J[c+(a<<2)>>2]=h;a=a+1|0;b=J[e+12>>2];if(a>>>0<b>>>0){continue}break}break j}m:{n:{b=a-b|0;a=f-b|0;o:{if((a|0)==(b|0)){a=b;break o}c=J[e+596>>2];if((c|0)==J[e+588>>2]){break n}f=J[c>>2];o=J[e+600>>2];l=o+1|0;J[e+600>>2]=l;f=f&-2147483648>>>o;p:{if((l|0)==32){J[e+600>>2]=0;J[e+596>>2]=c+4;if(f){break p}break n}if(!f){break n}}}c=a;a=b;break m}c=b}b=J[e+640>>2];f=b+j|0;j=J[f>>2];i=j+i|0;J[i>>2]=J[i>>2]+1;Sa(b+m|0,j,J[f+4>>2]);if(a){i=J[d+28>>2]+J[d+24>>2]|0;f=J[d+16>>2];b=J[d+12>>2];if((i|0)==(((b|0)!=(f|0)?P(f-b>>2,341)-1|0:0)|0)){Rb(d+8|0);i=J[d+24>>2]+J[d+28>>2]|0;l=J[d+12>>2]}else{l=b}b=(i>>>0)/341|0;b=J[l+(b<<2)>>2]+P(i-P(b,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=h;J[b>>2]=a;J[d+28>>2]=J[d+28>>2]+1}if(!c){break g}b=J[d+28>>2]+J[d+24>>2]|0;f=J[d+16>>2];a=J[d+12>>2];if((b|0)==(((a|0)!=(f|0)?P(f-a>>2,341)-1|0:0)|0)){Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;l=J[d+12>>2]}else{l=a}a=(b>>>0)/341|0;a=J[l+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=n;J[a+4>>2]=h;J[a>>2]=c;a=J[d+28>>2]+1|0;J[d+28>>2]=a;break f}h=0;if(!f){break g}while(1){if(J[e+12>>2]){k=J[e+548>>2];t=J[n>>2];c=J[e+604>>2];u=J[e+616>>2];a=0;while(1){j=(a<<2)+u|0;J[c+(J[j>>2]<<2)>>2]=0;b=J[e>>2];i=J[j>>2]<<2;m=J[i+t>>2];q:{if((b|0)==(m|0)){break q}i=c+i|0;b=b-m|0;m=J[e+560>>2];p=32-m|0;if((b|0)<=(p|0)){l=J[e+556>>2];if((l|0)==(k|0)){c=0;break e}J[i>>2]=J[l>>2]<<m>>>32-b;b=b+J[e+560>>2]|0;J[e+560>>2]=b;if((b|0)!=32){break q}J[e+560>>2]=0;J[e+556>>2]=l+4;break q}l=J[e+556>>2];r=l+4|0;if((k|0)==(r|0)){c=0;break e}v=J[l>>2];J[e+556>>2]=r;p=b-p|0;J[e+560>>2]=p;J[i>>2]=J[l+4>>2]>>>32-p|v<<m>>>32-b}b=J[j>>2]<<2;j=b+c|0;J[j>>2]=J[j>>2]|J[b+J[o>>2]>>2];a=a+1|0;if(a>>>0<M[e+12>>2]){continue}break}}j=0;a=J[g+16>>2];r:{if((a|0)==J[g+20>>2]){break r}while(1){k=J[g+28>>2];i=P(j,20)+a|0;m=J[i>>2];if(!K[m+84|0]){k=J[J[m+68>>2]+(k<<2)>>2]}if(M[m+80>>2]<=k>>>0){break r}l=J[e+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=l;s:{if(c>>>0>3){break s}a=0;b=J[g+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,l+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[i+16>>2]){continue}break}b=J[g+12>>2]}a=J[m+40>>2];Vi(J[J[m>>2]>>2]+P(a,k)|0,b,a);j=j+1|0;a=J[g+16>>2];if(j>>>0<(J[g+20>>2]-a|0)/20>>>0){continue}break}}J[g+28>>2]=J[g+28>>2]+1;J[e+8>>2]=J[e+8>>2]+1;h=h+1|0;if((f|0)!=(h|0)){continue}break}}a=J[d+28>>2]}if(a){continue}break}c=1}J[d+28>>2]=0;h=J[d+16>>2];a=J[d+12>>2];b=h-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;h=J[d+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}e=170;t:{switch((b>>>2|0)-1|0){case 1:e=341;case 0:J[d+24>>2]=e;break;default:break t}}u:{if((a|0)==(h|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break u}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;break b}La();C()}La();C()}e=c}return e}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=J[b+12>>2];g=J[b+20>>2];f=J[b+16>>2];i=f+4|0;g=i>>>0<4?g+1|0:g;a:{if((d|0)<=(g|0)&i>>>0>M[b+8>>2]|(d|0)<(g|0)){break a}g=f+J[b>>2]|0;J[a>>2]=K[g|0]|K[g+1|0]<<8|(K[g+2|0]<<16|K[g+3|0]<<24);g=J[b+20>>2];d=g;i=J[b+16>>2];f=i+4|0;g=f>>>0<4?d+1|0:d;k=f;J[b+16>>2]=f;J[b+20>>2]=g;if(M[a>>2]>32){break a}f=J[b+12>>2];g=d;d=i+8|0;g=d>>>0<8?g+1|0:g;if(d>>>0>M[b+8>>2]&(g|0)>=(f|0)|(g|0)>(f|0)){break a}e=k+J[b>>2]|0;g=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=g;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!g){return 1}e=0;J[a+8>>2]=0;if(!Mb(a+16|0,b)){break a}if(!ie(a+544|0,b)){break a}if(!ie(a+564|0,b)){break a}if(!ie(a+584|0,b)){break a}q=J[a+4>>2];g=c;b=0;c=0;d=ia-32|0;ia=d;e=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}f=a<<2;b=Aj(f);J[d+8>>2]=b;c=b+f|0;J[d+16>>2]=c;Xi(b,0,f);J[d+12>>2]=c}f=J[e+628>>2];i=J[f>>2];if(i){J[f+4>>2]=i;xj(i);c=J[d+12>>2];b=J[d+8>>2];a=J[e+12>>2]}J[f+4>>2]=c;J[f>>2]=b;J[f+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=Aj(a);J[d+8>>2]=h;b=a+h|0;J[d+16>>2]=b;Xi(h,0,a);J[d+12>>2]=b}a=J[e+640>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);h=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=h;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=q;c=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}s=e+16|0;while(1){b=J[d+12>>2];h=J[d+24>>2];c=a-1|0;f=h+c|0;i=(f>>>0)/341|0;f=J[b+(i<<2)>>2]+P(f-P(i,341)|0,12)|0;i=J[f+8>>2];f=J[f>>2];J[d+28>>2]=c;c=J[d+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[d+16>>2]=J[d+16>>2]-4}c=0;if(f>>>0>q>>>0){break e}a=J[e+628>>2];k=P(i,12);n=k+J[e+640>>2]|0;h=Si(e,f,n);if(h>>>0>=M[e+12>>2]){break e}o=a+k|0;b=J[e>>2];j=h<<2;m=J[j+J[n>>2]>>2];f:{g:{if((b|0)==(m|0)){if(!f){break g}c=J[g+16>>2];b=J[g+20>>2];j=0;while(1){h=(b|0)==(c|0);a=b;k=0;b=c;h:{if(h){break h}while(1){i=J[g+28>>2];b=a;h=P(k,20)+c|0;l=J[h>>2];if(!K[l+84|0]){i=J[J[l+68>>2]+(i<<2)>>2]}if(M[l+80>>2]<=i>>>0){break h}n=J[o>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=n;i:{if(c>>>0>3){break i}a=0;b=J[g+12>>2];if(!J[h+16>>2]){break i}while(1){b=Vi(b,n+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[h+16>>2]){continue}break}b=J[g+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,i)|0,b,a);a=J[g+20>>2];b=a;k=k+1|0;c=J[g+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}J[g+28>>2]=J[g+28>>2]+1;J[e+8>>2]=J[e+8>>2]+1;j=j+1|0;if((f|0)!=(j|0)){continue}break}break g}j:{k:{l:{if(f>>>0<=2){c=J[e+616>>2];J[c>>2]=h;a=1;b=J[e+12>>2];if(b>>>0>1){break l}break j}if(M[e+8>>2]>M[e+4>>2]){break e}a=J[e+628>>2];n=i+1|0;l=P(n,12);c=a+l|0;if((c|0)!=(o|0)){Sa(c,J[o>>2],J[o+4>>2]);a=J[e+628>>2]}a=j+J[a+l>>2]|0;J[a>>2]=J[a>>2]+(1<<b+(m^-1));b=0;a=0;c=S(f)^31;if(!c){a=f>>>1|0;break k}while(1){b=le((a<<4)+s|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=f>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){h=(b-1|0)!=(h|0)?h+1|0:0;J[c+(a<<2)>>2]=h;a=a+1|0;b=J[e+12>>2];if(a>>>0<b>>>0){continue}break}break j}m:{n:{b=a-b|0;a=f-b|0;o:{if((a|0)==(b|0)){a=b;break o}c=J[e+596>>2];if((c|0)==J[e+588>>2]){break n}f=J[c>>2];o=J[e+600>>2];m=o+1|0;J[e+600>>2]=m;f=f&-2147483648>>>o;p:{if((m|0)==32){J[e+600>>2]=0;J[e+596>>2]=c+4;if(f){break p}break n}if(!f){break n}}}c=a;a=b;break m}c=b}b=J[e+640>>2];f=b+k|0;k=J[f>>2];j=k+j|0;J[j>>2]=J[j>>2]+1;Sa(b+l|0,k,J[f+4>>2]);if(a){j=J[d+28>>2]+J[d+24>>2]|0;f=J[d+16>>2];b=J[d+12>>2];if((j|0)==(((b|0)!=(f|0)?P(f-b>>2,341)-1|0:0)|0)){Rb(d+8|0);j=J[d+24>>2]+J[d+28>>2]|0;f=J[d+12>>2]}else{f=b}b=(j>>>0)/341|0;b=J[f+(b<<2)>>2]+P(j-P(b,341)|0,12)|0;J[b+8>>2]=i;J[b+4>>2]=h;J[b>>2]=a;J[d+28>>2]=J[d+28>>2]+1}if(!c){break g}b=J[d+28>>2]+J[d+24>>2]|0;f=J[d+16>>2];a=J[d+12>>2];if((b|0)==(((a|0)!=(f|0)?P(f-a>>2,341)-1|0:0)|0)){Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;f=J[d+12>>2]}else{f=a}a=(b>>>0)/341|0;a=J[f+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=n;J[a+4>>2]=h;J[a>>2]=c;a=J[d+28>>2]+1|0;J[d+28>>2]=a;break f}h=0;if(!f){break g}while(1){if(J[e+12>>2]){i=J[e+548>>2];t=J[n>>2];c=J[e+604>>2];u=J[e+616>>2];a=0;while(1){k=(a<<2)+u|0;J[c+(J[k>>2]<<2)>>2]=0;b=J[e>>2];j=J[k>>2]<<2;l=J[j+t>>2];q:{if((b|0)==(l|0)){break q}j=c+j|0;b=b-l|0;l=J[e+560>>2];p=32-l|0;if((b|0)<=(p|0)){m=J[e+556>>2];if((m|0)==(i|0)){c=0;break e}J[j>>2]=J[m>>2]<<l>>>32-b;b=b+J[e+560>>2]|0;J[e+560>>2]=b;if((b|0)!=32){break q}J[e+560>>2]=0;J[e+556>>2]=m+4;break q}m=J[e+556>>2];r=m+4|0;if((i|0)==(r|0)){c=0;break e}v=J[m>>2];J[e+556>>2]=r;p=b-p|0;J[e+560>>2]=p;J[j>>2]=J[m+4>>2]>>>32-p|v<<l>>>32-b}b=J[k>>2]<<2;k=b+c|0;J[k>>2]=J[k>>2]|J[b+J[o>>2]>>2];a=a+1|0;if(a>>>0<M[e+12>>2]){continue}break}}k=0;a=J[g+16>>2];r:{if((a|0)==J[g+20>>2]){break r}while(1){i=J[g+28>>2];j=P(k,20)+a|0;l=J[j>>2];if(!K[l+84|0]){i=J[J[l+68>>2]+(i<<2)>>2]}if(M[l+80>>2]<=i>>>0){break r}m=J[e+604>>2]+(J[j+4>>2]<<2)|0;c=J[j+12>>2];b=m;s:{if(c>>>0>3){break s}a=0;b=J[g+12>>2];if(!J[j+16>>2]){break s}while(1){b=Vi(b,m+(a<<2)|0,c);c=J[j+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[j+16>>2]){continue}break}b=J[g+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,i)|0,b,a);k=k+1|0;a=J[g+16>>2];if(k>>>0<(J[g+20>>2]-a|0)/20>>>0){continue}break}}J[g+28>>2]=J[g+28>>2]+1;J[e+8>>2]=J[e+8>>2]+1;h=h+1|0;if((f|0)!=(h|0)){continue}break}}a=J[d+28>>2]}if(a){continue}break}c=1}J[d+28>>2]=0;h=J[d+16>>2];a=J[d+12>>2];b=h-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;h=J[d+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}e=170;t:{switch((b>>>2|0)-1|0){case 1:e=341;case 0:J[d+24>>2]=e;break;default:break t}}u:{if((a|0)==(h|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break u}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;break b}La();C()}La();C()}e=c}return e}function Gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=J[b+12>>2];f=J[b+20>>2];h=J[b+16>>2];k=h+4|0;f=k>>>0<4?f+1|0:f;a:{if((d|0)<=(f|0)&k>>>0>M[b+8>>2]|(d|0)<(f|0)){break a}f=h+J[b>>2]|0;J[a>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);f=J[b+20>>2];d=f;k=J[b+16>>2];h=k+4|0;f=h>>>0<4?d+1|0:d;j=h;J[b+16>>2]=h;J[b+20>>2]=f;if(M[a>>2]>32){break a}h=J[b+12>>2];f=d;d=k+8|0;f=d>>>0<8?f+1|0:f;if(d>>>0>M[b+8>>2]&(f|0)>=(h|0)|(f|0)>(h|0)){break a}e=j+J[b>>2]|0;f=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=f;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;if(!f){return 1}e=0;J[a+8>>2]=0;if(!Mb(a+16|0,b)){break a}if(!ie(a+544|0,b)){break a}if(!ie(a+564|0,b)){break a}if(!ie(a+584|0,b)){break a}p=J[a+4>>2];b=0;d=ia-32|0;ia=d;f=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Aj(e);J[d+8>>2]=b;i=b+e|0;J[d+16>>2]=i;Xi(b,0,e);J[d+12>>2]=i}e=J[f+628>>2];h=J[e>>2];if(h){J[e+4>>2]=h;xj(h);i=J[d+12>>2];b=J[d+8>>2];a=J[f+12>>2]}J[e+4>>2]=i;J[e>>2]=b;J[e+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Aj(a);J[d+8>>2]=g;b=a+g|0;J[d+16>>2]=b;Xi(g,0,a);J[d+12>>2]=b}a=J[f+640>>2];e=J[a>>2];if(e){J[a+4>>2]=e;xj(e);g=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=g;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=p;e=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}s=f+16|0;while(1){b=J[d+12>>2];k=J[d+24>>2];j=a-1|0;e=k+j|0;i=(e>>>0)/341|0;e=J[b+(i<<2)>>2]+P(e-P(i,341)|0,12)|0;i=J[e+8>>2];g=J[e+4>>2];h=J[e>>2];J[d+28>>2]=j;e=J[d+16>>2];if((((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)-(a+k|0)|0)+1>>>0>=682){xj(J[e-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(h>>>0>p>>>0){e=0;break e}e=0;a=J[f+12>>2];g=(g|0)!=(a-1|0)?g+1|0:0;if(g>>>0>=a>>>0){break e}a=J[f+628>>2];k=P(i,12);n=a+k|0;b=J[f>>2];j=g<<2;q=k+J[f+640>>2]|0;l=J[j+J[q>>2]>>2];f:{g:{if((b|0)==(l|0)){if(!h){break g}i=J[c+16>>2];b=J[c+20>>2];k=0;while(1){e=(b|0)==(i|0);a=b;g=0;b=i;h:{if(e){break h}while(1){e=J[c+28>>2];b=a;j=P(g,20)+i|0;l=J[j>>2];if(!K[l+84|0]){e=J[J[l+68>>2]+(e<<2)>>2]}if(M[l+80>>2]<=e>>>0){break h}m=J[n>>2]+(J[j+4>>2]<<2)|0;i=J[j+12>>2];b=m;i:{if(i>>>0>3){break i}a=0;b=J[c+12>>2];if(!J[j+16>>2]){break i}while(1){b=Vi(b,m+(a<<2)|0,i);i=J[j+12>>2];b=b+i|0;a=a+1|0;if(a>>>0<M[j+16>>2]){continue}break}b=J[c+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,e)|0,b,a);a=J[c+20>>2];b=a;g=g+1|0;i=J[c+16>>2];if(g>>>0<(a-i|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;k=k+1|0;if((k|0)!=(h|0)){continue}break}break g}j:{k:{l:{if(h>>>0<=2){e=J[f+616>>2];J[e>>2]=g;a=1;b=J[f+12>>2];if(b>>>0>1){break l}break j}if(M[f+8>>2]>M[f+4>>2]){break e}m=a;a=k+12|0;Sa(m+a|0,J[n>>2],J[n+4>>2]);a=j+J[a+J[f+628>>2]>>2]|0;J[a>>2]=J[a>>2]+(1<<b+(l^-1));b=0;a=0;n=S(h)^31;if(!n){a=h>>>1|0;break k}while(1){b=le((a<<4)+s|0)|b<<1;a=a+1|0;if((n|0)!=(a|0)){continue}break}a=h>>>1|0;if(b>>>0<=a>>>0){break k}break e}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[e+(a<<2)>>2]=g;a=a+1|0;b=J[f+12>>2];if(a>>>0<b>>>0){continue}break}break j}n=i+1|0;m:{n:{b=a-b|0;a=h-b|0;o:{if((a|0)==(b|0)){a=b;break o}e=J[f+596>>2];if((e|0)==J[f+588>>2]){break n}h=J[e>>2];l=J[f+600>>2];m=l+1|0;J[f+600>>2]=m;h=h&-2147483648>>>l;p:{if((m|0)==32){J[f+600>>2]=0;J[f+596>>2]=e+4;if(h){break p}break n}if(!h){break n}}}e=a;a=b;break m}e=b}b=J[f+640>>2];h=b+k|0;k=J[h>>2];j=k+j|0;J[j>>2]=J[j>>2]+1;Sa(b+P(n,12)|0,k,J[h+4>>2]);if(a){h=J[d+28>>2]+J[d+24>>2]|0;k=J[d+16>>2];b=J[d+12>>2];if((h|0)==(((b|0)!=(k|0)?P(k-b>>2,341)-1|0:0)|0)){Rb(d+8|0);h=J[d+24>>2]+J[d+28>>2]|0;m=J[d+12>>2]}else{m=b}b=(h>>>0)/341|0;b=J[m+(b<<2)>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=i;J[b+4>>2]=g;J[b>>2]=a;J[d+28>>2]=J[d+28>>2]+1}if(!e){break g}b=J[d+28>>2]+J[d+24>>2]|0;i=J[d+16>>2];a=J[d+12>>2];if((b|0)==(((a|0)!=(i|0)?P(i-a>>2,341)-1|0:0)|0)){Rb(d+8|0);b=J[d+24>>2]+J[d+28>>2]|0;m=J[d+12>>2]}else{m=a}a=(b>>>0)/341|0;a=J[m+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=n;J[a+4>>2]=g;J[a>>2]=e;a=J[d+28>>2]+1|0;J[d+28>>2]=a;break f}k=0;if(!h){break g}while(1){if(J[f+12>>2]){i=J[f+548>>2];t=J[q>>2];e=J[f+604>>2];u=J[f+616>>2];a=0;while(1){g=u+(a<<2)|0;J[(J[g>>2]<<2)+e>>2]=0;b=J[f>>2];j=J[g>>2]<<2;l=J[j+t>>2];q:{if((b|0)==(l|0)){break q}j=e+j|0;b=b-l|0;l=J[f+560>>2];o=32-l|0;if((b|0)<=(o|0)){m=J[f+556>>2];if((m|0)==(i|0)){e=0;break e}J[j>>2]=J[m>>2]<<l>>>32-b;b=J[f+560>>2]+b|0;J[f+560>>2]=b;if((b|0)!=32){break q}J[f+560>>2]=0;J[f+556>>2]=m+4;break q}m=J[f+556>>2];r=m+4|0;if((r|0)==(i|0)){e=0;break e}v=J[m>>2];J[f+556>>2]=r;o=b-o|0;J[f+560>>2]=o;J[j>>2]=J[m+4>>2]>>>32-o|v<<l>>>32-b}b=J[g>>2]<<2;g=b+e|0;J[g>>2]=J[g>>2]|J[b+J[n>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}g=0;a=J[c+16>>2];r:{if((a|0)==J[c+20>>2]){break r}while(1){e=J[c+28>>2];j=P(g,20)+a|0;l=J[j>>2];if(!K[l+84|0]){e=J[J[l+68>>2]+(e<<2)>>2]}if(M[l+80>>2]<=e>>>0){break r}m=J[f+604>>2]+(J[j+4>>2]<<2)|0;i=J[j+12>>2];b=m;s:{if(i>>>0>3){break s}a=0;b=J[c+12>>2];if(!J[j+16>>2]){break s}while(1){b=Vi(b,m+(a<<2)|0,i);i=J[j+12>>2];b=b+i|0;a=a+1|0;if(a>>>0<M[j+16>>2]){continue}break}b=J[c+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,e)|0,b,a);g=g+1|0;a=J[c+16>>2];if(g>>>0<(J[c+20>>2]-a|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;k=k+1|0;if((k|0)!=(h|0)){continue}break}}a=J[d+28>>2]}if(a){continue}break}e=1}J[d+28>>2]=0;g=J[d+16>>2];a=J[d+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;g=J[d+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}i=170;t:{switch((b>>>2|0)-1|0){case 1:i=341;case 0:J[d+24>>2]=i;break;default:break t}}u:{if((a|0)==(g|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break u}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;break b}La();C()}La();C()}}return e}function zb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];j=d+4|0;e=j>>>0<4?e+1|0:e;a:{if(j>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break a}e=d+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;j=J[b+16>>2];d=j+4|0;e=d>>>0<4?e+1|0:e;l=d;J[b+16>>2]=d;J[b+20>>2]=e;if(M[a>>2]>32){break a}d=J[b+12>>2];e=i;i=j+8|0;e=i>>>0<8?e+1|0:e;if((d|0)<=(e|0)&i>>>0>M[b+8>>2]|(d|0)<(e|0)){break a}e=l+J[b>>2]|0;g=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=g;e=J[b+20>>2];i=J[b+16>>2]+4|0;e=i>>>0<4?e+1|0:e;J[b+16>>2]=i;J[b+20>>2]=e;if(!g){return 1}g=0;J[a+8>>2]=0;if(!je(a+16|0,b)){break a}if(!ie(a+32|0,b)){break a}if(!ie(a+52|0,b)){break a}if(!ie(a+72|0,b)){break a}r=J[a+4>>2];i=c;b=0;d=ia-32|0;ia=d;g=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Aj(c);J[d+8>>2]=b;h=b+c|0;J[d+16>>2]=h;Xi(b,0,c);J[d+12>>2]=h}c=J[g+116>>2];e=J[c>>2];if(e){J[c+4>>2]=e;xj(e);h=J[d+12>>2];b=J[d+8>>2];a=J[g+12>>2]}J[c+4>>2]=h;J[c>>2]=b;J[c+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Aj(a);J[d+8>>2]=f;b=a+f|0;J[d+16>>2]=b;Xi(f,0,a);J[d+12>>2]=b}a=J[g+128>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=r;c=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}t=g+16|0;while(1){b=J[d+12>>2];f=J[d+24>>2];l=a-1|0;c=f+l|0;e=(c>>>0)/341|0;c=J[b+(e<<2)>>2]+P(c-P(e,341)|0,12)|0;h=J[c+8>>2];e=J[c+4>>2];j=J[c>>2];J[d+28>>2]=l;c=J[d+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[d+16>>2]=J[d+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=J[g+12>>2];a=(b-1|0)!=(e|0)?e+1|0:0;if(a>>>0>=b>>>0){break e}f=P(h,12);o=f+J[g+128>>2]|0;l=f+J[g+116>>2]|0;e=J[g>>2];k=a<<2;m=J[k+J[o>>2]>>2];f:{if((e|0)==(m|0)){if(!j){break f}o=0;b=J[i+20>>2];h=J[i+16>>2];if((b|0)==(h|0)){a=J[g+8>>2];J[i+28>>2]=j+J[i+28>>2];J[g+8>>2]=a+j;break f}while(1){c=(b|0)==(h|0);a=b;e=0;b=h;g:{if(c){break g}while(1){f=J[i+28>>2];b=a;c=P(e,20)+h|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break g}m=J[l>>2]+(J[c+4>>2]<<2)|0;h=J[c+12>>2];b=m;h:{if(h>>>0>3){break h}a=0;b=J[i+12>>2];if(!J[c+16>>2]){break h}while(1){b=Vi(b,m+(a<<2)|0,h);h=J[c+12>>2];b=b+h|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);e=e+1|0;a=J[i+20>>2];b=a;h=J[i+16>>2];if(e>>>0<(b-h|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=J[g+104>>2];J[c>>2]=a;f=1;b=J[g+12>>2];if(b>>>0>1){break l}break i}if(M[g+8>>2]>M[g+4>>2]){break e}b=J[g+116>>2];n=h+1|0;o=P(n,12);q=b+o|0;if((q|0)!=(l|0)){Sa(q,J[l>>2],J[l+4>>2]);b=J[g+116>>2]}b=k+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<<e+(m^-1));J[d+4>>2]=0;me(t,S(j)^31,d+4|0);b=j>>>1|0;e=J[d+4>>2];if(b>>>0<e>>>0){break e}b=b-e|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}e=J[g+84>>2];if((e|0)==J[g+76>>2]){break k}j=J[e>>2];l=J[g+88>>2];m=l+1|0;J[g+88>>2]=m;j=j&-2147483648>>>l;n:{if((m|0)==32){J[g+88>>2]=0;J[g+84>>2]=e+4;if(j){break n}break k}if(!j){break k}}}e=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[g+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}e=b}b=J[g+128>>2];f=b+f|0;j=J[f>>2];l=j+k|0;J[l>>2]=J[l>>2]+1;Sa(b+o|0,j,J[f+4>>2]);if(c){b=J[d+28>>2]+J[d+24>>2]|0;j=J[d+16>>2];f=J[d+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Rb(d+8|0);f=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}m=f;f=(b>>>0)/341|0;b=J[m+(f<<2)>>2]+P(b-P(f,341)|0,12)|0;J[b+8>>2]=h;J[b+4>>2]=a;J[b>>2]=c;J[d+28>>2]=J[d+28>>2]+1}if(!e){break f}b=J[d+28>>2]+J[d+24>>2]|0;c=J[d+16>>2];f=J[d+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Rb(d+8|0);f=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=e;J[d+28>>2]=J[d+28>>2]+1;break f}m=0;if(!j){break f}while(1){if(J[g+12>>2]){e=J[g+36>>2];q=J[o>>2];c=J[g+92>>2];u=J[g+104>>2];a=0;while(1){h=(a<<2)+u|0;J[c+(J[h>>2]<<2)>>2]=0;b=J[g>>2];f=J[h>>2]<<2;k=J[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=J[g+48>>2];p=32-k|0;if((b|0)<=(p|0)){n=J[g+44>>2];if((n|0)==(e|0)){c=0;break e}J[f>>2]=J[n>>2]<<k>>>32-b;b=b+J[g+48>>2]|0;J[g+48>>2]=b;if((b|0)!=32){break o}J[g+48>>2]=0;J[g+44>>2]=n+4;break o}n=J[g+44>>2];s=n+4|0;if((e|0)==(s|0)){c=0;break e}v=J[n>>2];J[g+44>>2]=s;p=b-p|0;J[g+48>>2]=p;J[f>>2]=J[n+4>>2]>>>32-p|v<<k>>>32-b}b=J[h>>2]<<2;h=b+c|0;J[h>>2]=J[h>>2]|J[b+J[l>>2]>>2];a=a+1|0;if(a>>>0<M[g+12>>2]){continue}break}}e=0;a=J[i+16>>2];p:{if((a|0)==J[i+20>>2]){break p}while(1){f=J[i+28>>2];c=P(e,20)+a|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break p}n=J[g+92>>2]+(J[c+4>>2]<<2)|0;h=J[c+12>>2];b=n;q:{if(h>>>0>3){break q}a=0;b=J[i+12>>2];if(!J[c+16>>2]){break q}while(1){b=Vi(b,n+(a<<2)|0,h);h=J[c+12>>2];b=b+h|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);e=e+1|0;a=J[i+16>>2];if(e>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[d+28>>2];if(a){continue}break}c=1}J[d+28>>2]=0;f=J[d+16>>2];a=J[d+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;f=J[d+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}h=170;r:{switch((b>>>2|0)-1|0){case 1:h=341;case 0:J[d+24>>2]=h;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break s}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;break b}La();C()}La();C()}g=c}return g}function Cb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+12>>2];e=J[b+20>>2];h=J[b+16>>2];d=h+4|0;e=d>>>0<4?e+1|0:e;a:{if(d>>>0>M[b+8>>2]&(e|0)>=(i|0)|(e|0)>(i|0)){break a}e=h+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;d=J[b+16>>2];h=d+4|0;e=h>>>0<4?e+1|0:e;j=h;J[b+16>>2]=h;J[b+20>>2]=e;if(M[a>>2]>32){break a}h=J[b+12>>2];e=i;i=d+8|0;e=i>>>0<8?e+1|0:e;if(i>>>0>M[b+8>>2]&(e|0)>=(h|0)|(e|0)>(h|0)){break a}e=j+J[b>>2]|0;g=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=g;e=J[b+20>>2];i=J[b+16>>2]+4|0;e=i>>>0<4?e+1|0:e;J[b+16>>2]=i;J[b+20>>2]=e;if(!g){return 1}g=0;J[a+8>>2]=0;if(!je(a+16|0,b)){break a}if(!ie(a+32|0,b)){break a}if(!ie(a+52|0,b)){break a}if(!ie(a+72|0,b)){break a}p=J[a+4>>2];i=c;b=0;c=0;d=ia-32|0;ia=d;g=a;a=J[a+12>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Aj(e);J[d+8>>2]=b;c=b+e|0;J[d+16>>2]=c;Xi(b,0,e);J[d+12>>2]=c}e=J[g+116>>2];h=J[e>>2];if(h){J[e+4>>2]=h;xj(h);c=J[d+12>>2];b=J[d+8>>2];a=J[g+12>>2]}J[e+4>>2]=c;J[e>>2]=b;J[e+8>>2]=J[d+16>>2];b=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Aj(a);J[d+8>>2]=f;b=a+f|0;J[d+16>>2]=b;Xi(f,0,a);J[d+12>>2]=b}a=J[g+128>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[d+8>>2];b=J[d+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[d+16>>2];J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;Rb(d+8|0);a=J[d+24>>2]+J[d+28>>2]|0;b=(a>>>0)/341|0;a=J[J[d+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=p;h=1;a=J[d+28>>2]+1|0;J[d+28>>2]=a;e:{if(!a){break e}s=g+16|0;while(1){b=J[d+12>>2];h=J[d+24>>2];f=a-1|0;c=h+f|0;e=(c>>>0)/341|0;c=J[b+(e<<2)>>2]+P(c-P(e,341)|0,12)|0;k=J[c+8>>2];e=J[c+4>>2];j=J[c>>2];J[d+28>>2]=f;c=J[d+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[d+16>>2]=J[d+16>>2]-4}if(j>>>0>p>>>0){h=0;break e}h=0;b=J[g+12>>2];a=(e|0)!=(b-1|0)?e+1|0:0;if(a>>>0>=b>>>0){break e}b=J[g+116>>2];f=P(k,12);n=b+f|0;c=J[g>>2];m=a<<2;q=f+J[g+128>>2]|0;e=J[m+J[q>>2]>>2];f:{if((c|0)==(e|0)){if(!j){break f}b=J[i+20>>2];c=J[i+16>>2];if((b|0)==(c|0)){a=J[g+8>>2];J[i+28>>2]=j+J[i+28>>2];J[g+8>>2]=a+j;break f}while(1){f=(b|0)==(c|0);a=b;e=0;b=c;g:{if(f){break g}while(1){f=J[i+28>>2];b=a;k=P(e,20)+c|0;m=J[k>>2];if(!K[m+84|0]){f=J[J[m+68>>2]+(f<<2)>>2]}if(M[m+80>>2]<=f>>>0){break g}l=J[n>>2]+(J[k+4>>2]<<2)|0;c=J[k+12>>2];b=l;h:{if(c>>>0>3){break h}a=0;b=J[i+12>>2];if(!J[k+16>>2]){break h}while(1){b=Vi(b,l+(a<<2)|0,c);c=J[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[k+16>>2]){continue}break}b=J[i+12>>2]}a=J[m+40>>2];Vi(J[J[m>>2]>>2]+P(a,f)|0,b,a);e=e+1|0;a=J[i+20>>2];b=a;c=J[i+16>>2];if(e>>>0<(b-c|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;h=h+1|0;if((j|0)!=(h|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=J[g+104>>2];J[c>>2]=a;f=1;b=J[g+12>>2];if(b>>>0>1){break l}break i}if(M[g+8>>2]>M[g+4>>2]){break e}l=b;b=f+12|0;Sa(l+b|0,J[n>>2],J[n+4>>2]);b=m+J[b+J[g+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<c+(e^-1));J[d+4>>2]=0;me(s,S(j)^31,d+4|0);b=j>>>1|0;c=J[d+4>>2];if(b>>>0<c>>>0){break e}h=k+1|0;b=b-c|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}e=J[g+84>>2];if((e|0)==J[g+76>>2]){break k}j=J[e>>2];n=J[g+88>>2];l=n+1|0;J[g+88>>2]=l;j=j&-2147483648>>>n;n:{if((l|0)==32){J[g+88>>2]=0;J[g+84>>2]=e+4;if(j){break n}break k}if(!j){break k}}}e=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[g+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}e=b}b=J[g+128>>2];f=b+f|0;j=J[f>>2];n=j+m|0;J[n>>2]=J[n>>2]+1;Sa(b+P(h,12)|0,j,J[f+4>>2]);if(c){b=J[d+28>>2]+J[d+24>>2]|0;j=J[d+16>>2];f=J[d+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Rb(d+8|0);f=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}l=f;f=(b>>>0)/341|0;b=J[l+(f<<2)>>2]+P(b-P(f,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=a;J[b>>2]=c;J[d+28>>2]=J[d+28>>2]+1}if(!e){break f}b=J[d+28>>2]+J[d+24>>2]|0;c=J[d+16>>2];f=J[d+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Rb(d+8|0);f=J[d+12>>2];b=J[d+24>>2]+J[d+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=h;J[b+4>>2]=a;J[b>>2]=e;J[d+28>>2]=J[d+28>>2]+1;break f}m=0;if(!j){break f}while(1){if(J[g+12>>2]){e=J[g+36>>2];t=J[q>>2];c=J[g+92>>2];u=J[g+104>>2];a=0;while(1){h=(a<<2)+u|0;J[c+(J[h>>2]<<2)>>2]=0;b=J[g>>2];f=J[h>>2]<<2;k=J[f+t>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=J[g+48>>2];o=32-k|0;if((b|0)<=(o|0)){l=J[g+44>>2];if((l|0)==(e|0)){h=0;break e}J[f>>2]=J[l>>2]<<k>>>32-b;b=b+J[g+48>>2]|0;J[g+48>>2]=b;if((b|0)!=32){break o}J[g+48>>2]=0;J[g+44>>2]=l+4;break o}l=J[g+44>>2];r=l+4|0;if((e|0)==(r|0)){h=0;break e}v=J[l>>2];J[g+44>>2]=r;o=b-o|0;J[g+48>>2]=o;J[f>>2]=J[l+4>>2]>>>32-o|v<<k>>>32-b}b=J[h>>2]<<2;h=b+c|0;J[h>>2]=J[h>>2]|J[b+J[n>>2]>>2];a=a+1|0;if(a>>>0<M[g+12>>2]){continue}break}}e=0;a=J[i+16>>2];p:{if((a|0)==J[i+20>>2]){break p}while(1){f=J[i+28>>2];h=P(e,20)+a|0;k=J[h>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break p}l=J[g+92>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=l;q:{if(c>>>0>3){break q}a=0;b=J[i+12>>2];if(!J[h+16>>2]){break q}while(1){b=Vi(b,l+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[h+16>>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);e=e+1|0;a=J[i+16>>2];if(e>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[d+28>>2];if(a){continue}break}h=1}J[d+28>>2]=0;f=J[d+16>>2];a=J[d+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[d+12>>2]+4|0;J[d+12>>2]=a;f=J[d+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[d+24>>2]=c;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[d+16>>2];b=J[d+12>>2];if((a|0)==(b|0)){break s}J[d+16>>2]=a+((b-a|0)+3&-4)}a=J[d+8>>2];if(a){xj(a)}ia=d+32|0;a=h;break b}La();C()}La();C()}g=a}return g}function Lc(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0;g=ia+-64|0;ia=g;J[a+8>>2]=e;x=a+32|0;f=J[x>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0<e>>>0){Oa(x,e-d|0);J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;d=0;if(!e){break a}}jb(g+16|0,e,g);h=J[g+28>>2];d=J[g+32>>2]}J[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[g+32>>2]=(e<<2)+h;break c}jb(g+16|12,e-d|0,g)}J[g>>2]=0;f=J[g+40>>2];d=J[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[g+44>>2]=f+(e<<2);break d}jb(g+40|0,e-d|0,g)}J[g>>2]=0;f=J[g+52>>2];d=J[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[g+56>>2]=f+(e<<2);break e}jb(g+52|0,e-d|0,g)}f:{if(J[a+8>>2]<=0){break f}i=J[g+16>>2];j=J[a+32>>2];h=0;while(1){d=h<<2;f=J[d+i>>2];n=J[a+16>>2];g:{if((f|0)>(n|0)){J[d+j>>2]=n;break g}d=d+j|0;n=J[a+12>>2];if((n|0)>(f|0)){J[d>>2]=n;break g}J[d>>2]=f}h=h+1|0;d=J[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=J[b+i>>2]+J[j+i>>2]|0;J[f>>2]=i;h:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break h}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}G=J[a+52>>2];q=J[a+48>>2];y=Aj(16);d=y;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;s=Aj(d);J[g>>2]=s;J[g+8>>2]=d+s;Xi(s,0,d)}d=J[a+56>>2];z=J[d>>2];d=J[d+4>>2]-z|0;j:{if((d|0)<5){break j}u=d>>2;H=(u|0)<=2?2:u;I=u>>>0<=1?1:u;A=e&-2;B=e&1;K=e&-4;D=e&3;E=e-1|0;L=e<<2;M=e>>>0<4;F=1;n=1;while(1){k:{l:{m:{n:{if((n|0)!=(I|0)){o:{p:{f=J[(n<<2)+z>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;v=j?f-1|0:d;o=1<<v;t=v>>>5|0;i=0;N=(j|0)!=0|(d|0)!=-1;O=J[q>>2];d=f;q:{while(1){r:{if(J[(d>>>3&536870908)+O>>2]>>>d&1){break r}j=J[J[J[q+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}m=J[G>>2];h=J[q+28>>2];r=J[m+(J[h+(j<<2)>>2]<<2)>>2];if((r|0)>=(n|0)){break r}l=j+1|0;l=J[m+(J[h+(((l>>>0)%3|0?l:j-2|0)<<2)>>2]<<2)>>2];if((l|0)>=(n|0)){break r}h=J[m+(J[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(n|0)){break r}s:{if(!e){break s}j=J[(g+16|0)+P(i,12)>>2];m=P(e,h);l=P(e,l);r=P(e,r);h=0;w=0;if(E){while(1){J[j+(h<<2)>>2]=(J[(h+m<<2)+c>>2]+J[(h+l<<2)+c>>2]|0)-J[(h+r<<2)+c>>2];p=h|1;J[j+(p<<2)>>2]=(J[(m+p<<2)+c>>2]+J[(l+p<<2)+c>>2]|0)-J[(r+p<<2)+c>>2];h=h+2|0;w=w+2|0;if((A|0)!=(w|0)){continue}break}}if(!B){break s}J[j+(h<<2)>>2]=(J[(h+m<<2)+c>>2]+J[(h+l<<2)+c>>2]|0)-J[(h+r<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|J[J[q>>2]+(j>>>3&536870908)>>2]>>>j&1){break t}j=J[J[J[q+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(J[J[q>>2]+(h>>>3&536870908)>>2]>>>h&1){break t}j=J[J[J[q+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if(!((k^1)&1|(d|0)!=-1)){if(!N|o&J[J[q>>2]+(t<<2)>>2]){break v}d=J[J[J[q+64>>2]+12>>2]+(v<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){Xi(s,0,L)}d=j-1|0;r=(d<<2)+y|0;d=P(d,12)+a|0;v=d;w=J[d- -64>>2];k=0;d=J[g>>2];f=0;while(1){i=J[r>>2];J[r>>2]=i+1;if(i>>>0>=w>>>0){break j}w:{if(J[J[v+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}m=J[(g+16|0)+P(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;J[o>>2]=J[m+l>>2]+J[o>>2];o=l|4;t=o+d|0;J[t>>2]=J[m+o>>2]+J[t>>2];o=l|8;t=o+d|0;J[t>>2]=J[m+o>>2]+J[t>>2];l=l|12;o=l+d|0;J[o>>2]=J[m+l>>2]+J[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!D){break w}while(1){l=h<<2;p=l+d|0;J[p>>2]=J[m+l>>2]+J[p>>2];h=h+1|0;i=i+1|0;if((D|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=P(e,n);if(!f){break o}if(!e){break l}h=0;d=0;if(E){break n}break m}i=P(e,n)}if(J[a+8>>2]<=0){break k}k=(P(n-1|0,e)<<2)+c|0;j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+k>>2];m=J[a+16>>2];x:{if((f|0)>(m|0)){J[d+j>>2]=m;break x}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break x}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;y:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break y}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}break k}Bc();C()}while(1){j=h<<2;k=j+s|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+s|0;J[j>>2]=J[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((A|0)!=(d|0)){continue}break}}if(!B){break l}d=(h<<2)+s|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+s>>2];k=J[a+16>>2];z:{if((f|0)>(k|0)){J[d+j>>2]=k;break z}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break z}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;A:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break A}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}n=n+1|0;F=(u|0)>(n|0);if((n|0)!=(H|0)){continue}break}}a=J[g>>2];if(a){xj(a)}xj(y);a=J[g+52>>2];if(a){J[g+56>>2]=a;xj(a)}a=J[g+40>>2];if(a){J[g+44>>2]=a;xj(a)}a=J[g+28>>2];if(a){J[g+32>>2]=a;xj(a)}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}ia=g- -64|0;return(F^-1)&1}La();C()}function cf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=ia-32|0;ia=f;k=J[J[a+4>>2]+44>>2];d=J[a+8>>2];h=J[d>>2];d=J[d+4>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;e=(d-h>>2>>>0)/3|0;d=J[k+96>>2];g=(J[k+100>>2]-d|0)/12|0;a:{if(e>>>0>g>>>0){j=e-g|0;c=J[k+104>>2];h=J[k+100>>2];if(j>>>0<=(c-h|0)/12>>>0){b:{if(!j){break b}d=P(j,12);j=d;e=d-12|0;g=((e>>>0)/12|0)+1&3;c:{if(!g){d=h;break c}d=h;while(1){c=J[f+20>>2];J[d>>2]=J[f+16>>2];J[d+4>>2]=c;J[d+8>>2]=J[f+24>>2];d=d+12|0;i=i+1|0;if((g|0)!=(i|0)){continue}break}}h=h+j|0;if(e>>>0<36){break b}while(1){c=J[f+20>>2];J[d>>2]=J[f+16>>2];J[d+4>>2]=c;J[d+8>>2]=J[f+24>>2];J[d+20>>2]=J[f+24>>2];c=J[f+20>>2];J[d+12>>2]=J[f+16>>2];J[d+16>>2]=c;J[d+32>>2]=J[f+24>>2];c=J[f+20>>2];J[d+24>>2]=J[f+16>>2];J[d+28>>2]=c;c=J[f+20>>2];J[d+36>>2]=J[f+16>>2];J[d+40>>2]=c;J[d+44>>2]=J[f+24>>2];d=d+48|0;if((h|0)!=(d|0)){continue}break}}J[k+100>>2]=h;break a}d:{d=J[k+96>>2];g=(h-d|0)/12|0;e=g+j|0;if(e>>>0<357913942){c=(c-d|0)/12|0;d=c<<1;l=c>>>0>=178956970?357913941:d>>>0>e>>>0?d:e;if(l){if(l>>>0>=357913942){break d}o=Aj(P(l,12))}c=P(g,12)+o|0;d=c;m=P(j,12);j=m-12|0;e=((j>>>0)/12|0)+1&3;if(e){d=c;while(1){g=J[f+20>>2];J[d>>2]=J[f+16>>2];J[d+4>>2]=g;J[d+8>>2]=J[f+24>>2];d=d+12|0;i=i+1|0;if((e|0)!=(i|0)){continue}break}}e=c+m|0;if(j>>>0>=36){while(1){g=J[f+20>>2];J[d>>2]=J[f+16>>2];J[d+4>>2]=g;J[d+8>>2]=J[f+24>>2];J[d+20>>2]=J[f+24>>2];g=J[f+20>>2];J[d+12>>2]=J[f+16>>2];J[d+16>>2]=g;J[d+32>>2]=J[f+24>>2];g=J[f+20>>2];J[d+24>>2]=J[f+16>>2];J[d+28>>2]=g;g=J[f+20>>2];J[d+36>>2]=J[f+16>>2];J[d+40>>2]=g;J[d+44>>2]=J[f+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}g=J[k+96>>2];h=h-g|0;d=c+P((h|0)/-12|0,12)|0;if((h|0)>0){Vi(d,g,h)}J[k+104>>2]=P(l,12)+o;J[k+100>>2]=e;J[k+96>>2]=d;if(g){xj(g)}break a}La();C()}Za();C()}if(e>>>0>=g>>>0){break a}J[k+100>>2]=d+P(e,12)}e:{if(J[a+216>>2]==J[a+220>>2]){e=J[a+4>>2];h=J[e+44>>2];d=J[h+100>>2];m=J[h+96>>2];if((d|0)!=(m|0)){d=(d-m|0)/12|0;g=d>>>0<=1?1:d;c=0;while(1){k=J[a+8>>2];h=m+P(c,12)|0;l=P(c,3);f:{g:{if((l|0)==-1){i=J[(J[k>>2]+(l<<2)|0)+4>>2];n=-1;d=1;break g}i=-1;n=J[J[k>>2]+(l<<2)>>2];d=l+1|0;if((d|0)==-1){d=0;break g}i=J[J[k>>2]+(d<<2)>>2];d=l+2|0;j=-1;if((d|0)==-1){break f}}j=J[J[k>>2]+(d<<2)>>2]}J[h+8>>2]=j;J[h+4>>2]=i;J[h>>2]=n;c=c+1|0;if((g|0)!=(c|0)){continue}break}}J[J[e+4>>2]+80>>2]=b;c=1;break e}h=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;o=J[a+8>>2];c=J[o>>2];d=J[o+4>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=0;h:{i:{j:{k:{l:{m:{if((d|0)!=(c|0)){d=d-c|0;if((d|0)<0){break m}b=Aj(d);J[f>>2]=b;J[f+8>>2]=(d&-4)+b;u=f,v=Xi(b,0,d)+d|0,J[u+4>>2]=v}c=J[o+24>>2];if((J[o+28>>2]-c|0)<=0){break i}d=0;while(1){g=J[(q<<2)+c>>2];n:{if((g|0)==-1){break n}o:{if(J[J[a+120>>2]+(q>>>3&536870908)>>2]>>>q&1){break o}s=J[a+216>>2];c=J[a+220>>2];if((s|0)==(c|0)){break o}i=g+2|0;e=(g>>>0)%3|0;t=e?g-1|0:i;c=(c-s|0)/144|0;k=c>>>0<=1?1:c;r=0;l=(e|0)!=0|(i|0)!=-1;while(1){e=g<<2;i=P(r,144)+s|0;c=J[e+J[J[i+68>>2]>>2]>>2];p:{if(!(J[J[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break p}c=-1;q:{if(!l){break q}j=J[J[o+12>>2]+(t<<2)>>2];c=-1;if((j|0)==-1){break q}c=j-1|0;if((j>>>0)%3|0){break q}c=j+2|0}if((g|0)==(c|0)){break p}m=J[i+32>>2];j=J[m+e>>2];while(1){i=0;if((c|0)==-1){break h}if((j|0)!=J[m+(c<<2)>>2]){g=c;break o}r:{s:{if((c>>>0)%3|0){i=c-1|0;break s}i=c+2|0;e=-1;if((i|0)==-1){break r}}c=J[J[o+12>>2]+(i<<2)>>2];e=-1;if((c|0)==-1){break r}e=c-1|0;if((c>>>0)%3|0){break r}e=c+2|0}c=e;if((g|0)!=(c|0)){continue}break}}r=r+1|0;if((k|0)!=(r|0)){continue}break}}j=n-d|0;i=j>>2;J[(g<<2)+b>>2]=i;t:{if(n>>>0<p>>>0){J[n>>2]=g;n=n+4|0;J[f+20>>2]=n;break t}e=i+1|0;if(e>>>0>=1073741824){break l}c=p-d|0;h=c>>1;e=c>>>0>=2147483644?1073741823:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=1073741824){break k}h=Aj(e<<2)}else{h=0}c=h+(i<<2)|0;J[c>>2]=g;p=(e<<2)+h|0;n=c+4|0;if((j|0)>0){Vi(h,d,j)}J[f+24>>2]=p;J[f+20>>2]=n;J[f+16>>2]=h;if(d){xj(d);o=J[a+8>>2]}d=h}if((g|0)==-1){break n}u:{if((g>>>0)%3|0){c=g-1|0;break u}c=g+2|0;if((c|0)==-1){break n}}c=J[J[o+12>>2]+(c<<2)>>2];if((c|0)==-1){break n}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break n}i=g;if((g|0)==(c|0)){break n}while(1){e=c;v:{w:{c=J[a+220>>2];k=J[a+216>>2];if((c|0)==(k|0)){break w}c=(c-k|0)/144|0;l=c>>>0<=1?1:c;c=0;while(1){m=J[(k+P(c,144)|0)+32>>2];j=e<<2;if(J[m+j>>2]==J[m+(i<<2)>>2]){c=c+1|0;if((l|0)!=(c|0)){continue}break w}break}d=b+j|0;m=n-h|0;j=m>>2;J[d>>2]=j;if(n>>>0<p>>>0){J[n>>2]=e;n=n+4|0;J[f+20>>2]=n;d=h;break v}i=j+1|0;if(i>>>0>=1073741824){break j}c=p-h|0;d=c>>1;i=c>>>0>=2147483644?1073741823:d>>>0>i>>>0?d:i;if(i){if(i>>>0>=1073741824){break k}d=Aj(i<<2)}else{d=0}c=d+(j<<2)|0;J[c>>2]=e;p=(i<<2)+d|0;n=c+4|0;if((m|0)>0){Vi(d,h,m)}J[f+24>>2]=p;J[f+20>>2]=n;J[f+16>>2]=d;if(!h){h=d;break v}xj(h);o=J[a+8>>2];h=d;break v}J[(e<<2)+b>>2]=J[(i<<2)+b>>2]}if((e|0)==-1){break n}x:{if((e>>>0)%3|0){c=e-1|0;break x}c=e+2|0;if((c|0)==-1){break n}}c=J[J[o+12>>2]+(c<<2)>>2];if((c|0)==-1){break n}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break n}i=e;if((c|0)!=(g|0)){continue}break}}q=q+1|0;c=J[o+24>>2];if((q|0)<J[o+28>>2]-c>>2){continue}break}break i}La();C()}La();C()}Za();C()}La();C()}m=J[a+4>>2];d=J[m+44>>2];a=J[d+100>>2];k=J[d+96>>2];y:{if((a|0)==(k|0)){break y}d=(a-k|0)/12|0;a=d>>>0<=1?1:d;j=a&1;c=0;if(d>>>0>=2){i=a&-2;d=0;while(1){e=P(c,12);l=e+b|0;g=J[l+4>>2];a=J[l>>2];e=e+k|0;J[e+8>>2]=J[l+8>>2];J[e>>2]=a;J[e+4>>2]=g;e=P(c|1,12);l=e+b|0;g=J[l+4>>2];a=J[l>>2];e=e+k|0;J[e+8>>2]=J[l+8>>2];J[e>>2]=a;J[e+4>>2]=g;c=c+2|0;d=d+2|0;if((i|0)!=(d|0)){continue}break}}if(!j){break y}c=P(c,12);g=c+b|0;d=J[g+4>>2];a=J[g>>2];c=c+k|0;J[c+8>>2]=J[g+8>>2];J[c>>2]=a;J[c+4>>2]=d}J[J[m+4>>2]+80>>2]=n-h>>2;i=1}c=i;if(b){xj(b)}if(!h){break e}J[f+20>>2]=h;xj(h)}ia=f+32|0;return c}function nd(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0;h=ia+-64|0;ia=h;J[a+8>>2]=e;w=a+32|0;f=J[w>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0<e>>>0){Oa(w,e-d|0);J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;d=0;if(!e){break a}}jb(h+16|0,e,h);i=J[h+28>>2];d=J[h+32>>2]}J[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[h+32>>2]=(e<<2)+i;break c}jb(h+16|12,e-d|0,h)}J[h>>2]=0;f=J[h+40>>2];d=J[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[h+44>>2]=f+(e<<2);break d}jb(h+40|0,e-d|0,h)}J[h>>2]=0;f=J[h+52>>2];d=J[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[h+56>>2]=f+(e<<2);break e}jb(h+52|0,e-d|0,h)}f:{if(J[a+8>>2]<=0){break f}g=J[h+16>>2];j=J[a+32>>2];i=0;while(1){d=i<<2;f=J[d+g>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}i=i+1|0;d=J[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=J[b+g>>2]+J[g+j>>2]|0;J[f>>2]=g;h:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break h}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}G=J[a+52>>2];y=J[a+48>>2];x=Aj(16);d=x;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=Aj(d);J[h>>2]=t;J[h+8>>2]=d+t;Xi(t,0,d)}d=J[a+56>>2];z=J[d>>2];d=J[d+4>>2]-z|0;j:{if((d|0)<5){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;A=e&-2;B=e&1;K=e&-4;D=e&3;E=e-1|0;L=e<<2;M=e>>>0<4;F=1;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+z>>2];if((f|0)==-1){break p}n=J[y+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=J[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=J[G>>2];r=J[y>>2];i=p+(J[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=J[r+(o<<2)>>2]}o=J[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=J[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=J[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=J[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=J[(h+16|0)+P(j,12)>>2];u:{if(!e){break u}l=P(e,l);r=P(e,i);p=P(e,o);i=0;s=0;if(E){while(1){J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2];o=i|1;J[g+(o<<2)>>2]=(J[(l+o<<2)+c>>2]+J[(o+r<<2)+c>>2]|0)-J[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((A|0)!=(s|0)){continue}break}}if(!B){break u}J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=J[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=J[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if(!((k^1)&1|(d|0)!=-1)){if(!u){break x}d=J[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){Xi(t,0,L)}d=g-1|0;r=(d<<2)+x|0;d=P(d,12)+a|0;o=d;s=J[d- -64>>2];k=0;d=J[h>>2];f=0;while(1){j=J[r>>2];J[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(J[J[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=J[(h+16|0)+P(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];q=n|4;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];q=n|8;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];n=n|12;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!D){break y}while(1){n=i<<2;p=n+d|0;J[p>>2]=J[j+n>>2]+J[p>>2];i=i+1|0;l=l+1|0;if((D|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=P(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(E){break n}break m}g=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+k>>2];l=J[a+16>>2];z:{if((f|0)>(l|0)){J[d+j>>2]=l;break z}d=d+j|0;l=J[a+12>>2];if((l|0)>(f|0)){J[d>>2]=l;break z}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;A:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break A}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}break k}Bc();C()}while(1){j=i<<2;k=j+t|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+t|0;J[j>>2]=J[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((A|0)!=(d|0)){continue}break}}if(!B){break l}d=(i<<2)+t|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+t>>2];k=J[a+16>>2];B:{if((f|0)>(k|0)){J[d+j>>2]=k;break B}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break B}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;C:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break C}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}m=m+1|0;F=(v|0)>(m|0);if((m|0)!=(H|0)){continue}break}}a=J[h>>2];if(a){xj(a)}xj(x);a=J[h+52>>2];if(a){J[h+56>>2]=a;xj(a)}a=J[h+40>>2];if(a){J[h+44>>2]=a;xj(a)}a=J[h+28>>2];if(a){J[h+32>>2]=a;xj(a)}a=J[h+16>>2];if(a){J[h+20>>2]=a;xj(a)}ia=h- -64|0;return(F^-1)&1}La();C()}function qj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0;l=ia-560|0;ia=l;J[l+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;w=1142;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;w=1145;break a}s=e&1;w=s?1148:1143;z=!s}b:{if((g&2146435072)==2146435072){d=s+3|0;pj(a,32,c,d,e&-65537);lj(a,w,s);f=f&32;lj(a,b!=b?f?1205:1293:f?1268:1297,3);pj(a,32,c,d,e^8192);i=(c|0)<(d|0)?d:c;break b}u=l+16|0;c:{d:{e:{b=ij(b,l+44|0);b=b+b;if(b!=0){g=J[l+44>>2];J[l+44>>2]=g-1;r=f|32;if((r|0)!=97){break e}break c}r=f|32;if((r|0)==97){break c}k=J[l+44>>2];m=(d|0)<0?6:d;break d}k=g-29|0;J[l+44>>2]=k;b=b*268435456;m=(d|0)<0?6:d}p=(l+48|0)+((k|0)>=0?288:0)|0;h=p;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;j=p;break f}j=p;d=k;while(1){d=(d|0)>=29?29:d;g=h-4|0;g:{if(j>>>0>g>>>0){break g}i=0;while(1){o=J[g>>2];n=d&31;x=i;if((d&63)>>>0>=32){i=o<<n;o=0}else{i=(1<<n)-1&o>>>32-n;o=o<<n}n=x+o|0;i=i+y|0;i=n>>>0<o>>>0?i+1|0:i;i=lk(n,i,1e9,0);o=jk(i,ma,1e9,0);J[g>>2]=n-o;g=g-4|0;if(j>>>0<=g>>>0){continue}break}if(!i){break g}j=j-4|0;J[j>>2]=i}while(1){g=h;if(j>>>0<g>>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[l+44>>2]-d|0;J[l+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((m+25>>>0)/9|0)+1|0;n=(r|0)==102;while(1){d=0-d|0;i=(d|0)>=9?9:d;h:{if(g>>>0<=j>>>0){h=J[j>>2];break h}o=1e9>>>i|0;y=-1<<i^-1;d=0;h=j;while(1){x=d;d=J[h>>2];J[h>>2]=x+(d>>>i|0);d=P(o,d&y);h=h+4|0;if(h>>>0<g>>>0){continue}break}h=J[j>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=i+J[l+44>>2]|0;J[l+44>>2]=d;j=(!h<<2)+j|0;h=n?p:j;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=j>>>0){break i}d=P(p-j>>2,9);h=10;i=J[j>>2];if(i>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(i>>>0>=h>>>0){continue}break}}h=(m-((r|0)!=102?d:0)|0)-((r|0)==103&(m|0)!=0)|0;if((h|0)<(P(g-p>>2,9)-9|0)){i=h+9216|0;n=(i|0)/9|0;k=((((k|0)<0?4:292)+l|0)+(n<<2)|0)-4048|0;h=10;i=i-P(n,9)|0;if((i|0)<=7){while(1){h=P(h,10);i=i+1|0;if((i|0)!=8){continue}break}}n=J[k>>2];t=(n>>>0)/(h>>>0)|0;i=n-P(h,t)|0;o=k+4|0;j:{if(!i&(o|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|j>>>0>=k>>>0)){break k}}b=9007199254740994}q=(g|0)==(o|0)?1:1.5;o=h>>>1|0;q=i>>>0<o>>>0?.5:(o|0)==(i|0)?q:1.5;if(!(K[w|0]!=45|z)){q=-q;b=-b}i=n-i|0;J[k>>2]=i;if(b+q==b){break j}d=h+i|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0<j>>>0){j=j-4|0;J[j>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(p-j>>2,9);h=10;i=J[j>>2];if(i>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(i>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){h=g;i=g>>>0<=j>>>0;if(!i){g=h-4|0;if(!J[g>>2]){continue}}break}l:{if((r|0)!=103){k=e&8;break l}g=m?m:1;k=(g|0)>(d|0)&(d|0)>-5;m=(k?d^-1:-1)+g|0;f=(k?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(i){break m}n=J[h-4>>2];if(!n){break m}i=10;g=0;if((n>>>0)%10|0){break m}while(1){k=g;g=g+1|0;i=P(i,10);if(!((n>>>0)%(i>>>0)|0)){continue}break}g=k^-1}i=P(h-p>>2,9);if((f&-33)==70){k=0;g=(g+i|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g;break l}k=0;g=((d+i|0)+g|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g}i=-1;r=k|m;if(((r?2147483645:2147483646)|0)<(m|0)){break b}n=(((r|0)!=0)+m|0)+1|0;o=f&-33;n:{if((o|0)==70){if((n^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=oj((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(n^2147483647)){break b}}d=g+n|0;if((d|0)>(s^2147483647)){break b}f=d+s|0;pj(a,32,c,f,e);lj(a,w,s);pj(a,48,c,f,e^65536);o:{p:{q:{if((o|0)==70){g=l+16|0;d=g|8;k=g|9;i=j>>>0>p>>>0?p:j;j=i;while(1){g=oj(J[j>>2],0,k);r:{if((i|0)!=(j|0)){if(l+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(l+16>>>0<g>>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[l+24|0]=48;g=d}lj(a,g,k-g|0);j=j+4|0;if(p>>>0>=j>>>0){continue}break}if(r){lj(a,1647,1)}if((m|0)<=0|h>>>0<=j>>>0){break q}while(1){g=oj(J[j>>2],0,k);if(g>>>0>l+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(l+16>>>0<g>>>0){continue}break}}lj(a,g,(m|0)>=9?9:m);g=m-9|0;j=j+4|0;if(h>>>0<=j>>>0){break p}d=(m|0)>9;m=g;if(d){continue}break}break p}s:{if((m|0)<0){break s}i=h>>>0>j>>>0?h:j+4|0;g=l+16|0;d=g|8;p=g|9;h=j;while(1){g=oj(J[h>>2],0,p);if((p|0)==(g|0)){H[l+24|0]=48;g=d}t:{if((h|0)!=(j|0)){if(l+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(l+16>>>0<g>>>0){continue}break}break t}lj(a,g,1);g=g+1|0;if(!(k|m)){break t}lj(a,1647,1)}x=g;g=p-g|0;lj(a,x,(g|0)>(m|0)?m:g);m=m-g|0;h=h+4|0;if(i>>>0<=h>>>0){break s}if((m|0)>=0){continue}break}}pj(a,48,m+18|0,18,0);lj(a,t,u-t|0);break o}g=m}pj(a,48,g+9|0,9,0)}pj(a,32,c,f,e^8192);i=(c|0)<(f|0)?f:c;break b}m=(f<<26>>31&9)+w|0;u:{if(d>>>0>11){break u}g=12-d|0;q=16;while(1){q=q*16;g=g-1|0;if(g){continue}break}if(K[m|0]==45){b=-(q+(-b-q));break u}b=b+q-q}h=J[l+44>>2];g=h>>31;g=oj((g^h)-g|0,0,u);if((u|0)==(g|0)){H[l+15|0]=48;g=l+15|0}k=s|2;j=f&32;h=J[l+44>>2];p=g-2|0;H[p|0]=f+15;H[g-1|0]=(h|0)<0?45:43;i=e&8;h=l+16|0;while(1){f=h;if(R(b)<2147483648){g=~~b}else{g=-2147483648}H[h|0]=j|K[g+14288|0];b=(b-+(g|0))*16;h=f+1|0;if(!(!((d|0)>0|i)&b==0|(h-(l+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}i=-1;n=u-p|0;f=n+k|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}j=h-(l+16|0)|0;if((j-2|0)>=(d|0)){break w}g=d+2|0;break v}j=h-(l+16|0)|0;g=j}d=g+f|0;pj(a,32,c,d,e);lj(a,m,k);pj(a,48,c,d,e^65536);lj(a,l+16|0,j);pj(a,48,g-j|0,0,0);lj(a,p,n);pj(a,32,c,d,e^8192);i=(c|0)<(d|0)?d:c}ia=l+560|0;return i|0}function kj(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=ia-80|0;ia=j;J[j+76>>2]=b;y=j+55|0;s=j+56|0;a:{b:{c:{d:{e:while(1){l=b;if((p^2147483647)<(h|0)){break d}p=h+p|0;f:{g:{h:{h=l;i=K[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(K[i+1|0]!=37){b=i;break j}h=h+1|0;k=K[i+2|0];b=i+2|0;i=b;if((k|0)==37){continue}break}}h=h-l|0;x=p^2147483647;if((h|0)>(x|0)){break d}if(a){lj(a,l,h)}if(h){continue e}J[j+76>>2]=b;h=b+1|0;q=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){q=H[b+1|0]-48|0;t=1;h=b+3|0}J[j+76>>2]=h;n=0;i=H[h|0];b=i-32|0;k:{if(b>>>0>31){k=h;break k}k=h;b=1<<b;if(!(b&75913)){break k}while(1){k=h+1|0;J[j+76>>2]=k;n=b|n;i=H[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=k;b=1<<b;if(b&75913){continue}break}}l:{if((i|0)==42){m:{if(!(K[k+2|0]!=36|H[k+1|0]-48>>>0>=10)){J[((H[k+1|0]<<2)+e|0)-192>>2]=10;i=k+3|0;t=1;b=J[((H[k+1|0]<<3)+d|0)-384>>2];break m}if(t){break h}i=k+1|0;if(!a){J[j+76>>2]=i;t=0;r=0;break l}b=J[c>>2];J[c>>2]=b+4;t=0;b=J[b>>2]}r=b;J[j+76>>2]=i;if((r|0)>=0){break l}r=0-r|0;n=n|8192;break l}r=mj(j+76|0);if((r|0)<0){break d}i=J[j+76>>2]}h=0;m=-1;n:{if(K[i|0]!=46){b=i;w=0;break n}if(K[i+1|0]==42){o:{if(!(K[i+3|0]!=36|H[i+2|0]-48>>>0>=10)){J[((H[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;m=J[((H[i+2|0]<<3)+d|0)-384>>2];break o}if(t){break h}b=i+2|0;m=0;if(!a){break o}i=J[c>>2];J[c>>2]=i+4;m=J[i>>2]}J[j+76>>2]=b;w=(m^-1)>>>31|0;break n}J[j+76>>2]=i+1;m=mj(j+76|0);b=J[j+76>>2];w=1}while(1){o=h;k=28;u=b;h=H[b|0];if(h-123>>>0<4294967238){break c}b=u+1|0;h=K[(h+P(o,58)|0)+13759|0];if(h-1>>>0<8){continue}break}J[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((q|0)>=0){J[(q<<2)+e>>2]=h;h=(q<<3)+d|0;i=J[h+4>>2];J[j+64>>2]=J[h>>2];J[j+68>>2]=i;break q}if(!a){break f}nj(j- -64|0,h,c,g);break p}if((q|0)>=0){break c}}h=0;if(!a){continue e}}i=n&-65537;n=n&8192?i:n;q=0;v=1132;k=s;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=H[u|0];h=o?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}o=J[j+64>>2];i=J[j+68>>2];v=1132;break z}h=0;I:{switch(o&255){case 0:J[J[j+64>>2]>>2]=p;continue e;case 1:J[J[j+64>>2]>>2]=p;continue e;case 2:l=J[j+64>>2];J[l>>2]=p;J[l+4>>2]=p>>31;continue e;case 3:I[J[j+64>>2]>>1]=p;continue e;case 4:H[J[j+64>>2]]=p;continue e;case 6:J[J[j+64>>2]>>2]=p;continue e;case 7:break I;default:continue e}}l=J[j+64>>2];J[l>>2]=p;J[l+4>>2]=p>>31;continue e}m=m>>>0<=8?8:m;n=n|8;h=120}l=s;z=h&32;o=J[j+64>>2];i=J[j+68>>2];if(o|i){while(1){l=l-1|0;H[l|0]=z|K[(o&15)+14288|0];u=!i&o>>>0>15|(i|0)!=0;o=(i&15)<<28|o>>>4;i=i>>>4|0;if(u){continue}break}}if(!(J[j+64>>2]|J[j+68>>2])|!(n&8)){break y}v=(h>>>4|0)+1132|0;q=2;break y}h=s;l=J[j+68>>2];i=l;o=J[j+64>>2];if(i|o){while(1){h=h-1|0;H[h|0]=o&7|48;u=!i&o>>>0>7|(i|0)!=0;o=(i&7)<<29|o>>>3;i=i>>>3|0;if(u){continue}break}}l=h;if(!(n&8)){break y}h=s-l|0;m=(h|0)<(m|0)?m:h+1|0;break y}h=J[j+68>>2];i=h;o=J[j+64>>2];if((h|0)<0){i=0-(i+((o|0)!=0)|0)|0;o=0-o|0;J[j+64>>2]=o;J[j+68>>2]=i;q=1;v=1132;break z}if(n&2048){q=1;v=1133;break z}q=n&1;v=q?1134:1132}l=oj(o,i,s)}if((m|0)<0?w:0){break d}n=w?n&-65537:n;i=J[j+64>>2];h=J[j+68>>2];if(!(m|(i|h)!=0)){l=s;k=l;m=0;break g}h=!(h|i)+(s-l|0)|0;m=(h|0)<(m|0)?m:h;break g}o=m>>>0>=2147483647?2147483647:m;k=o;n=(k|0)!=0;h=J[j+64>>2];l=h?h:1649;h=l;J:{K:{L:{M:{if(!(h&3)|!k){break M}while(1){if(!K[h|0]){break L}k=k-1|0;n=(k|0)!=0;h=h+1|0;if(!(h&3)){break M}if(k){continue}break}}if(!n){break K}if(!(!K[h|0]|k>>>0<4)){while(1){n=J[h>>2];if((n^-1)&n-16843009&-2139062144){break L}h=h+4|0;k=k-4|0;if(k>>>0>3){continue}break}}if(!k){break K}}while(1){if(!K[h|0]){break J}h=h+1|0;k=k-1|0;if(k){continue}break}}h=0}h=h?h-l|0:o;k=h+l|0;if((m|0)>=0){n=i;m=h;break g}n=i;m=h;if(K[k|0]){break d}break g}if(m){i=J[j+64>>2];break u}h=0;pj(a,32,r,0,n);break t}J[j+12>>2]=0;J[j+8>>2]=J[j+64>>2];i=j+8|0;J[j+64>>2]=i;m=-1}h=0;N:{while(1){l=J[i>>2];if(!l){break N}l=sj(j+4|0,l);k=(l|0)<0;if(!(k|l>>>0>m-h>>>0)){i=i+4|0;h=h+l|0;if(m>>>0>h>>>0){continue}break N}break}if(k){break b}}k=61;if((h|0)<0){break c}pj(a,32,r,h,n);if(!h){h=0;break t}k=0;i=J[j+64>>2];while(1){l=J[i>>2];if(!l){break t}l=sj(j+4|0,l);k=l+k|0;if(k>>>0>h>>>0){break t}lj(a,j+4|0,l);i=i+4|0;if(h>>>0>k>>>0){continue}break}}pj(a,32,r,h,n^8192);h=(h|0)<(r|0)?r:h;continue e}if((m|0)<0?w:0){break d}k=61;h=na[f|0](a,O[j+64>>3],r,m,n,h)|0;if((h|0)>=0){continue e}break c}H[j+55|0]=J[j+64>>2];m=1;l=y;n=i;break g}i=K[h+1|0];h=h+1|0;continue}}if(a){break a}if(!t){break f}h=1;while(1){a=J[(h<<2)+e>>2];if(a){nj((h<<3)+d|0,a,c,g);p=1;h=h+1|0;if((h|0)!=10){continue}break a}break}p=1;if(h>>>0>=10){break a}while(1){if(J[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}k=28;break c}o=k-l|0;m=(m|0)>(o|0)?m:o;if((m|0)>(q^2147483647)){break d}k=61;i=m+q|0;h=(i|0)<(r|0)?r:i;if((x|0)<(h|0)){break c}pj(a,32,h,i,n);lj(a,v,q);pj(a,48,h,i,n^65536);pj(a,48,m,o,0);lj(a,l,o);pj(a,32,h,i,n^8192);continue}break}p=0;break a}k=61}J[4004]=k}p=-1}ia=j+80|0;return p}function td(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;a:{if((e|0)==2){J[a+8>>2]=2;J[a- -64>>2]=f;O=a+32|0;e=J[O>>2];d=J[a+36>>2]-e|0;b:{if(d>>>0<=7){Oa(O,2-(d>>>2|0)|0);break b}if((d|0)==8){break b}J[a+36>>2]=e+8}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;c:{if((d|0)<=0){f=0;break c}p=a+60|0;P=d>>2;V=(P|0)<=1?1:P;W=a+68|0;f=1;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=u>>>0){break a}k=ia-80|0;ia=k;n=-1;d:{e:{d=J[d+(u<<2)>>2];if((d|0)==-1){break e}m=J[p+32>>2];e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){n=J[J[m>>2]+(e<<2)>>2]}e=-1;d=d+((d>>>0)%3|0?-1:2)|0;if((d|0)!=-1){e=J[J[m>>2]+(d<<2)>>2]}d=J[p+36>>2];m=J[d>>2];d=J[d+4>>2]-m>>2;if(d>>>0<=n>>>0|d>>>0<=e>>>0){break e}f:{g:{h:{i:{j:{k:{h=J[m+(e<<2)>>2];d=J[m+(n<<2)>>2];if((h|0)>=(u|0)|(d|0)>=(u|0)){break k}e=(h<<3)+c|0;x=J[e+4>>2];n=(d<<3)+c|0;m=J[n+4>>2];G=J[e>>2];n=J[n>>2];if(!((G|0)!=(n|0)|(m|0)!=(x|0))){J[p+8>>2]=n;J[p+12>>2]=m;break j}e=J[J[p+4>>2]+(u<<2)>>2];J[k+72>>2]=0;J[k+76>>2]=0;g=k- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[k+56>>2]=0;J[k+60>>2]=0;g=J[p>>2];if(!K[g+84|0]){e=J[J[g+68>>2]+(e<<2)>>2]}_c(g,e,H[g+24|0],k+56|0);e=J[J[p+4>>2]+(d<<2)>>2];J[k+48>>2]=0;J[k+52>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;g=J[p>>2];if(!K[g+84|0]){e=J[J[g+68>>2]+(e<<2)>>2]}_c(g,e,H[g+24|0],k+32|0);e=J[J[p+4>>2]+(h<<2)>>2];J[k+24>>2]=0;J[k+28>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;g=J[p>>2];if(!K[g+84|0]){e=J[J[g+68>>2]+(e<<2)>>2]}_c(g,e,H[g+24|0],k+8|0);Q=J[k+44>>2];e=J[k+16>>2];I=J[k+40>>2];g=I;i=J[k+20>>2]-(Q+(e>>>0<g>>>0)|0)|0;s=e-g|0;e=jk(s,i,s,i);h=ma;l=e;R=J[k+36>>2];e=J[k+8>>2];L=J[k+32>>2];g=L;o=J[k+12>>2]-(R+(e>>>0<g>>>0)|0)|0;g=e-g|0;r=jk(g,o,g,o);e=l+r|0;l=ma+h|0;l=e>>>0<r>>>0?l+1|0:l;j=e;S=J[k+52>>2];e=J[k+24>>2];M=J[k+48>>2];h=M;r=J[k+28>>2]-(S+(e>>>0<h>>>0)|0)|0;v=e-h|0;t=jk(v,r,v,r);h=j+t|0;e=ma+l|0;w=h;t=h>>>0<t>>>0?e+1|0:e;if(!(h|t)){break k}e=0;N=lk(-1,2147483647,w,t);d=n>>31;T=d;l=d>>31;h=l;j=d^h;d=h^n;h=j-((h>>>0>d>>>0)+h|0)|0;z=d-l|0;d=m>>31;U=d;q=d>>31;A=q^m;B=A-q|0;l=d>>31;d=(l^d)-((q>>>0>A>>>0)+l|0)|0;l=(h|0)==(d|0)&z>>>0>B>>>0|d>>>0<h>>>0;q=l?z:B;D=ma;d=l?h:d;if((D|0)==(d|0)&q>>>0>N>>>0|d>>>0>D>>>0){break f}l=J[k+64>>2];d=l;D=J[k+68>>2];d=jk(d-I|0,D-((d>>>0<I>>>0)+Q|0)|0,s,i);h=ma;j=d;z=J[k+56>>2];d=z;N=J[k+60>>2];q=jk(d-L|0,N-((d>>>0<L>>>0)+R|0)|0,g,o);d=j+q|0;j=ma+h|0;j=d>>>0<q>>>0?j+1|0:j;h=d;A=J[k+72>>2];d=A;B=J[k+76>>2];q=jk(d-M|0,B-((d>>>0<M>>>0)+S|0)|0,v,r);h=h+q|0;d=ma+j|0;y=h;q=h>>>0<q>>>0?d+1|0:d;d=o>>31;h=d;j=g^d;d=(d^o)-(d+(d>>>0>j>>>0)|0)|0;E=j-h|0;j=i>>31;h=j;j=h^s;F=j-h|0;h=(i^h)-((h>>>0>j>>>0)+h|0)|0;j=(d|0)==(h|0)&E>>>0>F>>>0|d>>>0>h>>>0;E=j?E:F;d=j?d:h;j=r>>31;h=j;j=h^v;F=j-h|0;h=(h^r)-((h>>>0>j>>>0)+h|0)|0;j=(d|0)==(h|0)&E>>>0>F>>>0|d>>>0>h>>>0;h=lk(-1,2147483647,j?E:F,j?d:h)>>>0<y>>>0;d=ma;if(h&(d|0)<=(q|0)|(d|0)<(q|0)){break f}h=1;d=0;e=l;s=kk(jk(s,i,y,q),ma,w,t);l=s+I|0;i=ma+Q|0;i=l>>>0<s>>>0?i+1|0:i;i=D-((e>>>0<l>>>0)+i|0)|0;e=e-l|0;e=jk(e,i,e,i);l=ma;i=z;j=e;o=kk(jk(g,o,y,q),ma,w,t);g=o+L|0;e=ma+R|0;e=g>>>0<o>>>0?e+1|0:e;e=N-((g>>>0>i>>>0)+e|0)|0;g=i-g|0;g=jk(g,e,g,e);e=j+g|0;l=ma+l|0;l=e>>>0<g>>>0?l+1|0:l;g=e;e=A;j=g;o=kk(jk(v,r,y,q),ma,w,t);g=o+M|0;i=ma+S|0;i=g>>>0<o>>>0?i+1|0:i;i=B-((e>>>0<g>>>0)+i|0)|0;e=e-g|0;i=jk(e,i,e,i);g=j+i|0;e=ma+l|0;i=jk(g,g>>>0<i>>>0?e+1|0:e,w,t);e=ma;o=e;if(!e&i>>>0<=1){break i}r=i;g=o;while(1){e=d<<1|h>>>31;h=h<<1;d=e;l=!g&r>>>0>7|(g|0)!=0;r=(g&3)<<30|r>>>2;g=g>>>2|0;if(l){continue}break}break h}if((d|0)<(u|0)){d=d<<1}else{if((u|0)<=0){J[p+8>>2]=0;J[p+12>>2]=0;break j}d=(u<<1)-2|0}d=(d<<2)+c|0;J[p+8>>2]=J[d>>2];J[p+12>>2]=J[d+4>>2]}e=1;break f}d=o;h=i;if(h-1|0){break g}}while(1){e=lk(i,o,h,d)+h|0;j=d+ma|0;j=e>>>0<h>>>0?j+1|0:j;h=(j&1)<<31|e>>>1;d=j>>>1|0;e=jk(h,d,h,d);g=ma;if((o|0)==(g|0)&e>>>0>i>>>0|g>>>0>o>>>0){continue}break}}e=J[p+20>>2];if(e){g=e-1|0;o=J[J[p+16>>2]+(g>>>3&536870908)>>2];J[p+20>>2]=g;r=x-m|0;l=(x>>31)-((m>>>0>x>>>0)+U|0)|0;i=jk(y,q,r,l);s=ma;v=jk(w,t,m,U);m=v+i|0;i=ma+s|0;i=m>>>0<v>>>0?i+1|0:i;j=m;s=G-n|0;v=(G>>31)-((n>>>0>G>>>0)+T|0)|0;m=jk(h,d,s,v);x=m;m=o>>>g&1;o=m?0-x|0:x;g=j+o|0;j=i;i=ma;j=j+(m?0-(i+((x|0)!=0)|0)|0:i)|0;X=p,Y=kk(g,g>>>0<o>>>0?j+1|0:j,w,t),J[X+12>>2]=Y;g=jk(s,v,y,q);i=ma;j=g;g=jk(w,t,n,T);n=j+g|0;i=ma+i|0;i=g>>>0>n>>>0?i+1|0:i;d=jk(h,d,r,l);g=m?d:0-d|0;n=g+n|0;h=ma;l=(m?h:0-(((d|0)!=0)+h|0)|0)+i|0;X=p,Y=kk(n,g>>>0>n>>>0?l+1|0:l,w,t),J[X+8>>2]=Y}e=(e|0)!=0}ia=k+80|0;break d}Bc();C()}if(!e){break c}l:{if(J[a+8>>2]<=0){break l}n=J[O>>2];d=0;while(1){e=d<<2;f=J[e+W>>2];m=J[a+16>>2];m:{if((f|0)>(m|0)){J[e+n>>2]=m;break m}e=e+n|0;m=J[a+12>>2];if((m|0)>(f|0)){J[e>>2]=m;break m}J[e>>2]=f}d=d+1|0;f=J[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<=0){break l}d=u<<3;m=d+c|0;g=b+d|0;while(1){f=e<<2;d=f+m|0;f=J[f+g>>2]+J[f+n>>2]|0;J[d>>2]=f;n:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break n}f=f+J[a+20>>2]|0}J[d>>2]=f}e=e+1|0;if((e|0)<J[a+8>>2]){continue}break}}u=u+1|0;f=(P|0)>(u|0);if((u|0)!=(V|0)){continue}break}}a=f^1}else{a=0}return a&1}Bc();C()}function Zc(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;a:{if((e|0)==2){J[a+8>>2]=2;J[a- -64>>2]=f;O=a+32|0;e=J[O>>2];d=J[a+36>>2]-e|0;b:{if(d>>>0<=7){Oa(O,2-(d>>>2|0)|0);break b}if((d|0)==8){break b}J[a+36>>2]=e+8}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;c:{if((d|0)<=0){f=0;break c}o=a+60|0;P=d>>2;V=(P|0)<=1?1:P;W=a+68|0;f=1;while(1){d=J[a+56>>2];m=J[d>>2];if(J[d+4>>2]-m>>2>>>0<=u>>>0){break a}k=ia-80|0;ia=k;e=-1;m=J[m+(u<<2)>>2];d=-1;d:{if((m|0)==-1){break d}d=m+1|0;e=(d>>>0)%3|0?d:m-2|0;d=m-1|0;if((m>>>0)%3|0){break d}d=m+2|0}l=J[o+36>>2];m=J[l>>2];e:{f:{g:{h:{i:{l=J[l+4>>2]-m>>2;g=e<<2;e=J[J[o+32>>2]+28>>2];j=J[g+e>>2];if(l>>>0<=j>>>0){break i}e=J[e+(d<<2)>>2];if(e>>>0>=l>>>0){break i}d=J[m+(j<<2)>>2];j:{k:{j=J[m+(e<<2)>>2];if((j|0)>=(u|0)|(d|0)>=(u|0)){break k}e=(j<<3)+c|0;v=J[e+4>>2];m=(d<<3)+c|0;l=J[m+4>>2];z=J[e>>2];m=J[m>>2];if(!((z|0)!=(m|0)|(l|0)!=(v|0))){J[o+8>>2]=m;J[o+12>>2]=l;break j}t=J[J[o+4>>2]+(u<<2)>>2];J[k+72>>2]=0;J[k+76>>2]=0;e=k- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[k+56>>2]=0;J[k+60>>2]=0;e=J[o>>2];if(!K[e+84|0]){t=J[J[e+68>>2]+(t<<2)>>2]}_c(e,t,H[e+24|0],k+56|0);t=J[J[o+4>>2]+(d<<2)>>2];J[k+48>>2]=0;J[k+52>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;e=J[o>>2];if(!K[e+84|0]){t=J[J[e+68>>2]+(t<<2)>>2]}_c(e,t,H[e+24|0],k+32|0);t=J[J[o+4>>2]+(j<<2)>>2];J[k+24>>2]=0;J[k+28>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;e=J[o>>2];if(!K[e+84|0]){t=J[J[e+68>>2]+(t<<2)>>2]}_c(e,t,H[e+24|0],k+8|0);Q=J[k+44>>2];e=J[k+16>>2];y=J[k+40>>2];j=y;h=J[k+20>>2]-(Q+(e>>>0<j>>>0)|0)|0;s=e-j|0;e=jk(s,h,s,h);r=ma;g=e;R=J[k+36>>2];e=J[k+8>>2];L=J[k+32>>2];j=L;n=J[k+12>>2]-(R+(e>>>0<j>>>0)|0)|0;j=e-j|0;p=jk(j,n,j,n);g=g+p|0;e=ma+r|0;e=g>>>0<p>>>0?e+1|0:e;i=g;S=J[k+52>>2];g=J[k+24>>2];M=J[k+48>>2];p=M;r=J[k+28>>2]-(S+(g>>>0<p>>>0)|0)|0;w=g-p|0;p=jk(w,r,w,r);g=i+p|0;e=ma+e|0;x=g;p=g>>>0<p>>>0?e+1|0:e;if(!(g|p)){break k}t=0;N=lk(-1,2147483647,x,p);d=m>>31;T=d;e=d>>31;g=d^e;d=e^m;g=g-((e>>>0>d>>>0)+e|0)|0;B=d-e|0;d=l>>31;U=d;q=d>>31;D=q^l;E=D-q|0;e=d>>31;d=(e^d)-((q>>>0>D>>>0)+e|0)|0;e=(g|0)==(d|0)&B>>>0>E>>>0|d>>>0<g>>>0;q=e?B:E;F=ma;d=e?g:d;if((F|0)==(d|0)&q>>>0>N>>>0|d>>>0>F>>>0){break e}e=J[k+64>>2];F=J[k+68>>2];d=jk(e-y|0,F-((e>>>0<y>>>0)+Q|0)|0,s,h);g=ma;i=d;B=J[k+56>>2];d=B;N=J[k+60>>2];q=jk(d-L|0,N-((d>>>0<L>>>0)+R|0)|0,j,n);d=i+q|0;i=ma+g|0;i=d>>>0<q>>>0?i+1|0:i;g=d;D=J[k+72>>2];d=D;E=J[k+76>>2];q=jk(d-M|0,E-((d>>>0<M>>>0)+S|0)|0,w,r);g=g+q|0;d=ma+i|0;A=g;q=g>>>0<q>>>0?d+1|0:d;d=n>>31;g=d;i=d^j;d=(d^n)-(d+(d>>>0>i>>>0)|0)|0;G=i-g|0;i=h>>31;g=i;i=g^s;I=i-g|0;g=(h^g)-((g>>>0>i>>>0)+g|0)|0;i=(d|0)==(g|0)&G>>>0>I>>>0|d>>>0>g>>>0;G=i?G:I;d=i?d:g;i=r>>31;g=i;i=g^w;I=i-g|0;g=(g^r)-((g>>>0>i>>>0)+g|0)|0;i=(d|0)==(g|0)&G>>>0>I>>>0|d>>>0>g>>>0;g=lk(-1,2147483647,i?G:I,i?d:g)>>>0<A>>>0;d=ma;if(g&(d|0)<=(q|0)|(d|0)<(q|0)){break e}g=1;d=0;i=y;y=kk(jk(s,h,A,q),ma,x,p);s=i+y|0;h=ma+Q|0;h=s>>>0<y>>>0?h+1|0:h;h=F-((e>>>0<s>>>0)+h|0)|0;e=e-s|0;e=jk(e,h,e,h);s=ma;h=B;i=e;n=kk(jk(j,n,A,q),ma,x,p);j=n+L|0;e=ma+R|0;e=j>>>0<n>>>0?e+1|0:e;e=N-((h>>>0<j>>>0)+e|0)|0;j=h-j|0;h=jk(j,e,j,e);j=i+h|0;e=ma+s|0;e=h>>>0>j>>>0?e+1|0:e;h=j;j=e;e=D;i=h;r=kk(jk(w,r,A,q),ma,x,p);n=r+M|0;h=ma+S|0;h=n>>>0<r>>>0?h+1|0:h;h=E-((e>>>0<n>>>0)+h|0)|0;e=e-n|0;n=jk(e,h,e,h);h=i+n|0;e=ma+j|0;h=jk(h,h>>>0<n>>>0?e+1|0:e,x,p);e=ma;n=e;if(!e&h>>>0<=1){break h}r=h;j=n;while(1){e=d<<1|g>>>31;g=g<<1;d=e;s=!j&r>>>0>7|(j|0)!=0;r=(j&3)<<30|r>>>2;j=j>>>2|0;if(s){continue}break}break g}if((d|0)<(u|0)){d=d<<1}else{if((u|0)<=0){J[o+8>>2]=0;J[o+12>>2]=0;break j}d=(u<<1)-2|0}d=(d<<2)+c|0;J[o+8>>2]=J[d>>2];J[o+12>>2]=J[d+4>>2]}t=1;break e}Bc();C()}d=n;g=h;if(g-1|0){break f}}while(1){e=lk(h,n,g,d)+g|0;i=d+ma|0;i=e>>>0<g>>>0?i+1|0:i;g=(i&1)<<31|e>>>1;d=i>>>1|0;e=jk(g,d,g,d);j=ma;if((n|0)==(j|0)&e>>>0>h>>>0|j>>>0>n>>>0){continue}break}}j=J[o+20>>2];if(j){e=j-1|0;n=J[J[o+16>>2]+(e>>>3&536870908)>>2];J[o+20>>2]=e;r=v-l|0;s=(v>>31)-((l>>>0>v>>>0)+U|0)|0;h=jk(A,q,r,s);w=ma;v=jk(x,p,l,U);l=v+h|0;h=ma+w|0;h=l>>>0<v>>>0?h+1|0:h;i=l;w=z-m|0;v=(z>>31)-((m>>>0>z>>>0)+T|0)|0;l=jk(g,d,w,v);z=l;e=n>>>e&1;n=e?0-l|0:l;l=i+n|0;i=h;h=ma;i=i+(e?0-(h+((z|0)!=0)|0)|0:h)|0;X=o,Y=kk(l,l>>>0<n>>>0?i+1|0:i,x,p),J[X+12>>2]=Y;l=jk(w,v,A,q);h=ma;n=l;l=jk(x,p,m,T);m=n+l|0;h=ma+h|0;h=m>>>0<l>>>0?h+1|0:h;d=jk(g,d,r,s);l=e?d:0-d|0;m=l+m|0;g=ma;e=(e?g:0-(((d|0)!=0)+g|0)|0)+h|0;X=o,Y=kk(m,m>>>0<l>>>0?e+1|0:e,x,p),J[X+8>>2]=Y}t=(j|0)!=0}ia=k+80|0;if(!t){break c}l:{if(J[a+8>>2]<=0){break l}m=J[O>>2];d=0;while(1){e=d<<2;f=J[e+W>>2];l=J[a+16>>2];m:{if((f|0)>(l|0)){J[e+m>>2]=l;break m}e=e+m|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break m}J[e>>2]=f}d=d+1|0;f=J[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<=0){break l}d=u<<3;l=d+c|0;j=b+d|0;while(1){f=e<<2;d=f+l|0;f=J[f+j>>2]+J[f+m>>2]|0;J[d>>2]=f;n:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break n}f=f+J[a+20>>2]|0}J[d>>2]=f}e=e+1|0;if((e|0)<J[a+8>>2]){continue}break}}u=u+1|0;f=(P|0)>(u|0);if((u|0)!=(V|0)){continue}break}}a=f^1}else{a=0}return a&1}Bc();C()}function Fb(a,b){var c=0,d=0,e=0,f=0,g=0;e=ia-16|0;ia=e;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;c=d+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+48|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+80|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+112|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+144|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+176|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+208|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+240|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+272|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+304|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+336|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+368|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+432|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+464|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;d=d+496|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;J[a+528>>2]=0;J[a+532>>2]=0;H[a+533|0]=0;H[a+534|0]=0;H[a+535|0]=0;H[a+536|0]=0;H[a+537|0]=0;H[a+538|0]=0;H[a+539|0]=0;H[a+540|0]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+560>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+580>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+584>>2]=0;J[a+588>>2]=0;J[a+600>>2]=0;J[a+592>>2]=0;J[a+596>>2]=0;J[a+612>>2]=0;J[a+604>>2]=0;J[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}La();C()}J[a+616>>2]=0;J[a+620>>2]=0;J[a+624>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=Aj(d);J[a+604>>2]=c;f=c+d|0;J[a+612>>2]=f;Xi(c,0,d);J[a+624>>2]=0;J[a+616>>2]=0;J[a+620>>2]=0;J[a+608>>2]=f;c=Aj(d);J[a+616>>2]=c;f=c+d|0;J[a+624>>2]=f;Xi(c,0,d);J[a+620>>2]=f;c=Aj(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;Xi(c,0,d);J[e+4>>2]=f;d=b<<5|1}Lb(g,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;xj(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=Aj(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;Xi(c,0,b);J[e+4>>2]=f}Lb(a+640|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;xj(b)}ia=e+16|0;return a}function Ag(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=H[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=L[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(h<<1)+d>>1]=e;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(e-32768>>>0<4294901760){break b}I[(h<<1)+d>>1]=e;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(e>>>0>32767){break b}I[(h<<1)+d>>1]=e;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}l=J[b>>2];e=J[b+4>>2]-(l>>>0<32768)|0;if((e|0)==-1&l-32768>>>0<4294901760|(e|0)!=-1){break b}I[(h<<1)+d>>1]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b+4>>2];l=J[b>>2];if(!e&l>>>0>32767|e){break b}I[(h<<1)+d>>1]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}i=J[a>>2];g=J[i>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[i+4>>2];e=f-g|0;if(!K[a+32|0]){i=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(-32768)|k!=k){break d}m=Q(R(k));if(m==Q(_)|k>=Q(32767)){break d}g=(b<<1)+d|0;if(m<Q(2147483648)){e=~~k}else{e=-2147483648}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}i=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(-32768)|k!=k|(Q(R(k))==Q(_)|k>=Q(32767))){break d}if(k<Q(0)|k>Q(1)){break d}g=(b<<1)+d|0;j=V(+k*32767+.5);f:{if(R(j)<2147483648){e=~~j;break f}e=-2147483648}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}i=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return i;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}i=J[a>>2];g=J[i>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[i+4>>2];e=f-g|0;if(!K[a+32|0]){i=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[h>>3];if(j<-32768|j!=j){break g}n=R(j);if(n==_|j>=32767){break g}g=(b<<1)+d|0;if(n<2147483648){e=~~j}else{e=-2147483648}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}i=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[h>>3];if(j<-32768|j!=j|(R(j)==_|j>=32767)){break g}if(j<0|j>1){break g}g=(b<<1)+d|0;j=V(j*32767+.5);i:{if(R(j)<2147483648){e=~~j;break i}e=-2147483648}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}i=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return i;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return i}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function qc(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,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=J[a+8>>2];switch(J[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=K[a+24|0];c=Aj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=K[a+24|0];c=Aj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=K[a+24|0];i=h<<1;c=Aj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<1;c=Aj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Aj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Aj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i)}xj(c);c=1}return c|0}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=H[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=I[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=L[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(h<<2)+d>>2]=e;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}l=J[b>>2];if((J[b+4>>2]-(l>>>0<2147483648)|0)!=-1){break b}J[(h<<2)+d>>2]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b+4>>2];l=J[b>>2];if(!e&l>>>0>2147483647|e){break b}J[(h<<2)+d>>2]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}i=J[a>>2];g=J[i>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[i+4>>2];e=f-g|0;if(!K[a+32|0]){i=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(-2147483648)|k!=k){break d}m=Q(R(k));if(m==Q(_)|k>=Q(2147483648)){break d}g=(b<<2)+d|0;if(m<Q(2147483648)){e=~~k}else{e=-2147483648}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}i=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(-2147483648)|k!=k|(Q(R(k))==Q(_)|k>=Q(2147483648))){break d}if(k<Q(0)|k>Q(1)){break d}g=(b<<2)+d|0;j=V(+k*2147483647+.5);f:{if(R(j)<2147483648){e=~~j;break f}e=-2147483648}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}i=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return i;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}i=J[a>>2];g=J[i>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[i+4>>2];e=f-g|0;if(!K[a+32|0]){i=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[h>>3];if(j<-2147483648|j!=j){break g}n=R(j);if(n==_|j>=2147483647){break g}g=(b<<2)+d|0;if(n<2147483648){e=~~j}else{e=-2147483648}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}i=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[h>>3];if(j<-2147483648|j!=j|(R(j)==_|j>=2147483647)){break g}if(j<0|j>1){break g}g=(b<<2)+d|0;j=V(j*2147483647+.5);i:{if(R(j)<2147483648){e=~~j;break i}e=-2147483648}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}i=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return i;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return i}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Bg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){return 0}e=H[b|0];if((e|0)<0){break b}I[(h<<1)+d>>1]=e&255;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(h<<1)+d>>1]=e;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=L[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(h<<1)+d>>1]=e;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(h<<1)+d>>1]=e;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b+4>>2];l=J[b>>2];if(!e&l>>>0>65535|e){break b}I[(h<<1)+d>>1]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b+4>>2];l=J[b>>2];if(!e&l>>>0>65535|e){break b}I[(h<<1)+d>>1]=l;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}j=J[a>>2];g=J[j>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[j+4>>2];e=f-g|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(0)|k!=k|(Q(R(k))==Q(_)|k>=Q(65535))){break d}g=(b<<1)+d|0;if(k<Q(4294967296)&k>=Q(0)){e=~~k>>>0}else{e=0}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(0)|k!=k|(Q(R(k))==Q(_)|k>=Q(65535))){break d}if(k>Q(1)){break d}g=(b<<1)+d|0;i=V(+k*65535+.5);f:{if(i<4294967296&i>=0){e=~~i>>>0;break f}e=0}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}j=J[a>>2];g=J[j>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[j+4>>2];e=f-g|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){i=O[h>>3];if(i<0|i!=i|(R(i)==_|i>=65535)){break g}g=(b<<1)+d|0;if(i<4294967296&i>=0){e=~~i>>>0}else{e=0}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){i=O[h>>3];if(i<0|i!=i|(R(i)==_|i>=65535)){break g}if(i>1){break g}g=(b<<1)+d|0;i=V(i*65535+.5);i:{if(i<4294967296&i>=0){e=~~i>>>0;break i}e=0}I[g>>1]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}I[(h<<1)+d>>1]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return j}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function _c(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}l=(g<<3)+d|0;J[l>>2]=e;J[l+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break d}if(K[a+32|0]){break a}b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){j=N[g>>2];if(j>=Q(0x8000000000000000)|j<Q(-0x8000000000000000)|j!=j){break a}n=Q(R(j));if(n==Q(_)){break a}e=(b<<3)+d|0;e:{if(n<Q(0x8000000000000000)){l=Q(R(j))>=Q(1)?~~(j>Q(0)?Q(T(Q(V(Q(j*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(j-Q(~~j>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~j>>>0;break e}l=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=l;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break f}if(K[a+32|0]){break a}b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=O[g>>3];if(k>=0x8000000000000000|k<-0x8000000000000000|k!=k){break a}o=R(k);if(o==_){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){l=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~k>>>0;break g}l=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=l;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=h+b|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}Xi(d,0,a<<3)}}function Ne(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=ia-96|0;ia=g;n=J[a+4>>2];e=J[n+32>>2];k=J[e+8>>2];f=k;l=J[e+12>>2];d=l;c=J[e+20>>2];o=J[e+16>>2];a:{if((d|0)<=(c|0)&o>>>0>=f>>>0|(c|0)>(d|0)){break a}m=J[e>>2];p=K[m+o|0];f=o+1|0;d=f?c:c+1|0;J[e+16>>2]=f;J[e+20>>2]=d;if((d|0)>=(l|0)&f>>>0>=k>>>0|(d|0)>(l|0)){break a}j=K[f+m|0];f=o+2|0;d=f>>>0<2?c+1|0:c;i=f;J[e+16>>2]=f;J[e+20>>2]=d;q=p<<24>>24;b:{if((q|0)>=0){f=J[a+216>>2];if(p>>>0>=(J[a+220>>2]-f|0)/144>>>0){break a}f=f+P(p,144)|0;if(J[f>>2]<0){break b}break a}if(J[a+212>>2]>=0){break a}f=a+212|0}J[f>>2]=b;c:{d:{e:{f:{g:{h:{f=L[n+36>>1];i:{if(((f<<8|f>>>8)&65535)>>>0>=258){if((d|0)>=(l|0)&i>>>0>=k>>>0|(d|0)>(l|0)){break a}f=K[i+m|0];d=o+3|0;c=d>>>0<3?c+1|0:c;J[e+16>>2]=d;J[e+20>>2]=c;c=f>>>0>1;if(c){break a}c=c?0:f;if(!j){break i}if(!c){break h}break a}if(j){break g}c=0}if((q|0)<0){e=a+184|0}else{e=J[a+216>>2]+P(p,144)|0;H[e+100|0]=0;e=e+104|0}if((c|0)!=1){break e}c=ia-112|0;ia=c;m=J[J[a+4>>2]+44>>2];d=Aj(120);J[d>>2]=12220;J[d+4>>2]=0;J[d+116>>2]=0;J[d+112>>2]=e;J[d+108>>2]=m;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=12432;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;k=J[a+8>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;j=c+32|0;f=j;J[f>>2]=0;J[f+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;f=c- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=12432;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=k;i=J[k>>2];f=J[k+4>>2];H[c+111|0]=0;l=j;j=c+111|0;Qe(l,(f-i>>2>>>0)/3|0,j);f=J[c+12>>2];i=J[f+28>>2];f=J[f+24>>2];H[c+111|0]=0;Qe(c+44|0,i-f>>2,j);J[c+28>>2]=d;J[c+24>>2]=m;J[c+20>>2]=e;J[c+16>>2]=k;e=d+8|0;f=c+8|0;Re(e,f);j:{if((f|0)==(e|0)){J[d+92>>2]=J[f+84>>2];break j}fb(d+56|0,J[f+48>>2],J[f+52>>2]);fb(d+68|0,J[f+60>>2],J[f- -64>>2]);fb(d+80|0,J[f+72>>2],J[f+76>>2]);J[d+92>>2]=J[f+84>>2];Sa(d+96|0,J[f+88>>2],J[f+92>>2])}J[c+8>>2]=12432;e=J[c+96>>2];if(e){J[c+100>>2]=e;xj(e)}e=J[c+80>>2];if(e){J[c+84>>2]=e;xj(e)}e=J[c+68>>2];if(e){J[c+72>>2]=e;xj(e)}e=J[c+56>>2];if(e){J[c+60>>2]=e;xj(e)}J[c+8>>2]=12668;e=J[c+44>>2];if(e){xj(e)}e=J[c+32>>2];if(e){xj(e)}ia=c+112|0;c=d;break d}if((q|0)>=0){break f}break a}if((q|0)<0){break a}}e=J[a+216>>2];f=J[n+44>>2];c=Aj(80);J[c>>2]=12980;J[c+4>>2]=0;J[c+76>>2]=0;J[c+68>>2]=f;J[c+8>>2]=11920;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;h=e+P(p,144)|0;d=h+104|0;J[c+72>>2]=d;J[c- -64>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[g+24>>2]=f;J[g+68>>2]=0;J[g+72>>2]=0;J[g+60>>2]=0;J[g+64>>2]=0;J[g+52>>2]=0;J[g+56>>2]=0;J[g+44>>2]=0;J[g+48>>2]=0;J[g+84>>2]=0;J[g+88>>2]=0;J[g+76>>2]=0;J[g+80>>2]=0;J[g+28>>2]=c;e=J[g+28>>2];J[g+8>>2]=J[g+24>>2];J[g+12>>2]=e;J[g+20>>2]=d;d=h+4|0;J[g+16>>2]=d;J[g+36>>2]=0;J[g+40>>2]=0;J[g+32>>2]=11920;e=J[g+20>>2];J[g>>2]=J[g+16>>2];J[g+4>>2]=e;h=g+32|0;Oe(h,d,g);e=c+8|0;Re(e,h);if((e|0)!=(h|0)){fb(c+56|0,J[h+48>>2],J[h+52>>2])}Pe(h);break c}d=ia+-64|0;ia=d;k=J[J[a+4>>2]+44>>2];c=Aj(80);J[c>>2]=12688;J[c+4>>2]=0;J[c+76>>2]=0;J[c+72>>2]=e;J[c+68>>2]=k;J[c+8>>2]=12852;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c- -64>>2]=0;m=c+56|0;f=m;J[f>>2]=0;J[f+4>>2]=0;n=J[a+8>>2];J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;j=d+24|0;f=j;J[f>>2]=0;J[f+4>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+56>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=12852;J[d+4>>2]=n;i=J[n>>2];f=J[n+4>>2];H[d+63|0]=0;l=j;j=d+63|0;Qe(l,(f-i>>2>>>0)/3|0,j);f=J[d+4>>2];i=J[f+28>>2];f=J[f+24>>2];H[d+63|0]=0;Qe(d+36|0,i-f>>2,j);J[d+20>>2]=c;J[d+16>>2]=k;J[d+12>>2]=e;J[d+8>>2]=n;Re(c+8|0,d);fb(m,J[d+48>>2],J[d+52>>2]);J[d>>2]=12852;e=J[d+48>>2];if(e){J[d+52>>2]=e;xj(e)}J[d>>2]=12668;e=J[d+36>>2];if(e){xj(e)}e=J[d+24>>2];if(e){xj(e)}ia=d- -64|0}if(!c){break a}}c=bc(Aj(64),c);i=J[a+4>>2];a=c;c=b;k:{l:{if((c|0)>=0){d=i+8|0;b=J[i+12>>2];e=J[i+8>>2];f=b-e>>2;m:{if((f|0)>(c|0)){break m}h=c+1|0;if(c>>>0>=f>>>0){dc(d,h-f|0);break m}if(f>>>0<=h>>>0){break m}e=e+(h<<2)|0;if((e|0)!=(b|0)){while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;if(h){na[J[J[h>>2]+4>>2]](h)}if((b|0)!=(e|0)){continue}break}}J[i+12>>2]=e}e=J[d>>2]+(c<<2)|0;b=J[e>>2];J[e>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}na[J[J[b>>2]+4>>2]](b)}h=(c^-1)>>>31|0}ia=g+96|0;return h|0}function Dg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=H[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=I[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=L[b>>1];b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(h<<2)+d>>2]=e;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(h<<2)+d>>2]=e;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}j=J[a>>2];g=J[j>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[j+4>>2];e=f-g|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(0)|k!=k|(Q(R(k))==Q(_)|k>=Q(4294967296))){break d}g=(b<<2)+d|0;if(k<Q(4294967296)&k>=Q(0)){e=~~k>>>0}else{e=0}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){k=N[h>>2];if(k<Q(0)|k!=k|(Q(R(k))==Q(_)|k>=Q(4294967296))){break d}if(k>Q(1)){break d}g=(b<<2)+d|0;i=V(+k*4294967295+.5);f:{if(i<4294967296&i>=0){e=~~i>>>0;break f}e=0}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}h=h+4|0;if(f>>>0>h>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}j=J[a>>2];g=J[j>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;h=g+b|0;f=J[j+4>>2];e=f-g|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){i=O[h>>3];if(i<0|i!=i|(R(i)==_|i>=4294967295)){break g}g=(b<<2)+d|0;if(i<4294967296&i>=0){e=~~i>>>0}else{e=0}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){i=O[h>>3];if(i<0|i!=i|(R(i)==_|i>=4294967295)){break g}if(i>1){break g}g=(b<<2)+d|0;i=V(i*4294967295+.5);i:{if(i<4294967296&i>=0){e=~~i>>>0;break i}e=0}J[g>>2]=e;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}h=h+8|0;if(f>>>0>h>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break b}J[(h<<2)+d>>2]=K[b|0];b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return j}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function tj(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=ia-16|0;ia=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[uj(14304,14496,e+12|0)>>2];break a}if(a>>>0>=4294967292){fa();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=uj(14496,14688,e+8|0)-14496>>2;while(1){d=J[(g<<2)+14496>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0<a>>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+14304>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}ia=e+16|0;return d}function Ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=ia-16|0;ia=j;a:{b:{c:{d:{if(K[J[a+4>>2]+36|0]<=1){l=-1;c=J[b+20>>2];g=J[b+16>>2];d=g+4|0;c=d>>>0<4?c+1|0:c;f=d;d=J[b+12>>2];if(f>>>0>M[b+8>>2]&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=g+J[b>>2]|0;m=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=m;J[b+16>>2]=f;J[b+20>>2]=c;break d}l=-1;if(!Te(1,j+12|0,b)){break c}m=J[j+12>>2]}e:{f:{g:{h:{i:{if(!m){break i}c=J[a+8>>2];if((J[c+4>>2]-J[c>>2]>>2>>>0)/3>>>0<m>>>0){break c}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Te(1,j+8|0,b)){break c}c=J[j+8>>2];if(!Te(1,j+8|0,b)){break c}e=c+e|0;c=J[j+8>>2];if(e>>>0<c>>>0){break c}f=e-c|0;c=J[a+40>>2];k:{if((c|0)!=J[a+44>>2]){J[c+4>>2]=e;J[c>>2]=f;J[a+40>>2]=c+12;m=J[j+12>>2];break k}n=J[a+36>>2];h=c-n|0;g=(h|0)/12|0;d=g+1|0;if(d>>>0>=357913942){break j}c=g<<1;i=g>>>0>=178956970?357913941:c>>>0>d>>>0?c:d;if(i){if(i>>>0>=357913942){break b}c=Aj(P(i,12))}else{c=0}g=c+P(g,12)|0;J[g+4>>2]=e;J[g>>2]=f;d=g+P((h|0)/-12|0,12)|0;if((h|0)>0){Vi(d,n,h)}J[a+44>>2]=c+P(i,12);J[a+40>>2]=g+12;J[a+36>>2]=d;if(!n){break k}xj(n)}k=k+1|0;if(k>>>0<m>>>0){continue}break}l=0;sg(b,0,0);if(m){while(1){e=K[b+36|0];c=L[J[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}k=0;c=J[b+32>>2];o=c>>>3|0;g=J[b+24>>2];e=o+g|0;f=J[b+28>>2];n:{if(e>>>0>=f>>>0){e=c;break n}d=K[e|0];e=c+1|0;J[b+32>>2]=e;o=e>>>3|0;k=d>>>(c&7)&1}if(f>>>0>g+o>>>0){break m}break l}if(!e){break l}k=0;e=J[b+32>>2];c=J[b+24>>2]+(e>>>3|0)|0;if(c>>>0>=M[b+28>>2]){break l}k=K[c|0]>>>(e&7)&1}J[b+32>>2]=e+1}c=J[a+36>>2]+P(l,12)|0;H[c+8|0]=K[c+8|0]&254|k&1;l=l+1|0;if((m|0)!=(l|0)){continue}break}}H[b+36|0]=0;f=J[b+20>>2];e=0;c=J[b+32>>2]+7|0;e=c>>>0<7?1:e;d=c;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+J[b+16>>2]|0;c=c+f|0;J[b+16>>2]=d;J[b+20>>2]=d>>>0<e>>>0?c+1|0:c;break i}La();C()}while(1){d=J[b+12>>2];c=J[b+20>>2];e=c;p=J[b+16>>2];f=p+4|0;c=f>>>0<4?c+1|0:c;n=J[b+8>>2];h=f;if(n>>>0<f>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break c}i=J[b>>2];f=i+p|0;g=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=c;c=e;f=p+8|0;c=f>>>0<8?c+1|0:c;k=f;if(f>>>0>n>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break c}f=h+i|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=k;J[b+20>>2]=c;if((c|0)>=(d|0)&k>>>0>=n>>>0|(c|0)>(d|0)){break c}d=K[i+k|0];c=p+9|0;e=c>>>0<9?e+1|0:e;J[b+16>>2]=c;J[b+20>>2]=e;d=d&1;c=J[a+40>>2];o:{if((c|0)!=J[a+44>>2]){H[c+8|0]=d;J[c+4>>2]=f;J[c>>2]=g;J[a+40>>2]=c+12;m=J[j+12>>2];break o}k=J[a+36>>2];n=c-k|0;h=(n|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;i=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(i){if(i>>>0>=357913942){break b}c=Aj(P(i,12))}else{c=0}h=c+P(h,12)|0;H[h+8|0]=d;J[h+4>>2]=f;J[h>>2]=g;e=h+P((n|0)/-12|0,12)|0;if((n|0)>0){Vi(e,k,n)}J[a+44>>2]=c+P(i,12);J[a+40>>2]=h+12;J[a+36>>2]=e;if(!k){break o}xj(k)}o=o+1|0;if(o>>>0<m>>>0){continue}break}}J[j+8>>2]=0;c=L[J[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){l=-1;c=J[b+20>>2];f=J[b+16>>2];e=f+4|0;c=e>>>0<4?c+1|0:c;d=e;e=J[b+12>>2];if(d>>>0>M[b+8>>2]&(e|0)<=(c|0)|(c|0)>(e|0)){break c}e=f+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;break p}if((c|0)!=512){break e}l=-1;if(!Te(1,j+8|0,b)){break c}e=J[j+8>>2]}if(!e){break e}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}o=0;m=0;while(1){if(!Te(1,j+4|0,b)){break c}m=J[j+4>>2]+m|0;c=J[a+52>>2];q:{if((c|0)!=J[a+56>>2]){J[c>>2]=m;J[a+52>>2]=c+4;break q}g=J[a+48>>2];i=c-g|0;d=i>>2;f=d+1|0;if(f>>>0>=1073741824){break g}c=i>>1;f=i>>>0>=2147483644?1073741823:c>>>0>f>>>0?c:f;if(f){if(f>>>0>=1073741824){break b}c=Aj(f<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=m;if((i|0)>0){Vi(c,g,i)}J[a+56>>2]=c+(f<<2);J[a+52>>2]=d+4;J[a+48>>2]=c;if(!g){break q}xj(g)}o=o+1|0;if((o|0)!=(e|0)){continue}break}break e}La();C()}La();C()}l=0;while(1){c=J[b+20>>2];g=J[b+16>>2];d=g+4|0;c=d>>>0<4?c+1|0:c;f=d;d=J[b+12>>2];if(f>>>0>M[b+8>>2]&(d|0)<=(c|0)|(c|0)>(d|0)){l=-1;break c}d=g+J[b>>2]|0;g=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;c=J[a+52>>2];r:{if((c|0)!=J[a+56>>2]){J[c>>2]=g;J[a+52>>2]=c+4;break r}i=J[a+48>>2];h=c-i|0;d=h>>2;f=d+1|0;if(f>>>0>=1073741824){break a}c=h>>1;f=h>>>0>=2147483644?1073741823:c>>>0>f>>>0?c:f;if(f){if(f>>>0>=1073741824){break b}c=Aj(f<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=g;if((h|0)>0){Vi(c,i,h)}J[a+56>>2]=c+(f<<2);J[a+52>>2]=d+4;J[a+48>>2]=c;if(!i){break r}xj(i)}l=l+1|0;if((l|0)!=(e|0)){continue}break}}l=J[b+16>>2]}ia=j+16|0;return l}Za();C()}La();C()}function Gf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}d=J[a+48>>2];h=c-d|0;f=h>>2;e=f+1|0;if(e>>>0>=1073741824){break a}c=h>>1;e=h>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>=1073741824){break d}c=Aj(e<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=b;if((h|0)>0){Vi(c,d,h)}J[a+56>>2]=c+(e<<2);J[a+52>>2]=f+4;J[a+48>>2]=c;if(!d){break f}xj(d)}J[a+84>>2]=0;f=-1;c=-1;g:{if((b|0)==-1){break g}e=J[a+4>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){f=J[J[e>>2]+(c<<2)>>2]}h:{if((b>>>0)%3|0){d=b-1|0;break h}d=b+2|0;c=-1;if((d|0)==-1){break g}}c=J[J[e>>2]+(d<<2)>>2]}i=c>>>3&536870908;e=J[a+36>>2];g=e+(f>>>3&536870908)|0;h=J[g>>2];d=1<<f;if(!(h&d)){J[g>>2]=d|h;g=a+8|0;if((b|0)!=-1){e=b+1|0;d=(e>>>0)%3|0?e:b-2|0}else{d=-1}Hf(g,f,d);e=J[a+36>>2]}d=e+i|0;e=J[d>>2];f=1<<c;if(!(e&f)){J[d>>2]=e|f;d=a+8|0;f=-1;i:{if((b|0)==-1){break i}f=b-1|0;if((b>>>0)%3|0){break i}f=b+2|0}Hf(d,c,f)}f=-1;f=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:f;d=J[a+36>>2]+(f>>>3&536870908)|0;e=J[d>>2];c=1<<f;if(!(e&c)){J[d>>2]=c|e;Hf(a+8|0,f,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){f=P(d,12)+a|0;b=J[f+52>>2];if((b|0)==J[f+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}c=b-4|0;b=J[c>>2];J[f+52>>2]=c;J[a+84>>2]=d;if((b|0)==-1){break e}f=J[a+24>>2];c=(b>>>0)/3|0;j:{if(J[f+(c>>>3&268435452)>>2]>>>c&1){break j}k:{while(1){i=(b>>>0)/3|0;c=(i>>>3&268435452)+f|0;J[c>>2]=J[c>>2]|1<<i;f=-1;l:{m:{n:{o:{p:{q:{r:{s:{f=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:f;d=J[a+36>>2]+(f>>>3&536870908)|0;e=J[d>>2];c=1<<f;if(!(e&c)){J[d>>2]=c|e;h=J[(J[J[a+16>>2]+96>>2]+P(i,12)|0)+((b>>>0)%3<<2)>>2];k=J[J[a+20>>2]+4>>2];c=J[k+4>>2];t:{if((c|0)!=J[k+8>>2]){J[c>>2]=h;J[k+4>>2]=c+4;break t}g=J[k>>2];j=c-g|0;e=j>>2;d=e+1|0;if(d>>>0>=1073741824){break s}c=j>>1;d=j>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break d}c=Aj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=h;if((j|0)>0){Vi(c,g,j)}J[k+8>>2]=c+(d<<2);J[k+4>>2]=e+4;J[k>>2]=c;if(!g){break t}xj(g)}j=J[a+12>>2];c=J[j+4>>2];u:{if((c|0)!=J[j+8>>2]){J[c>>2]=b;J[j+4>>2]=c+4;break u}h=J[j>>2];g=c-h|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break r}c=g>>1;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break d}c=Aj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=b;if((g|0)>0){Vi(c,h,g)}J[j+8>>2]=c+(d<<2);J[j+4>>2]=e+4;J[j>>2]=c;if(!h){break u}xj(h)}c=J[a+12>>2];J[J[c+12>>2]+(f<<2)>>2]=J[c+24>>2];J[c+24>>2]=J[c+24>>2]+1}if((b|0)==-1){break k}g=J[a+4>>2];f=-1;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){f=J[J[g+12>>2]+(c<<2)>>2]}v:{w:{if((P(i,3)|0)!=(b|0)){e=b-1|0;break w}e=b+2|0;b=-1;if((e|0)==-1){break v}}b=J[J[g+12>>2]+(e<<2)>>2]}h=(b|0)==-1;e=(b>>>0)/3|0;if((f|0)!=-1){c=(f>>>0)/3|0;c=J[J[a+24>>2]+(c>>>3&268435452)>>2]&1<<c;if(h){break q}d=(c|0)!=0;break p}d=1;if(!h){break p}break k}La();C()}La();C()}if(!c){break o}break k}c=h?-1:e;x:{if(J[J[a+24>>2]+(c>>>3&536870908)>>2]>>>c&1){break x}e=0;c=J[J[g>>2]+(b<<2)>>2];if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){c=J[a+88>>2]+(c<<2)|0;e=J[c>>2];J[c>>2]=e+1;e=(e|0)<=0?2:1}if(J[a+84>>2]>=(e|0)?d:0){break m}k=P(e,12)+a|0;c=J[k+52>>2];y:{if((c|0)!=J[k+56>>2]){J[c>>2]=b;J[k+52>>2]=c+4;break y}i=J[k+48>>2];j=c-i|0;h=j>>2;g=h+1|0;if(g>>>0>=1073741824){break c}c=j>>1;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=1073741824){break d}c=Aj(g<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=b;if((j|0)>0){Vi(c,i,j)}J[k+48>>2]=c;J[k+52>>2]=h+4;J[k+56>>2]=c+(g<<2);if(!i){break y}xj(i)}if(J[a+84>>2]<=(e|0)){break x}J[a+84>>2]=e}if(d){break k}b=-1;if((f|0)==-1){break n}}b=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}e=0;if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;c=J[b>>2];J[b>>2]=c+1;e=(c|0)<=0?2:1}if(J[a+84>>2]<(e|0)){break l}b=f}f=J[a+24>>2];continue}break}i=P(e,12)+a|0;b=J[i+52>>2];z:{if((b|0)!=J[i+56>>2]){J[b>>2]=f;J[i+52>>2]=b+4;break z}h=J[i+48>>2];g=b-h|0;c=g>>2;d=c+1|0;if(d>>>0>=1073741824){break b}b=g>>1;d=g>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(d){if(d>>>0>=1073741824){break d}b=Aj(d<<2)}else{b=0}c=b+(c<<2)|0;J[c>>2]=f;if((g|0)>0){Vi(b,h,g)}J[i+48>>2]=b;J[i+52>>2]=c+4;J[i+56>>2]=b+(d<<2);if(!h){break z}xj(h)}d=J[a+84>>2];if((d|0)<=(e|0)){break j}J[a+84>>2]=e;d=e;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Za();C()}La();C()}La();C()}La();C()}function Uc(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(H[b|0]);N[(h<<2)+d>>2]=j?Q(i/Q(127)):i;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(K[b|0]);N[(h<<2)+d>>2]=j?Q(i/Q(255)):i;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(I[b>>1]);N[(h<<2)+d>>2]=j?Q(i/Q(32767)):i;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(L[b>>1]);N[(h<<2)+d>>2]=j?Q(i/Q(65535)):i;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(J[b>>2]);N[(h<<2)+d>>2]=j?Q(i*Q(4.656612873077393e-10)):i;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(M[b>>2]);N[(h<<2)+d>>2]=j?Q(i*Q(2.3283064365386963e-10)):i;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(+M[b>>2]+ +J[b+4>>2]*4294967296);N[(h<<2)+d>>2]=j?Q(i*Q(10842021724855044e-35)):i;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];j=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}i=Q(+M[b>>2]+ +M[b+4>>2]*4294967296);N[(h<<2)+d>>2]=j?Q(i*Q(5.421010862427522e-20)):i;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=N[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=O[b>>3];b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){g=J[a>>2];e=J[g>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;g=J[g+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=K[b|0]?Q(1):Q(0);b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}Xi(d,0,a<<2)}return k}function Xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ia-32|0;ia=g;c=J[a+32>>2];b=L[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){d=J[c+12>>2];b=J[c+20>>2];f=b;n=J[c+16>>2];j=n+4|0;b=j>>>0<4?b+1|0:b;e=J[c+8>>2];h=j;if(e>>>0<j>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}i=J[c>>2];j=i+n|0;j=K[j|0]|K[j+1|0]<<8|(K[j+2|0]<<16|K[j+3|0]<<24);J[c+16>>2]=h;J[c+20>>2]=b;b=f;f=n+8|0;b=f>>>0<8?b+1|0:b;if(f>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}d=i+h|0;n=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[c+16>>2]=f;J[c+20>>2]=b;break b}if(!Yf(1,g+28|0,c)){break a}if(!Yf(1,g+24|0,J[a+32>>2])){break a}j=J[g+28>>2];n=J[g+24>>2]}if(j>>>0>1431655765){break a}d=J[a+32>>2];b=d;h=J[b+8>>2];f=J[b+16>>2];c=J[b+12>>2];b=J[b+20>>2];e=kk(h-f|0,c-(b+(f>>>0>h>>>0)|0)|0,3,0);if(!ma&e>>>0<j>>>0){break a}e=jk(j,0,3,0);if(!ma&e>>>0<n>>>0|((b|0)>=(c|0)&f>>>0>=h>>>0|(b|0)>(c|0))){break a}c=K[f+J[d>>2]|0];f=f+1|0;b=f?b:b+1|0;J[d+16>>2]=f;J[d+20>>2]=b;c:{d:{if(!c){d=0;b=ia-32|0;ia=b;J[b+24>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;e:{f:{f=P(j,3);if(f){if(f>>>0>=1073741824){break f}c=P(j,12);d=Aj(c);Xi(d,0,c)}if(re(f,1,J[a+32>>2],d)){g:{if(!j){f=0;break g}f=1;c=J[d>>2];h=c>>>1|0;c=c&1?0-h|0:h;if((c|0)<0){break g}h=0;while(1){J[b>>2]=c;o=c;e=(k<<2)+d|0;c=J[e+4>>2];i=c>>>1|0;c=o+(c&1?0-i|0:i)|0;if((c|0)<0){break g}J[b+4>>2]=c;e=J[e+8>>2];i=e>>>1|0;c=c+(e&1?0-i|0:i)|0;if((c|0)<0){break g}J[b+8>>2]=c;Zf(J[a+44>>2]+96|0,b);h=h+1|0;f=h>>>0<j>>>0;if((j|0)==(h|0)){break g}k=k+3|0;e=J[(k<<2)+d>>2];i=e>>>1|0;c=c+(e&1?0-i|0:i)|0;if((c|0)>=0){continue}break}}k=!f}if(d){xj(d)}ia=b+32|0;b=k&1;break e}La();C()}if(b){break d}break a}if(n>>>0<=255){if(!j){break d}while(1){h:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;d=J[a+32>>2];b=d;h=J[b+8>>2];c=J[b+12>>2];f=J[b+20>>2];k=J[b+16>>2];if((c|0)<=(f|0)&h>>>0<=k>>>0|(c|0)<(f|0)){break h}e=J[d>>2];l=K[e+k|0];b=f;i=k+1|0;b=i?b:b+1|0;J[d+16>>2]=i;J[d+20>>2]=b;J[g+8>>2]=l;if((b|0)>=(c|0)&i>>>0>=h>>>0|(b|0)>(c|0)){break h}l=K[e+i|0];b=f;i=k+2|0;b=i>>>0<2?b+1|0:b;J[d+16>>2]=i;J[d+20>>2]=b;J[g+12>>2]=l;if((b|0)>=(c|0)&i>>>0>=h>>>0|(b|0)>(c|0)){break h}c=K[e+i|0];b=f;f=k+3|0;b=f>>>0<3?b+1|0:b;J[d+16>>2]=f;J[d+20>>2]=b;J[g+16>>2]=c;Zf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(j|0)){continue}break d}break}m=0;break a}if(n>>>0<=65535){if(!j){break d}while(1){i:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;c=J[a+32>>2];d=J[c+12>>2];k=J[c+8>>2];b=J[c+20>>2];f=b;h=J[c+16>>2];e=h+2|0;b=e>>>0<2?b+1|0:b;if(e>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break i}i=J[c>>2];l=i+h|0;l=K[l|0]|K[l+1|0]<<8;J[c+16>>2]=e;J[c+20>>2]=b;J[g+8>>2]=l;b=f;l=h+4|0;b=l>>>0<4?b+1|0:b;if(l>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break i}e=e+i|0;e=K[e|0]|K[e+1|0]<<8;J[c+16>>2]=l;J[c+20>>2]=b;J[g+12>>2]=e;b=f;f=h+6|0;b=f>>>0<6?b+1|0:b;if(f>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break i}d=i+l|0;d=K[d|0]|K[d+1|0]<<8;J[c+16>>2]=f;J[c+20>>2]=b;J[g+16>>2]=d;Zf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(j|0)){continue}break d}break}m=0;break a}j:{if(n>>>0>2097151){break j}b=L[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break j}if(!j){break d}while(1){k:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;if(!Yf(1,g+4|0,J[a+32>>2])){break k}J[g+8>>2]=J[g+4>>2];if(!Yf(1,g+4|0,J[a+32>>2])){break k}J[g+12>>2]=J[g+4>>2];if(!Yf(1,g+4|0,J[a+32>>2])){break k}J[g+16>>2]=J[g+4>>2];Zf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(j|0)){continue}break d}break}m=0;break a}if(!j){break d}while(1){J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;c=J[a+32>>2];d=J[c+12>>2];k=J[c+8>>2];b=J[c+20>>2];f=b;h=J[c+16>>2];e=h+4|0;b=e>>>0<4?b+1|0:b;i=e;if(e>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=J[c>>2];e=l+h|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[c+16>>2]=i;J[c+20>>2]=b;J[g+8>>2]=e;b=f;e=h+8|0;b=e>>>0<8?b+1|0:b;o=e;if(e>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}e=i+l|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[c+16>>2]=o;J[c+20>>2]=b;J[g+12>>2]=e;b=f;f=h+12|0;b=f>>>0<12?b+1|0:b;if(f>>>0>k>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=l+o|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[c+16>>2]=f;J[c+20>>2]=b;J[g+16>>2]=d;Zf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(j|0)){continue}break}}J[J[a+4>>2]+80>>2]=n;m=1;break a}m=0}ia=g+32|0;return m|0}function xg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if((e-128&65535)>>>0<65280){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>127){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e-128>>>0<4294967040){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>127){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}k=J[b>>2];e=J[b+4>>2]-(k>>>0<128)|0;if((e|0)==-1&k-128>>>0<4294967040|(e|0)!=-1){break b}H[d+g|0]=k;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b+4>>2];k=J[b>>2];if(!e&k>>>0>127|e){break b}H[d+g|0]=k;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}j=N[b>>2];if(j<Q(-128)|j!=j){break d}l=Q(R(j));if(l==Q(_)|j>=Q(127)){break d}f=d+g|0;e:{f:{if(K[a+32|0]){if(j<Q(0)|j>Q(1)){break d}h=V(+j*127+.5);if(!(R(h)<2147483648)){break f}e=~~h;break e}if(!(l<Q(2147483648))){break f}e=~~j;break e}e=-2147483648}H[f|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}i=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return i;case 9:e=K[a+24|0];c=c&255;g:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break g}h=O[b>>3];if(h<-128|h!=h|(R(h)==_|h>=127)){break g}f=d+g|0;if(K[a+32|0]){if(h<0|h>1){break g}h=V(h*127+.5)}h:{if(R(h)<2147483648){e=~~h;break h}e=-2147483648}H[f|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}i=1;if(c>>>0<=e>>>0){break g}Xi(d+e|0,0,c-e|0)}return i;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return i}Xi(d+e|0,0,(c&255)-e|0);return 1}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=Q(0),w=0;q=ia-16|0;ia=q;a:{if(!(J[a+60>>2]!=J[a- -64>>2]|J[a+48>>2]!=J[a+52>>2])){f=1;break a}f=1;if((na[J[J[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{c=na[J[J[a>>2]+20>>2]](a,w)|0;c:{d:{e:{e=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];switch(J[e+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}c=K[e+24|0];f:{if(!c){k=0;f=0;break f}f=0;c=c<<2;k=Aj(c);Xi(k,0,c);c=K[e+24|0];if(!c){break f}c=c<<2;f=Aj(c);Xi(f,0,c)}g:{h:{i:{switch(J[e+28>>2]-1|0){case 4:j=0;g=0;i=0;c=0;l=0;b=K[e+24|0];j:{if(!b){d=0;break j}b=b<<2;g=Aj(b);Xi(g,0,b);d=Aj(b);Xi(d,0,b)}k:{if(J[e+80>>2]){while(1){o=J[e>>2];p=J[o>>2];b=J[e+40>>2];h=J[e+48>>2]+jk(b,J[e+44>>2],i,c)|0;m=Vi(g,p+h|0,b);n=K[e+24|0];if(n){t=J[a+48>>2];h=0;while(1){r=h<<2;p=J[r+m>>2];if((p|0)<0){break k}J[d+r>>2]=p+J[t+(h+u<<2)>>2];h=h+1|0;if((n|0)!=(h|0)){continue}break}}Vi(J[o>>2]+P(b,i)|0,d,b);b=i+1|0;c=b?c:c+1|0;i=b;if(!c&M[e+80>>2]>b>>>0){continue}break}}l=1}if(d){xj(d)}if(g){xj(g)}if(l){break h}break g;case 2:d=0;h=0;i=0;c=0;b=K[e+24|0];if(b){b=b<<1;h=Aj(b);Xi(h,0,b);d=Aj(b);Xi(d,0,b)}if(J[e+80>>2]){while(1){n=J[e>>2];p=J[n>>2];b=J[e+40>>2];g=J[e+48>>2]+jk(b,J[e+44>>2],i,c)|0;m=Vi(h,p+g|0,b);l=K[e+24|0];l:{if(!l){break l}o=J[a+48>>2];g=0;if((l|0)!=1){t=l&254;j=0;while(1){r=g<<1;I[r+d>>1]=L[m+r>>1]+L[o+(g+u<<2)>>1];r=g|1;p=r<<1;I[p+d>>1]=L[m+p>>1]+L[o+(r+u<<2)>>1];g=g+2|0;j=j+2|0;if((t|0)!=(j|0)){continue}break}}if(!(l&1)){break l}j=g<<1;I[j+d>>1]=L[m+j>>1]+L[o+(g+u<<2)>>1]}Vi(J[n>>2]+P(b,i)|0,d,b);b=i+1|0;c=b?c:c+1|0;i=b;if(!c&M[e+80>>2]>b>>>0){continue}break}}if(d){xj(d)}if(h){xj(h)}break h;case 0:break i;default:break h}}g=0;h=0;i=0;c=0;b=K[e+24|0];if(b){h=Aj(b);Xi(h,0,b);g=Aj(b);Xi(g,0,b)}if(J[e+80>>2]){while(1){t=J[e>>2];p=J[t>>2];b=J[e+40>>2];d=J[e+48>>2]+jk(b,J[e+44>>2],i,c)|0;m=Vi(h,p+d|0,b);l=K[e+24|0];m:{if(!l){break m}o=J[a+48>>2];d=0;if((l|0)!=1){r=l&254;j=0;while(1){H[d+g|0]=K[d+m|0]+K[o+(d+u<<2)|0];n=d|1;H[n+g|0]=K[m+n|0]+K[o+(n+u<<2)|0];d=d+2|0;j=j+2|0;if((r|0)!=(j|0)){continue}break}}if(!(l&1)){break m}H[d+g|0]=K[d+m|0]+K[o+(d+u<<2)|0]}Vi(J[t>>2]+P(b,i)|0,g,b);b=i+1|0;c=b?c:c+1|0;i=b;if(!c&M[e+80>>2]>b>>>0){continue}break}}if(g){xj(g)}if(h){xj(h)}}u=K[e+24|0]+u|0;j=1}if(f){xj(f)}if(k){xj(k)}if(j){break c}f=0;break a}m=J[J[a+60>>2]+(s<<2)>>2];f=J[a+36>>2];g=J[(na[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[q+12>>2]=J[e+56>>2];c=Aj(32);J[q>>2]=c;J[q+4>>2]=24;J[q+8>>2]=-2147483616;b=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[c+16|0]=d;H[c+17|0]=d>>>8;H[c+18|0]=d>>>16;H[c+19|0]=d>>>24;H[c+20|0]=b;H[c+21|0]=b>>>8;H[c+22|0]=b>>>16;H[c+23|0]=b>>>24;b=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;H[c+24|0]=0;b=Ob(g,q+12|0,q);if(H[q+11|0]<0){xj(J[q>>2])}c=s+1|0;n:{if(b){eb(e,m);break n}i=f+P(s,24)|0;f=J[i+4>>2];s=K[e+24|0];d=s<<2;b=Aj(d);J[q>>2]=1065353216;v=N[i+20>>2];f=-1<<f^-1;if((f|0)>0){N[q>>2]=v/Q(f|0)}if((f|0)<=0){break b}o:{if(!J[m+80>>2]){break o}if(!s){k=0;f=0;while(1){Vi(J[J[e+64>>2]>>2]+f|0,b,d);f=d+f|0;k=k+1|0;if(k>>>0<M[m+80>>2]){continue}break}break o}h=J[J[m>>2]>>2]+J[m+48>>2]|0;t=s&254;r=s&1;j=0;l=0;f=0;while(1){g=J[i+8>>2];v=N[q>>2];k=0;o=0;if((s|0)!=1){while(1){n=k<<2;p=h+(f<<2)|0;N[n+b>>2]=Q(v*Q(J[p>>2]))+N[g+n>>2];n=n|4;N[n+b>>2]=Q(v*Q(J[p+4>>2]))+N[g+n>>2];k=k+2|0;f=f+2|0;o=o+2|0;if((t|0)!=(o|0)){continue}break}}if(r){k=k<<2;N[k+b>>2]=Q(v*Q(J[h+(f<<2)>>2]))+N[g+k>>2];f=f+1|0}Vi(J[J[e+64>>2]>>2]+l|0,b,d);l=d+l|0;j=j+1|0;if(j>>>0<M[m+80>>2]){continue}break}}xj(b)}s=c}f=1;w=w+1|0;if((na[J[J[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}xj(b);f=0}ia=q+16|0;return f|0}function yg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b+4>>2];k=J[b>>2];if(!e&k>>>0>255|e){break b}H[d+g|0]=k;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b+4>>2];k=J[b>>2];if(!e&k>>>0>255|e){break b}H[d+g|0]=k;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}j=N[b>>2];if(j<Q(0)|j!=j|(Q(R(j))==Q(_)|j>=Q(255))){break d}f=d+g|0;e:{f:{if(K[a+32|0]){if(j>Q(1)){break d}h=V(+j*255+.5);if(!(h<4294967296&h>=0)){break f}e=~~h>>>0;break e}if(!(j<Q(4294967296)&j>=Q(0))){break f}e=~~j>>>0;break e}e=0}H[f|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}i=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return i;case 9:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}h=O[b>>3];if(h<0|h!=h|(R(h)==_|h>=255)){break b}k=d+g|0;if(K[a+32|0]){if(h>1){break b}h=V(h*255+.5)}g:{if(h<4294967296&h>=0){e=~~h>>>0;break g}e=0}H[k|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];b=J[a+48>>2]+jk(J[a+40>>2],J[a+44>>2],b,0)|0;b=e+b|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}i=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return i}Xi(d+e|0,0,(c&255)-e|0);return 1}function ue(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=ia+-64|0;ia=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;i=g+8|0;d=L[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){e=J[b+12>>2];d=J[b+20>>2];f=J[b+16>>2];h=f+4|0;d=h>>>0<4?d+1|0:d;if(h>>>0>M[b+8>>2]&(d|0)>=(e|0)|(d|0)>(e|0)){break b}d=f+J[b>>2]|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+12>>2]=j;d=J[b+20>>2];e=J[b+16>>2]+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;break c}if(!ve(1,i+12|0,b)){break b}e=J[b+16>>2];d=J[b+20>>2];j=J[i+12>>2]}f=J[b+8>>2];h=f-e|0;d=J[b+12>>2]-((e>>>0>f>>>0)+d|0)|0;if(h>>>0<j>>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=J[i>>2];d=J[i+4>>2]-e>>2;d:{if(d>>>0<j>>>0){Oa(i,j-d|0);j=J[i+12>>2];break d}if(d>>>0<=j>>>0){break d}J[i+4>>2]=e+(j<<2)}k=1;if(!j){break a}e=J[b+16>>2];d=J[b+20>>2];r=J[i>>2];s=J[b+8>>2];p=J[b+12>>2];h=0;while(1){k=0;if((d|0)>=(p|0)&e>>>0>=s>>>0|(d|0)>(p|0)){break a}k=J[b>>2];n=K[k+e|0];e=e+1|0;d=e?d:d+1|0;J[b+16>>2]=e;J[b+20>>2]=d;f=n>>>2|0;m=0;e:{f:{g:{h:{t=n&3;switch(t|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;k=0;if(f>>>0>=j>>>0){break a}Xi(r+(h<<2)|0,0,(n&252)+4|0);h=f;break e}while(1){if((d|0)>=(p|0)&e>>>0>=s>>>0|(d|0)>(p|0)){break b}j=K[e+k|0];e=e+1|0;d=e?d:d+1|0;J[b+16>>2]=e;J[b+20>>2]=d;f=j<<(m<<3|6)|f;m=m+1|0;if((t|0)!=(m|0)){continue}break}}J[r+(h<<2)>>2]=f}j=J[i+12>>2];h=h+1|0;if(j>>>0>h>>>0){continue}break}d=i+16|0;p=J[i>>2];f=J[i+16>>2];e=J[i+20>>2]-f|0;i:{if(e>>>0<=4194303){Oa(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}J[i+20>>2]=f+4194304}e=i+28|0;h=J[e>>2];f=J[i+32>>2]-h>>3;j:{if(f>>>0<j>>>0){we(e,j-f|0);h=J[e>>2];break j}if(f>>>0>j>>>0){J[i+32>>2]=(j<<3)+h}if(!j){break b}}i=J[d>>2];d=0;k=0;while(1){e=p+(d<<2)|0;m=J[e>>2];n=(d<<3)+h|0;f=k;J[n+4>>2]=f;J[n>>2]=m;e=J[e>>2];k=e+f|0;if(k>>>0>1048576){break b}k:{if(f>>>0>=k>>>0){break k}m=0;n=e&7;if(n){while(1){J[i+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((n|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=i+(f<<2)|0;J[e>>2]=d;J[e+28>>2]=d;J[e+24>>2]=d;J[e+20>>2]=d;J[e+16>>2]=d;J[e+12>>2]=d;J[e+8>>2]=d;J[e+4>>2]=d;f=f+8|0;if((k|0)!=(f|0)){continue}break}}d=d+1|0;if((j|0)!=(d|0)){continue}break}l=(k|0)==1048576}k=l}l:{if(!k|(J[g+20>>2]?0:a)){break l}k=0;i=ia-16|0;ia=i;m:{n:{if(L[b+38>>1]<=511){f=J[b+12>>2];j=f;d=J[b+20>>2];l=J[b+16>>2];e=l+8|0;d=e>>>0<8?d+1|0:d;h=J[b+8>>2];if(h>>>0<e>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break m}l=l+J[b>>2]|0;f=K[l|0]|K[l+1|0]<<8|(K[l+2|0]<<16|K[l+3|0]<<24);l=K[l+4|0]|K[l+5|0]<<8|(K[l+6|0]<<16|K[l+7|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;break n}if(!xe(1,i+8|0,b)){break m}e=J[b+16>>2];d=J[b+20>>2];h=J[b+8>>2];j=J[b+12>>2];f=J[i+8>>2];l=J[i+12>>2]}m=h-e|0;h=j-((e>>>0>h>>>0)+d|0)|0;if((h|0)==(l|0)&f>>>0>m>>>0|h>>>0<l>>>0){break m}d=d+l|0;h=e+f|0;d=h>>>0<f>>>0?d+1|0:d;J[b+16>>2]=h;J[b+20>>2]=d;if((f|0)<=0){break m}b=e+J[b>>2]|0;J[g+48>>2]=b;d=f-1|0;e=d+b|0;h=K[e|0];o:{if(h>>>0<=63){J[g+52>>2]=d;b=K[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8&16128|K[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break o;default:break p}}d=f-4|0;J[g+52>>2]=d;b=b+d|0;b=K[b+2|0]<<16|K[b+3|0]<<24&1056964608|K[b+1|0]<<8|K[b|0]}J[g+56>>2]=b+4194304;k=b>>>0<1069547520}ia=i+16|0;if(!k){break l}if(!a){o=1;break l}b=J[g+56>>2];d=J[g+36>>2];e=J[g+48>>2];f=J[g+24>>2];while(1){q:{if(b>>>0>4194303){break q}o=J[g+52>>2];while(1){if((o|0)<=0){break q}o=o-1|0;J[g+52>>2]=o;b=K[e+o|0]|b<<8;J[g+56>>2]=b;if(b>>>0<4194304){continue}break}}h=b&1048575;k=J[f+(h<<2)>>2];l=d+(k<<3)|0;b=(P(J[l>>2],b>>>20|0)+h|0)-J[l+4>>2]|0;J[g+56>>2]=b;J[(q<<2)+c>>2]=k;o=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}ia=g- -64|0;return o}function gd(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=ia-96|0;ia=f;e=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=e;k=J[a+20>>2];d=J[k>>2];a:{b:{e=J[J[e+28>>2]+(b<<2)>>2];if(e>>>0<J[k+4>>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(e<<2)>>2]<<2)>>2];e=J[a+4>>2];if(!K[e+84|0]){d=J[J[e+68>>2]+(d<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;k=f- -64|0;J[k>>2]=0;J[k+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;_c(e,d,H[e+24|0],f+56|0);if((b|0)!=-1){e=b+1|0;k=(e>>>0)%3|0?e:b-2|0;i=((b>>>0)%3|0?-1:2)+b|0;while(1){d=k;e=i;c:{if(!J[a+28>>2]){break c}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break c}e=b+2|0}h=J[a+20>>2];b=J[h>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[h+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;_c(b,d,H[b+24|0],f+32|0);d=J[a+20>>2];b=J[d>>2];e=J[J[J[a+16>>2]+28>>2]+(e<<2)>>2];if(e>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;_c(b,d,H[b+24|0],f+8|0);e=J[f+8>>2];b=J[f+56>>2];d=e-b|0;h=J[f+60>>2];j=J[f+12>>2]-(h+(b>>>0>e>>>0)|0)|0;p=J[f+40>>2];e=J[f+64>>2];s=p-e|0;t=J[f+68>>2];p=J[f+44>>2]-(t+(e>>>0>p>>>0)|0)|0;u=jk(d,j,s,p);v=n-u|0;n=g-(ma+(n>>>0<u>>>0)|0)|0;o=v;g=J[f+16>>2];u=g-e|0;t=J[f+20>>2]-((e>>>0>g>>>0)+t|0)|0;g=J[f+32>>2];v=g-b|0;h=J[f+36>>2]-((b>>>0>g>>>0)+h|0)|0;e=jk(u,t,v,h);b=o+e|0;g=ma+n|0;g=b>>>0<e>>>0?g+1|0:g;n=b;e=l;o=d;x=j;b=J[f+48>>2];l=J[f+72>>2];d=b-l|0;j=J[f+76>>2];w=J[f+52>>2]-(j+(b>>>0<l>>>0)|0)|0;o=jk(o,x,d,w);e=e+o|0;b=ma+m|0;b=e>>>0<o>>>0?b+1|0:b;m=J[f+24>>2];o=m-l|0;j=J[f+28>>2]-((l>>>0>m>>>0)+j|0)|0;m=jk(o,j,v,h);l=e-m|0;m=b-(ma+(e>>>0<m>>>0)|0)|0;b=jk(u,t,d,w);e=q-b|0;b=r-(ma+(b>>>0>q>>>0)|0)|0;r=jk(o,j,s,p);q=r+e|0;b=ma+b|0;b=q>>>0<r>>>0?b+1|0:b;r=b;b=J[f+88>>2];e=J[f+80>>2];d:{if(K[f+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[e>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[e+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[f+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break e}}b=J[f+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[e>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[e+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break d}if((b|0)!=J[f+84>>2]){break d}J[f+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[e>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[e+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}}b=r>>31;e=b^q;j=e-b|0;h=(b^r)-((b>>>0>e>>>0)+b|0)|0;p=-1;e=2147483647;b=m>>31;k=b^l;d=(b^m)-((b>>>0>k>>>0)+b|0)|0;b=k-b|0;s=b^-1;i=d^2147483647;k=g;m:{n:{if(!J[a+28>>2]){if((i|0)==(h|0)&j>>>0>s>>>0|i>>>0<h>>>0){break m}i=g;a=b;e=b+j|0;b=d+h|0;b=a>>>0>e>>>0?b+1|0:b;a=g>>31;d=a;h=d^n;j=h-d|0;g=e+j|0;d=(d^i)-((d>>>0>h>>>0)+d|0)|0;a=g;g=d^2147483647;g=(g|0)==(b|0)&(j^-1)>>>0<e>>>0|b>>>0>g>>>0;a=g?-1:a;if(!(g&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((i|0)==(h|0)&j>>>0>s>>>0|i>>>0<h>>>0){break o}a=b;i=b+j|0;b=d+h|0;b=a>>>0>i>>>0?b+1|0:b;a=i;h=g;d=g>>31;g=d;i=d^n;d=(d^h)-(d+(d>>>0>i>>>0)|0)|0;g=i-g|0;i=d^2147483647;if((i|0)==(b|0)&(g^-1)>>>0<a>>>0|b>>>0>i>>>0){break o}b=b+d|0;a=a+g|0;b=a>>>0<g>>>0?b+1|0:b;p=a;e=b;if(!b&a>>>0<536870913){break m}}b=e>>>29|0;a=(e&536870911)<<3|p>>>29}n=kk(n,k,a,b);l=kk(l,m,a,b);q=kk(q,r,a,b)}J[c+8>>2]=n;J[c+4>>2]=l;J[c>>2]=q;ia=f+96|0;return}Bc();C()}Bc();C()}Bc();C()}function Ec(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;s=a+32|0;g=J[s>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0<e>>>0){Oa(s,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2);d=e}v=e<<2;f=e>>>0>1073741823?-1:v;m=Xi(Aj(f),0,f);p=Xi(Aj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];c:{if((f|0)>(g|0)){J[d+i>>2]=g;break c}d=d+i|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break c}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=J[b+g>>2]+J[g+i>>2]|0;J[d>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];w=J[f>>2];f=J[f+4>>2]-w|0;if((f|0)>=5){B=J[a+52>>2];r=J[a+48>>2];u=f>>>2|0;D=u>>>0<=2?2:u;x=e&-2;y=e&1;E=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=J[(n<<2)+w>>2];t=(e|0)<=0;if(!t){Xi(m,0,v)}if((g|0)==-1){i=P(e,n);break f}F=J[r>>2];l=0;f=g;while(1){i:{if(J[(f>>>3&536870908)+F>>2]>>>f&1){break i}i=J[J[J[r+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=J[B>>2];h=J[r+28>>2];o=J[j+(J[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=J[j+(J[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=J[j+(J[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=P(e,i);j=P(e,k);o=P(e,o);h=0;q=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2];k=h|1;J[(k<<2)+p>>2]=(J[(i+k<<2)+c>>2]+J[(j+k<<2)+c>>2]|0)-J[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((x|0)!=(q|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];k=j|4;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];k=j|8;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];j=j|12;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];h=h+4|0;i=i+4|0;if((E|0)!=(i|0)){continue}break}}if(!z){break j}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[i+p>>2]+J[j>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(J[J[r>>2]+(h>>>3&536870908)>>2]>>>h&1){break k}f=J[J[J[r+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=P(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!A){break h}while(1){g=h<<2;j=g+m|0;J[j>>2]=J[j>>2]/(l|0);g=(g|4)+m|0;J[g>>2]=J[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}Bc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(l|0)}if((d|0)<=0){break e}l=J[s>>2];h=0;while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];m:{if((f|0)>(g|0)){J[d+l>>2]=g;break m}d=d+l|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break m}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(P(n-1|0,e)<<2)+c|0;l=J[s>>2];h=0;while(1){d=h<<2;f=J[d+g>>2];j=J[a+16>>2];o:{if((f|0)>(j|0)){J[d+l>>2]=j;break o}d=d+l|0;j=J[a+12>>2];if((j|0)>(f|0)){J[d>>2]=j;break o}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((D|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=ia-48|0;ia=e;d=L[6701]|L[6702]<<16;f=L[6699]|L[6700]<<16;I[e+38>>1]=f;I[e+40>>1]=f>>>16;I[e+42>>1]=d;I[e+44>>1]=d>>>16;d=J[3349];J[e+32>>2]=J[3348];J[e+36>>2]=d;d=J[3347];J[e+24>>2]=J[3346];J[e+28>>2]=d;d=J[3345];J[e+16>>2]=J[3344];J[e+20>>2]=d;f=J[b+12>>2];d=J[b+20>>2];g=J[b+16>>2];h=g+5|0;d=h>>>0<5?d+1|0:d;a:{b:{if(h>>>0>M[b+8>>2]&(d|0)>=(f|0)|(d|0)>(f|0)){b=hj(e+16|0);if(b>>>0>=4294967280){break a}c:{d:{if(b>>>0>=11){d=(b|15)+1|0;c=Aj(d);J[e+8>>2]=d|-2147483648;J[e>>2]=c;J[e+4>>2]=b;break d}H[e+11|0]=b;c=e;if(!b){break c}}Vi(c,e+16|0,b)}H[b+c|0]=0;J[a>>2]=-2;a=a+4|0;if(H[e+11|0]>=0){b=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=b;J[a+8>>2]=J[e+8>>2];break b}b=a;a=J[e>>2];Ej(b,a,J[e+4>>2]);xj(a);break b}d=g+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);H[c|0]=f;H[c+1|0]=f>>>8;H[c+2|0]=f>>>16;H[c+3|0]=f>>>24;H[c+4|0]=K[d+4|0];d=J[b+20>>2];f=J[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;J[b+16>>2]=f;J[b+20>>2]=d;if(bj(c,1287,5)){b=Aj(32);H[b+17|0]=0;H[b+16|0]=K[1531];c=K[1527]|K[1528]<<8|(K[1529]<<16|K[1530]<<24);d=K[1523]|K[1524]<<8|(K[1525]<<16|K[1526]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1519]|K[1520]<<8|(K[1521]<<16|K[1522]<<24);d=K[1515]|K[1516]<<8|(K[1517]<<16|K[1518]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ej(a+4|0,b,17);xj(b);break b}g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){b=hj(e+16|0);if(b>>>0>=4294967280){break a}e:{f:{if(b>>>0>=11){d=(b|15)+1|0;c=Aj(d);J[e+8>>2]=d|-2147483648;J[e>>2]=c;J[e+4>>2]=b;break f}H[e+11|0]=b;c=e;if(!b){break e}}Vi(c,e+16|0,b)}H[b+c|0]=0;J[a>>2]=-2;a=a+4|0;if(H[e+11|0]>=0){b=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=b;J[a+8>>2]=J[e+8>>2];break b}b=a;a=J[e>>2];Ej(b,a,J[e+4>>2]);xj(a);break b}H[c+5|0]=K[f+J[b>>2]|0];d=J[b+20>>2];f=J[b+16>>2]+1|0;d=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=d;g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){b=hj(e+16|0);if(b>>>0>=4294967280){break a}g:{h:{if(b>>>0>=11){d=(b|15)+1|0;c=Aj(d);J[e+8>>2]=d|-2147483648;J[e>>2]=c;J[e+4>>2]=b;break h}H[e+11|0]=b;c=e;if(!b){break g}}Vi(c,e+16|0,b)}H[b+c|0]=0;J[a>>2]=-2;a=a+4|0;if(H[e+11|0]>=0){b=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=b;J[a+8>>2]=J[e+8>>2];break b}b=a;a=J[e>>2];Ej(b,a,J[e+4>>2]);xj(a);break b}H[c+6|0]=K[f+J[b>>2]|0];d=J[b+20>>2];f=J[b+16>>2]+1|0;d=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=d;g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){b=hj(e+16|0);if(b>>>0>=4294967280){break a}i:{j:{if(b>>>0>=11){d=(b|15)+1|0;c=Aj(d);J[e+8>>2]=d|-2147483648;J[e>>2]=c;J[e+4>>2]=b;break j}H[e+11|0]=b;c=e;if(!b){break i}}Vi(c,e+16|0,b)}H[b+c|0]=0;J[a>>2]=-2;a=a+4|0;if(H[e+11|0]>=0){b=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=b;J[a+8>>2]=J[e+8>>2];break b}b=a;a=J[e>>2];Ej(b,a,J[e+4>>2]);xj(a);break b}H[c+7|0]=K[f+J[b>>2]|0];d=J[b+20>>2];f=J[b+16>>2]+1|0;d=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=d;g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){b=eg(e,e+16|0);J[a>>2]=-2;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break b}Ej(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break b}xj(J[b>>2]);break b}H[c+8|0]=K[f+J[b>>2]|0];d=J[b+20>>2];f=d;i=J[b+16>>2];g=i+1|0;d=g?d:d+1|0;J[b+16>>2]=g;J[b+20>>2]=d;h=J[b+12>>2];d=f;f=i+3|0;d=f>>>0<3?d+1|0:d;if(f>>>0>M[b+8>>2]&(d|0)>=(h|0)|(d|0)>(h|0)){b=eg(e,e+16|0);J[a>>2]=-2;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break b}Ej(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break b}xj(J[b>>2]);break b}f=c;c=g+J[b>>2]|0;I[f+10>>1]=K[c|0]|K[c+1|0]<<8;d=J[b+20>>2];c=J[b+16>>2]+2|0;d=c>>>0<2?d+1|0:d;J[b+16>>2]=c;J[b+20>>2]=d;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ia=e+48|0;return}fg();C()}function jd(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;r=a+32|0;f=J[r>>2];j=J[a+36>>2]-f>>2;a:{if(j>>>0<e>>>0){Oa(r,e-j|0);d=J[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}J[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=Xi(Aj(f),0,f);p=Xi(Aj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];c:{if((j|0)>(d|0)){J[f+i>>2]=d;break c}f=f+i|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break c}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=J[b+j>>2]+J[j+i>>2]|0;J[d>>2]=j;d:{if((j|0)>J[a+16>>2]){j=j-J[a+20>>2]|0}else{if((j|0)>=J[a+12>>2]){break d}j=j+J[a+20>>2]|0}J[d>>2]=j}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];v=J[f>>2];f=J[f+4>>2]-v|0;if((f|0)>=5){D=J[a+52>>2];w=J[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=J[(n<<2)+v>>2];s=(e|0)<=0;if(!s){Xi(m,0,u)}if((j|0)==-1){g=P(e,n);break f}B=J[w+12>>2];q=0;f=j;while(1){h=J[(f<<2)+B>>2];i:{if((h|0)==-1){break i}o=J[D>>2];l=J[w>>2];k=J[o+(J[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=J[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=J[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=J[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=J[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=P(e,i);o=P(e,g);k=P(e,k);h=0;i=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2];g=h|1;J[(g<<2)+p>>2]=(J[(g+l<<2)+c>>2]+J[(g+o<<2)+c>>2]|0)-J[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((x|0)!=(i|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;J[i>>2]=J[l+p>>2]+J[i>>2];g=l|4;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|8;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|12;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!z){break l}while(1){g=h<<2;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=J[(h<<2)+B>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=P(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!A){break h}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[j>>2]/(q|0);j=(i|4)+m|0;J[j>>2]=J[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}Bc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(q|0)}if((d|0)<=0){break e}k=J[r>>2];h=0;while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];o:{if((j|0)>(d|0)){J[f+k>>2]=d;break o}f=f+k|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break o}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(P(n-1|0,e)<<2)+c|0;k=J[r>>2];h=0;while(1){j=h<<2;i=J[j+f>>2];d=J[a+16>>2];q:{if((i|0)>(d|0)){J[j+k>>2]=d;break q}j=j+k|0;d=J[a+12>>2];if((d|0)>(i|0)){J[j>>2]=d;break q}J[j>>2]=i}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;r:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break r}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function Tc(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=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=0,x=0,y=Q(0),z=Q(0),A=Q(0),B=0;a:{if((e|0)==2){J[a+64>>2]=f;J[a+72>>2]=2;e=Aj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;w=a+32|0;e=J[w>>2];d=J[a+36>>2]-e|0;b:{if(d>>>0<=7){Oa(w,2-(d>>>2|0)|0);break b}if((d|0)==8){break b}J[a+36>>2]=e+8}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;c:{if((d|0)<=0){f=0;break c}x=d>>2;B=(x|0)<=1?1:x;f=1;while(1){d=J[a+56>>2];g=J[d>>2];if(J[d+4>>2]-g>>2>>>0<=l>>>0){break a}q=Q(0);h=ia-48|0;ia=h;d=-1;g=J[g+(l<<2)>>2];e=-1;d:{if((g|0)==-1){break d}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;e=g-1|0;if((g>>>0)%3|0){break d}e=g+2|0}i=J[a+52>>2];g=J[i>>2];e:{f:{i=J[i+4>>2]-g>>2;t=d<<2;d=J[J[a+48>>2]+28>>2];t=J[t+d>>2];if(i>>>0<=t>>>0){break f}d=J[d+(e<<2)>>2];if(d>>>0>=i>>>0){break f}i=J[g+(d<<2)>>2];e=J[g+(t<<2)>>2];g:{if(!((i|0)>=(l|0)|(e|0)>=(l|0))){d=J[a+72>>2];g=(P(d,i)<<2)+c|0;m=Q(J[g+4>>2]);d=(P(d,e)<<2)+c|0;p=Q(J[d+4>>2]);y=Q(J[d>>2]);n=Q(J[g>>2]);if(!(y!=n|m!=p)){g=+m>2147483647;d=J[a+68>>2];if(Q(R(m))<Q(2147483648)){e=~~m}else{e=-2147483648}J[d+4>>2]=m<Q(-2147483648)?-2147483648:g?-2147483648:e;g=+n>2147483647;if(Q(R(n))<Q(2147483648)){e=~~n}else{e=-2147483648}J[d>>2]=n<Q(-2147483648)?-2147483648:g?-2147483648:e;e=1;break g}d=J[J[a+64>>2]+(l<<2)>>2];J[h+40>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;g=J[a+60>>2];if(!K[g+84|0]){d=J[J[g+68>>2]+(d<<2)>>2]}Uc(g,d,H[g+24|0],h+32|0);e=J[J[a+64>>2]+(e<<2)>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;d=J[a+60>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}Uc(d,e,H[d+24|0],h+16|0);e=J[J[a+64>>2]+(i<<2)>>2];J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;d=J[a+60>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}Uc(d,e,H[d+24|0],h);o=N[h+24>>2];r=Q(N[h+8>>2]-o);s=N[h+20>>2];u=Q(N[h+4>>2]-s);A=N[h+16>>2];v=Q(N[h>>2]-A);z=Q(Q(r*r)+Q(Q(u*u)+Q(Q(v*v)+Q(0))));h:{if(J[a+88>>2]>=258){j=Q(0);if(!(z>Q(0))){break h}}j=Q(N[h+40>>2]-o);o=Q(N[h+36>>2]-s);s=Q(N[h+32>>2]-A);q=Q(Q(Q(r*j)+Q(Q(u*o)+Q(Q(v*s)+Q(0))))/z);j=Q(j-Q(r*q));r=Q(j*j);j=Q(o-Q(u*q));o=Q(j*j);j=Q(s-Q(v*q));j=Q(Y(Q(Q(r+Q(o+Q(Q(j*j)+Q(0))))/z)))}e=J[a+80>>2];if(e){d=e-1|0;g=J[J[a+76>>2]+(d>>>3&536870908)>>2];J[a+80>>2]=d;m=Q(m-p);o=Q(Q(m*q)+p);n=Q(n-y);p=Q(n*j);d=g>>>d&1;p=Q(o+(d?p:Q(-p)));j=Q(j*m);k=V(+Q(Q(Q(n*q)+y)+(d?Q(-j):j))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){d=J[a+68>>2];J[d>>2]=-2147483648;break i}d=J[a+68>>2];if(R(k)<2147483648){g=~~k}else{g=-2147483648}J[d>>2]=g}k=V(+p+.5);i=k>2147483647;if(R(k)<2147483648){g=~~k}else{g=-2147483648}J[d+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:i?-2147483648:g}e=(e|0)!=0;break g}j:{if((e|0)<(l|0)){d=J[a+72>>2];g=P(e,d);break j}if((l|0)<=0){e=1;if(J[a+72>>2]<=0){break g}g=J[a+68>>2];d=0;while(1){J[g+(d<<2)>>2]=0;d=d+1|0;if((d|0)<J[a+72>>2]){continue}break}break g}d=J[a+72>>2];g=P(d,l-1|0)}e=1;if((d|0)<=0){break g}i=J[a+68>>2];d=0;while(1){J[i+(d<<2)>>2]=J[(d+g<<2)+c>>2];d=d+1|0;if((d|0)<J[a+72>>2]){continue}break}}ia=h+48|0;break e}Bc();C()}if(!e){break c}k:{if(J[a+8>>2]<=0){break k}h=J[a+68>>2];g=J[w>>2];d=0;while(1){e=d<<2;f=J[e+h>>2];i=J[a+16>>2];l:{if((f|0)>(i|0)){J[e+g>>2]=i;break l}e=e+g|0;i=J[a+12>>2];if((i|0)>(f|0)){J[e>>2]=i;break l}J[e>>2]=f}d=d+1|0;f=J[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<=0){break k}d=l<<3;h=d+c|0;i=b+d|0;while(1){f=e<<2;d=f+h|0;f=J[f+i>>2]+J[f+g>>2]|0;J[d>>2]=f;m:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break m}f=f+J[a+20>>2]|0}J[d>>2]=f}e=e+1|0;if((e|0)<J[a+8>>2]){continue}break}}l=l+1|0;f=(x|0)>(l|0);if((l|0)!=(B|0)){continue}break}}a=f^1}else{a=0}return a&1}Bc();C()}function qd(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=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=0,x=Q(0),y=Q(0),z=Q(0),A=0;a:{if((e|0)==2){J[a+64>>2]=f;J[a+72>>2]=2;e=Aj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;v=a+32|0;e=J[v>>2];d=J[a+36>>2]-e|0;b:{if(d>>>0<=7){Oa(v,2-(d>>>2|0)|0);break b}if((d|0)==8){break b}J[a+36>>2]=e+8}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;c:{if((d|0)<=0){f=0;break c}w=d>>2;A=(w|0)<=1?1:w;f=1;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=l>>>0){break a}q=Q(0);h=ia-48|0;ia=h;g=-1;d:{e:{d=J[d+(l<<2)>>2];if((d|0)==-1){break e}i=J[a+48>>2];e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){g=J[J[i>>2]+(e<<2)>>2]}e=-1;d=d+((d>>>0)%3|0?-1:2)|0;if((d|0)!=-1){e=J[J[i>>2]+(d<<2)>>2]}d=J[a+52>>2];i=J[d>>2];d=J[d+4>>2]-i>>2;if(d>>>0<=g>>>0|d>>>0<=e>>>0){break e}d=J[i+(g<<2)>>2];i=J[i+(e<<2)>>2];f:{if(!((i|0)>=(l|0)|(d|0)>=(l|0))){e=J[a+72>>2];g=(P(e,i)<<2)+c|0;m=Q(J[g+4>>2]);e=(P(d,e)<<2)+c|0;p=Q(J[e+4>>2]);x=Q(J[e>>2]);n=Q(J[g>>2]);if(!(x!=n|m!=p)){g=+m>2147483647;d=J[a+68>>2];if(Q(R(m))<Q(2147483648)){e=~~m}else{e=-2147483648}J[d+4>>2]=m<Q(-2147483648)?-2147483648:g?-2147483648:e;g=+n>2147483647;if(Q(R(n))<Q(2147483648)){e=~~n}else{e=-2147483648}J[d>>2]=n<Q(-2147483648)?-2147483648:g?-2147483648:e;d=1;break f}e=J[J[a+64>>2]+(l<<2)>>2];J[h+40>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;g=J[a+60>>2];if(!K[g+84|0]){e=J[J[g+68>>2]+(e<<2)>>2]}Uc(g,e,H[g+24|0],h+32|0);e=J[J[a+64>>2]+(d<<2)>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;d=J[a+60>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}Uc(d,e,H[d+24|0],h+16|0);d=J[J[a+64>>2]+(i<<2)>>2];J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){d=J[J[e+68>>2]+(d<<2)>>2]}Uc(e,d,H[e+24|0],h);o=N[h+24>>2];r=Q(N[h+8>>2]-o);s=N[h+20>>2];t=Q(N[h+4>>2]-s);z=N[h+16>>2];u=Q(N[h>>2]-z);y=Q(Q(r*r)+Q(Q(t*t)+Q(Q(u*u)+Q(0))));g:{if(J[a+88>>2]>=258){j=Q(0);if(!(y>Q(0))){break g}}j=Q(N[h+40>>2]-o);o=Q(N[h+36>>2]-s);s=Q(N[h+32>>2]-z);q=Q(Q(Q(r*j)+Q(Q(t*o)+Q(Q(u*s)+Q(0))))/y);j=Q(j-Q(r*q));r=Q(j*j);j=Q(o-Q(t*q));o=Q(j*j);j=Q(s-Q(u*q));j=Q(Y(Q(Q(r+Q(o+Q(Q(j*j)+Q(0))))/y)))}e=J[a+80>>2];if(e){d=e-1|0;g=J[J[a+76>>2]+(d>>>3&536870908)>>2];J[a+80>>2]=d;m=Q(m-p);o=Q(Q(m*q)+p);n=Q(n-x);p=Q(n*j);d=g>>>d&1;p=Q(o+(d?p:Q(-p)));j=Q(j*m);k=V(+Q(Q(Q(n*q)+x)+(d?Q(-j):j))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){d=J[a+68>>2];J[d>>2]=-2147483648;break h}d=J[a+68>>2];if(R(k)<2147483648){g=~~k}else{g=-2147483648}J[d>>2]=g}k=V(+p+.5);i=k>2147483647;if(R(k)<2147483648){g=~~k}else{g=-2147483648}J[d+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:i?-2147483648:g}d=(e|0)!=0;break f}i:{if((d|0)<(l|0)){e=J[a+72>>2];g=P(d,e);break i}if((l|0)<=0){d=1;if(J[a+72>>2]<=0){break f}g=J[a+68>>2];e=0;while(1){J[g+(e<<2)>>2]=0;e=e+1|0;if((e|0)<J[a+72>>2]){continue}break}break f}e=J[a+72>>2];g=P(e,l-1|0)}d=1;if((e|0)<=0){break f}i=J[a+68>>2];e=0;while(1){J[i+(e<<2)>>2]=J[(e+g<<2)+c>>2];e=e+1|0;if((e|0)<J[a+72>>2]){continue}break}}ia=h+48|0;break d}Bc();C()}if(!d){break c}j:{if(J[a+8>>2]<=0){break j}h=J[a+68>>2];g=J[v>>2];d=0;while(1){e=d<<2;f=J[e+h>>2];i=J[a+16>>2];k:{if((f|0)>(i|0)){J[e+g>>2]=i;break k}e=e+g|0;i=J[a+12>>2];if((i|0)>(f|0)){J[e>>2]=i;break k}J[e>>2]=f}d=d+1|0;f=J[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<=0){break j}d=l<<3;h=d+c|0;i=b+d|0;while(1){f=e<<2;d=f+h|0;f=J[f+i>>2]+J[f+g>>2]|0;J[d>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[d>>2]=f}e=e+1|0;if((e|0)<J[a+8>>2]){continue}break}}l=l+1|0;f=(w|0)>(l|0);if((l|0)!=(A|0)){continue}break}}a=f^1}else{a=0}return a&1}Bc();C()}function sb(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=ia-704|0;ia=f;n=1;a:{b:{c:{d:{if(L[b+38>>1]<515){break d}n=0;c=J[b+20>>2];i=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(i|0)&d>>>0>=M[b+8>>2]|(c|0)>(i|0)){break d}o=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;i=J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=na[J[J[a>>2]+24>>2]](a)|0;J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=P(c,20);d=Aj(c);J[f+32>>2]=d;J[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=Xi(d,0,c)+c|0,J[q+36>>2]=r}e:{if((na[J[J[a>>2]+24>>2]](a)|0)>0){while(1){c=na[J[J[a>>2]+20>>2]](a,m)|0;d=J[J[J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];db(d,i);H[d+84|0]=1;J[d+72>>2]=J[d+68>>2];c=J[d+28>>2];if(c>>>0>9){break e}f:{g:{h:{e=1<<c;if(!(e&42)){if(e&84){break f}if((c|0)!=9){break e}c=K[d+24|0];e=ab(f+48|0);g=c;c=P(c,J[3413]);bb(e,J[d+56>>2],g,6,0,c,c>>31);c=cb(Aj(96),e);J[f>>2]=c;H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];db(c,i);c=J[a+64>>2];if(c>>>0>=M[a+68>>2]){break h}d=J[f>>2];J[f>>2]=0;J[c>>2]=d;d=c+4|0;J[a+64>>2]=d;break g}h=0;if(!K[d+24|0]){break f}while(1){c=J[a+52>>2];g=J[a+56>>2];i:{if(c>>>0<g>>>0){J[c>>2]=0;J[a+52>>2]=c+4;break i}e=J[a+48>>2];l=c-e|0;k=l>>2;c=k+1|0;if(c>>>0>=1073741824){break b}p=k<<2;g=g-e|0;k=g>>1;g=g>>>0>=2147483644?1073741823:c>>>0<k>>>0?k:c;if(g){if(g>>>0>=1073741824){break a}c=Aj(g<<2)}else{c=0}k=p+c|0;J[k>>2]=0;if((l|0)>0){Vi(c,e,l)}J[a+56>>2]=c+(g<<2);J[a+52>>2]=k+4;J[a+48>>2]=c;if(!e){break i}xj(e)}h=h+1|0;if(h>>>0<K[d+24|0]){continue}break}break f}d=0;j:{k:{l:{e=J[a+60>>2];g=J[a+64>>2]-e>>2;c=g+1|0;if(c>>>0<1073741824){e=J[a+68>>2]-e|0;h=e>>1;c=e>>>0>=2147483644?1073741823:c>>>0<h>>>0?h:c;if(c){if(c>>>0>=1073741824){break l}d=Aj(c<<2)}h=J[f>>2];J[f>>2]=0;e=(g<<2)+d|0;J[e>>2]=h;g=(c<<2)+d|0;h=e+4|0;d=J[a+64>>2];c=J[a+60>>2];if((d|0)==(c|0)){break k}while(1){d=d-4|0;l=J[d>>2];J[d>>2]=0;e=e-4|0;J[e>>2]=l;if((c|0)!=(d|0)){continue}break}J[a+68>>2]=g;d=J[a+64>>2];J[a+64>>2]=h;c=J[a+60>>2];J[a+60>>2]=e;if((c|0)==(d|0)){break j}while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){tb(e)}if((c|0)!=(d|0)){continue}break}break j}La();C()}Za();C()}J[a+68>>2]=g;J[a+64>>2]=h;J[a+60>>2]=e}if(c){xj(c)}d=J[a+64>>2]}d=J[d-4>>2];c=J[f>>2];J[f>>2]=0;if(!c){break f}tb(c)}g=J[d+28>>2];c=g-1|0;if(c>>>0<=10){e=J[(c<<2)+13632>>2]}else{e=-1}c=J[f+32>>2]+P(m,20)|0;h=K[d+24|0];J[c+16>>2]=h;J[c+12>>2]=(e|0)>0?e:0;J[c+8>>2]=g;J[c+4>>2]=j;J[c>>2]=d;j=h+j|0;m=m+1|0;if((na[J[J[a>>2]+24>>2]](a)|0)>(m|0)){continue}break}}a=ub(f,f+32|0);m:{n:{o:{switch(o|0){case 0:c=xb(f+48|0,j);b=vb(c,b,a);d=J[c+8>>2];wb(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 1:c=xb(f+48|0,j);b=yb(c,b,a);d=J[c+8>>2];wb(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 2:c=Bb(f+48|0,j);b=zb(c,b,a);d=J[c+8>>2];Ab(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 3:c=Bb(f+48|0,j);b=Cb(c,b,a);d=J[c+8>>2];Ab(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 4:c=Fb(f+48|0,j);b=Db(c,b,a);d=J[c+8>>2];Eb(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 5:c=Fb(f+48|0,j);b=Gb(c,b,a);d=J[c+8>>2];Eb(c);if(!b){break m}if((d|0)==(i|0)){break n}break m;case 6:break o;default:break m}}c=Fb(f+48|0,j);b=Hb(c,b,a);d=J[c+8>>2];Eb(c);if(!b|(d|0)!=(i|0)){break m}}n=1}b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(!b){break e}J[a+4>>2]=b;xj(b)}a=J[f+32>>2];if(!a){break d}J[f+36>>2]=a;xj(a)}ia=f+704|0;return n|0}La();C()}La();C()}Za();C()}function Ed(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;e=ia-32|0;ia=e;a:{b:{switch(c-2|0){case 0:c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((na[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((na[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=na[J[J[c>>2]+36>>2]](c)|0;a=na[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=na[J[J[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=J[c+44>>2];d=Aj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7192;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7716;a=d+96|0;break d}if((b|0)!=6){break c}b=J[c+44>>2];d=Aj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=8128;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=8520;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Aj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=8908;break a;case 1:break b;default:break a}}c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((na[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((na[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=na[J[J[c>>2]+36>>2]](c)|0;a=na[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=na[J[J[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=J[c+44>>2];d=Aj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9076;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9640;a=d+96|0;break f}if((b|0)!=6){break e}b=J[c+44>>2];d=Aj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=10080;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=10500;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Aj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=10912}ia=e+32|0;return d|0}function Qa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){h=J[d+80>>2];u=ia-16|0;ia=u;q=J[a+4>>2];i=K[b+24|0];j=J[d+48>>2];d=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;N[c>>2]=Q(-1<<q^-1)/N[a+20>>2];s=Aj(i<<2);a:{if(!h|!i){break a}t=d+j|0;l=N[c>>2];k=J[a+8>>2];w=J[b>>2];c=J[b+48>>2];n=J[b+44>>2];v=J[b+40>>2];if(!K[b+84|0]){r=J[b+68>>2];q=i&254;j=i&1;a=0;while(1){d=J[w>>2];b=jk(v,n,J[r+(o<<2)>>2],0)+c|0;p=Vi(s,d+b|0,v);b=0;m=0;if((i|0)!=1){while(1){d=t+(a<<2)|0;g=b<<2;e=Q(V(Q(Q(l*Q(N[g+p>>2]-N[k+g>>2]))+Q(.5))));b:{if(Q(R(e))<Q(2147483648)){f=~~e;break b}f=-2147483648}J[d>>2]=f;f=g|4;e=Q(V(Q(Q(l*Q(N[f+p>>2]-N[f+k>>2]))+Q(.5))));c:{if(Q(R(e))<Q(2147483648)){f=~~e;break c}f=-2147483648}J[d+4>>2]=f;b=b+2|0;a=a+2|0;m=m+2|0;if((q|0)!=(m|0)){continue}break}}if(j){d=t+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(l*Q(N[b+p>>2]-N[b+k>>2]))+Q(.5))));d:{if(Q(R(e))<Q(2147483648)){b=~~e;break d}b=-2147483648}J[d>>2]=b;a=a+1|0}o=o+1|0;if((h|0)!=(o|0)){continue}break}break a}r=i&254;q=i&1;a=0;while(1){d=J[w>>2];b=jk(v,n,p,f)+c|0;o=Vi(s,d+b|0,v);b=0;m=0;if((i|0)!=1){while(1){d=t+(a<<2)|0;g=b<<2;e=Q(V(Q(Q(l*Q(N[g+o>>2]-N[k+g>>2]))+Q(.5))));e:{if(Q(R(e))<Q(2147483648)){j=~~e;break e}j=-2147483648}J[d>>2]=j;j=g|4;e=Q(V(Q(Q(l*Q(N[j+o>>2]-N[k+j>>2]))+Q(.5))));f:{if(Q(R(e))<Q(2147483648)){g=~~e;break f}g=-2147483648}J[d+4>>2]=g;b=b+2|0;a=a+2|0;m=m+2|0;if((r|0)!=(m|0)){continue}break}}if(q){d=t+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(l*Q(N[b+o>>2]-N[b+k>>2]))+Q(.5))));g:{if(Q(R(e))<Q(2147483648)){b=~~e;break g}b=-2147483648}J[d>>2]=b;a=a+1|0}b=p+1|0;f=b?f:f+1|0;p=b;if((h|0)!=(b|0)|f){continue}break}}xj(s);ia=u+16|0;return 1}u=ia-16|0;ia=u;f=J[a+4>>2];n=K[b+24|0];j=J[d+48>>2];h=J[J[d>>2]>>2];d=u+8|0;J[d>>2]=1065353216;N[d>>2]=Q(-1<<f^-1)/N[a+20>>2];t=Aj(n<<2);f=J[c+4>>2];s=J[c>>2];h:{if(!n|(f|0)==(s|0)){break h}m=j+h|0;c=f-s>>2;w=c>>>0<=1?1:c;l=N[d>>2];i=J[a+8>>2];x=J[b>>2];d=J[b+48>>2];v=J[b+44>>2];p=J[b+40>>2];if(K[b+84|0]){q=n&254;j=n&1;a=0;c=0;while(1){f=J[x>>2];b=jk(p,v,J[s+(c<<2)>>2],0)+d|0;g=Vi(t,f+b|0,p);b=0;k=0;if((n|0)!=1){while(1){f=m+(a<<2)|0;r=b<<2;e=Q(V(Q(Q(l*Q(N[r+g>>2]-N[i+r>>2]))+Q(.5))));i:{if(Q(R(e))<Q(2147483648)){h=~~e;break i}h=-2147483648}J[f>>2]=h;h=r|4;e=Q(V(Q(Q(l*Q(N[h+g>>2]-N[i+h>>2]))+Q(.5))));j:{if(Q(R(e))<Q(2147483648)){h=~~e;break j}h=-2147483648}J[f+4>>2]=h;b=b+2|0;a=a+2|0;k=k+2|0;if((q|0)!=(k|0)){continue}break}}if(j){f=m+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(l*Q(N[b+g>>2]-N[b+i>>2]))+Q(.5))));k:{if(Q(R(e))<Q(2147483648)){b=~~e;break k}b=-2147483648}J[f>>2]=b;a=a+1|0}c=c+1|0;if((w|0)!=(c|0)){continue}break}break h}r=J[b+68>>2];q=n&254;j=n&1;a=0;c=0;while(1){f=J[x>>2];b=jk(p,v,J[r+(J[s+(c<<2)>>2]<<2)>>2],0)+d|0;o=Vi(t,f+b|0,p);b=0;k=0;if((n|0)!=1){while(1){f=m+(a<<2)|0;g=b<<2;e=Q(V(Q(Q(l*Q(N[g+o>>2]-N[i+g>>2]))+Q(.5))));l:{if(Q(R(e))<Q(2147483648)){h=~~e;break l}h=-2147483648}J[f>>2]=h;h=g|4;e=Q(V(Q(Q(l*Q(N[h+o>>2]-N[i+h>>2]))+Q(.5))));m:{if(Q(R(e))<Q(2147483648)){g=~~e;break m}g=-2147483648}J[f+4>>2]=g;b=b+2|0;a=a+2|0;k=k+2|0;if((q|0)!=(k|0)){continue}break}}if(j){f=m+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(l*Q(N[b+o>>2]-N[b+i>>2]))+Q(.5))));n:{if(Q(R(e))<Q(2147483648)){b=~~e;break n}b=-2147483648}J[f>>2]=b;a=a+1|0}c=c+1|0;if((w|0)!=(c|0)){continue}break}}xj(t);ia=u+16|0;return 1}function Xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=J[a+4>>2];c=J[a>>2];e=(d-c|0)/144|0;if(e>>>0<b>>>0){c=a;e=b-e|0;f=J[a+8>>2];d=J[a+4>>2];a:{if(e>>>0<=(f-d|0)/144>>>0){b:{if(!e){break b}a=d;f=e&7;if(f){b=0;while(1){kf(a);a=a+144|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}}d=P(e,144)+d|0;if((e-1&268435455)>>>0<7){break b}while(1){kf(a);kf(a+144|0);kf(a+288|0);kf(a+432|0);kf(a+576|0);kf(a+720|0);kf(a+864|0);kf(a+1008|0);a=a+1152|0;if((d|0)!=(a|0)){continue}break}}J[c+4>>2]=d;break a}c:{d:{e:{b=J[c>>2];g=(d-b|0)/144|0;a=g+e|0;if(a>>>0<29826162){d=0;b=(f-b|0)/144|0;f=b<<1;f=b>>>0>=14913080?29826161:a>>>0<f>>>0?f:a;if(f){if(f>>>0>=29826162){break e}h=Aj(P(f,144))}b=P(g,144)+h|0;a=b;g=e&7;if(g){a=b;while(1){kf(a);a=a+144|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}g=P(e,144)+b|0;if((e-1&268435455)>>>0>=7){while(1){kf(a);kf(a+144|0);kf(a+288|0);kf(a+432|0);kf(a+576|0);kf(a+720|0);kf(a+864|0);kf(a+1008|0);a=a+1152|0;if((g|0)!=(a|0)){continue}break}}e=P(f,144)+h|0;a=J[c+4>>2];d=J[c>>2];if((a|0)==(d|0)){break d}while(1){b=b-144|0;a=a-144|0;J[b>>2]=J[a>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=J[a+12>>2];J[a+12>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[b+16>>2]=J[a+16>>2];J[b+20>>2]=J[a+20>>2];J[b+24>>2]=J[a+24>>2];J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;f=K[a+28|0];J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;H[b+28|0]=f;J[b+32>>2]=J[a+32>>2];J[b+36>>2]=J[a+36>>2];J[b+40>>2]=J[a+40>>2];J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[b+52>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+44>>2]=J[a+44>>2];J[b+48>>2]=J[a+48>>2];J[b+52>>2]=J[a+52>>2];J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;f=b- -64|0;J[f>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+56>>2]=J[a+56>>2];J[b+60>>2]=J[a+60>>2];h=f;f=a- -64|0;J[h>>2]=J[f>>2];J[f>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[b+68>>2]=J[a+68>>2];f=J[a+72>>2];J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+72>>2]=f;J[b+76>>2]=J[a+76>>2];J[b+80>>2]=J[a+80>>2];J[b+84>>2]=J[a+84>>2];J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[b+96>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+88>>2]=J[a+88>>2];J[b+92>>2]=J[a+92>>2];J[b+96>>2]=J[a+96>>2];J[a+96>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;f=K[a+100|0];J[b+112>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;H[b+100|0]=f;J[b+104>>2]=J[a+104>>2];J[b+108>>2]=J[a+108>>2];J[b+112>>2]=J[a+112>>2];J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[b+124>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+116>>2]=J[a+116>>2];J[b+120>>2]=J[a+120>>2];J[b+124>>2]=J[a+124>>2];J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;f=J[a+128>>2];J[b+140>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+128>>2]=f;J[b+132>>2]=J[a+132>>2];J[b+136>>2]=J[a+136>>2];J[b+140>>2]=J[a+140>>2];J[a+140>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;if((a|0)!=(d|0)){continue}break}J[c+8>>2]=e;a=J[c+4>>2];J[c+4>>2]=g;d=J[c>>2];J[c>>2]=b;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=J[b+132>>2];if(c){J[a-8>>2]=c;xj(c)}c=J[a-28>>2];if(c){J[a-24>>2]=c;xj(c)}c=J[a-40>>2];if(c){J[a-36>>2]=c;xj(c)}df(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}La();C()}Za();C()}J[c+8>>2]=e;J[c+4>>2]=g;J[c>>2]=b}if(d){xj(d)}}return}if(b>>>0<e>>>0){c=c+P(b,144)|0;if((c|0)!=(d|0)){while(1){b=d-144|0;e=J[b+132>>2];if(e){J[d-8>>2]=e;xj(e)}e=J[d-28>>2];if(e){J[d-24>>2]=e;xj(e)}e=J[d-40>>2];if(e){J[d-36>>2]=e;xj(e)}df(d-140|0);d=b;if((b|0)!=(c|0)){continue}break}}J[a+4>>2]=c}}function ne(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ia-80|0;ia=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;dg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]){b=Aj(32);H[b+27|0]=0;c=K[1556]|K[1557]<<8|(K[1558]<<16|K[1559]<<24);H[b+23|0]=c;H[b+24|0]=c>>>8;H[b+25|0]=c>>>16;H[b+26|0]=c>>>24;c=K[1553]|K[1554]<<8|(K[1555]<<16|K[1556]<<24);d=K[1549]|K[1550]<<8|(K[1551]<<16|K[1552]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1545]|K[1546]<<8|(K[1547]<<16|K[1548]<<24);d=K[1541]|K[1542]<<8|(K[1543]<<16|K[1544]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1537]|K[1538]<<8|(K[1539]<<16|K[1540]<<24);d=K[1533]|K[1534]<<8|(K[1535]<<16|K[1536]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ej(a+4|0,b,27);xj(b);break a}i=ia-16|0;ia=i;b:{c:{switch(H[f+32|0]){case 0:e=Aj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=cg(e);J[e>>2]=13544;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=Aj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=cg(e);J[e>>2]=13452;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Aj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Ej(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Ej(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}ia=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Ej(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;hg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}na[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){na[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}ia=f+80|0}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=J[a+32>>2];e=J[b+16>>2];d=J[b+12>>2];c=J[b+20>>2];if(M[b+8>>2]>e>>>0&(d|0)>=(c|0)|(c|0)<(d|0)){f=K[e+J[b>>2]|0];d=e+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;b=J[a+48>>2];J[a+48>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(f|0){case 0:b=Aj(384);J[b>>2]=11432;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;rg(b+232|0);rg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;rg(b+328|0);J[b+376>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;break c;case 1:b=Aj(424);J[b>>2]=11484;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;rg(b+232|0);rg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;rg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;c=b+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[b+416>>2]=-1;J[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=Aj(440);J[b>>2]=11532;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;rg(b+232|0);rg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;rg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;J[b+416>>2]=0;J[b+420>>2]=0;J[b+408>>2]=2;J[b+412>>2]=7;J[b+400>>2]=-1;J[b+404>>2]=-1;J[b+424>>2]=0;J[b+428>>2]=0;J[b+432>>2]=0;J[b+436>>2]=0}c=J[a+48>>2];J[a+48>>2]=b;if(!c){break a}na[J[J[c>>2]+4>>2]](c)}b=J[a+48>>2];if(b){break a}return 0}a=na[J[J[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function xd(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=ia-96|0;ia=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}l=J[a+20>>2];e=J[l>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[l+4>>2]-e>>2>>>0){break a}d=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];e=J[a+4>>2];if(!K[e+84|0]){d=J[J[e+68>>2]+(d<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;l=f- -64|0;J[l>>2]=0;J[l+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;_c(e,d,H[e+24|0],f+56|0);d=b+1|0;l=(d>>>0)%3|0?d:b-2|0;i=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=l;d=i;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}h=J[a+20>>2];b=J[h>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[h+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[(e<<2)+b>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;_c(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;_c(b,e,H[b+24|0],f+8|0);d=J[f+8>>2];b=J[f+56>>2];e=d-b|0;h=J[f+60>>2];j=J[f+12>>2]-(h+(b>>>0>d>>>0)|0)|0;p=J[f+40>>2];d=J[f+64>>2];s=p-d|0;t=J[f+68>>2];p=J[f+44>>2]-(t+(d>>>0>p>>>0)|0)|0;u=jk(e,j,s,p);v=o-u|0;o=g-(ma+(o>>>0<u>>>0)|0)|0;k=v;g=J[f+16>>2];u=g-d|0;t=J[f+20>>2]-((d>>>0>g>>>0)+t|0)|0;g=J[f+32>>2];v=g-b|0;h=J[f+36>>2]-((b>>>0>g>>>0)+h|0)|0;d=jk(u,t,v,h);b=k+d|0;g=ma+o|0;g=b>>>0<d>>>0?g+1|0:g;o=b;x=m;k=e;d=j;b=J[f+48>>2];m=J[f+72>>2];e=b-m|0;j=J[f+76>>2];w=J[f+52>>2]-(j+(b>>>0<m>>>0)|0)|0;k=jk(k,d,e,w);d=x+k|0;b=ma+n|0;b=d>>>0<k>>>0?b+1|0:b;n=J[f+24>>2];k=n-m|0;j=J[f+28>>2]-((m>>>0>n>>>0)+j|0)|0;n=jk(k,j,v,h);m=d-n|0;n=b-(ma+(d>>>0<n>>>0)|0)|0;b=jk(u,t,e,w);d=q-b|0;b=r-(ma+(b>>>0>q>>>0)|0)|0;r=jk(k,j,s,p);q=r+d|0;b=ma+b|0;b=q>>>0<r>>>0?b+1|0:b;r=b;yd(f+80|0);b=J[f+88>>2];if((b|0)!=-1){continue}break}b=r>>31;d=b^q;j=d-b|0;h=(b^r)-((b>>>0>d>>>0)+b|0)|0;p=-1;d=2147483647;b=n>>31;l=b^m;e=(b^n)-((b>>>0>l>>>0)+b|0)|0;b=l-b|0;s=b^-1;i=e^2147483647;k=g;e:{f:{if(!J[a+28>>2]){if((i|0)==(h|0)&j>>>0>s>>>0|i>>>0<h>>>0){break e}i=g;a=b;d=b+j|0;b=e+h|0;b=a>>>0>d>>>0?b+1|0:b;a=g>>31;h=a^o;j=h-a|0;g=d+j|0;e=(a^i)-((a>>>0>h>>>0)+a|0)|0;a=g;g=e^2147483647;g=(g|0)==(b|0)&(j^-1)>>>0<d>>>0|b>>>0>g>>>0;a=g?-1:a;if(!(g&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((i|0)==(h|0)&j>>>0>s>>>0|i>>>0<h>>>0){break g}a=b;i=b+j|0;b=e+h|0;b=a>>>0>i>>>0?b+1|0:b;a=i;h=g;e=g>>31;g=e;i=e^o;e=(e^h)-(e+(e>>>0>i>>>0)|0)|0;g=i-g|0;i=e^2147483647;if((i|0)==(b|0)&(g^-1)>>>0<a>>>0|b>>>0>i>>>0){break g}b=b+e|0;a=a+g|0;b=a>>>0<g>>>0?b+1|0:b;p=a;d=b;if(!b&a>>>0<536870913){break e}}b=d>>>29|0;a=(d&536870911)<<3|p>>>29}o=kk(o,k,a,b);m=kk(m,n,a,b);q=kk(q,r,a,b)}J[c+8>>2]=o;J[c+4>>2]=m;J[c>>2]=q;ia=f+96|0;return}Bc();C()}Bc();C()}Bc();C()}function Qi(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;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}e=d+(b<<2)|0;d=J[e>>2];i=J[d+60>>2];g=J[d+56>>2];d=e+4|0;b:{if((d|0)!=(c|0)){while(1){h=J[d>>2];J[d>>2]=0;f=J[e>>2];J[e>>2]=h;if(f){tb(f)}e=e+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}c=J[a+12>>2];if((e|0)==(c|0)){break b}}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){tb(d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e;f=J[a+4>>2];c:{if(!f|(i|0)<0){break c}c=J[f+24>>2];d=J[f+28>>2];if((c|0)==(d|0)){break c}while(1){if((i|0)==J[J[c>>2]+24>>2]){e=c+4|0;i=J[f+28>>2];d:{if((e|0)!=(i|0)){while(1){h=J[e>>2];J[e>>2]=0;d=J[c>>2];J[c>>2]=h;if(d){kg(d+12|0,J[d+16>>2]);lg(d,J[d+4>>2]);xj(d)}c=c+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}e=J[f+28>>2];if((e|0)==(c|0)){break d}}while(1){e=e-4|0;d=J[e>>2];J[e>>2]=0;if(d){kg(d+12|0,J[d+16>>2]);lg(d,J[d+4>>2]);xj(d)}if((c|0)!=(e|0)){continue}break}}J[f+28>>2]=c;break c}c=c+4|0;if((d|0)!=(c|0)){continue}break}}e:{if((g|0)>4){break e}f:{e=P(g,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break f}while(1){if(J[c>>2]==(b|0)){break f}c=c+4|0;if((d|0)!=(c|0)){continue}break}break e}if((c|0)==(d|0)){break e}f=c+4|0;i=d-f|0;if((d|0)!=(f|0)){Wi(c,f,i)}J[e+24>>2]=c+i}c=J[a+24>>2];e=J[a+20>>2];g:{if((c|0)==(e|0)){break g}d=c-e|0;c=d>>2;f=c>>>0<=1?1:c;i=f&1;c=0;if(d>>>0>=8){f=f&-2;d=0;while(1){g=c<<2;h=g+e|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}g=e+(g|4)|0;h=J[g>>2];if((h|0)>(b|0)){J[g>>2]=h-1}c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!i){break g}c=e+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+36>>2];e=J[a+32>>2];h:{if((c|0)==(e|0)){break h}d=c-e|0;c=d>>2;f=c>>>0<=1?1:c;i=f&1;c=0;if(d>>>0>=8){f=f&-2;d=0;while(1){g=c<<2;h=g+e|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}g=e+(g|4)|0;h=J[g>>2];if((h|0)>(b|0)){J[g>>2]=h-1}c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!i){break h}c=e+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+48>>2];e=J[a+44>>2];i:{if((c|0)==(e|0)){break i}d=c-e|0;c=d>>2;f=c>>>0<=1?1:c;i=f&1;c=0;if(d>>>0>=8){f=f&-2;d=0;while(1){g=c<<2;h=g+e|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}g=e+(g|4)|0;h=J[g>>2];if((h|0)>(b|0)){J[g>>2]=h-1}c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!i){break i}c=e+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break i}J[c>>2]=d-1}c=J[a+60>>2];e=J[a+56>>2];j:{if((c|0)==(e|0)){break j}d=c-e|0;c=d>>2;f=c>>>0<=1?1:c;i=f&1;c=0;if(d>>>0>=8){f=f&-2;d=0;while(1){g=c<<2;h=g+e|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}g=e+(g|4)|0;h=J[g>>2];if((h|0)>(b|0)){J[g>>2]=h-1}c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!i){break j}c=e+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break j}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;f=e&1;c=0;if(d>>>0>=8){e=e&-2;d=0;while(1){i=c<<2;g=i+a|0;h=J[g>>2];if((h|0)>(b|0)){J[g>>2]=h-1}i=a+(i|4)|0;g=J[i>>2];if((g|0)>(b|0)){J[i>>2]=g-1}c=c+2|0;d=d+2|0;if((e|0)!=(d|0)){continue}break}}if(!f){break a}d=b;a=a+(c<<2)|0;b=J[a>>2];if((d|0)>=(b|0)){break a}J[a>>2]=b-1}}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0<M[4316]){break a}a=a+b|0;if(J[4317]!=(d|0)){if(b>>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=17248,j=J[4312]&nk(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+17552|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=17252,j=J[4313]&nk(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4314]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4318]==(f|0)){J[4318]=d;a=J[4315]+a|0;J[4315]=a;J[d+4>>2]=a|1;if(J[4317]!=(d|0)){break a}J[4314]=0;J[4317]=0;return}if(J[4317]==(f|0)){J[4317]=d;a=J[4314]+a|0;J[4314]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=17248,j=J[4312]&nk(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+17552|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=17252,j=J[4313]&nk(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4317]!=(d|0)){break f}J[4314]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17288|0;c=J[4312];a=1<<(a>>>3);k:{if(!(c&a)){J[4312]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<<g;e=b+520192>>>16&4;b=b<<e;c=b+245760>>>16&2;b=(b<<c>>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+17552|0;l:{m:{c=J[4313];b=1<<e;n:{if(!(c&b)){J[4313]=b|c;J[g>>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4320]-1|0;J[4320]=a?a:-1}}function gf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0);j=J[c>>2];a:{b:{f=J[b+4>>2];if(!f){break b}g=mk(f);c:{if(g>>>0>=2){e=j;if(e>>>0>=f>>>0){e=(j>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(j|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&j;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}g=f-1|0;while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(j|0)&(g&h)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=Aj(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=j;J[c>>2]=0;n=Q(J[b+12>>2]+1>>>0);k=N[b+16>>2];d:{if(n>Q(k*Q(f>>>0))?0:f){break d}e=2;g=(f-1&f)!=0|f>>>0<3|f<<1;k=Q(W(Q(n/k)));e:{if(k<Q(4294967296)&k>=Q(0)){d=~~k>>>0;break e}d=0}d=d>>>0<g>>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=tj(d);f=J[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;k=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(k<Q(4294967296)&k>=Q(0)){d=~~k>>>0;break h}d=0}i:{j:{if(g){break j}if(mk(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=tj(d)}e=d>>>0<e>>>0?e:d;if(e>>>0>=f>>>0){break g}}f=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}e=Aj(h<<2);d=J[b>>2];J[b>>2]=e;if(d){xj(d)}J[b+4>>2]=h;e=0;if(h>>>0>=4){g=h&-4;while(1){d=e<<2;J[d+J[b>>2]>>2]=0;J[J[b>>2]+(d|4)>>2]=0;J[J[b>>2]+(d|8)>>2]=0;J[J[b>>2]+(d|12)>>2]=0;e=e+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}d=h&3;if(d){while(1){J[J[b>>2]+(e<<2)>>2]=0;e=e+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}f=J[b+8>>2];if(!f){break k}d=b+8|0;g=J[f+4>>2];e=mk(h);if(e>>>0<2){break m}g=g>>>0>=h>>>0?(g>>>0)%(h>>>0)|0:g;J[J[b>>2]+(g<<2)>>2]=d;d=J[f>>2];if(!d){break k}if(e>>>0<=1){break l}while(1){i=J[d+4>>2];if(h>>>0<=i>>>0){i=(i>>>0)%(h>>>0)|0}o:{if((g|0)==(i|0)){f=d;break o}e=d;l=i<<2;m=l+J[b>>2]|0;if(!J[m>>2]){J[m>>2]=f;f=d;g=i;break o}while(1){i=e;e=J[e>>2];if(J[d+8>>2]==J[e+8>>2]?e:0){continue}break}J[f>>2]=e;J[i>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d}d=J[f>>2];if(d){continue}break}break k}d=J[b>>2];J[b>>2]=0;if(d){xj(d)}J[b+4>>2]=0;break k}Za();C()}g=h-1&g;J[J[b>>2]+(g<<2)>>2]=d;d=J[f>>2];if(!d){break k}}l=h-1|0;while(1){h=l&J[d+4>>2];p:{if((h|0)==(g|0)){f=d;break p}e=d;i=h<<2;m=i+J[b>>2]|0;if(J[m>>2]){while(1){h=e;e=J[e>>2];if(J[d+8>>2]==J[e+8>>2]?e:0){continue}break}J[f>>2]=e;J[h>>2]=J[J[i+J[b>>2]>>2]>>2];J[J[i+J[b>>2]>>2]>>2]=d;break p}J[m>>2]=f;f=d;g=h}d=J[f>>2];if(d){continue}break}}}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&j;break d}if(f>>>0>j>>>0){e=j;break d}e=(j>>>0)%(f>>>0)|0}e=J[b>>2]+(e<<2)|0;d=J[e>>2];q:{r:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[e>>2]=d;d=J[c>>2];if(!d){break q}d=J[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0<f>>>0){break s}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break r}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;J[a+56>>2]=J[a+52>>2];J[a+44>>2]=J[a+40>>2];d=J[a+64>>2];c=J[d+24>>2];if((c|0)==J[d+28>>2]){return 1}a:{b:{c:{while(1){e=b;c=J[(j<<2)+c>>2];d:{if((c|0)==-1){break d}b=J[a+56>>2];e:{if((b|0)!=J[a+60>>2]){J[b>>2]=e;J[a+56>>2]=b+4;break e}d=J[a+52>>2];h=b-d|0;g=h>>2;b=g+1|0;if(b>>>0>=1073741824){break c}f=h>>1;f=h>>>0>=2147483644?1073741823:b>>>0<f>>>0?f:b;if(f){if(f>>>0>=1073741824){break b}b=Aj(f<<2)}else{b=0}g=b+(g<<2)|0;J[g>>2]=e;if((h|0)>0){Vi(b,d,h)}J[a+60>>2]=b+(f<<2);J[a+56>>2]=g+4;J[a+52>>2]=b;if(!d){break e}xj(d)}f:{g:{if(!(J[J[a+12>>2]+(j>>>3&536870908)>>2]>>>j&1)){break g}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)==-1|J[J[a>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}b=J[J[J[a+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break g}h=b+1|0;d=(h>>>0)%3|0?h:b-2|0;if((d|0)==-1){break g}f=J[a+64>>2];g=J[a>>2];while(1){h=d;d=-1;b=h+1|0;b=(b>>>0)%3|0?b:h-2|0;h:{if((b|0)==-1|J[g+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[f+12>>2]+(b<<2)>>2];if((b|0)==-1){break h}d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)!=(c|0)){if((d|0)==-1){break f}continue}break}return 0}h=c}J[J[a+28>>2]+(h<<2)>>2]=e;b=J[a+44>>2];i:{if((b|0)!=J[a+48>>2]){J[b>>2]=h;J[a+44>>2]=b+4;break i}c=J[a+40>>2];d=b-c|0;g=d>>2;b=g+1|0;if(b>>>0>=1073741824){break a}f=d>>1;f=d>>>0>=2147483644?1073741823:b>>>0<f>>>0?f:b;if(f){if(f>>>0>=1073741824){break b}b=Aj(f<<2)}else{b=0}g=b+(g<<2)|0;J[g>>2]=h;if((d|0)>0){Vi(b,c,d)}J[a+48>>2]=b+(f<<2);J[a+44>>2]=g+4;J[a+40>>2]=b;if(!c){break i}xj(c)}b=e+1|0;d=J[a+64>>2];j:{if((h>>>0)%3|0){c=h-1|0;break j}c=h+2|0;if((c|0)==-1){break d}}c=J[J[d+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1|(c|0)==(h|0)){break d}while(1){d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if(J[J[a>>2]+(d>>>3&536870908)>>2]>>>d&1){e=J[a+56>>2];k:{if((e|0)!=J[a+60>>2]){J[e>>2]=b;J[a+56>>2]=e+4;break k}f=J[a+52>>2];d=e-f|0;i=d>>2;e=i+1|0;if(e>>>0>=1073741824){break c}g=d>>1;g=d>>>0>=2147483644?1073741823:e>>>0<g>>>0?g:e;if(g){if(g>>>0>=1073741824){break b}e=Aj(g<<2)}else{e=0}i=e+(i<<2)|0;J[i>>2]=b;if((d|0)>0){Vi(e,f,d)}J[a+60>>2]=e+(g<<2);J[a+56>>2]=i+4;J[a+52>>2]=e;if(!f){break k}xj(f)}d=b+1|0;e=J[a+44>>2];l:{if((e|0)!=J[a+48>>2]){J[e>>2]=c;J[a+44>>2]=e+4;break l}g=J[a+40>>2];f=e-g|0;k=f>>2;e=k+1|0;if(e>>>0>=1073741824){break a}i=f>>1;i=f>>>0>=2147483644?1073741823:e>>>0<i>>>0?i:e;if(i){if(i>>>0>=1073741824){break b}e=Aj(i<<2)}else{e=0}k=e+(k<<2)|0;J[k>>2]=c;if((f|0)>0){Vi(e,g,f)}J[a+48>>2]=e+(i<<2);J[a+44>>2]=k+4;J[a+40>>2]=e;if(!g){break l}xj(g)}e=b;b=d}J[J[a+28>>2]+(c<<2)>>2]=e;d=J[a+64>>2];m:{if((c>>>0)%3|0){c=c-1|0;break m}c=c+2|0;if((c|0)==-1){break d}}c=J[J[d+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break d}if((c|0)!=(h|0)){continue}break}}j=j+1|0;c=J[d+24>>2];if(j>>>0<J[d+28>>2]-c>>2>>>0){continue}break}return 1}La();C()}Za();C()}La();C()}function id(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;n=a+32|0;h=J[n>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){Oa(n,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];p=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=Xi(Aj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+m>>2];j=J[a+16>>2];c:{if((h|0)>(j|0)){J[d+g>>2]=j;break c}d=d+g|0;j=J[a+12>>2];if((j|0)>(h|0)){J[d>>2]=j;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){i=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}i=h+J[a+20>>2]|0}J[d>>2]=i}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1){break f}f=J[J[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=J[s>>2];g=J[p>>2];k=J[j+(J[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=J[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=J[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=J[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=J[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=P(e,g);j=P(e,f);k=P(e,k);f=0;l=0;if((e|0)!=1){while(1){J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];i=f|1;J[(i<<2)+m>>2]=(J[(g+i<<2)+c>>2]+J[(j+i<<2)+c>>2]|0)-J[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!v){break i}J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+m>>2];k=J[a+16>>2];j:{if((g|0)>(k|0)){J[d+j>>2]=k;break j}d=d+j|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Bc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];i=J[a+16>>2];l:{if((g|0)>(i|0)){J[d+j>>2]=i;break l}d=d+j|0;i=J[a+12>>2];if((i|0)>(g|0)){J[d>>2]=i;break l}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;m:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(m);return 1}
function Ac(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){Oa(m,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];n=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=Xi(Aj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+l>>2];i=J[a+16>>2];c:{if((h|0)>(i|0)){J[d+g>>2]=i;break c}d=d+g|0;i=J[a+12>>2];if((i|0)>(h|0)){J[d>>2]=i;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}h=h+J[a+20>>2]|0}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1|J[J[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=J[J[J[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=J[s>>2];g=J[n+28>>2];k=J[i+(J[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=J[i+(J[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=J[i+(J[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=P(e,f);i=P(e,j);k=P(e,k);f=0;p=0;if((e|0)!=1){while(1){J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];j=f|1;J[(j<<2)+l>>2]=(J[(g+j<<2)+c>>2]+J[(i+j<<2)+c>>2]|0)-J[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!v){break g}J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+l>>2];k=J[a+16>>2];h:{if((g|0)>(k|0)){J[d+i>>2]=k;break h}d=d+i|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break h}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;i:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break i}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Bc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];j=J[a+16>>2];j:{if((g|0)>(j|0)){J[d+i>>2]=j;break j}d=d+i|0;j=J[a+12>>2];if((j|0)>(g|0)){J[d>>2]=j;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(l);return 1}function oe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ia-80|0;ia=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;dg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]!=1){b=Aj(32);H[b+20|0]=0;c=K[1483]|K[1484]<<8|(K[1485]<<16|K[1486]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1479]|K[1480]<<8|(K[1481]<<16|K[1482]<<24);d=K[1475]|K[1476]<<8|(K[1477]<<16|K[1478]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1471]|K[1472]<<8|(K[1473]<<16|K[1474]<<24);d=K[1467]|K[1468]<<8|(K[1469]<<16|K[1470]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ej(a+4|0,b,20);xj(b);break a}i=ia-16|0;ia=i;b:{c:{switch(K[f+32|0]){case 0:e=ye(Aj(48));J[e>>2]=13160;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=ye(Aj(52));J[e+48>>2]=0;J[e>>2]=11324;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Aj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Ej(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Ej(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}ia=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Ej(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;J[e+44>>2]=d;hg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}na[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){na[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}ia=f+80|0}function Wf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}c=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(c>>>3&268435452)>>2]>>>c&1)){d=J[a+48>>2];J[a+52>>2]=d;a:{if((d|0)!=J[a+56>>2]){J[d>>2]=b;J[a+52>>2]=d+4;break a}e=Aj(4);J[e>>2]=b;f=e+4|0;J[a+56>>2]=f;J[a+52>>2]=f;J[a+48>>2]=e;if(!d){break a}xj(d)}f=J[J[a+4>>2]+28>>2];d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=J[f+(e<<2)>>2];if((d|0)==-1){return 0}g=(b-P(c,3)|0?-1:2)+b|0;c=J[f+(g<<2)>>2];if((c|0)==-1){return 0}b=J[a+36>>2];f=b+(d>>>3&536870908)|0;h=J[f>>2];i=1<<d;if(!(h&i)){J[f>>2]=h|i;Hf(a+8|0,d,e);b=J[a+36>>2]}b=(c>>>3&536870908)+b|0;d=J[b>>2];e=1<<c;if(!(d&e)){J[b>>2]=d|e;Hf(a+8|0,c,g)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break c}d=(b>>>0)/3|0;e=J[a+24>>2]+(d>>>3&268435452)|0;f=J[e>>2];d=1<<d;if(f&d){break c}J[e>>2]=d|f;e=J[a+4>>2];d=J[J[e+28>>2]+(b<<2)>>2];if((d|0)==-1){return 0}while(1){c=b;d:{e:{f=J[a+36>>2]+(d>>>3&536870908)|0;g=J[f>>2];h=1<<d;if(g&h){break e}f:{b=J[J[e+40>>2]+(d<<2)>>2];g:{if((b|0)==-1){break g}i=b+1|0;b=(i>>>0)%3|0?i:b-2|0;if((b|0)==-1|J[J[e>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}b=J[J[J[e+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break f}}J[f>>2]=g|h;Hf(k,d,c);break e}J[f>>2]=g|h;Hf(k,d,c);d=b+1|0;if((((d>>>0)%3|0?d:b-2|0)|0)==-1){break e}b=-1;e=J[a+4>>2];h:{if((c|0)==-1){break h}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1|J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){break h}b=J[J[J[e+64>>2]+12>>2]+(d<<2)>>2]}d=(b>>>0)/3|0;h=1<<d;c=J[a+24>>2];i=d>>>5|0;f=J[c+(i<<2)>>2];break d}i:{j:{if((c|0)==-1){break j}d=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;e=J[a+4>>2];if(!((b|0)==-1|J[J[e>>2]+(b>>>3&536870908)>>2]>>>b&1)){d=J[J[J[e+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((c>>>0)%3|0){c=c-1|0;break l}c=c+2|0;b=-1;if((c|0)==-1){break k}}b=-1;if(J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break k}b=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2]}j=(b|0)==-1;g=j?-1:(b>>>0)/3|0;if((d|0)!=-1){c=J[a+24>>2];h=(d>>>0)/3|0;i=h>>>5|0;f=J[c+(i<<2)>>2];h=1<<h;if(!(f&h)){break i}}if(j){break j}h=1<<g;c=J[a+24>>2];i=g>>>5|0;f=J[c+(i<<2)>>2];if(!(h&f)){break d}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break b}if(j){b=d;break d}if(J[(g>>>3&536870908)+c>>2]>>>g&1){b=d;break d}c=J[a+52>>2];J[c-4>>2]=b;if((c|0)!=J[a+56>>2]){J[c>>2]=d;c=c+4|0;break c}m:{f=J[a+48>>2];e=c-f|0;c=e>>2;b=c+1|0;if(b>>>0<1073741824){g=e>>1;g=e>>>0>=2147483644?1073741823:b>>>0<g>>>0?g:b;if(g){if(g>>>0>=1073741824){break m}b=Aj(g<<2)}else{b=0}c=b+(c<<2)|0;J[c>>2]=d;c=c+4|0;if((e|0)>0){Vi(b,f,e)}J[a+56>>2]=b+(g<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!f){break b}xj(f);c=J[a+52>>2];break b}La();C()}Za();C()}J[(i<<2)+c>>2]=f|h;d=J[J[e+28>>2]+(b<<2)>>2];if((d|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function Rb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=ia-32|0;ia=f;a:{b:{c:{d:{b=J[a+16>>2];if(b>>>0>=341){J[a+16>>2]=b-341;b=J[a+4>>2];k=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];e:{if((b|0)!=J[a+12>>2]){d=b;break e}h=J[a>>2];if(h>>>0<c>>>0){g=b-c|0;e=((c-h>>2)+1|0)/-2<<2;d=e+c|0;if((b|0)!=(c|0)){Wi(d,c,g);c=J[a+4>>2]}d=d+g|0;J[a+8>>2]=d;J[a+4>>2]=c+e;break e}d=(b|0)==(h|0)?1:b-h>>1;if(d>>>0>=1073741824){break d}e=d<<2;i=Aj(e);l=e+i|0;e=i+(d&-4)|0;d=e;f:{if((b|0)==(c|0)){break f}b=b-c|0;m=b&-4;j=b-4|0;g=(j>>>2|0)+1&7;g:{if(!g){b=e;break g}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(j>>>0<28){break f}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=i;if(!h){break e}xj(h);d=J[a+8>>2]}J[d>>2]=k;J[a+8>>2]=J[a+8>>2]+4;break a}b=J[a+8>>2];d=b-J[a+4>>2]>>2;g=J[a+12>>2];c=J[a>>2];e=g-c|0;if(d>>>0<e>>2>>>0){if((b|0)!=(g|0)){n=f,o=Aj(4092),J[n+8>>2]=o;Sb(a,f+8|0);break a}n=f,o=Aj(4092),J[n+8>>2]=o;Tb(a,f+8|0);b=J[a+4>>2];k=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){d=b;break h}h=J[a>>2];if(h>>>0<c>>>0){g=b-c|0;e=((c-h>>2)+1|0)/-2<<2;d=e+c|0;if((b|0)!=(c|0)){Wi(d,c,g);c=J[a+4>>2]}d=d+g|0;J[a+8>>2]=d;J[a+4>>2]=c+e;break h}d=(b|0)==(h|0)?1:b-h>>1;if(d>>>0>=1073741824){break d}e=d<<2;i=Aj(e);l=e+i|0;e=i+(d&-4)|0;d=e;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;j=b-4|0;g=(j>>>2|0)+1&7;j:{if(!g){b=e;break j}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(j>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=i;if(!h){break h}xj(h);d=J[a+8>>2]}J[d>>2]=k;J[a+8>>2]=J[a+8>>2]+4;break a}J[f+24>>2]=a+12;b=(c|0)==(g|0)?1:e>>1;if(b>>>0>=1073741824){break d}e=b<<2;c=Aj(e);J[f+8>>2]=c;b=c+(d<<2)|0;J[f+16>>2]=b;J[f+20>>2]=c+e;J[f+12>>2]=b;n=f,o=Aj(4092),J[n+4>>2]=o;Sb(f+8|0,f+4|0);c=J[a+8>>2];if((c|0)==J[a+4>>2]){b=c;break b}while(1){c=c-4|0;Tb(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}break c}Za();C()}b=J[a+8>>2]}d=J[a>>2];J[a>>2]=J[f+8>>2];J[f+8>>2]=d;J[a+4>>2]=J[f+12>>2];J[f+12>>2]=c;J[a+8>>2]=J[f+16>>2];J[f+16>>2]=b;e=J[a+12>>2];J[a+12>>2]=J[f+20>>2];J[f+20>>2]=e;if((b|0)!=(c|0)){J[f+16>>2]=b+((c-b|0)+3&-4)}if(!d){break a}xj(d)}ia=f+32|0}function Ic(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,k=0,l=0;i=ia-32|0;ia=i;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];h=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(h|0)&d>>>0>=M[b+8>>2]|(c|0)>(h|0)){break a}h=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(h){break a}}b:{if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Kc(a+60|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+60>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+72|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+72>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+84|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+84>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+96|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+96>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;d=J[b+12>>2];h=d;c=J[b+20>>2];g=c;f=J[b+16>>2];j=f+4|0;c=j>>>0<4?c+1|0:c;k=J[b+8>>2];if(k>>>0<j>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}l=J[b>>2];d=l+f|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;c=g;g=f+8|0;c=g>>>0<8?c+1|0:c;f=g;g=c;if(f>>>0>k>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}c=j+l|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=g;if((c|0)<(d|0)){break a}J[a+16>>2]=c;J[a+12>>2]=d;b=(c>>31)-((d>>31)+(c>>>0<d>>>0)|0)|0;c=c-d|0;if(!b&c>>>0>2147483646|b){break a}e=1;b=c+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}ia=i+32|0;return e|0}function md(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,k=0,l=0;i=ia-32|0;ia=i;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];h=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(h|0)&d>>>0>=M[b+8>>2]|(c|0)>(h|0)){break a}h=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(h){break a}}b:{if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Kc(a+60|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+60>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+72|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+72>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+84|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+84>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Jc(1,i+28|0,b)){break b}d=J[i+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Kc(a+96|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!je(c,b)){break c}while(1){h=1<<e;f=le(c);g=J[a+96>>2]+(e>>>3&536870908)|0;if(f){f=h|J[g>>2]}else{f=J[g>>2]&(h^-1)}J[g>>2]=f;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;d=J[b+12>>2];h=d;c=J[b+20>>2];g=c;f=J[b+16>>2];j=f+4|0;c=j>>>0<4?c+1|0:c;k=J[b+8>>2];if(k>>>0<j>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}l=J[b>>2];d=l+f|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;c=g;g=f+8|0;c=g>>>0<8?c+1|0:c;f=g;g=c;if(f>>>0>k>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}c=j+l|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=g;if((c|0)<(d|0)){break a}J[a+16>>2]=c;J[a+12>>2]=d;b=(c>>31)-((d>>31)+(c>>>0<d>>>0)|0)|0;c=c-d|0;if(!b&c>>>0>2147483646|b){break a}e=1;b=c+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}ia=i+32|0;return e|0}function Fi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=P(b,12)+a|0;J[i+12>>2]=J[i+8>>2];j=(c|0)==-1?-1:(c>>>0)/3|0;l=1;k=c;a:{b:{c:{while(1){d:{n=e&1;if(n){if((k|0)==-1){break d}if((Gi(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;c=(c>>>0)%3|0?c:k-2|0;if((c|0)==-1){break a}e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break a}c=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break a}e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break a}j=(c>>>0)/3|0}d=J[a+56>>2]+(j>>>3&536870908)|0;g=J[d>>2];f=1<<j;e:{if(g&f){break e}e=0;while(1){J[d>>2]=g|f;d=J[i+12>>2];f:{if((d|0)!=J[i+16>>2]){J[d>>2]=j;J[i+12>>2]=d+4;break f}g=J[i+8>>2];h=d-g|0;m=h>>2;d=m+1|0;if(d>>>0>=1073741824){break c}f=h>>1;f=h>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(f){if(f>>>0>=1073741824){break b}d=Aj(f<<2)}else{d=0}m=d+(m<<2)|0;J[m>>2]=j;if((h|0)>0){Vi(d,g,h)}J[i+8>>2]=d;J[i+12>>2]=m+4;J[i+16>>2]=d+(f<<2);if(!g){break f}xj(g)}h=e+1|0;g:{h:{i:{if(!e){break i}if(h&1){if((c|0)==-1){c=-1;break g}e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;break i}k=n?c:k;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){e=c-1|0;break h}c=c+2|0}d=c;c=-1;e=d;if((d|0)==-1){break g}}c=J[J[J[a+4>>2]+12>>2]+(e<<2)>>2];d=-1;g=-1;f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)>=0){g=(f>>>0)/3|0;g=J[(J[J[a>>2]+96>>2]+P(g,12)|0)+(f-P(g,3)<<2)>>2]}j:{if((c|0)==-1){break j}f=((c>>>0)%3|0?-1:2)+c|0;if((f|0)<0){break j}d=(f>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(f-P(d,3)<<2)>>2]}if((d|0)!=(g|0)){c=-1;break g}k:{l:{e=((e>>>0)%3|0?-1:2)+e|0;if((e|0)>=0){d=(e>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}e=-1;if((c|0)!=-1){break k}c=-1;break g}e=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(e-P(d,3)<<2)>>2]}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)>=0){g=(d>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(g,12)|0)+(d-P(g,3)<<2)>>2]}else{d=-1}if((d|0)!=(e|0)){c=-1;break g}e=h;j=(c>>>0)/3|0;d=J[a+56>>2]+(j>>>3&268435452)|0;g=J[d>>2];f=1<<j;if(!(g&f)){continue}}break}if(!n|!(h&1)){break e}e=J[i+12>>2]-4|0;d=J[e>>2];h=J[a+56>>2]+(d>>>3&536870908)|0;g=J[h>>2];o=h,p=nk(d)&g,J[o>>2]=p;J[i+12>>2]=e}e=1;d=l;l=0;if(d){continue}break a}break}k=-1;Gi(a,-1);break a}La();C()}Za();C()}J[((b<<2)+a|0)+44>>2]=k;c=J[i+12>>2];b=J[i+8>>2];m:{if((c|0)==(b|0)){break m}e=c-b|0;c=e>>2;d=c>>>0<=1?1:c;k=d&1;a=J[a+56>>2];c=0;if(e>>>0>=8){e=d&-2;j=0;while(1){d=c<<2;h=J[d+b>>2];l=a+(h>>>3&536870908)|0;i=J[l>>2];o=l,p=nk(h)&i,J[o>>2]=p;d=J[b+(d|4)>>2];h=a+(d>>>3&536870908)|0;l=J[h>>2];o=h,p=nk(d)&l,J[o>>2]=p;c=c+2|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}}if(!k){break m}b=J[b+(c<<2)>>2];a=a+(b>>>3&536870908)|0;c=J[a>>2];o=a,p=nk(b)&c,J[o>>2]=p}}function Qf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}d=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(d>>>3&268435452)>>2]>>>d&1)){c=J[a+48>>2];J[a+52>>2]=c;a:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break a}e=Aj(4);J[e>>2]=b;f=e+4|0;J[a+56>>2]=f;J[a+52>>2]=f;J[a+48>>2]=e;if(!c){break a}xj(c)}e=-1;f=J[a+4>>2];c=b+1|0;g=(c>>>0)%3|0?c:b-2|0;if((g|0)!=-1){e=J[J[f>>2]+(g<<2)>>2]}b:{h=b-P(d,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}d=J[J[f>>2]+(c<<2)>>2];if((d|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;i=J[f>>2];j=1<<e;if(!(i&j)){J[f>>2]=i|j;Hf(a+8|0,e,g);c=J[a+36>>2]}c=(d>>>3&536870908)+c|0;e=J[c>>2];f=1<<d;if(!(e&f)){J[c>>2]=e|f;Hf(a+8|0,d,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;e=J[a+24>>2]+(d>>>3&268435452)|0;f=J[e>>2];d=1<<d;if(f&d){break d}J[e>>2]=d|f;while(1){d=J[a+4>>2];c=J[J[d>>2]+(b<<2)>>2];if((c|0)==-1){return 0}e:{f:{e=J[a+36>>2]+(c>>>3&536870908)|0;f=J[e>>2];g=1<<c;if(f&g){break f}g:{h=J[J[d+24>>2]+(c<<2)>>2];h:{if((h|0)==-1){break h}i=h+1|0;h=(i>>>0)%3|0?i:h-2|0;if((h|0)==-1){break h}d=J[J[d+12>>2]+(h<<2)>>2];if((d|0)!=-1){break g}}J[e>>2]=f|g;Hf(j,c,b);break f}J[e>>2]=f|g;Hf(j,c,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}d=b-2|0;c=b+1|0;b=-1;c=(c>>>0)%3|0?c:d;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;g=1<<c;e=J[a+24>>2];h=c>>>5|0;d=J[e+(h<<2)>>2];break e}c=-1;f=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[f+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[f+12>>2]+(e<<2)>>2]}i=(b|0)==-1;f=i?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];g=(c>>>0)/3|0;h=g>>>5|0;d=J[e+(h<<2)>>2];g=1<<g;if(!(d&g)){break k}}if(!i){g=1<<f;e=J[a+24>>2];h=f>>>5|0;d=J[e+(h<<2)>>2];if(!(g&d)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(i){b=c;break e}if(J[(f>>>3&536870908)+e>>2]>>>f&1){b=c;break e}d=J[a+52>>2];J[d-4>>2]=b;if((d|0)!=J[a+56>>2]){J[d>>2]=c;c=d+4|0;break d}l:{e=J[a+48>>2];d=d-e|0;g=d>>2;b=g+1|0;if(b>>>0<1073741824){f=d>>1;f=d>>>0>=2147483644?1073741823:b>>>0<f>>>0?f:b;if(f){if(f>>>0>=1073741824){break l}b=Aj(f<<2)}else{b=0}g=b+(g<<2)|0;J[g>>2]=c;c=g+4|0;if((d|0)>0){Vi(b,e,d)}J[a+56>>2]=b+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!e){break c}xj(e);c=J[a+52>>2];break c}La();C()}Za();C()}J[(h<<2)+e>>2]=d|g;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function wd(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,k=0,l=0,m=0,n=0,o=0;g=ia-32|0;ia=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=k>>>0){break a}xd(m,J[d+(k<<2)>>2],g+16|0);e=J[g+20>>2];d=e>>31;f=J[g+16>>2];h=f>>31;j=J[g+24>>2];i=j>>31;i=(i^j)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+16>>2]=J[a+108>>2];break b}i=J[a+108>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+16>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=f>>31;d=e+((d^f)-d|0)|0;if((j|0)>=0){J[g+24>>2]=i-d;break b}J[g+24>>2]=d-i}d=le(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+108>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+108>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}h=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];j=J[a+16>>2];k:{if((e|0)>(j|0)){J[d+h>>2]=j;break k}d=d+h|0;j=J[a+12>>2];if((j|0)>(e|0)){J[d>>2]=j;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=k<<3;j=e+c|0;i=b+e|0;while(1){f=d<<2;e=f+j|0;f=J[f+i>>2]+J[f+h>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}k=k+1|0;if((n|0)!=(k|0)){continue}break}}ia=g+32|0;return 1}Bc();C()}function fd(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,k=0,l=0,m=0,n=0,o=0;g=ia-32|0;ia=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=k>>>0){break a}gd(m,J[d+(k<<2)>>2],g+16|0);e=J[g+20>>2];d=e>>31;f=J[g+16>>2];h=f>>31;j=J[g+24>>2];i=j>>31;i=(i^j)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+16>>2]=J[a+108>>2];break b}i=J[a+108>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+16>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=f>>31;d=e+((d^f)-d|0)|0;if((j|0)>=0){J[g+24>>2]=i-d;break b}J[g+24>>2]=d-i}d=le(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+108>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+108>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}h=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];j=J[a+16>>2];k:{if((e|0)>(j|0)){J[d+h>>2]=j;break k}d=d+h|0;j=J[a+12>>2];if((j|0)>(e|0)){J[d>>2]=j;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=k<<3;j=e+c|0;i=b+e|0;while(1){f=d<<2;e=f+j|0;f=J[f+i>>2]+J[f+h>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}k=k+1|0;if((n|0)!=(k|0)){continue}break}}ia=g+32|0;return 1}Bc();C()}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=na[J[J[a>>2]+44>>2]](a)|0;a:{if((l|0)<=0){break a}h=J[b+4>>2]-J[b>>2]>>2;e=ia+-64|0;ia=e;d=ab(e);f=P(J[3412],l);bb(d,J[J[a+8>>2]+56>>2],l&255,5,0,f,f>>31);d=cb(Aj(96),d);H[d+84|0]=1;J[d+72>>2]=J[d+68>>2];db(d,h);J[d+60>>2]=J[J[a+8>>2]+60>>2];f=J[a+16>>2];J[a+16>>2]=d;if(f){tb(f)}ia=e- -64|0;d=J[a+16>>2];if(!J[d+80>>2]){break a}j=J[J[d>>2]>>2];if(!j){break a}i=J[c+12>>2];g=i;e=J[c+20>>2];k=J[c+8>>2];f=J[c+16>>2];if((g|0)<=(e|0)&k>>>0<=f>>>0|(e|0)>(g|0)){break a}h=P(h,l);j=j+J[d+48>>2]|0;m=J[c>>2];n=K[m+f|0];d=e;g=f+1|0;d=g?d:d+1|0;J[c+16>>2]=g;J[c+20>>2]=d;b:{c:{if(n){if(re(h,l,c,j)){break c}break a}if((d|0)>=(i|0)&g>>>0>=k>>>0|(d|0)>(i|0)){break a}d=K[g+m|0];f=f+2|0;e=f>>>0<2?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;e=J[J[a+16>>2]+64>>2];e=J[e+4>>2]-J[e>>2]|0;if((d|0)==J[3412]){d=h<<2;if(d>>>0>e>>>0){break a}f=J[c+12>>2];e=J[c+20>>2];i=J[c+16>>2];g=d+i|0;e=g>>>0<d>>>0?e+1|0:e;if(g>>>0>M[c+8>>2]&(e|0)>=(f|0)|(e|0)>(f|0)){break a}Vi(j,i+J[c>>2]|0,d);e=d;f=d+J[c+16>>2]|0;d=J[c+20>>2];J[c+16>>2]=f;J[c+20>>2]=e>>>0>f>>>0?d+1|0:d;break c}if(e>>>0<P(d,h)>>>0){break a}e=J[c+8>>2];i=J[c+16>>2];f=i;g=e-f|0;f=e>>>0<f>>>0;e=J[c+20>>2];f=J[c+12>>2]-(f+e|0)|0;k=jk(d,0,h,0)>>>0>g>>>0;g=ma;if(k&(g|0)>=(f|0)|(f|0)<(g|0)){break a}f=1;if(!h){break b}g=0;while(1){m=d+i|0;k=J[c+12>>2];e=d>>>0>m>>>0?e+1|0:e;if(m>>>0>M[c+8>>2]&(k|0)<=(e|0)|(e|0)>(k|0)){return 0}Vi(j+(g<<2)|0,i+J[c>>2]|0,d);e=J[c+20>>2];i=d+J[c+16>>2]|0;e=i>>>0<d>>>0?e+1|0:e;J[c+16>>2]=i;J[c+20>>2]=e;g=g+1|0;if((h|0)!=(g|0)){continue}break}}f=1;if(!h){break b}d=J[a+20>>2];if(d){f=0;if(na[J[J[d>>2]+32>>2]](d)|0){break b}}d=0;g=0;d:{if((h|0)<=0){break d}if((h|0)!=1){i=h&-2;while(1){e=d<<2;f=J[e+j>>2];J[e+j>>2]=0-(f&1)^f>>>1;f=e|4;e=J[f+j>>2];J[f+j>>2]=0-(e&1)^e>>>1;d=d+2|0;g=g+2|0;if((i|0)!=(g|0)){continue}break}}if(!(h&1)){break d}e=d<<2;d=J[e+j>>2];J[e+j>>2]=0-(d&1)^d>>>1}f=0}d=J[a+20>>2];e:{if(!d){break e}if(!(na[J[J[d>>2]+40>>2]](d,c)|0)){break a}if(f){break e}a=J[a+20>>2];if(!(na[J[J[a>>2]+44>>2]](a,j,j,h,l,J[b>>2])|0)){break a}}o=1}return o|0}function Mc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=ia-32|0;ia=g;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=Aj(b<<2);J[g+24>>2]=b;J[g+20>>2]=0;J[g+16>>2]=c;b=J[a>>2];J[g+12>>2]=0;J[g+8>>2]=b;c=J[a+4>>2];J[g+4>>2]=c&31;J[g>>2]=b+(c>>>3&536870908);f=ia-32|0;ia=f;i=J[g+4>>2];e=J[g+12>>2];j=J[g>>2];h=J[g+8>>2];b=(i-e|0)+(j-h<<3)|0;d=J[g+20>>2];c=b+d|0;J[g+20>>2]=c;if(!((c-1^d-1)>>>0<32?d:0)){J[J[g+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[g+16>>2]+(d>>>3&536870908)|0;d=d&31;c:{if((d|0)==(e|0)){if((b|0)<=0){break c}if(e){i=32-e|0;d=(b|0)<(i|0)?b:i;i=-1<<e&-1>>>i-d;J[c>>2]=J[c>>2]&(i^-1)|i&J[h>>2];b=b-d|0;h=h+4|0;c=c+(d+e>>>3&536870908)|0}j=c;e=(b|0)/32|0;c=e<<2;d=Wi(j,h,c);b=b-(e<<5)|0;if((b|0)<=0){break c}e=c+d|0;b=-1>>>32-b|0;J[e>>2]=J[e>>2]&(b^-1)|b&J[c+h>>2];break c}J[f+28>>2]=e;J[f+24>>2]=h;J[f+20>>2]=i;J[f+16>>2]=j;J[f+12>>2]=d;J[f+8>>2]=c;b=J[f+28>>2];c=J[f+24>>2];h=(J[f+20>>2]-b|0)+(J[f+16>>2]-c<<3)|0;d:{if((h|0)<=0){b=J[f+12>>2];break d}e:{if(!b){b=J[f+12>>2];break e}e=J[f+12>>2];j=32-e|0;k=32-b|0;d=(h|0)<(k|0)?h:k;i=d>>>0>j>>>0?j:d;l=J[f+8>>2];m=J[l>>2]&(-1<<e&-1>>>j-i^-1);j=J[c>>2]&(-1<<b&-1>>>k-d);J[l>>2]=m|(b>>>0<e>>>0?j<<e-b:j>>>b-e|0);c=e+i|0;b=c&31;J[f+12>>2]=b;e=l+(c>>>3&536870908)|0;J[f+8>>2]=e;c=d-i|0;if((c|0)>0){J[e>>2]=J[e>>2]&(-1>>>32-c^-1)|j>>>i+J[f+28>>2];J[f+12>>2]=c;b=c}h=h-d|0;c=J[f+24>>2]+4|0;J[f+24>>2]=c}i=-1<<b;e=32-b|0;if((h|0)>=32){j=i^-1;while(1){d=J[f+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<<b;J[f+8>>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>e;c=J[f+24>>2]+4|0;J[f+24>>2]=c;d=h>>>0>63;h=h-32|0;if(d){continue}break}}if((h|0)<=0){break d}d=J[f+8>>2];j=e;e=(e|0)<(h|0)?e:h;j=J[d>>2]&(i&-1>>>j-e^-1);i=J[c>>2]&-1>>>32-h;J[d>>2]=j|i<<b;c=b+e|0;b=c&31;J[f+12>>2]=b;d=d+(c>>>3&536870908)|0;J[f+8>>2]=d;c=h-e|0;if((c|0)<=0){break d}J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|i>>>e;J[f+12>>2]=c;b=c}c=J[f+8>>2];J[f+4>>2]=b;J[f>>2]=c}ia=f+32|0;b=J[a>>2];J[a>>2]=J[g+16>>2];J[g+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[g+20>>2];J[g+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[g+24>>2];J[g+24>>2]=c;if(!b){break b}xj(b)}ia=g+32|0;return}La();C()}function hb(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=ia-80|0;ia=i;a:{b:{if(K[J[a+28>>2]+36|0]<=1){d=J[b+20>>2];c=J[b+16>>2];e=c+4|0;d=e>>>0<4?d+1|0:d;f=J[b+12>>2];if((f|0)<=(d|0)&e>>>0>M[b+8>>2]|(d|0)>(f|0)){break a}c=c+J[b>>2]|0;j=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;break b}if(!ib(1,i+76|0,b)){break a}j=J[i+76>>2]}if(!j){break a}d=J[b+8>>2];c=J[b+16>>2];d=jk(d-c|0,J[b+12>>2]-(J[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=ma;if(d>>>0<j>>>0&(c|0)<=0|(c|0)<0){break a}c=J[a+4>>2];d=J[a+8>>2]-c>>2;c:{if(d>>>0<j>>>0){Oa(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}J[a+8>>2]=c+(j<<2)}q=a+16|0;l=J[a+32>>2];g=1;while(1){d:{h=J[b+12>>2];c=h;d=J[b+20>>2];n=J[b+8>>2];k=J[b+16>>2];if((c|0)<=(d|0)&n>>>0<=k>>>0|(c|0)<(d|0)){break d}o=J[b>>2];r=K[o+k|0];c=d;e=k+1|0;c=e?c:c+1|0;J[b+16>>2]=e;J[b+20>>2]=c;if((c|0)>=(h|0)&e>>>0>=n>>>0|(c|0)>(h|0)){break d}e=K[e+o|0];c=d;f=k+2|0;c=f>>>0<2?c+1|0:c;J[b+16>>2]=f;J[b+20>>2]=c;if((c|0)>=(h|0)&f>>>0>=n>>>0|(c|0)>(h|0)){break d}f=K[f+o|0];c=d;p=k+3|0;c=p>>>0<3?c+1|0:c;J[b+16>>2]=p;J[b+20>>2]=c;if((c|0)>=(h|0)&p>>>0>=n>>>0|(c|0)>(h|0)){break d}h=K[p+o|0];c=d;d=k+4|0;c=d>>>0<4?c+1|0:c;J[b+16>>2]=d;J[b+20>>2]=c;if(!f|((e-12&255)>>>0<245|r>>>0>4)){break d}k=ab(i+8|0);h=(h|0)!=0;d=e-1|0;if(d>>>0<=10){c=J[(d<<2)+13632>>2]}else{c=-1}d=P(c,f);bb(k,r,f,e,h,d,d>>31);d=L[J[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=J[b+20>>2];d=J[b+16>>2];e=d+2|0;c=e>>>0<2?c+1|0:c;f=J[b+12>>2];if((f|0)<=(c|0)&e>>>0>M[b+8>>2]|(c|0)>(f|0)){break d}d=d+J[b>>2]|0;g=K[d|0]|K[d+1|0]<<8;J[b+16>>2]=e;J[b+20>>2]=c;break e}if(!ib(1,i+4|0,b)){break d}g=J[i+4>>2]}J[i+68>>2]=g;d=cb(Aj(96),k);na[J[J[l>>2]+8>>2]](l,J[l+12>>2]-J[l+8>>2]>>2,d);d=(J[l+12>>2]-J[l+8>>2]>>2)-1|0;e=d<<2;J[J[e+J[l+8>>2]>>2]+60>>2]=g;J[J[a+4>>2]+(m<<2)>>2]=d;g=J[a+16>>2];c=J[a+20>>2]-g>>2;f:{if((c|0)>(d|0)){break f}J[i>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){jb(q,d-c|0,i);g=J[q>>2];break f}if(c>>>0<=d>>>0){break f}J[a+20>>2]=(d<<2)+g}J[e+g>>2]=m;m=m+1|0;g=m>>>0<j>>>0;if((j|0)!=(m|0)){continue}}break}m=!g}ia=i+80|0;return m&1}function se(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=L[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){d=J[b+12>>2];c=J[b+20>>2];e=J[b+16>>2];g=e+4|0;c=g>>>0<4?c+1|0:c;if(g>>>0>M[b+8>>2]&(c|0)>=(d|0)|(c|0)>(d|0)){break a}c=e+J[b>>2]|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[a+12>>2]=f;c=J[b+20>>2];d=J[b+16>>2]+4|0;c=d>>>0<4?c+1|0:c;e=d;J[b+16>>2]=d;J[b+20>>2]=c;break b}if(!ve(1,a+12|0,b)){break a}e=J[b+16>>2];c=J[b+20>>2];f=J[a+12>>2]}d=J[b+8>>2];g=d-e|0;c=J[b+12>>2]-(c+(d>>>0<e>>>0)|0)|0;if(g>>>0<f>>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=J[a>>2];c=J[a+4>>2]-d>>2;c:{if(c>>>0<f>>>0){Oa(a,f-c|0);f=J[a+12>>2];break c}if(c>>>0<=f>>>0){break c}J[a+4>>2]=d+(f<<2)}if(!f){return 1}e=J[b+16>>2];c=J[b+20>>2];k=J[a>>2];l=J[b+8>>2];j=J[b+12>>2];g=0;while(1){if((c|0)>=(j|0)&e>>>0>=l>>>0|(c|0)>(j|0)){return 0}m=J[b>>2];i=K[m+e|0];d=e+1|0;c=d?c:c+1|0;e=d;J[b+16>>2]=d;J[b+20>>2]=c;d=i>>>2|0;h=0;d:{e:{f:{g:{n=i&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}d=d+g|0;if(d>>>0>=f>>>0){return 0}Xi(k+(g<<2)|0,0,(i&252)+4|0);g=d;break d}while(1){if((c|0)>=(j|0)&e>>>0>=l>>>0|(c|0)>(j|0)){break a}f=K[e+m|0];e=e+1|0;c=e?c:c+1|0;J[b+16>>2]=e;J[b+20>>2]=c;d=f<<(h<<3|6)|d;h=h+1|0;if((n|0)!=(h|0)){continue}break}}J[k+(g<<2)>>2]=d}f=J[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;j=J[a>>2];d=J[a+16>>2];c=J[a+20>>2]-d|0;h:{if(c>>>0<=16383){Oa(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}J[a+20>>2]=d+16384}c=a+28|0;g=J[c>>2];d=J[a+32>>2]-g>>3;i:{if(d>>>0<f>>>0){we(c,f-d|0);g=J[c>>2];break i}if(d>>>0>f>>>0){J[a+32>>2]=(f<<3)+g}if(!f){break a}}e=J[b>>2];b=0;a=0;while(1){c=j+(b<<2)|0;h=J[c>>2];d=a;i=(b<<3)+g|0;J[i+4>>2]=d;J[i>>2]=h;c=J[c>>2];a=c+d|0;if(a>>>0>4096){break a}j:{if(a>>>0<=d>>>0){break j}h=0;i=c&7;if(i){while(1){J[e+(d<<2)>>2]=b;d=d+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=e+(d<<2)|0;J[c>>2]=b;J[c+28>>2]=b;J[c+24>>2]=b;J[c+20>>2]=b;J[c+16>>2]=b;J[c+12>>2]=b;J[c+8>>2]=b;J[c+4>>2]=b;d=d+8|0;if((d|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function rj(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;b=J[b>>2]+7&-8;J[d>>2]=b+16;o=a;a=b;k=J[a>>2];b=J[a+4>>2];e=J[a+12>>2];m=e;g=ia-32|0;ia=g;e=e&2147483647;c=e-1006698496|0;f=e-1140785152|0;d=J[a+8>>2];a:{if((c|0)==(f|0)&d>>>0<d>>>0|c>>>0<f>>>0){a=d;d=m<<4|a>>>28;c=a<<4|b>>>28;e=d;a=b&268435455;b=a;if((a|0)==134217728&(k|0)!=0|a>>>0>134217728){a=e+1073741824|0;b=c+1|0;a=b?a:a+1|0;c=b;break a}a=e+1073741824|0;if(k|(b|0)!=134217728){break a}b=c&1;e=b+c|0;c=e;a=b>>>0>c>>>0?a+1|0:a;break a}if(!(!d&(e|0)==2147418112?!(b|k):e>>>0<2147418112)){a=d;d=m<<4|a>>>28;c=a<<4|b>>>28;a=d&524287|2146959360;break a}c=0;a=2146435072;if(e>>>0>1140785151){break a}a=0;n=e>>>16|0;if(n>>>0<15249){break a}c=k;a=b;f=m&65535|65536;e=f;l=d;h=d;j=n-15233|0;b:{if(j&64){f=c;d=j+-64|0;c=d&31;if((d&63)>>>0>=32){a=f<<c;h=0}else{a=(1<<c)-1&f>>>32-c|a<<c;h=f<<c}f=a;c=0;a=0;break b}if(!j){break b}d=j;i=d&31;if((d&63)>>>0>=32){d=h<<i;h=0}else{d=(1<<i)-1&h>>>32-i|f<<i;h=h<<i}f=d;p=h;h=c;d=64-j|0;i=d&31;if((d&63)>>>0>=32){d=0;h=a>>>i|0}else{d=a>>>i|0;h=((1<<i)-1&a)<<32-i|h>>>i}h=p|h;f=d|f;i=j&31;if((j&63)>>>0>=32){d=c<<i;c=0}else{d=(1<<i)-1&c>>>32-i|a<<i;c=c<<i}a=d}J[g+16>>2]=c;J[g+20>>2]=a;J[g+24>>2]=h;J[g+28>>2]=f;d=15361-n|0;c:{if(d&64){b=l;a=d+-64|0;f=a&31;if((a&63)>>>0>=32){d=0;k=e>>>f|0}else{d=e>>>f|0;k=((1<<f)-1&e)<<32-f|b>>>f}b=d;l=0;e=0;break c}if(!d){break c}f=l;a=64-d|0;c=a&31;if((a&63)>>>0>=32){a=f<<c;c=0}else{a=(1<<c)-1&f>>>32-c|e<<c;c=f<<c}f=a;h=c;c=k;a=d;j=a&31;if((a&63)>>>0>=32){d=0;b=b>>>j|0}else{d=b>>>j|0;b=((1<<j)-1&b)<<32-j|c>>>j}k=h|b;b=d|f;d=l;f=a&31;if((a&63)>>>0>=32){a=0;l=e>>>f|0}else{a=e>>>f|0;l=((1<<f)-1&e)<<32-f|d>>>f}e=a}J[g>>2]=k;J[g+4>>2]=b;J[g+8>>2]=l;J[g+12>>2]=e;b=J[g+8>>2];e=J[g+4>>2];c=b<<4|e>>>28;a=J[g+12>>2]<<4|b>>>28;e=e&268435455;b=J[g>>2]|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((e|0)==134217728&(b|0)!=0|e>>>0>134217728){b=c+1|0;a=b?a:a+1|0;c=b;break a}if(b|(e|0)!=134217728){break a}b=c+(c&1)|0;a=b>>>0<c>>>0?a+1|0:a;c=b}ia=g+32|0;x(0,c|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Zd(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,k=0,l=0,m=0,n=0,o=0,p=0;g=ia-48|0;ia=g;d=J[a+8>>2];if(d-31>>>0>=4294967267){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}xd(n,J[d+(j<<2)>>2],g+8|0);e=J[g+12>>2];d=e>>31;f=J[g+8>>2];h=f>>31;k=J[g+16>>2];i=k>>31;i=(i^k)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+8>>2]=J[a+92>>2];break b}i=J[a+92>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+8>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=f>>31;d=e+((d^f)-d|0)|0;if((k|0)>=0){J[g+16>>2]=i-d;break b}J[g+16>>2]=d-i}d=le(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;k=J[h+4>>2];h=J[h>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=h;J[g+28>>2]=k;Vd(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ia=g+48|0;return 1}Bc();C()}function Ud(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,k=0,l=0,m=0,n=0,o=0,p=0;g=ia-48|0;ia=g;d=J[a+8>>2];if(d-31>>>0>=4294967267){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}gd(n,J[d+(j<<2)>>2],g+8|0);e=J[g+12>>2];d=e>>31;f=J[g+8>>2];h=f>>31;k=J[g+16>>2];i=k>>31;i=(i^k)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+8>>2]=J[a+92>>2];break b}i=J[a+92>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+8>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=f>>31;d=e+((d^f)-d|0)|0;if((k|0)>=0){J[g+16>>2]=i-d;break b}J[g+16>>2]=d-i}d=le(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;k=J[h+4>>2];h=J[h>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=h;J[g+28>>2]=k;Vd(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ia=g+48|0;return 1}Bc();C()}function Pd(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,k=0,l=0,m=0,n=0,o=0,p=0;g=ia-48|0;ia=g;d=J[a+8>>2];if(d-31>>>0>=4294967267){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}xd(n,J[d+(j<<2)>>2],g+8|0);e=J[g+12>>2];d=e>>31;f=J[g+8>>2];h=f>>31;k=J[g+16>>2];i=k>>31;i=(i^k)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+8>>2]=J[a+92>>2];break b}i=J[a+92>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+8>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=f>>31;d=e+((d^f)-d|0)|0;if((k|0)>=0){J[g+16>>2]=i-d;break b}J[g+16>>2]=d-i}d=le(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;k=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=k;J[g+28>>2]=d;J[g+24>>2]=f;Ld(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ia=g+48|0;return 1}Bc();C()}function Kd(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,k=0,l=0,m=0,n=0,o=0,p=0;g=ia-48|0;ia=g;d=J[a+8>>2];if(d-31>>>0>=4294967267){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}gd(n,J[d+(j<<2)>>2],g+8|0);e=J[g+12>>2];d=e>>31;f=J[g+8>>2];h=f>>31;k=J[g+16>>2];i=k>>31;i=(i^k)-i|0;h=i+((d^e)-d+((f^h)-h)|0)|0;d=0;d=h>>>0<i>>>0?1:d;b:{if(!(d|h)){J[g+8>>2]=J[a+92>>2];break b}i=J[a+92>>2];l=i>>31;f=kk(jk(i,l,f,f>>31),ma,h,d);J[g+8>>2]=f;d=kk(jk(i,l,e,e>>31),ma,h,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=f>>31;d=e+((d^f)-d|0)|0;if((k|0)>=0){J[g+16>>2]=i-d;break b}J[g+16>>2]=d-i}d=le(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;k=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=k;J[g+28>>2]=d;J[g+24>>2]=f;Ld(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ia=g+48|0;return 1}Bc();C()}function Ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ia-16|0;ia=f;c=J[a+4>>2];J[a+40>>2]=J[a>>2];J[a+44>>2]=c;c=J[a+36>>2];J[a+72>>2]=J[a+32>>2];J[a+76>>2]=c;d=J[a+28>>2];c=a- -64|0;J[c>>2]=J[a+24>>2];J[c+4>>2]=d;c=J[a+20>>2];J[a+56>>2]=J[a+16>>2];J[a+60>>2]=c;c=J[a+12>>2];J[a+48>>2]=J[a+8>>2];J[a+52>>2]=c;a:{b:{if(sg(a+40|0,1,f+8|0)){c=J[a+44>>2];J[a>>2]=J[a+40>>2];J[a+4>>2]=c;c=J[a+76>>2];J[a+32>>2]=J[a+72>>2];J[a+36>>2]=c;c=J[a+68>>2];J[a+24>>2]=J[a+64>>2];J[a+28>>2]=c;d=J[a+60>>2];h=d;c=J[a+56>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+52>>2];d=J[a+48>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=c+d|0;c=h+g|0;J[a+16>>2]=e;J[a+20>>2]=d>>>0>e>>>0?c+1|0:c;c:{if(L[a+38>>1]<=513){c=J[a+4>>2];J[a+96>>2]=J[a>>2];J[a+100>>2]=c;c=J[a+36>>2];J[a+128>>2]=J[a+32>>2];J[a+132>>2]=c;c=J[a+28>>2];J[a+120>>2]=J[a+24>>2];J[a+124>>2]=c;c=J[a+20>>2];J[a+112>>2]=J[a+16>>2];J[a+116>>2]=c;c=J[a+12>>2];J[a+104>>2]=J[a+8>>2];J[a+108>>2]=c;d:{if(sg(a+96|0,1,f+8|0)){c=J[a+100>>2];J[a>>2]=J[a+96>>2];J[a+4>>2]=c;c=J[a+132>>2];J[a+32>>2]=J[a+128>>2];J[a+36>>2]=c;c=J[a+124>>2];J[a+24>>2]=J[a+120>>2];J[a+28>>2]=c;d=J[a+116>>2];h=d;c=J[a+112>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+108>>2];d=J[a+104>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=c+d|0;c=h+g|0;J[a+16>>2]=e;J[a+20>>2]=d>>>0>e>>>0?c+1|0:c;break c}c=0;if(!je(a+80|0,a)){break a}}c=0;if(!ef(a)){break a}c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;c=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=c;c=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=c;c=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=c;c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=1}ia=f+16|0;return c}function Zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=ia-32|0;ia=f;e=f+8|0;c=ia-80|0;ia=c;a=J[b+36>>2];J[c+72>>2]=J[b+32>>2];J[c+76>>2]=a;d=J[b+28>>2];a=c- -64|0;J[a>>2]=J[b+24>>2];J[a+4>>2]=d;a=J[b+20>>2];J[c+56>>2]=J[b+16>>2];J[c+60>>2]=a;a=J[b+12>>2];J[c+48>>2]=J[b+8>>2];J[c+52>>2]=a;a=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=a;dg(c+8|0,c+40|0,c+24|0);a=J[c+8>>2];a:{if(a){J[e>>2]=a;a=e+4|0;if(H[c+23|0]>=0){b=c+8|4;e=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=e;J[a+8>>2]=J[b+8>>2];break a}Ej(a,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]>=0){break a}xj(J[c+12>>2]);break a}if(H[c+23|0]<0){xj(J[c+12>>2])}a=K[c+31|0];if(a>>>0>=2){b=Aj(32);H[b+26|0]=0;a=K[1512]|K[1513]<<8;H[b+24|0]=a;H[b+25|0]=a>>>8;a=K[1508]|K[1509]<<8|(K[1510]<<16|K[1511]<<24);d=K[1504]|K[1505]<<8|(K[1506]<<16|K[1507]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=a;H[b+21|0]=a>>>8;H[b+22|0]=a>>>16;H[b+23|0]=a>>>24;a=K[1500]|K[1501]<<8|(K[1502]<<16|K[1503]<<24);d=K[1496]|K[1497]<<8|(K[1498]<<16|K[1499]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=a;H[b+13|0]=a>>>8;H[b+14|0]=a>>>16;H[b+15|0]=a>>>24;a=K[1492]|K[1493]<<8|(K[1494]<<16|K[1495]<<24);d=K[1488]|K[1489]<<8|(K[1490]<<16|K[1491]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=a;H[b+5|0]=a>>>8;H[b+6|0]=a>>>16;H[b+7|0]=a>>>24;J[c+8>>2]=-1;a=c+8|4;Ej(a,b,26);d=H[c+23|0];J[e>>2]=J[c+8>>2];e=e+4|0;if((d|0)>=0){d=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=d;J[e+8>>2]=J[a+8>>2];xj(b);break a}Ej(e,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]<0){xj(J[c+12>>2])}xj(b);break a}J[e>>2]=0;J[e+4>>2]=0;J[e+16>>2]=a;J[e+8>>2]=0;J[e+12>>2]=0}ia=c+80|0;a=J[f+24>>2];if(H[f+23|0]<0){xj(J[f+12>>2])}ia=f+32|0;return a|0}function Pi(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,k=0,l=0;k=ia-16|0;ia=k;J[k+8>>2]=c;e=J[a+12>>2];d=J[a+8>>2];f=e-d>>2;a:{if((f|0)>(b|0)){break a}h=b+1|0;if(h>>>0>f>>>0){f=h-f|0;g=J[a+16>>2];d=J[a+12>>2];if(f>>>0<=g-d>>2>>>0){if(f){e=d;d=f<<2;d=Xi(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{h=J[a+8>>2];i=d-h>>2;e=i+f|0;if(e>>>0<1073741824){g=g-h|0;l=g>>1;g=g>>>0>=2147483644?1073741823:e>>>0<l>>>0?l:e;if(g){if(g>>>0>=1073741824){break d}j=Aj(g<<2)}e=(i<<2)+j|0;i=f<<2;f=Xi(e,0,i);i=f+i|0;g=(g<<2)+j|0;if((d|0)==(h|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;e=e-4|0;J[e>>2]=f;if((d|0)!=(h|0)){continue}break}J[a+16>>2]=g;f=J[a+12>>2];J[a+12>>2]=i;d=J[a+8>>2];J[a+8>>2]=e;if((d|0)==(f|0)){break b}while(1){f=f-4|0;e=J[f>>2];J[f>>2]=0;if(e){tb(e)}if((d|0)!=(f|0)){continue}break}break b}La();C()}Za();C()}J[a+16>>2]=g;J[a+12>>2]=i;J[a+8>>2]=f}if(d){xj(d)}break a}if(f>>>0<=h>>>0){break a}d=d+(h<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=J[e>>2];J[e>>2]=0;if(c){tb(c)}if((d|0)!=(e|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}e=P(d,12)+a|0;d=J[e+24>>2];if((d|0)!=J[e+28>>2]){J[d>>2]=b;J[e+24>>2]=d+4;break g}h=J[e+20>>2];f=d-h|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break f}g=f>>1;g=f>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(g){if(g>>>0>=1073741824){break e}d=Aj(g<<2)}else{d=0}j=d+(j<<2)|0;J[j>>2]=b;if((f|0)>0){Vi(d,h,f)}J[e+20>>2]=d;J[e+24>>2]=j+4;J[e+28>>2]=d+(g<<2);if(!h){break g}xj(h)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;b=a+(b<<2)|0;a=J[b>>2];J[b>>2]=c;if(a){tb(a)}a=J[k+8>>2];J[k+8>>2]=0;if(a){tb(a)}ia=k+16|0;return}La();C()}Za();C()}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,i=0,j=0,k=0;i=c;d=a;a:{if(J[a+12>>2]==(b|0)){break a}a=b;b=J[d+4>>2];e=J[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(H[b-1|0]<0){xj(J[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=a;J[d+4>>2]=e;c=J[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=J[d+4>>2];b:{if((a|0)!=J[d+8>>2]){c:{if(H[c+27|0]>=0){b=J[c+20>>2];J[a>>2]=J[c+16>>2];J[a+4>>2]=b;J[a+8>>2]=J[c+24>>2];break c}Ej(a,J[c+16>>2],J[c+20>>2])}J[d+4>>2]=a+12;break b}g=0;d:{e:{f:{e=J[d+4>>2];a=J[d>>2];f=(e-a|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(J[d+8>>2]-a|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0<k>>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=Aj(P(b,12))}h=P(b,12);b=P(f,12)+g|0;g:{if(H[c+27|0]>=0){f=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=f;J[b+8>>2]=J[c+24>>2];break g}Ej(b,J[c+16>>2],J[c+20>>2]);e=J[d+4>>2];a=J[d>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){e=e-12|0;h=J[e+4>>2];b=b-12|0;J[b>>2]=J[e>>2];J[b+4>>2]=h;J[b+8>>2]=J[e+8>>2];J[e>>2]=0;J[e+4>>2]=0;J[e+8>>2]=0;if((a|0)!=(e|0)){continue}break}J[d+8>>2]=g;a=J[d+4>>2];J[d+4>>2]=f;e=J[d>>2];J[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(H[a-1|0]<0){xj(J[b>>2])}a=b;if((b|0)!=(e|0)){continue}break}break d}La();C()}Za();C()}J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=b}if(e){xj(e)}}b=J[c+4>>2];h:{if(b){while(1){a=b;b=J[b>>2];if(b){continue}break h}}while(1){a=J[c+8>>2];b=J[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=J[d>>2];if((J[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+P(i,12)|0;a=H[a+11|0]<0?J[a>>2]:a}return a|0}function $e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=ia-16|0;ia=i;J[i>>2]=b;g=-1;a:{if((b|0)==-1){J[i+4>>2]=-1;break a}c=b+1|0;J[i+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){g=b-1|0;break a}g=b+2|0}J[i+8>>2]=g;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{k=J[(l<<2)+i>>2];if((k|0)!=-1){c=J[J[J[a+8>>2]+12>>2]+(k<<2)>>2];if((c|0)!=-1){break f}}g=0;c=J[a+216>>2];if((c|0)==J[a+220>>2]){break e}while(1){f=P(g,144)+c|0;c=J[f+136>>2];d=J[f+140>>2];g:{if(c>>>0<d>>>0){J[c>>2]=k;J[f+136>>2]=c+4;break g}h=J[f+132>>2];j=c-h|0;e=j>>2;c=e+1|0;if(c>>>0>=1073741824){break d}m=e<<2;d=d-h|0;e=d>>1;d=d>>>0>=2147483644?1073741823:c>>>0<e>>>0?e:c;if(d){if(d>>>0>=1073741824){break c}c=Aj(d<<2)}else{c=0}e=m+c|0;J[e>>2]=k;if((j|0)>0){Vi(c,h,j)}J[f+132>>2]=c;J[f+136>>2]=e+4;J[f+140>>2]=c+(d<<2);if(!h){break g}xj(h)}g=g+1|0;c=J[a+216>>2];if(g>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}break e}if((b|0)==-1|(c>>>0)/3>>>0<n>>>0){break e}g=0;if(J[a+220>>2]==J[a+216>>2]){break e}while(1){h:{if(!le(J[a+368>>2]+(g<<4)|0)){break h}f=J[a+216>>2]+P(g,144)|0;c=J[f+136>>2];d=J[f+140>>2];if(c>>>0<d>>>0){J[c>>2]=k;J[f+136>>2]=c+4;break h}h=J[f+132>>2];j=c-h|0;e=j>>2;c=e+1|0;if(c>>>0>=1073741824){break b}m=e<<2;d=d-h|0;e=d>>1;d=d>>>0>=2147483644?1073741823:c>>>0<e>>>0?e:c;if(d){if(d>>>0>=1073741824){break c}c=Aj(d<<2)}else{c=0}e=m+c|0;J[e>>2]=k;if((j|0)>0){Vi(c,h,j)}J[f+132>>2]=c;J[f+136>>2]=e+4;J[f+140>>2]=c+(d<<2);if(!h){break h}xj(h)}g=g+1|0;if(g>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}ia=i+16|0;return 1}La();C()}Za();C()}La();C()}function Th(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,k=0,l=0,m=0,n=0,o=0;m=ia-16|0;ia=m;k=J[b+80>>2];b=K[c+24|0];a=P(k,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=1&(e|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}g=Aj(a);h=Vi(g,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=g;a=1;break a}if(b){g=Aj(b);Xi(g,0,b)}e:{f=J[d+4>>2];e=J[d>>2];j=f-e|0;f:{if(j>>>0<a>>>0){l=a-j|0;i=J[d+8>>2];if(l>>>0<=i-f>>>0){n=d,o=Xi(f,0,l)+l|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}f=i-e|0;i=f<<1;i=f>>>0>=1073741823?2147483647:a>>>0<i>>>0?i:a;f=Aj(i);Xi(f+j|0,0,l);if((j|0)>0){Vi(f,e,j)}J[d+8>>2]=f+i;J[d+4>>2]=a+f;J[d>>2]=f;if(!e){break f}xj(e);break f}if(a>>>0>=j>>>0){break f}J[d+4>>2]=a+e}if(!k){b=0;break c}if(!b){a=0;b=1;while(1){if(!yg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],g)){break c}a=a+1|0;b=k>>>0>a>>>0;if((a|0)!=(k|0)){continue}break}break c}l=b&252;j=b&3;i=b>>>0<4;b=1;e=0;while(1){if(!yg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],g)){break c}b=0;a=0;f=0;if(!i){while(1){H[J[d>>2]+h|0]=K[a+g|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+g|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+g|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+g|0];a=a+4|0;h=h+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}if(j){while(1){H[J[d>>2]+h|0]=K[a+g|0];a=a+1|0;h=h+1|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}e=e+1|0;b=k>>>0>e>>>0;if((e|0)!=(k|0)){continue}break}a=e>>>0>=k>>>0;break b}La();C()}La();C()}a=b^1;if(!g){break a}}xj(g)}ia=m+16|0;return a&1}function Sh(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,k=0,l=0,m=0,n=0,o=0;m=ia-16|0;ia=m;k=J[b+80>>2];b=K[c+24|0];a=P(k,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=1&(e|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}g=Aj(a);h=Vi(g,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=g;a=1;break a}if(b){g=Aj(b);Xi(g,0,b)}e:{f=J[d+4>>2];e=J[d>>2];j=f-e|0;f:{if(j>>>0<a>>>0){l=a-j|0;i=J[d+8>>2];if(l>>>0<=i-f>>>0){n=d,o=Xi(f,0,l)+l|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}f=i-e|0;i=f<<1;i=f>>>0>=1073741823?2147483647:a>>>0<i>>>0?i:a;f=Aj(i);Xi(f+j|0,0,l);if((j|0)>0){Vi(f,e,j)}J[d+8>>2]=f+i;J[d+4>>2]=a+f;J[d>>2]=f;if(!e){break f}xj(e);break f}if(a>>>0>=j>>>0){break f}J[d+4>>2]=a+e}if(!k){b=0;break c}if(!b){a=0;b=1;while(1){if(!xg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],g)){break c}a=a+1|0;b=k>>>0>a>>>0;if((a|0)!=(k|0)){continue}break}break c}l=b&252;j=b&3;i=b>>>0<4;b=1;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],g)){break c}b=0;a=0;f=0;if(!i){while(1){H[J[d>>2]+h|0]=K[a+g|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+g|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+g|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+g|0];a=a+4|0;h=h+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}if(j){while(1){H[J[d>>2]+h|0]=K[a+g|0];a=a+1|0;h=h+1|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}e=e+1|0;b=k>>>0>e>>>0;if((e|0)!=(k|0)){continue}break}a=e>>>0>=k>>>0;break b}La();C()}La();C()}a=b^1;if(!g){break a}}xj(g)}ia=m+16|0;return a&1}function _e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=ia-16|0;ia=h;J[h>>2]=b;c=-1;a:{if((b|0)==-1){J[h+4>>2]=-1;break a}c=b+1|0;J[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}J[h+8>>2]=c;b:{c:{while(1){j=J[(k<<2)+h>>2];d:{if(!((j|0)==-1|J[J[J[a+8>>2]+12>>2]+(j<<2)>>2]==-1)){b=0;if(J[a+220>>2]==J[a+216>>2]){break d}while(1){e:{f:{if(!le(J[a+368>>2]+(b<<4)|0)){break f}f=J[a+216>>2]+P(b,144)|0;c=J[f+136>>2];d=J[f+140>>2];if(c>>>0<d>>>0){J[c>>2]=j;J[f+136>>2]=c+4;break f}g=J[f+132>>2];i=c-g|0;e=i>>2;c=e+1|0;if(c>>>0>=1073741824){break e}l=e<<2;d=d-g|0;e=d>>1;d=d>>>0>=2147483644?1073741823:c>>>0<e>>>0?e:c;if(d){if(d>>>0>=1073741824){break b}c=Aj(d<<2)}else{c=0}e=l+c|0;J[e>>2]=j;if((i|0)>0){Vi(c,g,i)}J[f+132>>2]=c;J[f+136>>2]=e+4;J[f+140>>2]=c+(d<<2);if(!g){break f}xj(g)}b=b+1|0;if(b>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break d}break}La();C()}b=0;c=J[a+216>>2];if((c|0)==J[a+220>>2]){break d}while(1){f=P(b,144)+c|0;c=J[f+136>>2];d=J[f+140>>2];g:{if(c>>>0<d>>>0){J[c>>2]=j;J[f+136>>2]=c+4;break g}g=J[f+132>>2];i=c-g|0;e=i>>2;c=e+1|0;if(c>>>0>=1073741824){break c}l=e<<2;d=d-g|0;e=d>>1;d=d>>>0>=2147483644?1073741823:c>>>0<e>>>0?e:c;if(d){if(d>>>0>=1073741824){break b}c=Aj(d<<2)}else{c=0}e=l+c|0;J[e>>2]=j;if((i|0)>0){Vi(c,g,i)}J[f+132>>2]=c;J[f+136>>2]=e+4;J[f+140>>2]=c+(d<<2);if(!g){break g}xj(g)}b=b+1|0;c=J[a+216>>2];if(b>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}ia=h+16|0;return 1}La();C()}Za();C()}function Vd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;f=h;e=J[c>>2]-k|0;J[c>>2]=e;J[c+4>>2]=f;l=J[b+16>>2];f=f>>31;g=(f^h)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=P(j,l);f=(e<<1)-n|0;i=(P(g,j)|0)>=0;e=P(g,l);f=((i?0-f|0:f)+e|0)/2|0;J[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;J[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?253:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=254;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=253;break e}g=0-e|0;i=255}J[c>>2]=f;J[c+4>>2]=g;j=0}e=J[d>>2]+f|0;h=J[b+16>>2];k:{if((e|0)>(h|0)){e=e-J[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=J[b+4>>2]+e|0}c=J[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-J[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=J[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{switch((i&3)-1|0){case 0:b=0-e|0;e=c;break m;case 1:b=0-c|0;e=0-e|0;break m;case 2:break n;default:break m}}b=e;e=0-c|0}o:{if(m){c=b;break o}p:{q:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break p}d=1;c=-1;f=-1;if(e){break q}break p}d=-1;c=-1;f=-1;if((b|0)<=0){break p}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=P(f,h);d=d-e|0;f=(P(c,f)|0)>=0;g=f?0-d|0:d;d=P(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;J[b>>2]=e+k;J[b+4>>2]=c+k}function Ea(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d-c|0;if((i|0)<=0){return}a:{g=J[a+8>>2];h=J[a+4>>2];if((g-h|0)>=(i|0)){j=h-b|0;if((j|0)>=(i|0)){f=h;g=d;break a}f=h;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}f=J[a>>2];e=(h-f|0)+i|0;if((e|0)>=0){j=b-f|0;g=g-f|0;k=g<<1;k=g>>>0>=1073741823?2147483647:e>>>0<k>>>0?k:e;if(k){g=Aj(k)}else{g=0}e=j+g|0;if((c|0)!=(d|0)){e=Vi(e,c,i)+i|0}if((j|0)>0){Vi(g,f,j)}if((b|0)!=(h|0)){d=(b^-1)+h|0;f=h-b&7;if(f){c=0;while(1){H[e|0]=K[b|0];e=e+1|0;b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}if(d>>>0>=7){while(1){H[e|0]=K[b|0];H[e+1|0]=K[b+1|0];H[e+2|0]=K[b+2|0];H[e+3|0]=K[b+3|0];H[e+4|0]=K[b+4|0];H[e+5|0]=K[b+5|0];H[e+6|0]=K[b+6|0];H[e+7|0]=K[b+7|0];e=e+8|0;b=b+8|0;if((h|0)!=(b|0)){continue}break}}f=J[a>>2]}J[a+8>>2]=g+k;J[a+4>>2]=e;J[a>>2]=g;if(f){xj(f)}return}La();C()}e=f;d=e-i|0;if(h>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(h>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+i|0;if((a|0)!=(f|0)){a=f-a|0;Wi(f-a|0,b,a)}if((c|0)==(g|0)){return}a=(c^-1)+g|0;f=g-c&7;b:{if(!f){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(a>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function eb(a,b){var c=0,d=0,e=0,f=0;if(!J[a+64>>2]){c=Aj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(d){c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d);c=J[a+64>>2]}J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+16>>2]=d;J[a+20>>2]=c}a:{H[a+24|0]=K[b+24|0];J[a+28>>2]=J[b+28>>2];H[a+32|0]=K[b+32|0];c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;J[a+56>>2]=J[b+56>>2];c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;J[a+60>>2]=J[b+60>>2];d=J[b>>2];b:{if(!d){J[a>>2]=0;c=1;break b}e=J[a>>2];c=0;if(!e){break b}c=J[d>>2];pg(e,c,J[d+4>>2]-c|0,0);c=1}c:{if(!c){break c}H[a+84|0]=K[b+84|0];J[a+80>>2]=J[b+80>>2];if((a|0)!=(b|0)){fb(a+68|0,J[b+68>>2],J[b+72>>2])}d=J[b+88>>2];d:{if(d){b=Aj(40);c=J[d>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=c;c=J[d+12>>2];e=J[d+8>>2];if((c|0)!=(e|0)){e=c-e|0;if((e|0)<0){break a}c=Aj(e);J[b+8>>2]=c;J[b+12>>2]=c;J[b+16>>2]=c+e;f=J[d+8>>2];e=J[d+12>>2]-f|0;if((e|0)>0){c=Vi(c,f,e)+e|0}J[b+12>>2]=c}c=J[d+36>>2];J[b+32>>2]=J[d+32>>2];J[b+36>>2]=c;c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[a+88>>2];J[a+88>>2]=b;if(c){break d}break c}c=J[a+88>>2];J[a+88>>2]=0;if(!c){break c}}a=J[c+8>>2];if(a){J[c+12>>2]=a;xj(a)}xj(c)}return}La();C()}function zd(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];g=J[a+36>>2]-h>>2;a:{if(g>>>0<e>>>0){Oa(m,e-g|0);f=J[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}J[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=Xi(Aj(g),0,g);b:{if((f|0)<=0){break b}h=J[a+32>>2];while(1){f=i<<2;g=J[f+n>>2];j=J[a+16>>2];c:{if((g|0)>(j|0)){J[f+h>>2]=j;break c}f=f+h|0;j=J[a+12>>2];if((j|0)>(g|0)){J[f>>2]=j;break c}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=J[b+g>>2]+J[g+h>>2]|0;J[f>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=J[m>>2];i=0;while(1){f=i<<2;h=J[f+q>>2];k=J[a+16>>2];f:{if((h|0)>(k|0)){J[f+j>>2]=k;break f}f=f+j|0;k=J[a+12>>2];if((k|0)>(h|0)){J[f>>2]=k;break f}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=J[h+l>>2]+J[h+j>>2]|0;J[f>>2]=h;g:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break g}h=h+J[a+20>>2]|0}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}xj(n);return 1}function nf(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=J[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=J[a+148>>2];c=-1;e=1;d=((d|0)!=-1?J[J[g>>2]+(d<<2)>>2]:c)<<2;c=J[a+156>>2];d=d+c|0;J[d>>2]=J[d>>2]+1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+1;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+2;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0}J[c>>2]=J[c>>2]+e;e=J[a+184>>2]}h:{switch(e|0){case 0:case 5:f=J[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=J[J[J[a+148>>2]>>2]+(b<<2)>>2]}if(J[f+(c<<2)>>2]<=5){J[a+188>>2]=5;return}J[a+188>>2]=0;return;default:break h}}J[a+188>>2]=-1}
function Sc(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,k=0,l=0;i=ia-32|0;ia=i;J[i+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];f=d+4|0;c=f>>>0<4?c+1|0:c;e=J[b+12>>2];if((e|0)<=(c|0)&f>>>0>M[b+8>>2]|(c|0)>(e|0)){break a}d=d+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;break b}if(!Jc(1,i+28|0,b)){break a}d=J[i+28>>2]}if(!d){break a}Kc(a+76|0,d);c=i+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!je(c,b)){break c}e=1;while(1){g=1<<h;j=le(c);f=J[a+76>>2]+(h>>>3&536870908)|0;e=e^j;if(e&1){g=J[f>>2]&(g^-1)}else{g=g|J[f>>2]}e=e^1;J[f>>2]=g;h=h+1|0;if((h|0)!=(d|0)){continue}break}d=J[b+12>>2];h=d;c=J[b+20>>2];f=c;e=J[b+16>>2];g=e+4|0;c=g>>>0<4?c+1|0:c;j=J[b+8>>2];if(j>>>0<g>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break c}k=J[b>>2];d=k+e|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=c;c=f;f=e+8|0;c=f>>>0<8?c+1|0:c;e=f;f=c;if(e>>>0>j>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break c}c=g+k|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=f;if((c|0)<(d|0)){break c}J[a+16>>2]=c;J[a+12>>2]=d;b=(c>>31)-((d>>31)+(c>>>0<d>>>0)|0)|0;c=c-d|0;if(!b&c>>>0>2147483646|b){break c}l=1;b=c+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break c}J[a+24>>2]=c-1}}ia=i+32|0;return l|0}function Qh(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,k=0,l=0,m=0,n=0,o=0;a=0;i=J[b+80>>2];e=K[c+24|0];g=P(i,e);a:{if(!e){break a}j=e<<2;a=Aj(j);b=a;k=e&7;if(k){b=a;while(1){J[b>>2]=-1073741824;b=b+4|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if((e-1&1073741823)>>>0<7){break a}f=a+j|0;while(1){J[b+24>>2]=-1073741824;J[b+28>>2]=-1073741824;J[b+16>>2]=-1073741824;J[b+20>>2]=-1073741824;J[b+8>>2]=-1073741824;J[b+12>>2]=-1073741824;J[b>>2]=-1073741824;J[b+4>>2]=-1073741824;b=b+32|0;if((f|0)!=(b|0)){continue}break}}f=J[d>>2];b=J[d+4>>2]-f>>2;b:{if(b>>>0<g>>>0){Oa(d,g-b|0);break b}if(b>>>0<=g>>>0){break b}J[d+4>>2]=f+(g<<2)}c:{d:{e:{if(!i){break e}if(!e){b=0;h=1;while(1){if(!Uc(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break e}b=b+1|0;h=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}break e}n=e&252;j=e&3;f=0;o=e>>>0<4;h=1;while(1){if(!Uc(c,K[c+84|0]?l:J[J[c+68>>2]+(l<<2)>>2],H[c+24|0],a)){break e}k=J[d>>2];m=0;b=0;h=0;if(!o){while(1){e=k+(f<<2)|0;g=b<<2;N[e>>2]=N[g+a>>2];N[e+4>>2]=N[(g|4)+a>>2];N[e+8>>2]=N[(g|8)+a>>2];N[e+12>>2]=N[(g|12)+a>>2];b=b+4|0;f=f+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(j){while(1){N[k+(f<<2)>>2]=N[(b<<2)+a>>2];b=b+1|0;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}l=l+1|0;h=l>>>0<i>>>0;if((i|0)!=(l|0)){continue}break}break d}if(!a){break c}}xj(a)}return(h^-1)&1}function hc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ia-16|0;ia=e;h=na[J[J[a>>2]+24>>2]](a)|0;a:{if((h|0)<=0){break a}l=a+48|0;i=1;while(1){b:{c:{if(!J[(na[J[J[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=J[j+J[a+36>>2]>>2];b=J[g+8>>2];k=Yb(g);if(!k){break c}g=J[(na[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[e+12>>2]=J[b+56>>2];b=Aj(32);J[e>>2]=b;J[e+4>>2]=24;J[e+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;b=Ob(g,e+12|0,e);if(H[e+11|0]<0){xj(J[e>>2])}if(!b){break c}eb(J[J[J[a+36>>2]+j>>2]+8>>2],k);break b}b=J[J[a+36>>2]+(f<<2)>>2];if(!(na[J[J[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;i=(h|0)>(f|0);if((f|0)!=(h|0)){continue}break}}ia=e+16|0;return(i^-1)&1}function Yc(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,k=0,l=0;j=ia-16|0;ia=j;c=J[b+20>>2];d=J[b+16>>2];g=d+4|0;c=g>>>0<4?c+1|0:c;e=J[b+12>>2];a:{if((e|0)<=(c|0)&g>>>0>M[b+8>>2]|(c|0)>(e|0)){break a}d=d+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=c;if((d|0)<0){break a}Kc(a+76|0,d);c=j;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;b:{if(!je(c,b)){break b}if(d){e=1;while(1){f=1<<h;i=le(c);g=J[a+76>>2]+(h>>>3&536870908)|0;e=e^i;if(e&1){f=J[g>>2]&(f^-1)}else{f=f|J[g>>2]}e=e^1;J[g>>2]=f;h=h+1|0;if((d|0)!=(h|0)){continue}break}}h=0;d=J[b+12>>2];g=d;c=J[b+20>>2];e=c;f=J[b+16>>2];i=f+4|0;c=i>>>0<4?c+1|0:c;k=J[b+8>>2];if(k>>>0<i>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}l=J[b>>2];d=l+f|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;c=e;e=f+8|0;c=e>>>0<8?c+1|0:c;f=e;e=c;if(f>>>0>k>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break b}c=i+l|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=e;if((c|0)<(d|0)){break b}J[a+16>>2]=c;J[a+12>>2]=d;b=(c>>31)-((d>>31)+(c>>>0<d>>>0)|0)|0;c=c-d|0;if(!b&c>>>0>2147483646|b){break b}h=1;b=c+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break b}J[a+24>>2]=c-1}}ia=j+16|0;return h|0}function Wh(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,k=0,l=0,m=0,n=0,o=0,p=0;k=ia-16|0;ia=k;i=J[b+80>>2];b=K[c+24|0];a=P(i,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=5&(e|0)!=6)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(a){if((a|0)<0){break d}a=a<<2;f=Aj(a);g=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=f;a=1;break a}if(b){e=b<<2;f=Aj(e);Xi(f,0,e)}j=J[d>>2];e=J[d+4>>2]-j>>2;e:{if(e>>>0<a>>>0){Oa(d,a-e|0);break e}if(a>>>0>=e>>>0){break e}J[d+4>>2]=j+(a<<2)}if(!i){break c}if(!b){a=0;h=1;while(1){if(!Dg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;h=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break}break c}o=b&252;m=b&3;p=b>>>0<4;h=1;b=0;while(1){if(!Dg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break c}n=J[d>>2];l=0;a=0;h=0;if(!p){while(1){e=(g<<2)+n|0;j=a<<2;J[e>>2]=J[j+f>>2];J[e+4>>2]=J[(j|4)+f>>2];J[e+8>>2]=J[(j|8)+f>>2];J[e+12>>2]=J[(j|12)+f>>2];a=a+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(a<<2)+f>>2];a=a+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}b=b+1|0;h=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}a=b>>>0>=i>>>0;break b}La();C()}a=!h;if(!f){break a}}xj(f)}ia=k+16|0;return a&1}function Rh(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,k=0,l=0,m=0,n=0,o=0,p=0;k=ia-16|0;ia=k;i=J[b+80>>2];b=K[c+24|0];a=P(i,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=5&(e|0)!=6)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(a){if((a|0)<0){break d}a=a<<2;f=Aj(a);g=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=f;a=1;break a}if(b){e=b<<2;f=Aj(e);Xi(f,0,e)}j=J[d>>2];e=J[d+4>>2]-j>>2;e:{if(e>>>0<a>>>0){Oa(d,a-e|0);break e}if(a>>>0>=e>>>0){break e}J[d+4>>2]=j+(a<<2)}if(!i){break c}if(!b){a=0;h=1;while(1){if(!Cg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;h=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break}break c}o=b&252;m=b&3;p=b>>>0<4;h=1;b=0;while(1){if(!Cg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break c}n=J[d>>2];l=0;a=0;h=0;if(!p){while(1){e=(g<<2)+n|0;j=a<<2;J[e>>2]=J[j+f>>2];J[e+4>>2]=J[(j|4)+f>>2];J[e+8>>2]=J[(j|8)+f>>2];J[e+12>>2]=J[(j|12)+f>>2];a=a+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(a<<2)+f>>2];a=a+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}b=b+1|0;h=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}a=b>>>0>=i>>>0;break b}La();C()}a=!h;if(!f){break a}}xj(f)}ia=k+16|0;return a&1}function Vh(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,k=0,l=0,m=0,n=0,o=0,p=0;k=ia-16|0;ia=k;i=J[b+80>>2];b=K[c+24|0];a=P(i,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=3&(e|0)!=4)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(a){if((a|0)<0){break d}a=a<<1;f=Aj(a);g=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=f;a=1;break a}if(b){e=b<<1;f=Aj(e);Xi(f,0,e)}j=J[d>>2];e=J[d+4>>2]-j>>1;e:{if(e>>>0<a>>>0){zg(d,a-e|0);break e}if(a>>>0>=e>>>0){break e}J[d+4>>2]=j+(a<<1)}if(!i){break c}if(!b){a=0;h=1;while(1){if(!Bg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;h=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break}break c}o=b&252;m=b&3;p=b>>>0<4;h=1;b=0;while(1){if(!Bg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break c}n=J[d>>2];l=0;a=0;h=0;if(!p){while(1){e=(g<<1)+n|0;j=a<<1;I[e>>1]=L[j+f>>1];I[e+2>>1]=L[(j|2)+f>>1];I[e+4>>1]=L[(j|4)+f>>1];I[e+6>>1]=L[(j|6)+f>>1];a=a+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(a<<1)+f>>1];a=a+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}b=b+1|0;h=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}a=b>>>0>=i>>>0;break b}La();C()}a=!h;if(!f){break a}}xj(f)}ia=k+16|0;return a&1}function Uh(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,k=0,l=0,m=0,n=0,o=0,p=0;k=ia-16|0;ia=k;i=J[b+80>>2];b=K[c+24|0];a=P(i,b);a:{b:{c:{d:{e=J[c+28>>2];if(!(!K[c+84|0]|(e|0)!=3&(e|0)!=4)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(a){if((a|0)<0){break d}a=a<<1;f=Aj(a);g=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=f;a=1;break a}if(b){e=b<<1;f=Aj(e);Xi(f,0,e)}j=J[d>>2];e=J[d+4>>2]-j>>1;e:{if(e>>>0<a>>>0){zg(d,a-e|0);break e}if(a>>>0>=e>>>0){break e}J[d+4>>2]=j+(a<<1)}if(!i){break c}if(!b){a=0;h=1;while(1){if(!Ag(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;h=i>>>0>a>>>0;if((a|0)!=(i|0)){continue}break}break c}o=b&252;m=b&3;p=b>>>0<4;h=1;b=0;while(1){if(!Ag(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break c}n=J[d>>2];l=0;a=0;h=0;if(!p){while(1){e=(g<<1)+n|0;j=a<<1;I[e>>1]=L[j+f>>1];I[e+2>>1]=L[(j|2)+f>>1];I[e+4>>1]=L[(j|4)+f>>1];I[e+6>>1]=L[(j|6)+f>>1];a=a+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(a<<1)+f>>1];a=a+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}b=b+1|0;h=i>>>0>b>>>0;if((b|0)!=(i|0)){continue}break}a=b>>>0>=i>>>0;break b}La();C()}a=!h;if(!f){break a}}xj(f)}ia=k+16|0;return a&1}function pf(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(J[a+168>>2]){case 0:case 1:e=J[a+148>>2];c=1;b=J[a+156>>2];g=b+(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)|0;J[g>>2]=J[g>>2]+1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+1;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+2;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0}J[b>>2]=J[b>>2]+c}c=a;b=J[J[a+156>>2]+(((f|0)==-1?-1:J[J[J[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=J[a+180>>2];a=J[a+176>>2];J[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function ig(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+32>>2];e=J[c+8>>2];f=J[c+12>>2];d=J[c+20>>2];g=e;e=J[c+16>>2];b=0;b:{if((f|0)<=(d|0)&g>>>0<=e>>>0|(d|0)>(f|0)){break b}g=K[e+J[c>>2]|0];f=e+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;c:{if(!g){break c}while(1){if(na[J[J[a>>2]+16>>2]](a,b)|0){b=b+1|0;if((g|0)!=(b|0)){continue}break c}break}return 0}b=J[a+8>>2];d=J[a+12>>2];if((b|0)!=(d|0)){while(1){c=J[b>>2];if(!(na[J[J[c>>2]+8>>2]](c,a,J[a+4>>2])|0)){break a}b=b+4|0;if((d|0)!=(b|0)){continue}break}}d:{if(!g){break d}b=0;while(1){c=J[J[a+8>>2]+(b<<2)>>2];if(!(na[J[J[c>>2]+12>>2]](c,J[a+32>>2])|0)){break a}b=b+1|0;if((g|0)!=(b|0)){continue}break}if(!g){break d}e=a+20|0;while(1){b=0;f=h<<2;c=J[f+J[a+8>>2]>>2];d=na[J[J[c>>2]+24>>2]](c)|0;if((d|0)>0){while(1){c=J[J[a+8>>2]+f>>2];k=na[J[J[c>>2]+20>>2]](c,b)|0;i=J[a+20>>2];j=J[a+24>>2]-i>>2;e:{if(k>>>0<j>>>0){break e}c=k+1|0;if(c>>>0>j>>>0){Oa(e,c-j|0);i=J[e>>2];break e}if(c>>>0>=j>>>0){break e}J[a+24>>2]=(c<<2)+i}J[(k<<2)+i>>2]=h;b=b+1|0;if((d|0)!=(b|0)){continue}break}}h=h+1|0;if((g|0)!=(h|0)){continue}break}}b=0;if(!(na[J[J[a>>2]+28>>2]](a)|0)){break b}b=na[J[J[a>>2]+32>>2]](a)|0}return b|0}return 0}function je(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ia-16|0;ia=i;e=J[b+20>>2];c=J[b+12>>2];g=J[b+16>>2];a:{if((e|0)>=(c|0)&g>>>0>=M[b+8>>2]|(c|0)<(e|0)){break a}H[a+12|0]=K[g+J[b>>2]|0];e=J[b+20>>2];c=e;g=J[b+16>>2];d=g+1|0;e=d?c:c+1|0;h=d;J[b+16>>2]=d;J[b+20>>2]=e;b:{if(L[b+38>>1]<=513){f=J[b+12>>2];e=c;c=g+5|0;e=c>>>0<5?e+1|0:e;d=J[b+8>>2];g=c;if(d>>>0<c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break a}c=h+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=e;break b}if(!ke(1,i+12|0,b)){break a}g=J[b+16>>2];e=J[b+20>>2];d=J[b+8>>2];f=J[b+12>>2];c=J[i+12>>2]}h=d-g|0;d=f-(e+(d>>>0<g>>>0)|0)|0;if((d|0)<=0&c>>>0>h>>>0|(d|0)<0|(c|0)<=0){break a}d=g+J[b>>2]|0;J[a>>2]=d;c:{d:{f=c-1|0;h=f+d|0;j=K[h|0];e:{if(j>>>0<=63){J[a+4>>2]=f;d=K[h|0]&63;break e}f:{switch((j>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(c>>>0<2){break a}f=c-2|0;J[a+4>>2]=f;d=d+f|0;d=K[d+1|0]<<8&16128|K[d|0]}J[a+8>>2]=d+4096;break c}if(c>>>0<3){break a}f=c-3|0;J[a+4>>2]=f;h=a;a=d+f|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];J[h+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=c+g|0;e=a>>>0<c>>>0?e+1|0:e;J[b+16>>2]=a;J[b+20>>2]=e;k=1}ia=i+16|0;return k}function Ai(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;Pi(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;f=d&7;if(f){while(1){J[b>>2]=1;b=b+4|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{f=J[a+84>>2];j=c-f|0;c=j>>2;b=c+d|0;if(b>>>0<1073741824){e=e-f|0;h=e>>1;e=e>>>0>=2147483644?1073741823:b>>>0<h>>>0?h:b;if(e){if(e>>>0>=1073741824){break d}i=Aj(e<<2)}c=(c<<2)+i|0;b=c;h=d&7;if(h){b=c;while(1){J[b>>2]=1;b=b+4|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}c=c+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}if((j|0)>0){Vi(i,f,j)}J[a+92>>2]=(e<<2)+i;J[a+88>>2]=c;J[a+84>>2]=i;if(f){xj(f)}break b}La();C()}Za();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function wi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>1;d=d>>>0>=2147483644?1073741823:b>>>0<e>>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=Aj(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}La();C()}function te(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=ia-16|0;ia=h;a:{b:{if(L[b+38>>1]<=511){g=J[b+12>>2];i=g;c=J[b+20>>2];e=J[b+16>>2];d=e+8|0;c=d>>>0<8?c+1|0:c;f=J[b+8>>2];if(f>>>0<d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}e=e+J[b>>2]|0;g=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;break b}if(!xe(1,h+8|0,b)){break a}d=J[b+16>>2];c=J[b+20>>2];f=J[b+8>>2];i=J[b+12>>2];g=J[h+8>>2];e=J[h+12>>2]}j=f-d|0;f=i-(c+(d>>>0>f>>>0)|0)|0;if((f|0)==(e|0)&g>>>0>j>>>0|e>>>0>f>>>0){break a}c=c+e|0;f=d+g|0;c=f>>>0<d>>>0?c+1|0:c;J[b+16>>2]=f;J[b+20>>2]=c;c=g;if((c|0)<=0){break a}b=d+J[b>>2]|0;J[a+40>>2]=b;d=c-1|0;g=b+d|0;f=K[g|0];c:{if(f>>>0<=63){J[a+44>>2]=d;b=K[g|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}d=c-2|0;J[a+44>>2]=d;b=b+d|0;b=K[b+1|0]<<8&16128|K[b|0];break c;case 1:if(c>>>0<3){break a}d=c-3|0;J[a+44>>2]=d;b=b+d|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break c;default:break d}}d=c-4|0;J[a+44>>2]=d;b=b+d|0;b=K[b+2|0]<<16|K[b+3|0]<<24&1056964608|K[b+1|0]<<8|K[b|0]}J[a+48>>2]=b+16384;k=b>>>0<4177920}ia=h+16|0;return k}function Vi(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ba(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=J[a+8>>2];e=J[a+4>>2];if(f-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{g=J[a>>2];k=e-g|0;e=k>>2;d=e+b|0;if(d>>>0<1073741824){f=f-g|0;i=f>>1;f=f>>>0>=2147483644?1073741823:d>>>0<i>>>0?i:d;if(f){if(f>>>0>=1073741824){break b}j=Aj(f<<2)}e=(e<<2)+j|0;d=e;i=b&7;if(i){d=e;while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}if((k|0)>0){Vi(j,g,k)}J[a+8>>2]=(f<<2)+j;J[a+4>>2]=e;J[a>>2]=j;if(g){xj(g)}return}La();C()}Za();C()}function Bb(a,b){var c=0,d=0,e=0,f=0,g=0;d=ia-16|0;ia=d;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}La();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=1;break a}c=b<<2;e=Aj(c);J[a+92>>2]=e;f=c+e|0;J[a+100>>2]=f;Xi(e,0,c);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;e=Aj(c);J[a+104>>2]=e;f=c+e|0;J[a+112>>2]=f;Xi(e,0,c);J[a+108>>2]=f;e=Aj(c);J[d>>2]=e;f=c+e|0;J[d+8>>2]=f;Xi(e,0,c);J[d+4>>2]=f;c=b<<5|1}Lb(g,c,d);e=J[d>>2];if(e){J[d+4>>2]=e;xj(e)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;e=Aj(b);J[d>>2]=e;f=b+e|0;J[d+8>>2]=f;Xi(e,0,b);J[d+4>>2]=f}Lb(a+128|0,c,d);b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}ia=d+16|0;return a}function vf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=11532;d=a+232|0;b=J[d+196>>2];if(b){J[d+200>>2]=b;xj(b)}c=J[d+184>>2];if(c){b=c;e=J[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;xj(f)}e=b;if((b|0)!=(c|0)){continue}break}b=J[d+184>>2]}J[d+188>>2]=c;xj(b)}b=J[d+156>>2];if(b){J[d+160>>2]=b;xj(b)}c=J[d+136>>2];J[d+136>>2]=0;if(c){e=c-4|0;b=J[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}xj(e)}rf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}b=J[a+144>>2];if(b){while(1){c=J[b>>2];xj(b);b=c;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Ue(b)}return a|0}function ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;c=J[b+4>>2];g=J[b>>2];e=c-g|0;f=(e|0)/20|0;a:{if((c|0)==(g|0)){break a}b:{if(f>>>0<214748365){c=Aj(e);J[a+16>>2]=c;J[a+20>>2]=c;J[a+24>>2]=c+P(f,20);f=J[b>>2];b=J[b+4>>2]-f|0;if((b|0)<=0){break a}f=Vi(c,f,b);g=0;J[a+28>>2]=0;J[a+20>>2]=f+P((b>>>0)/20|0,20);b=(b|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+P(b,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|1,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|2,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|3,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+P(b,20)|0;e=P(J[e+16>>2],J[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){J[a+12>>2]=0;return a}if((c|0)<0){break b}b=Xi(Aj(c),0,c);c=b+c|0;J[a+8>>2]=c;J[a+4>>2]=c;J[a>>2]=b;J[a+12>>2]=b;return a}La();C()}La();C()}J[a+28>>2]=0;J[a+12>>2]=0;return a}function lk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!g){break k}if(!d){break j}c=S(d)-S(b)|0;if(c>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}a=(a>>>0)/(g>>>0)|0;ma=0;break a}if(!a){break h}if(!d){break g}if(d-1&d){break g}a=b>>>ok(d)|0;ma=0;break a}if(!(g-1&g)){break f}h=(S(g)+33|0)-S(b)|0;e=0-h|0;break d}h=c+1|0;e=63-c|0;break d}a=(b>>>0)/(d>>>0)|0;ma=0;break a}c=S(d)-S(b)|0;if(c>>>0<31){break e}break c}if((g|0)==1){break b}c=ok(g);d=c&31;if((c&63)>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<<d)-1&b)<<32-d|a>>>d}ma=c;break a}h=c+1|0;e=63-c|0}c=h&63;f=c&31;if(c>>>0>=32){c=0;i=b>>>f|0}else{c=b>>>f|0;i=((1<<f)-1&b)<<32-f|a>>>f}f=c;c=e&63;e=c&31;if(c>>>0>=32){c=a<<e;a=0}else{c=(1<<e)-1&a>>>32-e|b<<e;a=a<<e}b=c;if(h){c=d-1|0;e=g-1|0;m=(e|0)!=-1?c+1|0:c;while(1){c=i<<1|b>>>31;f=f<<1|i>>>31;j=m-(f+(c>>>0>e>>>0)|0)>>31;k=g&j;i=c-k|0;f=f-((d&j)+(c>>>0<k>>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=j&1;h=h-1|0;if(h){continue}break}}ma=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ma=b}return a}function xb(a,b){var c=0,d=0,e=0,f=0,g=0;c=ia-16|0;ia=c;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+104>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}La();C()}J[a+108>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;e=1;break a}e=b<<2;d=Aj(e);J[a+96>>2]=d;f=d+e|0;J[a+104>>2]=f;Xi(d,0,e);J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=f;d=Aj(e);J[a+108>>2]=d;f=d+e|0;J[a+116>>2]=f;Xi(d,0,e);J[a+112>>2]=f;d=Aj(e);J[c>>2]=d;f=d+e|0;J[c+8>>2]=f;Xi(d,0,e);J[c+4>>2]=f;e=b<<5|1}Lb(g,e,c);d=J[c>>2];if(d){J[c+4>>2]=d;xj(d)}J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if(b){b=b<<2;d=Aj(b);J[c>>2]=d;f=b+d|0;J[c+8>>2]=f;Xi(d,0,b);J[c+4>>2]=f}Lb(a+132|0,e,c);b=J[c>>2];if(b){J[c+4>>2]=b;xj(b)}ia=c+16|0;return a}function qe(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function Ld(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=h;f=J[c>>2]-k|0;J[c>>2]=f;J[c+4>>2]=e;g=J[b+16>>2];e=e>>31;i=(e^h)-e|0;e=f>>31;l=g>>>0>=i+((e^f)-e|0)>>>0;a:{if(l){e=h;break a}b:{c:{if((f|0)>=0){e=1;i=1;if((h|0)>=0){break b}j=1;e=-1;i=-1;if(f){break c}break b}j=-1;e=-1;i=-1;if((h|0)<=0){break b}}e=(h|0)<=0?-1:1;i=j}j=P(g,i);f=(f<<1)-j|0;i=(P(e,i)|0)>=0;g=P(e,g);e=((i?0-f|0:f)+g|0)/2|0;J[c+4>>2]=e;m=c;c=(h<<1)-g|0;f=(j+(i?0-c|0:c)|0)/2|0;J[m>>2]=f;g=J[b+16>>2]}c=J[d+4>>2]+e|0;f=J[d>>2]+f|0;d:{if((g|0)<(f|0)){f=f-J[b+4>>2]|0;break d}if((0-g|0)<=(f|0)){break d}f=J[b+4>>2]+f|0}e:{if((c|0)>(g|0)){c=c-J[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=J[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((f|0)>=0){b=1;e=1;if((c|0)>=0){break g}d=1;b=-1;e=-1;if(f){break h}break g}d=-1;b=-1;e=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;e=d}d=P(e,g);h=(f<<1)-d|0;e=(P(b,e)|0)>=0;b=P(b,g);g=((e?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;f=(d+(e?0-b|0:b)|0)/2|0}J[a>>2]=f+k;J[a+4>>2]=g+k}function pg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}e=J[a+4>>2];b=J[a>>2];d=e-b|0;if(c>>>0>d>>>0){g=c-d|0;f=J[a+8>>2];if(g>>>0<=f-e>>>0){i=a,j=Xi(e,0,g)+g|0,J[i+4>>2]=j;break c}if((c|0)<0){break b}e=f-b|0;f=e<<1;f=e>>>0>=1073741823?2147483647:c>>>0<f>>>0?f:c;e=Aj(f);Xi(e+d|0,0,g);if((d|0)>0){Vi(e,b,d)}J[a+8>>2]=e+f;J[a+4>>2]=c+e;J[a>>2]=e;if(!b){break c}xj(b);break c}if(c>>>0>=d>>>0){break c}J[a+4>>2]=b+c;break c}if((d|0)<0){break a}h=J[a+4>>2];g=J[a>>2];e=h-g|0;d:{if((d|0)<=0&c>>>0<=e>>>0|(d|0)<0){break d}if(c>>>0>e>>>0){f=c-e|0;d=J[a+8>>2];if(f>>>0<=d-h>>>0){i=a,j=Xi(h,0,f)+f|0,J[i+4>>2]=j;break d}if((c|0)<0){break b}d=d-g|0;h=d<<1;h=d>>>0>=1073741823?2147483647:c>>>0<h>>>0?h:c;d=Aj(h);Xi(d+e|0,0,f);if((e|0)>0){Vi(d,g,e)}J[a+8>>2]=d+h;J[a+4>>2]=c+d;J[a>>2]=d;if(!g){break d}xj(g);break d}if(c>>>0>=e>>>0){break d}J[a+4>>2]=c+g}if(!c){break c}Wi(J[a>>2],b,c)}b=J[a+28>>2];c=J[a+24>>2]+1|0;b=c?b:b+1|0;J[a+24>>2]=c;J[a+28>>2]=b;e=1;break a}La();C()}return e}function cc(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,k=0,l=0,m=0,n=0;if(hb(a,b)){i=a+36|0;g=na[J[J[a>>2]+24>>2]](a)|0;d=J[a+40>>2];e=J[a+36>>2];c=d-e>>2;a:{if(g>>>0>c>>>0){dc(i,g-c|0);break a}if(c>>>0<=g>>>0){break a}e=e+(g<<2)|0;if((e|0)!=(d|0)){while(1){d=d-4|0;c=J[d>>2];J[d>>2]=0;if(c){na[J[J[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}J[a+40>>2]=e}b:{if((g|0)<=0){e=0;break b}e=1;c=J[b+20>>2];d=J[b+12>>2];f=J[b+16>>2];if((c|0)>=(d|0)&f>>>0>=M[b+8>>2]|(c|0)>(d|0)){break b}d=0;while(1){h=K[f+J[b>>2]|0];f=f+1|0;c=f?c:c+1|0;J[b+16>>2]=f;J[b+20>>2]=c;f=na[J[J[a>>2]+48>>2]](a,h)|0;h=d<<2;j=h+J[a+36>>2]|0;c=J[j>>2];J[j>>2]=f;if(c){na[J[J[c>>2]+4>>2]](c)}c=J[J[i>>2]+h>>2];if(!c){break b}if(!(l=c,m=na[J[J[a>>2]+28>>2]](a)|0,n=na[J[J[a>>2]+20>>2]](a,d)|0,k=J[J[c>>2]+8>>2],na[k](l|0,m|0,n|0)|0)){break b}d=d+1|0;e=(g|0)>(d|0);if((d|0)==(g|0)){break b}f=J[b+16>>2];c=J[b+20>>2];h=J[b+12>>2];if(f>>>0<M[b+8>>2]&(c|0)<=(h|0)|(c|0)<(h|0)){continue}break}}a=!e}else{a=0}return a|0}function Na(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,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){d=J[c+8>>2];J[a+4>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);e=a+8|0;d=K[b+24|0];f=J[a+8>>2];g=J[a+12>>2]-f>>2;a:{if(d>>>0>g>>>0){Oa(e,d-g|0);d=K[b+24|0];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=f+(d<<2)}g=J[c+8>>2];b:{if(!d){b=4;break b}h=d&3;e=J[e>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){f=d<<2;c=b+g|0;J[f+e>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+(f|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[e+(f|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[e+(f|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+g|0;J[e+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((j|0)!=(h|0)){continue}break}}d=a;a=b+g|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function Uf(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,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;m=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0<d>>>0){jb(m,d-e|0,12420);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;b:{if((b|0)==(e|0)){break b}n=1;k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){break b}o=i>>>0<=1?1:i;c=e;b=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[m>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;n=i>>>0>b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return(n^-1)&1}function Ra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=ia-16|0;ia=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=Aj(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<<d^-1;if((d|0)>0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}Vi(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){Vi(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;Vi(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}Vi(J[J[c+64>>2]>>2]+b|0,f,e)}xj(f)}ia=k+16|0;return o|0}function Aa(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,k=0,l=0,m=0;h=J[d+80>>2];e=ia-48|0;ia=e;a=J[a+4>>2];k=a-31|0;a:{if(k>>>0<4294967267){break a}i=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<<a;J[e+20>>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;j=J[J[b>>2]>>2];m=J[b+48>>2];f=J[b+44>>2];l=J[b+40>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=jk(l,f,g,0)+m|0;Vi(h,g+j|0,l);Ba(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+i>>2]=J[e+12>>2];J[(f|4)+i>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0<J[c+4>>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){j=e+36|0;c=J[J[b>>2]>>2];g=J[b+40>>2];f=J[b+48>>2]+jk(g,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0)|0;Vi(j,c+f|0,g);Ba(e+16|0,j,e+12|0,e+8|0);c=d<<2;J[c+i>>2]=J[e+12>>2];J[(c|4)+i>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}ia=e+48|0;return k>>>0>4294967266|0}function Ef(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,k=0,l=0,m=0,n=0,o=0;j=J[a+12>>2];c=J[a+108>>2];d=J[c+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<d>>>0){jb(m,d-f|0,12420);c=J[a+108>>2];d=J[c+80>>2];break a}if(d>>>0>=f>>>0){break a}J[b+72>>2]=h+(d<<2)}b=J[c+100>>2];f=J[c+96>>2];h=(b-f|0)/12|0;b:{if((b|0)==(f|0)){j=0;break b}n=h>>>0<=1?1:h;o=J[j>>2];c=f;b=0;j=1;while(1){e=(e<<2)+o|0;i=J[e>>2];if((i|0)==-1){break b}g=J[c>>2];if(g>>>0>=d>>>0){break b}l=J[J[a+112>>2]+12>>2];k=J[l+(i<<2)>>2];if(k>>>0>=d>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=k;g=J[e+4>>2];if((g|0)==-1){break b}k=J[c+4>>2];if(k>>>0>=d>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=d>>>0){break b}J[i+(k<<2)>>2]=g;e=J[e+8>>2];if((e|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}e=J[(e<<2)+l>>2];if(e>>>0>=d>>>0){break b}J[i+(c<<2)>>2]=e;b=b+1|0;j=h>>>0>b>>>0;if((b|0)==(n|0)){break b}e=P(b,3);c=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return(j^-1)&1}function Of(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,k=0,l=0,m=0,n=0,o=0;j=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<d>>>0){jb(m,d-f|0,12420);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=f>>>0){break a}J[b+72>>2]=h+(d<<2)}b=J[c+100>>2];f=J[c+96>>2];h=(b-f|0)/12|0;b:{if((b|0)==(f|0)){j=0;break b}n=h>>>0<=1?1:h;o=J[j>>2];c=f;b=0;j=1;while(1){e=(e<<2)+o|0;i=J[e>>2];if((i|0)==-1){break b}g=J[c>>2];if(g>>>0>=d>>>0){break b}l=J[J[a+72>>2]+12>>2];k=J[l+(i<<2)>>2];if(k>>>0>=d>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=k;g=J[e+4>>2];if((g|0)==-1){break b}k=J[c+4>>2];if(k>>>0>=d>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=d>>>0){break b}J[i+(k<<2)>>2]=g;e=J[e+8>>2];if((e|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}e=J[(e<<2)+l>>2];if(e>>>0>=d>>>0){break b}J[i+(c<<2)>>2]=e;b=b+1|0;j=h>>>0>b>>>0;if((b|0)==(n|0)){break b}e=P(b,3);c=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return(j^-1)&1}function Hf(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=(c>>>0)/3|0;i=J[(J[J[a+8>>2]+96>>2]+P(d,12)|0)+(c-P(d,3)<<2)>>2];e=J[J[a+12>>2]+4>>2];d=J[e+4>>2];a:{if((d|0)!=J[e+8>>2]){J[d>>2]=i;J[e+4>>2]=d+4;break a}b:{h=J[e>>2];g=d-h|0;j=g>>2;d=j+1|0;if(d>>>0<1073741824){f=g>>1;f=g>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(f){if(f>>>0>=1073741824){break b}d=Aj(f<<2)}else{d=0}j=d+(j<<2)|0;J[j>>2]=i;if((g|0)>0){Vi(d,h,g)}J[e+8>>2]=d+(f<<2);J[e+4>>2]=j+4;J[e>>2]=d;if(h){xj(h)}break a}La();C()}Za();C()}e=J[a+4>>2];d=J[e+4>>2];c:{d:{e:{if((d|0)!=J[e+8>>2]){J[d>>2]=c;J[e+4>>2]=d+4;break e}h=J[e>>2];g=d-h|0;i=g>>2;d=i+1|0;if(d>>>0>=1073741824){break d}f=g>>1;f=g>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(f){if(f>>>0>=1073741824){break c}d=Aj(f<<2)}else{d=0}i=d+(i<<2)|0;J[i>>2]=c;if((g|0)>0){Vi(d,h,g)}J[e+8>>2]=d+(f<<2);J[e+4>>2]=i+4;J[e>>2]=d;if(!h){break e}xj(h)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}La();C()}Za();C()}function Sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{c=J[a+8>>2];b:{if((c|0)!=J[a+12>>2]){e=c;break b}d=J[a+4>>2];g=J[a>>2];if(d>>>0>g>>>0){f=c-d|0;g=((d-g>>2)+1|0)/-2<<2;e=g+d|0;if((c|0)!=(d|0)){Wi(e,d,f);c=J[a+4>>2]}e=e+f|0;J[a+8>>2]=e;J[a+4>>2]=c+g;break b}f=(c|0)==(g|0)?1:c-g>>1;if(f>>>0>=1073741824){break a}e=f<<2;h=Aj(e);k=h+e|0;f=(f&-4)+h|0;e=f;c:{if((c|0)==(d|0)){break c}c=c-d|0;l=c&-4;i=c-4|0;j=(i>>>2|0)+1&7;d:{if(!j){c=f;break d}e=0;c=f;while(1){J[c>>2]=J[d>>2];d=d+4|0;c=c+4|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}e=f+l|0;if(i>>>0<28){break c}while(1){J[c>>2]=J[d>>2];J[c+4>>2]=J[d+4>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=J[d+12>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=J[d+20>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=J[d+28>>2];d=d+32|0;c=c+32|0;if((e|0)!=(c|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=h;if(!g){break b}xj(g);e=J[a+8>>2]}J[e>>2]=J[b>>2];J[a+8>>2]=J[a+8>>2]+4;return}Za();C()}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0<c>>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;Wi(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=Aj(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}xj(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Za();C()}function Ff(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=ia-16|0;ia=g;b=J[a+4>>2];d=J[b>>2];a:{c=J[a+12>>2];c=J[c+28>>2]-J[c+24>>2]|0;e=c>>2;b:{if(e>>>0<=J[b+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}f=J[b+4>>2];c=Aj(c);h=c+(e<<2)|0;e=f-d|0;f=e+c|0;if((e|0)>0){Vi(c,d,e)}J[b+8>>2]=h;J[b+4>>2]=f;J[b>>2]=c;if(!d){break b}xj(d)}b=J[a+12>>2];d=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=d-b>>2;c=a+96|0;e=J[c>>2];d=J[a+100>>2]-e>>2;c:{if(b>>>0>d>>>0){jb(c,b-d|0,g+12|0);break c}if(b>>>0>=d>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){c=J[b>>2];if((c|0)==J[b+4>>2]){d=1;break d}b=0;while(1){d=Gf(e,J[(b<<2)+c>>2]);if(!d){break d}f=J[a+116>>2];c=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-c>>2>>>0){continue}break}break d}d=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){d=Gf(e,P(b,3));if(!d){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}ia=g+16|0;return d|0}La();C()}function Ua(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;f=J[a+12>>2];h=J[a+8>>2];d=f-h>>2;b=K[b+24|0];a:{if(d>>>0<b>>>0){Oa(a+8|0,b-d|0);h=J[a+8>>2];f=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}f=(b<<2)+h|0;J[a+12>>2]=f}b=0;i=J[c+20>>2];e=J[c+16>>2];d=f-h|0;f=d;g=e+d|0;j=J[c+12>>2];i=d>>>0>g>>>0?i+1|0:i;b:{if(g>>>0>M[c+8>>2]&(j|0)<=(i|0)|(i|0)>(j|0)){break b}Vi(h,e+J[c>>2]|0,d);d=J[c+20>>2];e=f+J[c+16>>2]|0;d=e>>>0<f>>>0?d+1|0:d;g=e;J[c+16>>2]=e;J[c+20>>2]=d;e=J[c+12>>2];f=g+4|0;d=f>>>0<4?d+1|0:d;if(f>>>0>M[c+8>>2]&(d|0)>=(e|0)|(d|0)>(e|0)){break b}d=g+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=J[c+16>>2];e=g+4|0;f=e>>>0<4?d+1|0:d;j=e;J[c+16>>2]=e;J[c+20>>2]=f;e=J[c+12>>2];if((f|0)>=(e|0)&j>>>0>=M[c+8>>2]|(f|0)>(e|0)){break b}e=K[j+J[c>>2]|0];f=g+5|0;d=f>>>0<5?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;if(e-1>>>0>29){break b}J[a+4>>2]=e;b=1}return b|0}function Mb(a,b){var c=0;a:{if(!je(a,b)){break a}if(!je(a+16|0,b)){break a}if(!je(a+32|0,b)){break a}if(!je(a+48|0,b)){break a}if(!je(a- -64|0,b)){break a}if(!je(a+80|0,b)){break a}if(!je(a+96|0,b)){break a}if(!je(a+112|0,b)){break a}if(!je(a+128|0,b)){break a}if(!je(a+144|0,b)){break a}if(!je(a+160|0,b)){break a}if(!je(a+176|0,b)){break a}if(!je(a+192|0,b)){break a}if(!je(a+208|0,b)){break a}if(!je(a+224|0,b)){break a}if(!je(a+240|0,b)){break a}if(!je(a+256|0,b)){break a}if(!je(a+272|0,b)){break a}if(!je(a+288|0,b)){break a}if(!je(a+304|0,b)){break a}if(!je(a+320|0,b)){break a}if(!je(a+336|0,b)){break a}if(!je(a+352|0,b)){break a}if(!je(a+368|0,b)){break a}if(!je(a+384|0,b)){break a}if(!je(a+400|0,b)){break a}if(!je(a+416|0,b)){break a}if(!je(a+432|0,b)){break a}if(!je(a+448|0,b)){break a}if(!je(a+464|0,b)){break a}if(!je(a+480|0,b)){break a}if(!je(a+496|0,b)){break a}c=je(a+512|0,b)}return c}function Kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=ia-16|0;ia=d;a:{e=J[a+4>>2];b:{if(e>>>0<b>>>0){f=b-e|0;c=J[a+8>>2];g=c<<5;c:{if(!(f>>>0>g>>>0|e>>>0>g-f>>>0)){J[a+4>>2]=b;h=e&31;b=J[a>>2]+(e>>>3&536870908)|0;break c}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0<c>>>0?c:b}else{b=2147483647}Mc(d,b);c=J[a+4>>2];J[d+4>>2]=c+f;e=J[a>>2];b=J[d>>2];d:{if((c|0)<=0){break d}g=c>>>5<<2;b=Wi(b,e,g)+g|0;h=c&31;if(h){c=-1>>>32-h|0;J[b>>2]=J[b>>2]&(c^-1)|J[e+g>>2]&c}e=J[a>>2]}J[a>>2]=J[d>>2];J[d>>2]=e;c=J[a+4>>2];J[a+4>>2]=J[d+4>>2];J[d+4>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[d+8>>2];J[d+8>>2]=c;if(!e){break c}xj(e)}if(!f){break b}if(h){c=32-h|0;a=c>>>0<f>>>0?c:f;J[b>>2]=J[b>>2]&(-1<<h&-1>>>c-a^-1);f=f-a|0;b=b+4|0}a=b;b=f>>>5<<2;a=Xi(a,0,b);if((f&-32)==(f|0)){break b}a=a+b|0;J[a>>2]=J[a>>2]&(-1>>>32-(f&31)^-1);break b}J[a+4>>2]=b}ia=d+16|0;return}La();C()}function Ij(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=K[a+11|0]>>>7|0?J[a+4>>2]:K[a+11|0];if(d>>>0<b>>>0){h=ia-16|0;ia=h;f=b-d|0;if(f){b=K[a+11|0]>>>7|0;g=b?J[a+4>>2]:K[a+11|0];i=g+f|0;b=b?(J[a+8>>2]&2147483647)-1|0:10;if(b-g>>>0<f>>>0){a:{d=ia-16|0;ia=d;c=-17;e=i-b|0;if(e>>>0<=-17-b>>>0){j=K[a+11|0]>>>7|0?J[a>>2]:a;if(b>>>0<2147483623){J[d+8>>2]=b<<1;J[d+12>>2]=b+e;c=ia-16|0;ia=c;ia=c+16|0;c=d+8|0;e=d+12|0;c=J[(M[e>>2]<M[c>>2]?c:e)>>2];if(c>>>0>=11){e=c+16&-16;c=e-1|0;c=(c|0)==11?e:c}else{c=10}c=c+1|0}e=Aj(c);if(g){zj(e,j,g)}if((b|0)!=10){xj(j)}J[a>>2]=e;J[a+8>>2]=c|-2147483648;ia=d+16|0;break a}fg();C()}}b=K[a+11|0]>>>7|0?J[a>>2]:a;d=g+b|0;if(f){Xi(d,0,f)}b:{if(K[a+11|0]>>>7|0){J[a+4>>2]=i;break b}H[a+11|0]=i}H[h+15|0]=0;H[b+i|0]=K[h+15|0]}ia=h+16|0;return}c=K[a+11|0]>>>7|0;f=c?J[a>>2]:a;d=ia-16|0;ia=d;c:{if(c){J[a+4>>2]=b;break c}H[a+11|0]=b}H[d+15|0]=0;H[b+f|0]=K[d+15|0];ia=d+16|0}function Ci(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=ia-16|0;ia=g;a:{b:{if(b){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){xj(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){xj(c)}c=J[b>>2];d=J[b+4>>2];H[g+15|0]=0;Qe(a,d-c>>2,g+15|0);c=J[b+28>>2];d=J[b+24>>2];H[g+14|0]=0;Qe(a+12|0,c-d>>2,g+14|0);wi(a+28|0,J[b+4>>2]-J[b>>2]>>2,13756);d=J[b+28>>2]-J[b+24>>2]|0;e=d>>2;c=J[a+52>>2];c:{if(e>>>0<=J[a+60>>2]-c>>2>>>0){break c}if((d|0)<0){break b}f=J[a+56>>2];d=Aj(d);h=d+(e<<2)|0;e=f-c|0;f=e+d|0;if((e|0)>0){Vi(d,c,e)}J[a+60>>2]=h;J[a+56>>2]=f;J[a+52>>2]=d;if(!c){break c}xj(c)}d=J[b+28>>2]-J[b+24>>2]|0;e=d>>2;c=J[a+40>>2];d:{if(e>>>0<=J[a+48>>2]-c>>2>>>0){break d}if((d|0)<0){break a}f=J[a+44>>2];d=Aj(d);h=d+(e<<2)|0;e=f-c|0;f=e+d|0;if((e|0)>0){Vi(d,c,e)}J[a+48>>2]=h;J[a+44>>2]=f;J[a+40>>2]=d;if(!c){break d}xj(c)}H[a+24|0]=1;J[a+64>>2]=b}ia=g+16|0;return}La();C()}La();C()}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function ed(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,k=0,l=0,m=0;f=J[b+12>>2];c=f;d=J[b+20>>2];g=d;i=J[b+16>>2];e=i+4|0;d=e>>>0<4?d+1|0:d;j=J[b+8>>2];a:{if(j>>>0<e>>>0&(c|0)<=(d|0)|(c|0)<(d|0)){break a}k=J[b>>2];c=i+k|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;d=g;h=i+8|0;d=h>>>0<8?d+1|0:d;if(h>>>0>j>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break a}e=e+k|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=d;if((c|0)>(e|0)){break a}J[a+16>>2]=e;J[a+12>>2]=c;l=(e>>31)-((c>>31)+(c>>>0>e>>>0)|0)|0;c=e-c|0;if(!l&c>>>0>2147483646|l){break a}c=c+1|0;J[a+20>>2]=c;e=c>>>1|0;J[a+24>>2]=e;J[a+28>>2]=0-e;if(!(c&1)){J[a+24>>2]=e-1}if(L[b+38>>1]<=513){if((d|0)>=(f|0)&h>>>0>=j>>>0|(d|0)>(f|0)){break a}c=K[h+k|0];d=g;g=i+9|0;d=g>>>0<9?d+1|0:d;J[b+16>>2]=g;J[b+20>>2]=d;if(c>>>0>1){break a}J[a+88>>2]=c}m=je(a+112|0,b)}return m|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-31>>>0<4294967267){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<<a)-2|0));c=J[J[c>>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f<Q(0)?h:n));e=Q(e+(e<Q(0)?h:n));h=Q(Q(f*f)+Q(Q(i*i)+Q(e*e)));if(!(+h<1e-6)){g=Q(Q(1)/Q(Y(h)));m=Q(f*g);l=Q(e*g);g=Q(i*g)}a=a+8|0;d=(B(m),v(2));H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=J[a>>2];c=g+(b>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<<b;f=J[a+64>>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=J[J[f>>2]+(c<<2)>>2]}c=J[a+12>>2];h=(d>>>3&536870908)+c|0;J[h>>2]=J[h>>2]|1<<d;b:{c:{if(!e){d:{e:{if((b>>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=J[J[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;J[e>>2]=J[e>>2]|1<<d;d=-1;b=J[J[f+12>>2]+(b<<2)>>2];if((b|0)==-1){break b}H[a+24|0]=0;a=(b>>>3&536870908)+g|0;J[a>>2]=J[a>>2]|1<<b;a=b+1|0;a=(a>>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=J[J[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<<d;f:{g:{if((b>>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=J[J[f>>2]+(b<<2)>>2]}b=1<<a;a=c+(a>>>3&536870908)|0;c=J[a>>2];break c}a=c+536870908|0;b=J[c+536870908>>2];c=-2147483648}J[a>>2]=b|c}}function Si(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=J[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=J[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;b=M[d+(b<<2)>>2]>M[d+(i<<2)>>2]?i:b;b=M[d+(b<<2)>>2]>M[d+(h<<2)>>2]?h:b;b=M[d+(b<<2)>>2]>M[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=J[a+580>>2];d=32-b|0;if((d|0)>=4){c=J[a+576>>2];if((c|0)==J[a+568>>2]){return 0}d=J[c>>2];e=b+4|0;J[a+580>>2]=e;b=d<<b>>>28|0;if((e|0)!=32){break a}J[a+580>>2]=0;J[a+576>>2]=c+4;return b}c=J[a+576>>2];e=c+4|0;if((e|0)==J[a+568>>2]){return 0}f=J[c>>2];J[a+576>>2]=e;J[a+580>>2]=b-28;a=60-b|0;b=J[c+4>>2]>>>a|f<<b>>>a-d}return b}function tf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11484;b=J[a+388>>2];if(b){J[a+392>>2]=b;xj(b)}d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}rf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Ue(b)}return a|0}function qf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11432;d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}rf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Ue(b)}return a|0}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=ia-32|0;ia=a;e=hj(c);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Aj(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=f;J[a+20>>2]=e;break c}H[a+27|0]=e;f=a+16|0;if(!e){break b}}Vi(f,c,e)}H[e+f|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d:{c=ug(b,a+16|0);if((c|0)==(b+4|0)){break d}b=J[c+28>>2];f=J[c+32>>2];if((b|0)==(f|0)){break d}b=f-b|0;if(b&3){break d}e=b>>>2|0;f=J[a+4>>2];b=J[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){Oa(a,e-g|0);b=J[a>>2];f=J[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;J[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=J[c+28>>2];Vi(e,b,J[c+32>>2]-b|0);break d}Bc();C()}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=J[a>>2];J[d+4>>2]=J[a+4>>2];J[d+8>>2]=J[a+8>>2];if(H[a+27|0]<0){xj(J[a+16>>2])}ia=a+32|0;break a}fg();C()}}function Re(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0<c>>>0){if(d){xj(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=Aj(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}Wi(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0<c>>>0){if(d){xj(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=Aj(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}Wi(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}La();C()}La();C()}function th(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;d=ia-16|0;ia=d;a:{e=hj(c);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Aj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;break c}H[d+11|0]=e;a=d;if(!e){break b}}Vi(a,c,e)}H[a+e|0]=0;c=K[d+11|0];e=c<<24>>24;b=J[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?J[d+4>>2]:a;f=c?J[d>>2]:d;while(1){c=K[b+27|0];g=c<<24>>24<0;c=g?J[b+20>>2]:c;i=c>>>0<a>>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?J[b+16>>2]:b+16|0;j=bj(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=bj(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=J[b>>2];if(b){continue}break}a=0}if((e|0)<0){xj(J[d>>2])}ia=d+16|0;break a}fg();C()}return a|0}function yd(a){var b=0,c=0,d=0;b=J[a+8>>2];d=J[a>>2];a:{if(K[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=J[J[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}J[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;J[a+8>>2]=b;if((b|0)!=-1){break b}}c=J[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=J[J[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}H[a+12|0]=0;J[a+8>>2]=b;return}if((b|0)!=J[a+4>>2]){break a}J[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=J[J[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}J[a+8>>2]=c}}function ej(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;f=ia-32|0;ia=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ea(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4004]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0<e>>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ea(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4004]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}ia=f+32|0;return a|0}function Jd(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,k=0,l=0;f=J[b+12>>2];c=J[b+20>>2];d=c;i=J[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;j=J[b+8>>2];g=e;a:{if(j>>>0<e>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}k=J[b>>2];e=i+k|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=c;e=L[b+38>>1];if(e>>>0<=513){c=d;d=i+8|0;c=d>>>0<8?c+1|0:c;g=d;if(d>>>0>j>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}J[b+16>>2]=g;J[b+20>>2]=c}if(!(h&1)){break a}d=S(h)^31;if(d-30>>>0<4294967267){break a}J[a+8>>2]=d+1;d=-2<<d;h=d^-2;J[a+16>>2]=h;J[a+12>>2]=d^-1;J[a+24>>2]=(h|0)/2;N[a+20>>2]=Q(2)/Q(h|0);if(e>>>0<=513){if((c|0)>=(f|0)&g>>>0>=j>>>0|(c|0)>(f|0)){break a}f=K[g+k|0];d=g+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f>>>0>1){break a}J[a+72>>2]=f}l=je(a+96|0,b)}return l|0}function Td(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,k=0,l=0;f=J[b+12>>2];c=J[b+20>>2];g=c;h=J[b+16>>2];d=h+4|0;c=d>>>0<4?c+1|0:c;i=J[b+8>>2];a:{if(i>>>0<d>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}k=J[b>>2];e=h+k|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;c=g;d=h+8|0;c=d>>>0<8?c+1|0:c;j=d;if(d>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}J[b+16>>2]=j;J[b+20>>2]=c;if(!(e&1)){break a}d=S(e)^31;if(d-30>>>0<4294967267){break a}J[a+8>>2]=d+1;d=-2<<d;e=d^-2;J[a+16>>2]=e;J[a+12>>2]=d^-1;J[a+24>>2]=(e|0)/2;N[a+20>>2]=Q(2)/Q(e|0);if(L[b+38>>1]<=513){if((c|0)>=(f|0)&j>>>0>=i>>>0|(c|0)>(f|0)){break a}f=K[j+k|0];c=h+9|0;g=c>>>0<9?g+1|0:g;J[b+16>>2]=c;J[b+20>>2]=g;if(f>>>0>1){break a}J[a+72>>2]=f}l=je(a+96|0,b)}return l|0}function Wi(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Vi(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function nc(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,k=0,l=0;h=J[c+12>>2];d=h;e=J[c+20>>2];i=J[c+8>>2];f=J[c+16>>2];a:{if((d|0)<=(e|0)&i>>>0<=f>>>0|(d|0)<(e|0)){break a}j=J[c>>2];k=H[j+f|0];d=e;g=f+1|0;d=g?d:d+1|0;J[c+16>>2]=g;J[c+20>>2]=d;b:{if((k|0)==-2){break b}if((d|0)>=(h|0)&g>>>0>=i>>>0|(d|0)>(h|0)){break a}d=H[g+j|0];f=f+2|0;e=f>>>0<2?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=na[J[J[a>>2]+40>>2]](a,k,d)|0;d=J[a+20>>2];J[a+20>>2]=e;if(!d){break b}na[J[J[d>>2]+4>>2]](d)}d=J[a+20>>2];if(d){if(!(na[J[J[a>>2]+28>>2]](a,d)|0)){break a}}if(!(na[J[J[a>>2]+36>>2]](a,b,c)|0)){break a}c=J[a+4>>2];if(!(!c|K[c+36|0]>1)){if(!(na[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0)){break a}}l=1}return l|0}function nj(a,b,c,d){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:na[d|0](a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function dc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[a+8>>2];c=J[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{b:{c:{g=J[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>1;e=d>>>0>=2147483644?1073741823:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=Aj(e<<2)}d=(f<<2)+i|0;f=b<<2;b=Xi(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=b;if((c|0)!=(g|0)){continue}break}J[a+8>>2]=e;b=J[a+4>>2];J[a+4>>2]=f;c=J[a>>2];J[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=J[b>>2];J[b>>2]=0;if(a){na[J[J[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}La();C()}Za();C()}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b}if(c){xj(c)}}function Mj(a,b){var c=0,d=0,e=0;c=ia+-64|0;ia=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=14972;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Kj(e,b,0)){J[c+56>>2]=1;na[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}na[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}ia=c- -64|0;return d}function ie(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;c=J[a>>2];J[a+4>>2]=c;J[a+12>>2]=c;g=J[b+12>>2];c=g;d=J[b+20>>2];f=J[b+16>>2];e=f+4|0;d=e>>>0<4?d+1|0:d;h=J[b+8>>2];a:{if(h>>>0<e>>>0&(c|0)<=(d|0)|(c|0)<(d|0)){break a}c=f+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;if(!c|c&3){break a}f=g-(d+(e>>>0>h>>>0)|0)|0;if(h-e>>>0<c>>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){Oa(a,c>>>2|0);h=J[b+8>>2];g=J[b+12>>2];e=J[b+16>>2];d=J[b+20>>2]}f=c+e|0;d=c>>>0>f>>>0?d+1|0:d;if(f>>>0>h>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}Vi(J[a>>2],e+J[b>>2]|0,c);d=J[b+20>>2];e=c+J[b+16>>2]|0;d=e>>>0<c>>>0?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=J[a>>2];i=1}return i}function Gi(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=J[J[J[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(c-P(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(b-P(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=J[J[a>>2]+96>>2];a=(b>>>0)/3|0;f=J[(c+P(a,12)|0)+(b-P(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Aj(72);J[c+4>>2]=0;J[c+8>>2]=0;J[c>>2]=2032;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c>>2]=2176;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+68>>2]=0;h=c;a:{if((b|0)>=0){g=a+8|0;c=J[a+12>>2];e=J[a+8>>2];f=c-e>>2;b:{if((f|0)>(b|0)){break b}d=b+1|0;if(b>>>0>=f>>>0){dc(g,d-f|0);break b}if(d>>>0>=f>>>0){break b}e=(d<<2)+e|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){na[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[g>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=h;if(!c){break a}}na[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Xi(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}H[a|0]=b;e=a+c|0;H[e-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[e-3|0]=b;H[e-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[e-4|0]=b;if(c>>>0<9){break a}e=0-a&3;f=e+a|0;d=P(b&255,16843009);J[f>>2]=d;b=c-e&-4;c=b+f|0;J[c-4>>2]=d;if(b>>>0<9){break a}J[f+8>>2]=d;J[f+4>>2]=d;J[c-8>>2]=d;J[c-12>>2]=d;if(b>>>0<25){break a}J[f+24>>2]=d;J[f+20>>2]=d;J[f+16>>2]=d;J[f+12>>2]=d;J[c-16>>2]=d;J[c-20>>2]=d;J[c-24>>2]=d;J[c-28>>2]=d;c=b;b=f&4|24;c=c-b|0;if(c>>>0<32){break a}d=jk(d,0,1,1);e=ma;b=b+f|0;while(1){J[b+24>>2]=d;J[b+28>>2]=e;J[b+16>>2]=d;J[b+20>>2]=e;J[b+8>>2]=d;J[b+12>>2]=e;J[b>>2]=d;J[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function zc(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,k=0;d=J[b+12>>2];h=d;c=J[b+20>>2];e=c;f=J[b+16>>2];g=f+4|0;c=g>>>0<4?c+1|0:c;i=J[b+8>>2];a:{if(i>>>0<g>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}j=J[b>>2];d=j+f|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=c;c=e;e=f+8|0;c=e>>>0<8?c+1|0:c;f=e;e=c;if(f>>>0>i>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}c=g+j|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=e;if((c|0)<(d|0)){break a}J[a+16>>2]=c;J[a+12>>2]=d;b=(c>>31)-((d>>31)+(c>>>0<d>>>0)|0)|0;c=c-d|0;if(!b&c>>>0>2147483646|b){break a}k=1;b=c+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1}return k|0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=J[a+4>>2];d=J[b>>2];a:{c=J[a+12>>2];c=J[c+56>>2]-J[c+52>>2]|0;e=c>>2;b:{if(e>>>0<=J[b+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}f=J[b+4>>2];c=Aj(c);g=c+(e<<2)|0;e=f-d|0;f=e+c|0;if((e|0)>0){Vi(c,d,e)}J[b+8>>2]=g;J[b+4>>2]=f;J[b>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Wf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Wf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}La();C()}function Ob(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)<J[b+16>>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0<b>>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=bj(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=bj(h,g,i);if(e){break d}}if(j){break c}return vg(f,c)}if((e|0)<0){break c}return vg(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return vg(a,c)}function Pf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=J[a+4>>2];d=J[b>>2];a:{c=J[a+12>>2];c=J[c+28>>2]-J[c+24>>2]|0;e=c>>2;b:{if(e>>>0<=J[b+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}f=J[b+4>>2];c=Aj(c);g=c+(e<<2)|0;e=f-d|0;f=e+c|0;if((e|0)>0){Vi(c,d,e)}J[b+8>>2]=g;J[b+4>>2]=f;J[b>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Qf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Qf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}La();C()}function Ji(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ia-16|0;ia=d;f=J[a+24>>2];k=J[a+28>>2];a:{if((f|0)!=(k|0)){while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;a=Li(J[f>>2],b,d);g=K[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=K[c+11|0];e=a<<24>>24;j=(h|0)<0?J[d+4>>2]:g;if((j|0)!=(((e|0)<0?J[c+4>>2]:a)|0)){break d}a=(e|0)<0?J[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(K[e|0]!=K[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(bj(e?J[d>>2]:d,a,j)){break c}}l=J[f>>2];i=1}if((h|0)>=0){break b}}xj(J[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}ia=d+16|0;return l}function Qe(a,b,c){var d=0,e=0,f=0,g=0;f=ia-16|0;ia=f;J[a+4>>2]=0;a:{b:{if(!b){break b}d=J[a+8>>2];e=d<<5;c:{if(e>>>0>=b>>>0){J[a+4>>2]=b;break c}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;if((b|0)<0){break a}if(e>>>0<=1073741822){d=d<<6;e=b+31&-32;d=d>>>0>e>>>0?d:e}else{d=2147483647}Mc(f,d);d=J[a>>2];J[a>>2]=J[f>>2];J[f>>2]=d;e=J[a+4>>2];J[a+4>>2]=b;J[f+4>>2]=e;e=J[a+8>>2];J[a+8>>2]=J[f+8>>2];J[f+8>>2]=e;if(!d){break c}xj(d)}g=b&-32;d=b>>>5|0;e=d<<2;a=J[a>>2];if(K[c|0]){a=Xi(a,255,e);if((b|0)==(g|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}a=Xi(a,0,e);if((b|0)==(g|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}ia=f+16|0;return}La();C()}function _b(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,k=0,l=0,m=0,n=0;d=J[b>>2];b=J[b+4>>2];f=J[J[a+8>>2]+40>>2];m=Aj((f|0)<0?-1:f);g=1;h=b-d|0;a:{if((h|0)<=0){break a}b=0;g=0;d=0+J[c+20>>2]|0;i=J[c+16>>2];e=f+i|0;d=e>>>0<f>>>0?d+1|0:d;j=e;e=J[c+12>>2];if(j>>>0>M[c+8>>2]&(e|0)<=(d|0)|(d|0)>(e|0)){break a}k=h>>2;g=(k|0)<=1?1:k;while(1){b:{e=Vi(m,i+J[c>>2]|0,f);J[c+16>>2]=j;J[c+20>>2]=d;Vi(J[J[J[a+8>>2]+64>>2]>>2]+b|0,e,f);l=l+1|0;if((g|0)==(l|0)){break b}b=b+f|0;d=n+J[c+20>>2]|0;i=J[c+16>>2];e=f+i|0;d=e>>>0<f>>>0?d+1|0:d;j=e;h=e;e=J[c+12>>2];if((e|0)>=(d|0)&M[c+8>>2]>=h>>>0|(d|0)<(e|0)){continue}}break}g=(l|0)>=(k|0)}xj(m);return g|0}function Ui(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[b>>2];h=J[b+8>>2];i=J[b+4>>2];j=J[b>>2];d=J[a>>2];b=J[d+4>>2];a=J[d+8>>2];if(b>>>0<a>>>0){J[b+8>>2]=h;J[b+4>>2]=i;J[b>>2]=j;J[d+4>>2]=b+12;return}a:{e=J[d>>2];g=(b-e|0)/12|0;c=g+1|0;if(c>>>0<357913942){f=(a-e|0)/12|0;a=f<<1;c=f>>>0>=178956970?357913941:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=357913942){break a}f=Aj(P(c,12))}else{f=0}a=f+P(g,12)|0;J[a+8>>2]=h;J[a+4>>2]=i;J[a>>2]=j;g=a+12|0;if((b|0)!=(e|0)){while(1){a=a-12|0;b=b-12|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2];if((b|0)!=(e|0)){continue}break}}J[d+8>>2]=f+P(c,12);J[d+4>>2]=g;J[d>>2]=a;if(e){xj(e)}return}La();C()}Za();C()}function ic(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=Aj(20);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;return a|0;case 1:a=Aj(24);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;return a|0;case 2:a=Aj(48);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1880;J[a>>2]=11096;J[a+32>>2]=0;J[a+36>>2]=0;J[a+28>>2]=-1;J[a+40>>2]=0;J[a+44>>2]=0;return a|0;case 3:a=Aj(32);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1032;J[a>>2]=7076;J[a+28>>2]=-1;break;default:break a}}return a|0}function Gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ia-32|0;ia=e;a:{b:{f=hj(c);if(f>>>0<4294967280){c:{d:{if(f>>>0>=11){g=(f|15)+1|0;a=Aj(g);J[e+24>>2]=g|-2147483648;J[e+16>>2]=a;J[e+20>>2]=f;break d}H[e+27|0]=f;a=e+16|0;if(!f){break c}}Vi(a,c,f)}H[a+f|0]=0;c=hj(d);if(c>>>0>=4294967280){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=Aj(f);J[e+8>>2]=f|-2147483648;J[e>>2]=a;J[e+4>>2]=c;break f}H[e+11|0]=c;a=e;if(!c){break e}}Vi(a,d,c)}H[a+c|0]=0;c=J[b+4>>2];a=-1;g:{if(!c){break g}c=Ji(c,e+16|0,e);a=-1;if(!c){break g}a=Oi(b,J[c+24>>2])}if(H[e+11|0]<0){xj(J[e>>2])}if(H[e+27|0]<0){xj(J[e+16>>2])}ia=e+32|0;break a}fg();C()}fg();C()}return a|0}function Pa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){qg(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){qg(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0<J[a+12>>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){qg(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function Qd(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,k=0,l=0,m=0,n=0;f=ia-32|0;ia=f;g=e>>>0>1073741823?-1:e<<2;l=Xi(Aj(g),0,g);g=l;i=J[g>>2];g=J[g+4>>2];k=J[b+4>>2];J[f+24>>2]=J[b>>2];J[f+28>>2]=k;J[f+8>>2]=i;J[f+12>>2]=g;i=a+8|0;Ld(f+16|0,i,f+8|0,f+24|0);J[c>>2]=J[f+16>>2];J[c+4>>2]=J[f+20>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;j=g+k|0;m=J[j>>2];j=J[j+4>>2];h=b+h|0;n=J[h+4>>2];J[f+24>>2]=J[h>>2];J[f+28>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Ld(f+16|0,i,f+8|0,f+24|0);J[g>>2]=J[f+16>>2];J[g+4>>2]=J[f+20>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(l);ia=f+32|0;return 1}function fb(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){d=J[a+4>>2];f=d-e|0;h=f>>2;f=g>>>0>h>>>0?b+f|0:c;if((f|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((f|0)!=(b|0)){continue}break}}if(g>>>0>h>>>0){b=c-f|0;if((b|0)>0){d=Vi(d,f,b)+b|0}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>1;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=Aj(e);J[a>>2]=d;J[a+4>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=Vi(d,b,f)+f|0}J[a+4>>2]=d;return}La();C()}function _d(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,k=0,l=0,m=0,n=0;f=ia-32|0;ia=f;h=e>>>0>1073741823?-1:e<<2;h=Xi(Aj(h),0,h);g=J[b>>2];i=J[b+4>>2];k=J[h+4>>2];J[f+16>>2]=J[h>>2];J[f+20>>2]=k;J[f+8>>2]=g;J[f+12>>2]=i;i=a+8|0;Vd(f+24|0,i,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=J[j>>2];j=J[j+4>>2];g=c+g|0;l=g+k|0;n=J[l+4>>2];J[f+16>>2]=J[l>>2];J[f+20>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Vd(f+24|0,i,f+16|0,f+8|0);J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(h);ia=f+32|0;return 1}function Nh(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;a:{if(M[b+80>>2]>65535){break a}a=J[b+100>>2];b=J[b+96>>2];e=(a-b|0)/12|0;f=P(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=P(a,6);h=f+d|0;e=b+P(a,12)|0;I[h>>1]=J[e>>2];I[(f|2)+d>>1]=J[e+4>>2];I[h+4>>1]=J[e+8>>2];f=a|1;e=P(f,6)+d|0;f=b+P(f,12)|0;I[e>>1]=J[f>>2];I[e+2>>1]=J[f+4>>2];I[e+4>>1]=J[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=P(a,6)+d|0;a=b+P(a,12)|0;I[c>>1]=J[a>>2];I[c+2>>1]=J[a+4>>2];I[c+4>>1]=J[a+8>>2]}return g|0}function Md(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;e=J[b+12>>2];c=J[b+20>>2];f=c;g=J[b+16>>2];d=g+4|0;c=d>>>0<4?c+1|0:c;h=J[b+8>>2];i=d;a:{if(h>>>0<d>>>0&(c|0)>=(e|0)|(c|0)>(e|0)){break a}d=g+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;if(L[b+38>>1]<=513){c=f;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>h>>>0&(c|0)>=(e|0)|(c|0)>(e|0)){break a}J[b+16>>2]=f;J[b+20>>2]=c}if(!(d&1)){break a}b=S(d)^31;c=b-30|0;if(c>>>0>=4294967267){J[a+8>>2]=b+1;e=-2<<b;b=e^-2;J[a+16>>2]=b;J[a+12>>2]=e^-1;J[a+24>>2]=(b|0)/2;N[a+20>>2]=Q(2)/Q(b|0)}j=c>>>0>4294967266}return j|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=1;a:{if((na[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){f=0;c=Ni(J[J[a+4>>2]+4>>2],na[J[J[b>>2]+24>>2]](b,g)|0);if((c|0)==-1){break a}e=J[a+4>>2];b:{if(K[e+36|0]<=1){if(na[J[J[b>>2]+28>>2]](b,J[J[J[e+4>>2]+8>>2]+(c<<2)>>2])|0){break b}break a}d=0;c:{if((c|0)<0){break c}h=J[e+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(c|0)){break c}d=J[J[e+8>>2]+(J[J[e+20>>2]+(c<<2)>>2]<<2)>>2];d=na[J[J[d>>2]+32>>2]](d,c)|0}if(!d){break a}if(!(na[J[J[b>>2]+28>>2]](b,d)|0)){break a}}f=1;g=g+1|0;if((na[J[J[b>>2]+20>>2]](b)|0)>(g|0)){continue}break}}return f|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=ia-32|0;ia=a;J[a+24>>2]=0;J[a+28>>2]=0;a:{d=hj(c);if(d>>>0<4294967280){b:{c:{if(d>>>0>=11){f=(d|15)+1|0;e=Aj(f);J[a+16>>2]=f|-2147483648;J[a+8>>2]=e;J[a+12>>2]=d;break c}H[a+19|0]=d;e=a+8|0;if(!d){break b}}Vi(e,c,d)}H[d+e|0]=0;c=b+4|0;b=ug(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=J[b+32>>2];b=J[b+28>>2];if((c-b|0)!=8){break d}c=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[a+24>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[a+28>>2]=c}g=O[a+24>>3];if(H[a+19|0]<0){xj(J[a+8>>2])}ia=a+32|0;break a}fg();C()}return+g}function ef(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=J[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=Aj(c>>>0>268435455?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;H[b+5|0]=0;H[b+6|0]=0;H[b+7|0]=0;H[b+8|0]=0;H[b+9|0]=0;H[b+10|0]=0;H[b+11|0]=0;H[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=J[a+136>>2];J[a+136>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}xj(c)}b=0;if(J[a+140>>2]<=0){break a}while(1){f=je(J[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)<J[a+140>>2]){continue}break}}return f}function db(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(J[a+64>>2]){break a}c=Aj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d)}e=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){d=J[(c<<2)+13632>>2]}else{d=-1}c=P(d,K[a+24|0]);d=c;g=c>>31;e=pg(e,0,jk(c,g,b,0),ma);if(e){c=J[a+64>>2];J[a>>2]=c;f=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=f;f=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=d;J[a+44>>2]=g;J[a+16>>2]=f;J[a+20>>2]=c;J[a+80>>2]=b}return e}function Wd(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;f=J[b+12>>2];c=J[b+20>>2];e=c;g=J[b+16>>2];d=g+4|0;c=d>>>0<4?c+1|0:c;h=J[b+8>>2];i=d;a:{if(h>>>0<d>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}d=g+J[b>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;c=e;e=g+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>h>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}J[b+16>>2]=e;J[b+20>>2]=c;if(!(d&1)){break a}b=S(d)^31;if(b-30>>>0<4294967267){break a}j=1;J[a+8>>2]=b+1;c=-2<<b;b=c^-2;J[a+16>>2]=b;J[a+12>>2]=c^-1;J[a+24>>2]=(b|0)/2;N[a+20>>2]=Q(2)/Q(b|0)}return j|0}function cb(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Sa(a,b,c){var d=0,e=0,f=0,g=0,h=0;g=c-b|0;f=g>>2;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;g=e>>2;e=g>>>0<f>>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){Wi(d,b,h)}if(g>>>0<f>>>0){b=J[a+4>>2];c=c-e|0;if((c|0)>0){b=Vi(b,e,c)+c|0}J[a+4>>2]=b;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;xj(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((g|0)<0){break a}d=e>>1;d=e>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break a}f=d<<2;d=Aj(f);J[a>>2]=d;J[a+4>>2]=d;J[a+8>>2]=d+f;if((b|0)!=(c|0)){d=Vi(d,b,g)+g|0}J[a+4>>2]=d;return}La();C()}function Oh(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,k=0;a=J[b+100>>2];b=J[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=P(a,12);i=e+d|0;f=b+e|0;J[i>>2]=J[f>>2];J[(e|4)+d>>2]=J[f+4>>2];J[i+8>>2]=J[f+8>>2];f=P(a|1,12);e=f+d|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=P(a,12);a=e+d|0;b=b+d|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}return(c|0)==(h|0)|0}function ug(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=bj(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0<d>>>0?c:d;if(e){a=bj(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function jj(a,b,c,d,e){var f=0,g=0,h=0;f=ia-208|0;ia=f;J[f+204>>2]=c;c=f+160|0;Xi(c,0,40);J[f+200>>2]=J[f+204>>2];a:{if((kj(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}h=J[a+76>>2]>=0;c=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=c&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=J[a+44>>2];J[a+44>>2]=f;break d}if(J[a+16>>2]){break c}}if(_i(a)){break b}}kj(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(g){na[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=g;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0}J[a>>2]=J[a>>2]|c&32;if(!h){break a}}ia=f+208|0}function Rj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Kj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Kj(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];na[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];na[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function sg(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{if(!b){break b}if(L[a+38>>1]<=513){e=J[a+12>>2];b=J[a+20>>2];f=J[a+16>>2];g=f+8|0;b=g>>>0<8?b+1|0:b;if(g>>>0>M[a+8>>2]&(b|0)>=(e|0)|(b|0)>(e|0)){break a}b=f+J[a>>2]|0;d=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[c>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[c+4>>2]=d;b=J[a+20>>2];c=J[a+16>>2]+8|0;b=c>>>0<8?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;break b}if(!tg(1,c,a)){break a}}H[a+36|0]=1;J[a+32>>2]=0;b=J[a+16>>2];c=b+J[a>>2]|0;J[a+24>>2]=c;d=a;a=J[a+8>>2];J[d+28>>2]=c+(a-b|0);d=1}return d}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=Aj(64);c=Aj(12);J[c+8>>2]=J[J[a+4>>2]+80>>2];J[c>>2]=13264;J[c+4>>2]=0;f=bc(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=J[a+12>>2];e=J[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){dc(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){na[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[h>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=f;if(!c){break a}}na[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Lb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}d=P(b,12);b=Aj(d);J[a>>2]=b;J[a+4>>2]=b;e=b+d|0;J[a+8>>2]=e;f=J[c>>2];c=J[c+4>>2];c:{if((f|0)==(c|0)){c=b;b=d-12|0;Xi(c,0,(b-((b>>>0)%12|0)|0)+12|0);break c}c=c-f|0;if((c|0)<0){break a}g=c&-4;while(1){J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;d=Aj(c);J[b>>2]=d;J[b+4>>2]=d;J[b+8>>2]=d+g;h=b,i=Vi(d,f,c)+g|0,J[h+4>>2]=i;b=b+12|0;if((e|0)!=(b|0)){continue}break}}J[a+4>>2]=e}return}La();C()}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;La();C()}function vi(a,b,c){var d=0,e=0,f=0,g=0;a:{if((b|c)>=0){b:{if(b>>>0>1431655765){break b}d=P(b,3);wi(a,d,13696);wi(a+12|0,d,13700);d=J[a+24>>2];c:{if(J[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}e=J[a+28>>2];f=c<<2;c=Aj(f);f=c+f|0;e=e-d|0;g=e+c|0;if((e|0)>0){Vi(c,d,e)}J[a+32>>2]=f;J[a+28>>2]=g;J[a+24>>2]=c;if(!d){break c}xj(d)}J[a+80>>2]=0;J[a+84>>2]=0;c=J[a+76>>2];J[a+76>>2]=0;if(c){xj(c)}J[a+68>>2]=0;J[a+72>>2]=0;c=a- -64|0;a=J[c>>2];J[c>>2]=0;if(!a){break b}xj(a)}a=b>>>0<1431655766}else{a=0}return a}La();C()}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+60>>2];a:{if(!c){break a}J[c+4>>2]=a+48;if(!(na[J[J[c>>2]+12>>2]](c)|0)){break a}b:{c=na[J[J[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=J[(na[J[J[a>>2]+28>>2]](a)|0)+4>>2];g=na[J[J[a>>2]+20>>2]](a,d)|0;e=J[a+60>>2];if(!(na[J[J[e>>2]+8>>2]](e,J[J[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!(na[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(na[J[J[a>>2]+40>>2]](a,b)|0)){break a}d=na[J[J[a>>2]+44>>2]](a)|0}return d|0}function Zf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;J[c+8>>2]=J[b+8>>2];J[a+4>>2]=c+12;return}a:{f=J[a>>2];g=c-f|0;d=(g|0)/12|0;c=d+1|0;if(c>>>0<357913942){e=d<<1;e=d>>>0>=178956970?357913941:c>>>0<e>>>0?e:c;if(e){if(e>>>0>=357913942){break a}c=Aj(P(e,12))}else{c=0}d=c+P(d,12)|0;h=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=h;J[d+8>>2]=J[b+8>>2];b=d+P((g|0)/-12|0,12)|0;if((g|0)>0){Vi(b,f,g)}J[a+8>>2]=c+P(e,12);J[a+4>>2]=d+12;J[a>>2]=b;if(f){xj(f)}return}La();C()}Za();C()}function Dj(a,b,c,d,e,f,g){var h=0,i=0,j=0;i=ia-16|0;ia=i;h=-17;if((b^-1)-17>>>0>=c>>>0){if(K[a+11|0]>>>7|0){j=J[a>>2]}else{j=a}if(b>>>0<2147483623){J[i+8>>2]=b<<1;J[i+12>>2]=b+c;c=ia-16|0;ia=c;ia=c+16|0;c=i+8|0;h=i+12|0;c=J[(M[h>>2]<M[c>>2]?c:h)>>2];if(c>>>0>=11){h=c+16&-16;c=h-1|0;c=(c|0)==11?h:c}else{c=10}h=c+1|0}c=Aj(h);if(f){zj(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){zj(c+f|0,e+j|0,g)}if((b|0)!=10){xj(j)}J[a>>2]=c;J[a+8>>2]=h|-2147483648;b=a;a=f+g|0;J[b+4>>2]=a;H[i+7|0]=0;H[a+c|0]=K[i+7|0];ia=i+16|0;return}fg();C()}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((na[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((na[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((na[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=J[a+216>>2]+P(e,144)|0;return(K[a+100|0]?a+4|0:0)|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function wb(a){var b=0,c=0,d=0,e=0;c=J[a+132>>2];if(c){d=c;b=J[a+136>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+132>>2]}J[a+136>>2]=c;xj(d)}c=J[a+120>>2];if(c){d=c;b=J[a+124>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+120>>2]}J[a+124>>2]=c;xj(d)}b=J[a+108>>2];if(b){J[a+112>>2]=b;xj(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}he(a+76|0);he(a+56|0);he(a+36|0);he(a+16|0)}function Pb(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2176;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){tb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;na[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function Yb(a){var b=0,c=0,d=0,e=0,f=0;d=J[a+8>>2];a:{if(K[d+84|0]){break a}b=J[a+16>>2];if(!b|!K[b+84|0]){break a}c=J[d+72>>2];e=J[d+68>>2];H[b+84|0]=0;c=c-e>>2;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){jb(b+68|0,c-e|0,2364);d=J[a+8>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}if(K[d+84|0]){break a}c=J[d+68>>2];if((c|0)==J[d+72>>2]){break a}e=J[J[a+16>>2]+68>>2];b=0;while(1){f=b<<2;J[f+e>>2]=J[c+f>>2];b=b+1|0;c=J[d+68>>2];if(b>>>0<J[d+72>>2]-c>>2>>>0){continue}break}}return J[a+16>>2]}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;e=ia+-64|0;ia=e;f=rg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;oe(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Gj(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Fj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}ia=e- -64|0;return f|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=ia+-64|0;ia=e;f=rg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;ne(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Gj(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Fj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}ia=e- -64|0;return f|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((na[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((na[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((na[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(J[a+216>>2]+P(e,144)|0)+104|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Eb(a){var b=0,c=0,d=0,e=0;c=J[a+640>>2];if(c){d=c;b=J[a+644>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+640>>2]}J[a+644>>2]=c;xj(d)}c=J[a+628>>2];if(c){d=c;b=J[a+632>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+628>>2]}J[a+632>>2]=c;xj(d)}b=J[a+616>>2];if(b){J[a+620>>2]=b;xj(b)}b=J[a+604>>2];if(b){J[a+608>>2]=b;xj(b)}he(a+584|0);he(a+564|0);he(a+544|0)}function qg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];d=J[a>>2];f=c-d|0;b:{if(f>>>0<b>>>0){g=b-f|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=Xi(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=e-d|0;e=c<<1;e=c>>>0>=1073741823?2147483647:b>>>0<e>>>0?e:b;c=Aj(e);Xi(c+f|0,0,g);if((f|0)>0){Vi(c,d,f)}J[a+8>>2]=c+e;J[a+4>>2]=b+c;J[a>>2]=c;if(!d){break b}xj(d);break b}if(b>>>0>=f>>>0){break b}J[a+4>>2]=b+d}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;d=b?c:d;J[a+24>>2]=b;J[a+28>>2]=d;return}La();C()}function Ab(a){var b=0,c=0,d=0,e=0;c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;xj(d)}c=J[a+116>>2];if(c){d=c;b=J[a+120>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+116>>2]}J[a+120>>2]=c;xj(d)}b=J[a+104>>2];if(b){J[a+108>>2]=b;xj(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;xj(b)}he(a+72|0);he(a+52|0);he(a+32|0)}function yj(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[3972]){b=yj(J[3972])}if(J[3934]){b=yj(J[3934])|b}a=J[4006];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=yj(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}na[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;na[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=ia-32|0;ia=a;a:{d=hj(c);if(d>>>0<4294967280){b:{c:{if(d>>>0>=11){f=(d|15)+1|0;e=Aj(f);J[a+24>>2]=f|-2147483648;J[a+16>>2]=e;J[a+20>>2]=d;break c}H[a+27|0]=d;e=a+16|0;if(!d){break b}}Vi(e,c,d)}H[d+e|0]=0;H[a+4|0]=0;J[a>>2]=1701667182;H[a+11|0]=4;d=J[b+4>>2];c=-1;d:{if(!d){break d}d=Ji(d,a,a+16|0);c=-1;if(!d){break d}c=Oi(b,J[d+24>>2])}b=c;if(H[a+11|0]<0){xj(J[a>>2])}if(H[a+27|0]<0){xj(J[a+16>>2])}ia=a+32|0;break a}fg();C()}return b|0}function kf(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=ia-16|0;ia=d;J[d+12>>2]=0;a:{e=hj(c);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Aj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;break c}H[d+11|0]=e;a=d;if(!e){break b}}Vi(a,c,e)}H[a+e|0]=0;a=ug(b,d);d:{if((a|0)==(b+4|0)){break d}b=J[a+32>>2];a=J[a+28>>2];if((b-a|0)!=4){break d}J[d+12>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24)}a=J[d+12>>2];if(H[d+11|0]<0){xj(J[d>>2])}ia=d+16|0;break a}fg();C()}return a|0}function sj(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4306]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4004]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function Jj(){var a=0,b=0;a=ia-16|0;ia=a;b=J[3455];aj(1686,11,b);J[a+12>>2]=0;jj(b,1656,0,377,378);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4288]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}Cj(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}Cj(b)}J[b+76>>2]=0}fa();C()}function yi(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13772;b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;xj(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){tb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;xj(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){gg(b)}return a|0}function Oa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=J[a>>2];g=c-f|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){c=0;e=e-f|0;i=e>>1;d=e>>>0>=2147483644?1073741823:d>>>0<i>>>0?i:d;if(d){if(d>>>0>=1073741824){break a}c=Aj(d<<2)}b=b<<2;b=Xi((h<<2)+c|0,0,b)+b|0;if((g|0)>0){Vi(c,f,g)}J[a+8>>2]=(d<<2)+c;J[a+4>>2]=b;J[a>>2]=c;if(f){xj(f)}return}La();C()}Za();C()}function we(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=J[a>>2];g=c-f|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){c=0;e=e-f|0;i=e>>2;d=e>>>0>=2147483640?536870911:d>>>0<i>>>0?i:d;if(d){if(d>>>0>=536870912){break a}c=Aj(d<<3)}b=b<<3;b=Xi((h<<3)+c|0,0,b)+b|0;if((g|0)>0){Vi(c,f,g)}J[a+8>>2]=(d<<3)+c;J[a+4>>2]=b;J[a>>2]=c;if(f){xj(f)}return}La();C()}Za();C()}function wg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a>>2];a=J[e+4>>2];c=J[e+8>>2];if(a>>>0<c>>>0){J[a>>2]=J[b>>2];J[e+4>>2]=a+4;return}a:{f=J[e>>2];g=a-f|0;d=g>>2;a=d+1|0;if(a>>>0<1073741824){h=d<<2;c=c-f|0;d=c>>1;c=c>>>0>=2147483644?1073741823:a>>>0<d>>>0?d:a;if(c){if(c>>>0>=1073741824){break a}a=Aj(c<<2)}else{a=0}d=h+a|0;J[d>>2]=J[b>>2];if((g|0)>0){Vi(a,f,g)}J[e+8>>2]=a+(c<<2);J[e+4>>2]=d+4;J[e>>2]=a;if(f){xj(f)}return}La();C()}Za();C()}function vg(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=ug(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=H[a+39|0]<0?J[b>>2]:b;while(1){a=b;b=a+1|0;c=H[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=H[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=H[b|0];a=b}if(c-48>>>0<10){while(1){d=(P(d,10)-H[a|0]|0)+48|0;b=H[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function jc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function kc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}xj(a)}function zg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=J[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>=0){c=0;e=e-f|0;d=e>>>0>=2147483646?2147483647:d>>>0<e>>>0?e:d;if(d){if((d|0)<0){break a}c=Aj(d<<1)}b=b<<1;b=Xi((h<<1)+c|0,0,b)+b|0;if((g|0)>0){Vi(c,f,g)}J[a+8>>2]=(d<<1)+c;J[a+4>>2]=b;J[a>>2]=c;if(f){xj(f)}return}La();C()}Za();C()}function Ta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=ia-16|0;ia=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ea(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ea(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ea(b,J[b+4>>2],d+15|0,d+16|0)}ia=d+16|0;return(e|0)!=-1|0}function bg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0<b>>>0){Oa(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Bc();C()}function ff(a,b){var c=0,d=0,e=0,f=0,g=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){J[c>>2]=J[b>>2];J[a+4>>2]=c+4;return}a:{g=J[a>>2];e=c-g|0;f=e>>2;c=f+1|0;if(c>>>0<1073741824){d=e>>1;d=e>>>0>=2147483644?1073741823:c>>>0<d>>>0?d:c;if(d){if(d>>>0>=1073741824){break a}c=Aj(d<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=J[b>>2];if((e|0)>0){Vi(c,g,e)}J[a+8>>2]=c+(d<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(g){xj(g)}return}La();C()}Za();C()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ia-16|0;ia=d;ne(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Gj(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Fj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}ia=d+16|0;return e|0}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ia-16|0;ia=d;oe(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Gj(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Fj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}ia=d+16|0;return e|0}function $i(a,b,c){var d=0,e=0,f=0;d=J[c+16>>2];a:{if(!d){if(_i(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0<b>>>0){return na[J[c+36>>2]](c,a,b)|0}b:{if(J[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(K[e+a|0]!=10){continue}break}e=na[J[c+36>>2]](c,a,d)|0;if(e>>>0<d>>>0){break a}a=a+d|0;b=b-d|0;f=J[c+20>>2]}Vi(f,a,b);J[c+20>>2]=J[c+20>>2]+b;e=b+d|0}return e}function bf(a,b){var c=0,d=0,e=0,f=0;d=J[a+12>>2];c=J[a+16>>2]-d>>2;a:{if(c>>>0<b>>>0){Oa(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}J[a+16>>2]=d+(b<<2)}b:{c=J[a>>2];c:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=J[a+4>>2];e=b<<2;b=Aj(e);e=b+e|0;d=d-c|0;f=d+b|0;if((d|0)>0){Vi(b,c,d)}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b;if(!c){break c}xj(c)}return}La();C()}function xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ia-16|0;ia=d;a:{e=hj(c);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Aj(g);J[d+8>>2]=g|-2147483648;J[d>>2]=f;J[d+4>>2]=e;break c}H[d+11|0]=e;f=d;if(!e){break b}}Vi(f,c,e)}H[e+f|0]=0;f=a+16|0;c=Li(b,d,f);b=J[a+16>>2];a=H[a+27|0];if(H[d+11|0]<0){xj(J[d>>2])}ia=d+16|0;a=c?(a|0)<0?b:f:0;break a}fg();C()}return a|0}function af(a){var b=0,c=0,d=0,e=0;if(K[a+76|0]){H[a+76|0]=0;d=J[a+60>>2];c=J[a+72>>2]+7|0;b=c>>>0<7?1:b;e=b>>>3|0;c=b<<29|c>>>3;b=c+J[a+56>>2]|0;d=d+e|0;J[a+56>>2]=b;J[a+60>>2]=b>>>0<c>>>0?d+1|0:d}if(L[a+38>>1]<=513){H[a+132|0]=0;d=J[a+116>>2];b=0;c=J[a+128>>2]+7|0;b=c>>>0<7?1:b;e=b>>>3|0;c=b<<29|c>>>3;b=c+J[a+112>>2]|0;d=d+e|0;J[a+112>>2]=b;J[a+116>>2]=b>>>0<c>>>0?d+1|0:d}}function xe(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=H[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;b:{if((e|0)<0){if(!xe(a+1|0,b,c)){break a}c=J[b>>2];a=J[b+4>>2]<<7|c>>>25;c=e&127|c<<7;break b}a=0;c=e&255}J[b>>2]=c;J[b+4>>2]=a;g=1}return g}function tg(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=H[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;b:{if((e|0)<0){if(!tg(a+1|0,b,c)){break a}c=J[b>>2];a=J[b+4>>2]<<7|c>>>25;c=e&127|c<<7;break b}a=0;c=e&255}J[b>>2]=c;J[b+4>>2]=a;g=1}return g}function mf(a,b){var c=0,d=0,e=0,f=0,g=0;J[a+144>>2]=b;c=J[(na[J[J[b>>2]+32>>2]](b)|0)+32>>2];e=J[c>>2]+J[c+16>>2]|0;d=J[(na[J[J[b>>2]+32>>2]](b)|0)+32>>2];c=J[d+8>>2];d=J[d+16>>2];c=c-d|0;f=a,g=L[J[(na[J[J[b>>2]+32>>2]](b)|0)+32>>2]+38>>1],I[f+38>>1]=g;J[a>>2]=e;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=c;J[a+12>>2]=0;f=a,g=na[J[J[b>>2]+36>>2]](b)|0,J[f+148>>2]=g}function Sj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Kj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Kj(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function $a(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=ia+-64|0;ia=d;e=na[J[J[a>>2]+44>>2]](a,b)|0;a=na[J[J[a>>2]+40>>2]](a,b)|0;f=ab(d);g=J[b+56>>2];h=e&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+13632>>2]}else{a=-1}a=P(a,e);bb(f,g,h,i,0,a,a>>31);a=cb(Aj(96),f);db(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];ia=d- -64|0;return a|0}function Fe(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=J[a+32>>2];f=J[b+8>>2];e=J[b+12>>2];d=J[b+20>>2];h=f;f=J[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(h>>>0<g>>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=f+J[b>>2]|0;e=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=d;c=0;if((e|0)<0){break a}J[J[a+4>>2]+80>>2]=e;c=1}return c|0}function me(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!b){J[c>>2]=0;return}g=0-K[a+12|0]&255;e=J[a+8>>2];h=J[a>>2];while(1){i=d<<1;a:{if(e>>>0>4095){break a}d=J[a+4>>2];if((d|0)<=0){break a}d=d-1|0;J[a+4>>2]=d;e=K[d+h|0]|e<<8}f=e&255;d=f>>>0<g>>>0;j=f;f=P(e>>>8|0,g);e=d?j+f|0:e-(g+f|0)|0;J[a+8>>2]=e;d=d|i;b=b-1|0;if(b){continue}break}J[c>>2]=d}function Qj(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Ge(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function og(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=J[a+32>>2];e=J[d+12>>2];g=J[d+8>>2];b=g;c=J[d+20>>2];h=J[d+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;if((c|0)<=(e|0)&b>>>0>=f>>>0|(c|0)<(e|0)){b=h+J[d>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[d+16>>2]=f;J[d+20>>2]=c;J[J[a+4>>2]+80>>2]=b}return(c|0)<=(e|0)&f>>>0<=g>>>0|(c|0)<(e|0)}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ia+-64|0;ia=e;d=1;a:{if(Kj(a,b,0)){break a}d=0;if(!b){break a}b=Mj(b,15020);d=0;if(!b){break a}d=e+8|0;Xi(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;na[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}ia=e- -64|0;return d|0}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ia-16|0;ia=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Qe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Qe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ia=d+16|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=ia-16|0;ia=a;f=H[b+24|0];e=J[3423];J[a+8>>2]=J[3422];J[a+12>>2]=e;e=J[3421];J[a>>2]=J[3420];J[a+4>>2]=e;e=Uc(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=Aj(c);g=Vi(b,a,c)+c|0}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=b}ia=a+16|0;return e|0}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=na[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(na[J[J[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(na[J[J[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=na[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(na[J[J[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(na[J[J[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function ui(a){var b=0;J[a>>2]=0;J[a+4>>2]=0;J[a+56>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+60>>2]=a;return a}function hf(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0<d>>>0?d:c}else{c=2147483647}Mc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<<c;a=J[a>>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}La();C()}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ia-16|0;ia=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Qe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Qe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ia=d+16|0}function ve(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!ve(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function ke(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!ke(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function ib(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!ib(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Yf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Yf(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Te(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Te(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Kb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Kb(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Jc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Jc(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Ii(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[f+J[c>>2]|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ii(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function bj(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function rf(a){var b=0,c=0,d=0,e=0;d=J[a>>2];if(d){e=d;c=J[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}df(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=J[a>>2]}J[a+4>>2]=d;xj(e)}}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+4>>2];a:{if(!d){break a}b=J[J[J[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=J[d+24>>2];c=J[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=J[a>>2];if((b|0)==J[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function Cf(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function gg(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){kg(b+12|0,J[b+16>>2]);lg(b,J[b+4>>2]);xj(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;xj(b)}kg(a+12|0,J[a+16>>2]);lg(a,J[a+4>>2]);xj(a)}}function Df(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function Ae(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function Fa(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;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[e+J[c>>2]|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0<h>>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function $f(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function Kj(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+12>>2];b=J[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=J[b+(a<<2)>>2];if(J[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function Bf(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Ki(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=Aj(c);c=Xi(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}Vi(e,c,a-c|0);return}La();C()}function We(a){var b=0,c=0,d=0,e=0;c=J[a+4>>2];d=J[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}df(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=d}function If(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function oj(a,b,c){var d=0,e=0,f=0;a:{if(!b){d=a;break a}while(1){d=lk(a,b,10,0);f=ma;e=jk(d,f,10,0);c=c-1|0;H[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;H[c|0]=d-P(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Ve(a,b){var c=0,d=0,e=0,f=0;a:{c=J[a>>2];b:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=J[a+4>>2];e=b<<2;b=Aj(e);e=b+e|0;d=d-c|0;f=d+b|0;if((d|0)>0){Vi(b,c,d)}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b;if(!c){break b}xj(c)}return}La();C()}function Ue(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;xj(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function uj(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=ia-16|0;ia=f;d=ia-16|0;ia=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);h=(e^-1)+b|0;b=e;e=J[d+12>>2];g=M[e>>2]<M[c>>2];b=g?h:b;a=g?e+4|0:a;continue}break}ia=d+16|0;ia=f+16|0;return a}function df(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;xj(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;xj(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;xj(b)}b=J[a+12>>2];if(b){xj(b)}a=J[a>>2];if(a){xj(a)}}function Cj(a){var b=0,c=0,d=0;c=ia-16|0;ia=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(_i(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((na[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}ia=c+16|0}function Ej(a,b,c){var d=0,e=0;a:{b:{if(c>>>0<11){d=a;H[d+11|0]=c;break b}if(c>>>0>4294967279){break a}if(c>>>0>=11){e=c+16&-16;d=e-1|0;d=(d|0)==11?e:d}else{d=10}e=d+1|0;d=Aj(e);J[a>>2]=d;J[a+8>>2]=e|-2147483648;J[a+4>>2]=c}zj(d,b,c+1|0);return}fg();C()}function _a(a,b){var c=0,d=0;d=Aj(40);J[d>>2]=-1;c=d+8|0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;na[J[J[a>>2]+16>>2]](a,d);a=J[b+88>>2];J[b+88>>2]=d;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}return 1}function hj(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function le(a){var b=0,c=0,d=0,e=0,f=0;d=K[a+12|0];c=J[a+8>>2];a:{if(c>>>0>4095){break a}b=J[a+4>>2];if((b|0)<=0){break a}b=b-1|0;J[a+4>>2]=b;c=K[b+J[a>>2]|0]|c<<8}d=0-d&255;b=P(d,c>>>8|0);e=c&255;f=e>>>0<d>>>0;J[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function ij(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=ij(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function bc(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2032;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2376;J[a+60>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;return a}function Ah(a){a=a|0;var b=0,c=0,d=0;if(a){if(H[a+27|0]<0){xj(J[a+16>>2])}b=J[a>>2];if(b){c=b;d=J[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(H[d-1|0]<0){xj(J[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=J[a>>2]}J[a+4>>2]=b;xj(c)}xj(a)}}function tb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;xj(c)}xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;xj(c)}xj(b)}xj(a)}}function mj(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function eg(a,b){var c=0,d=0,e=0;c=hj(b);if(c>>>0<4294967280){a:{b:{if(c>>>0>=11){e=(c|15)+1|0;d=Aj(e);J[a+8>>2]=e|-2147483648;J[a>>2]=d;J[a+4>>2]=c;break b}H[a+11|0]=c;d=a;if(!c){break a}}Vi(d,b,c)}H[c+d|0]=0;return a}fg();C()}function fe(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}return a|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=J[b+96>>2];a=Aj(12);b=b+P(c,12)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=a;a=a+12|0;J[d+8>>2]=a;J[d+4>>2]=a;return 1}function kk(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0<e>>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=lk(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ma=(g^ma)-((a>>>0<f>>>0)+g|0)|0;return b}function ge(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}xj(a)}function Fj(a,b,c){var d=0,e=0,f=0;e=ia-16|0;ia=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;zj(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];Dj(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}ia=e+16|0}function Da(a,b){a=a|0;b=b|0;var c=0,d=0;c=ia-16|0;ia=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ea(b,J[b+4>>2],c+15|0,c+16|0)}ia=c+16|0;return(a|0)!=-1|0}function jk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ma=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Nj(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function Lg(){var a=0;a=ab(Aj(96));J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a|0}function za(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){qg(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function pj(a,b,c,d,e){var f=0;f=ia-256|0;ia=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Xi(f,b&255,c?d:256);if(!c){while(1){lj(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}lj(a,f,d)}ia=f+256|0}function kd(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function jg(a){a=a|0;var b=0,c=0,d=0;b=J[a+8>>2];d=J[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=J[b>>2];c=na[J[J[c>>2]+16>>2]](c,J[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Fc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Oi(a,b){var c=0,d=0;c=J[a+8>>2];a=J[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(J[J[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}
function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;Qi(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}b=c+(b<<2)|0;c=b+4|0;e=d-c|0;if((c|0)!=(d|0)){Wi(b,c,e)}J[a+88>>2]=b+e}}function ld(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Gc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Li(a,b,c){var d=0,e=0;d=a+4|0;a=ug(a,b);if((d|0)==(a|0)){return 0}b=J[a+32>>2];d=J[a+28>>2];if((b|0)!=(d|0)){Ij(c,b-d|0);e=Hj(c);c=J[a+28>>2];Vi(e,c,J[a+32>>2]-c|0)}return(b|0)!=(d|0)}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ia-16|0;ia=e;a=ha(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4004]=a;a=-1}else{a=0}ia=e+16|0;ma=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function ab(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function _i(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=Yb(J[J[a+36>>2]+(b<<2)>>2])}return c|0}function Bh(){var a=0,b=0;a=Aj(40);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;J[a+32>>2]=0;J[a+36>>2]=0;return a|0}function vj(a){var b=0,c=0;b=J[3973];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>oa()<<16>>>0){if(!(ga(a|0)|0)){break a}}J[3973]=a;return b}J[4004]=48;return-1}function Sf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function Mf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function Gj(a,b,c){var d=0,e=0;d=ia-16|0;ia=d;a:{if(c>>>0<=10){H[a+11|0]=c;zj(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0];Dj(e,10,c-10|0,a,a,c,b)}ia=d+16|0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;a=J[a+8>>2];if(K[a+24|0]==3){d=J[a+28>>2]==9}return d|0}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[a+8>>2];a:{if(!K[d+24|0]){break a}if(!db(d,J[b+4>>2]-J[b>>2]>>2)){break a}e=na[J[J[a>>2]+32>>2]](a,b,c)|0}return e|0}function Tf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function Nf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function od(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function kg(a,b){if(b){kg(a,J[b>>2]);kg(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){kg(a+12|0,J[a+16>>2]);lg(a,J[a+4>>2]);xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Nc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;return J[J[J[J[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function cg(a){J[a+40>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=13328;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;I[a+36>>1]=0;return a}function Bj(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=15308;J[a>>2]=15420;c=hj(b);d=Aj(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=Vi(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function mb(a,b){a=a|0;b=b|0;var c=0;a:{if(!(na[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(na[J[J[a>>2]+40>>2]](a,b)|0)){break a}c=na[J[J[a>>2]+44>>2]](a)|0}return c|0}function pd(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Oc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function cd(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]|!J[a+56>>2]){break a}b=J[a+92>>2]!=-1}return b|0}function ya(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function rc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}return a|0}function Hd(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]|!J[a+40>>2]){break a}b=J[a+76>>2]!=-1}return b|0}function Pe(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Lf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function sc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){na[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}xj(a)}function xf(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function mc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+4>>2];a:{if(d){c=1;if(K[d+36|0]<2){break a}}c=na[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0}return c|0}function Rf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function Hg(){var a=0,b=0;b=Aj(40);J[b>>2]=-1;a=b+8|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;return b|0}function rg(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;I[a+38>>1]=0;H[a+36|0]=0;return a}function Tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Kj(a,J[b+8>>2],f)){Qj(b,c,d,e);return}a=J[a+8>>2];na[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function be(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!(na[J[J[a>>2]+52>>2]](a)|0)){break a}}b=_a(a+24|0,J[a+16>>2])}return b|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!(na[J[J[a>>2]+52>>2]](a)|0)){break a}}d=pc(a,b,c)}return d|0}function ah(){var a=0;a=Mi(Aj(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=13712;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Ni(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function bb(a,b,c,d,e,f,g){J[a>>2]=0;J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=e;J[a+28>>2]=d;H[a+24|0]=c}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!Fa(a+24|0,Yb(a),c)){break a}}b=_a(a+24|0,J[a+16>>2])}return b|0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!Fa(a+24|0,J[a+8>>2],c)){break a}}d=pc(a,b,c)}return d|0}function xi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}return yi(a)|0}function Hj(a){var b=0;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]}if(!b){Cc(1255);C()}if(K[a+11|0]>>>7|0){a=J[a>>2]}return a}function zi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}xj(yi(a))}function rd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function lg(a,b){if(b){lg(a,J[b>>2]);lg(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Vc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function sh(){var a=0;a=Aj(28);J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function kb(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function ch(){var a=0,b=0;a=Aj(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Kj(a,J[b+8>>2],0)){Nj(b,c,d);return}a=J[a+8>>2];na[J[J[a>>2]+28>>2]](a,b,c,d)}function sd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Wc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Aj(a){var b=0;a=a?a:1;a:{while(1){b=wj(a);if(b){break a}b=J[4436];if(b){na[b|0]();continue}break}fa();C()}return b}function pe(a,b){if(b){pe(a,J[b>>2]);pe(a,J[b+4>>2]);if(H[b+39|0]<0){xj(J[b+28>>2])}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Zj(a){a=a|0;var b=0,c=0;J[a>>2]=15420;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){xj(b)}return a|0}function Ug(){var a=0;a=Aj(24);J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=-1;J[a>>2]=1880;J[a+16>>2]=0;J[a+20>>2]=0;return a|0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function Qc(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function yf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function ud(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Jf(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function $c(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function ai(a){a=a|0;if(a){if(H[a+39|0]<0){xj(J[a+28>>2])}bi(a+12|0,J[a+16>>2]);pe(a,J[a+4>>2]);xj(a)}}function wc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function zf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function vd(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function ad(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Rc(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|!b|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function Kf(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function dd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=b;J[a+8>>2]=c;J[a+12>>2]=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;if(Kj(a,J[b+8>>2],f)){Qj(b,c,d,e)}}function Id(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Ib(a){var b=0;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}}function Za(){var a=0;a=$(4)|0;J[a>>2]=15308;J[a>>2]=15268;J[a>>2]=15288;aa(a|0,15400,14);C()}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=na[a|0](b,c,d,e)|0;ja=ma;return a|0}function Dc(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function $b(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}return a|0}function de(a){a=a|0;var b=0;b=Yb(a);return Ua(a+24|0,b?b:J[a+8>>2],J[J[a+4>>2]+32>>2])|0}function Va(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}return a|0}function uc(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function ac(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){tb(b)}xj(a)}function Wa(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}function he(a){var b=0;J[a+16>>2]=0;b=J[a>>2];J[a+4>>2]=b;J[a+12>>2]=b;if(b){xj(b)}}function bi(a,b){if(b){bi(a,J[b>>2]);bi(a,J[b+4>>2]);pe(b+20|0,J[b+24>>2]);xj(b)}}function cj(a,b){var c=0;c=ia-16|0;ia=c;J[c+12>>2]=b;jj(15744,a,b,0,0);ia=c+16|0}function ze(a){a=a|0;if(!J[a+44>>2]){return 0}return na[J[J[a>>2]+48>>2]](a)|0}function Jg(a){a=a|0;var b=0;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}}function mk(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Kj(a,J[b+8>>2],0)){Nj(b,c,d)}}function Je(a,b){a=a|0;b=b|0;a=J[a+48>>2];return na[J[J[a>>2]+16>>2]](a,b)|0}function Ie(a,b){a=a|0;b=b|0;a=J[a+48>>2];return na[J[J[a>>2]+12>>2]](a,b)|0}function Be(a,b){a=a|0;b=b|0;a=J[a+48>>2];return na[J[J[a>>2]+20>>2]](a,b)|0}function kh(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function hh(){var a=0;a=Aj(12);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;return a|0}function nk(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<<b|(-1<<a&-2)>>>a}function hd(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function gb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function dh(a){a=a|0;if(a){kg(a+12|0,J[a+16>>2]);lg(a,J[a+4>>2]);xj(a)}}function aj(a,b,c){a:{if(J[c+76>>2]<0){a=$i(a,b,c);break a}a=$i(a,b,c)}}function ag(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Zg(){var a=0;a=Aj(8);J[a+4>>2]=-1;J[a>>2]=1032;return a|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;return J[J[b+8>>2]+(c<<2)>>2]}function He(a){a=a|0;a=J[a+48>>2];return na[J[J[a>>2]+36>>2]](a)|0}function Ee(a){a=a|0;a=J[a+48>>2];return na[J[J[a>>2]+28>>2]](a)|0}function De(a){a=a|0;a=J[a+48>>2];return na[J[J[a>>2]+24>>2]](a)|0}function ee(a,b){a=a|0;b=b|0;return Ra(a+24|0,Yb(a),J[a+8>>2])|0}function Dd(a,b){a=a|0;b=b|0;return Ca(a+24|0,Yb(a),J[a+8>>2])|0}function gh(a){a=a|0;if(a){if(H[a+15|0]<0){xj(J[a+4>>2])}xj(a)}}function ce(a,b){a=a|0;b=b|0;return na[J[J[a>>2]+56>>2]](a,b)|0}function Vj(a){a=a|0;if(!a){return 0}return(Mj(a,15116)|0)!=0|0}function Vg(a,b){a=a|0;b=b|0;return na[J[J[a>>2]+12>>2]](a,b)|0}function Vb(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function Ma(a){a=Bj($(8)|0,a);J[a>>2]=15468;aa(a|0,15500,1);C()}function Cc(a){a=Bj($(8)|0,a);J[a>>2]=15520;aa(a|0,15552,1);C()}function Wg(a,b){a=a|0;b=b|0;return Q(N[J[a+8>>2]+(b<<2)>>2])}function ih(a,b){a=a|0;b=b|0;return Q(N[J[a>>2]+(b<<2)>>2])}function ye(a){a=cg(a);J[a+44>>2]=0;J[a>>2]=11228;return a}function xa(){la=5260640;ka=17760;J[4306]=17112;J[4288]=42}function nb(a,b){a=a|0;b=b|0;return J[J[a+4>>2]+(b<<2)>>2]}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ma=0;return 0}function fh(a){a=a|0;return(H[a+15|0]<0?J[a+4>>2]:a+4|0)|0}function bh(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function rh(a,b){a=a|0;b=b|0;return J[J[a>>2]+(b<<2)>>2]}function qh(a,b){a=a|0;b=b|0;return L[J[a>>2]+(b<<1)>>1]}function oh(a,b){a=a|0;b=b|0;return I[J[a>>2]+(b<<1)>>1]}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;return Ni(b,c)|0}function ok(a){if(a){return 31-S(a-1^a)|0}return 32}
function Mi(a){J[a>>2]=13772;Xi(a+4|0,0,80);return a}function $g(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function ob(a){a=a|0;return J[a+8>>2]-J[a+4>>2]>>2}function nh(a,b){a=a|0;b=b|0;return K[J[a>>2]+b|0]}function lh(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Yg(a){a=a|0;if(a){na[J[J[a>>2]+4>>2]](a)}}function Ke(a,b){a=a|0;b=b|0;J[a+4>>2]=b;return 1}function ph(a){a=a|0;return J[a+4>>2]-J[a>>2]>>1}function jh(a){a=a|0;return J[a+4>>2]-J[a>>2]>>2}function mh(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function dk(a){a=a|0;a=ia-a&-16;ia=a;return a|0}function lj(a,b,c){if(!(K[a|0]&32)){$i(b,c,a)}}function yh(a,b){a=a|0;b=b|0;return J[b+8>>2]}function tc(a){a=a|0;return K[J[a+8>>2]+24|0]}function Ya(a,b){a=a|0;b=b|0;return K[b+24|0]}function Xd(a){a=a|0;J[a>>2]=10080;return a|0}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Jh(a,b){a=a|0;b=b|0;return J[b+4>>2]}function dj(a){a=a|0;return da(J[a+60>>2])|0}function Rd(a){a=a|0;J[a>>2]=9076;return a|0}function Nd(a){a=a|0;J[a>>2]=8128;return a|0}function Fd(a){a=a|0;J[a>>2]=7192;return a|0}function Xg(a){a=a|0;return Q(N[a+20>>2])}function Yd(a){a=a|0;J[a>>2]=10080;xj(a)}function Sd(a){a=a|0;J[a>>2]=9076;xj(a)}function Od(a){a=a|0;J[a>>2]=8128;xj(a)}function Gd(a){a=a|0;J[a>>2]=7192;xj(a)}function pb(a){a=a|0;return J[a+28>>2]}function Tg(a){a=a|0;return J[a+60>>2]}function Sg(a){a=a|0;return J[a+48>>2]}function Rg(a){a=a|0;return J[a+40>>2]}function Og(a){a=a|0;return J[a+56>>2]}function Ng(a){a=a|0;return J[a+88>>2]}function Mg(a){a=a|0;return J[a+80>>2]}function yc(a,b){a=a|0;b=b|0;return-1}function vc(a){a=a|0;return J[a+4>>2]}function rb(a,b){a=a|0;b=b|0;return 1}function qb(a,b){a=a|0;b=b|0;return 0}function jf(a){a=a|0;return J[a+8>>2]}function eh(a){a=a|0;return!J[a>>2]|0}function Qg(a){a=a|0;return K[a+32|0]}function Pg(a){a=a|0;return H[a+24|0]}function Ka(a,b){a=a|0;b=b|0;return 2}function Ja(a,b){a=a|0;b=b|0;return 6}function zj(a,b,c){if(c){Vi(a,b,c)}}function Ig(a){a=a|0;return J[a>>2]}function ek(){la=5260640;ka=17760}function _g(){return Mi(Aj(84))|0}function Kg(){return ab(Aj(64))|0}function Fg(){return rg(Aj(40))|0}function Eg(a){a=a|0;if(a){xj(a)}}function _j(a){a=a|0;Zj(a);xj(a)}function Yj(a){a=a|0;return 1234}function Xj(a){a=a|0;return 1272}function Wj(a){a=a|0;return 1190}function Ga(a){a=a|0;return a|0}function wf(a){a=a|0;xj(vf(a))}function uf(a){a=a|0;xj(tf(a))}function sf(a){a=a|0;xj(qf(a))}function Ri(a){a=a|0;xj(yi(a))}function Qb(a){a=a|0;xj(Pb(a))}function xc(a){a=a|0;return 0}function bd(a){a=a|0;return 6}function Xc(a){a=a|0;return 5}function Xa(a){a=a|0;return 1}function Pc(a){a=a|0;return 3}function Ia(a){a=a|0;return 2}function Hc(a){a=a|0;return 4}function fk(){return ia-ka|0}function fg(){Ma(1255);C()}function Yi(){return 16016}function La(){Ma(1183);C()}function Ha(a){a=a|0;xj(a)}function Bc(){Cc(1183);C()}function hk(){return ka|0}function gk(){return la|0}function ck(a){a=a|0;ia=a}function bk(){return ia|0}function ak(){return ja|0}function $j(a){a=a|0;ja=a}function lb(a){a=a|0;C()}function pi(){return 12}function oi(){return 11}function ni(){return 10}function ti(){return-5}function si(){return-4}function ri(){return-3}function qi(){return-2}function mi(){return 9}function li(){return 8}function ki(){return 7}function ji(){return 6}function ii(){return 5}function hi(){return 4}function gi(){return 3}function fi(){return 2}function ei(){return 1}function di(){return 0}function ci(){return-1}function Zi(a){a=a|0}
// EMSCRIPTEN_END_FUNCS
e=K;p(q);var na=c([null,Zj,Ga,Ha,Ia,ya,za,Aa,Ca,Da,Fa,$a,Ja,Ka,Ga,Va,Wa,Xa,Na,Pa,Qa,Ra,Ta,Ua,Ja,Ya,kb,lb,gb,hb,mb,nb,ob,pb,qb,Jj,rb,Xa,Pb,Qb,sb,Jb,Nb,$b,ac,Ub,Vb,Wb,Xb,rb,Zb,_b,jc,kc,cc,ec,lc,fc,gc,hc,ic,rc,sc,Ub,mc,nc,pc,oc,tc,qc,Dc,uc,Xa,vc,wc,xc,yc,qb,xc,Xa,zc,Ac,lb,lb,uc,Ia,wc,Ec,Fc,Gc,Hc,wc,Ic,Lc,Nc,Oc,Pc,Qc,Xa,qb,Rc,Sc,Tc,Vc,Wc,Xc,Qc,Xa,qb,Rc,Yc,Zc,$c,ad,bd,cd,Xa,qb,dd,ed,fd,Ga,Ha,hd,pb,gd,lb,uc,Xa,wc,id,lb,uc,Ia,wc,jd,kd,ld,Hc,wc,md,nd,od,pd,Pc,Qc,Xa,qb,Rc,Sc,qd,rd,sd,Xc,Qc,Xa,qb,Rc,Yc,td,ud,vd,bd,cd,Xa,qb,dd,ed,wd,Ga,Ha,hd,pb,xd,lb,uc,xc,Xa,zd,rc,sc,Ad,Cd,Bd,Ed,Ia,Dd,Fd,Gd,bd,vc,Hd,Xa,qb,Id,Xa,Ia,Jd,Kd,Ga,Ha,hd,pb,gd,Nd,Od,bd,Hd,Xa,qb,Id,Jd,Pd,Ga,Ha,hd,pb,xd,Ga,Ha,xc,Xa,xc,yc,qb,Md,Qd,Rd,Sd,bd,vc,Hd,Xa,qb,Id,Xa,Pc,Td,Ud,Ga,Ha,hd,pb,gd,Xd,Yd,bd,Hd,Xa,qb,Id,Td,Zd,Ga,Ha,hd,pb,xd,Ha,xc,Xa,xc,yc,qb,Wd,_d,fe,ge,$d,be,ae,ce,de,ee,Ae,lb,Xa,Xa,ze,ig,jg,Xa,xc,qb,qb,Fe,Ge,Ce,Be,Ee,He,Ie,Je,De,qf,sf,Ke,Le,Me,Ne,Se,Xa,vc,jf,tf,uf,Ke,Le,Me,Ne,lf,Xa,vc,jf,vf,wf,Ke,Le,Me,Ne,of,Xa,vc,jf,Pe,xf,Oe,yf,zf,Cf,Df,Ef,Ff,Bf,If,Af,Jf,Kf,Mf,Nf,Of,Pf,Lf,Rf,Sf,Tf,Uf,Vf,$f,_f,Xf,Ga,Ha,ag,bg,lb,xc,Xa,$f,ng,mg,$f,_f,og,xi,zi,Ai,Bi,yi,Ri,Pi,Qi,dj,ej,fj,xc,gj,qj,rj,Ga,Ha,Zi,Zi,Lj,Uj,Sj,Oj,Ha,Tj,Rj,Pj,Ha,Xj,Ha,Yj,Ha,Wj,_j,vc,_j,_j]);function oa(){return G.byteLength/65536|0}function ta(ua){ua=ua|0;var pa=oa()|0;var qa=pa+ua|0;if(pa<qa&&qa<65536){var ra=new ArrayBuffer(P(qa,65536));var sa=new Int8Array(ra);sa.set(H);H=new Int8Array(ra);I=new Int16Array(ra);J=new Int32Array(ra);K=new Uint8Array(ra);L=new Uint16Array(ra);M=new Uint32Array(ra);N=new Float32Array(ra);O=new Float64Array(ra);G=ra;F.buffer=G;e=K}return pa}return{"__wasm_call_ctors":xa,"__indirect_function_table":na,"emscripten_bind_VoidPtr___destroy___0":Eg,"emscripten_bind_DecoderBuffer_DecoderBuffer_0":Fg,"emscripten_bind_DecoderBuffer_Init_2":Gg,"emscripten_bind_DecoderBuffer___destroy___0":Eg,"emscripten_bind_AttributeTransformData_AttributeTransformData_0":Hg,"emscripten_bind_AttributeTransformData_transform_type_0":Ig,"emscripten_bind_AttributeTransformData___destroy___0":Jg,"emscripten_bind_GeometryAttribute_GeometryAttribute_0":Kg,"emscripten_bind_GeometryAttribute___destroy___0":Eg,"emscripten_bind_PointAttribute_PointAttribute_0":Lg,"emscripten_bind_PointAttribute_size_0":Mg,"emscripten_bind_PointAttribute_GetAttributeTransformData_0":Ng,"emscripten_bind_PointAttribute_attribute_type_0":Og,"emscripten_bind_PointAttribute_data_type_0":pb,"emscripten_bind_PointAttribute_num_components_0":Pg,"emscripten_bind_PointAttribute_normalized_0":Qg,"emscripten_bind_PointAttribute_byte_stride_0":Rg,"emscripten_bind_PointAttribute_byte_offset_0":Sg,"emscripten_bind_PointAttribute_unique_id_0":Tg,"emscripten_bind_PointAttribute___destroy___0":tb,"emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0":Ug,"emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1":Vg,"emscripten_bind_AttributeQuantizationTransform_quantization_bits_0":vc,"emscripten_bind_AttributeQuantizationTransform_min_value_1":Wg,"emscripten_bind_AttributeQuantizationTransform_range_0":Xg,"emscripten_bind_AttributeQuantizationTransform___destroy___0":Yg,"emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0":Zg,"emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1":Vg,"emscripten_bind_AttributeOctahedronTransform_quantization_bits_0":vc,"emscripten_bind_AttributeOctahedronTransform___destroy___0":Yg,"emscripten_bind_PointCloud_PointCloud_0":_g,"emscripten_bind_PointCloud_num_attributes_0":$g,"emscripten_bind_PointCloud_num_points_0":Mg,"emscripten_bind_PointCloud___destroy___0":Yg,"emscripten_bind_Mesh_Mesh_0":ah,"emscripten_bind_Mesh_num_faces_0":bh,"emscripten_bind_Mesh_num_attributes_0":$g,"emscripten_bind_Mesh_num_points_0":Mg,"emscripten_bind_Mesh___destroy___0":Yg,"emscripten_bind_Metadata_Metadata_0":ch,"emscripten_bind_Metadata___destroy___0":dh,"emscripten_bind_Status_code_0":Ig,"emscripten_bind_Status_ok_0":eh,"emscripten_bind_Status_error_msg_0":fh,"emscripten_bind_Status___destroy___0":gh,"emscripten_bind_DracoFloat32Array_DracoFloat32Array_0":hh,"emscripten_bind_DracoFloat32Array_GetValue_1":ih,"emscripten_bind_DracoFloat32Array_size_0":jh,"emscripten_bind_DracoFloat32Array___destroy___0":kh,"emscripten_bind_DracoInt8Array_DracoInt8Array_0":hh,"emscripten_bind_DracoInt8Array_GetValue_1":lh,"emscripten_bind_DracoInt8Array_size_0":mh,"emscripten_bind_DracoInt8Array___destroy___0":kh,"emscripten_bind_DracoUInt8Array_DracoUInt8Array_0":hh,"emscripten_bind_DracoUInt8Array_GetValue_1":nh,"emscripten_bind_DracoUInt8Array_size_0":mh,"emscripten_bind_DracoUInt8Array___destroy___0":kh,"emscripten_bind_DracoInt16Array_DracoInt16Array_0":hh,"emscripten_bind_DracoInt16Array_GetValue_1":oh,"emscripten_bind_DracoInt16Array_size_0":ph,"emscripten_bind_DracoInt16Array___destroy___0":kh,"emscripten_bind_DracoUInt16Array_DracoUInt16Array_0":hh,"emscripten_bind_DracoUInt16Array_GetValue_1":qh,"emscripten_bind_DracoUInt16Array_size_0":ph,"emscripten_bind_DracoUInt16Array___destroy___0":kh,"emscripten_bind_DracoInt32Array_DracoInt32Array_0":hh,"emscripten_bind_DracoInt32Array_GetValue_1":rh,"emscripten_bind_DracoInt32Array_size_0":jh,"emscripten_bind_DracoInt32Array___destroy___0":kh,"emscripten_bind_DracoUInt32Array_DracoUInt32Array_0":hh,"emscripten_bind_DracoUInt32Array_GetValue_1":rh,"emscripten_bind_DracoUInt32Array_size_0":jh,"emscripten_bind_DracoUInt32Array___destroy___0":kh,"emscripten_bind_MetadataQuerier_MetadataQuerier_0":sh,"emscripten_bind_MetadataQuerier_HasEntry_2":th,"emscripten_bind_MetadataQuerier_GetIntEntry_2":uh,"emscripten_bind_MetadataQuerier_GetIntEntryArray_3":vh,"emscripten_bind_MetadataQuerier_GetDoubleEntry_2":wh,"emscripten_bind_MetadataQuerier_GetStringEntry_2":xh,"emscripten_bind_MetadataQuerier_NumEntries_1":yh,"emscripten_bind_MetadataQuerier_GetEntryName_2":zh,"emscripten_bind_MetadataQuerier___destroy___0":Ah,"emscripten_bind_Decoder_Decoder_0":Bh,"emscripten_bind_Decoder_DecodeArrayToPointCloud_3":Ch,"emscripten_bind_Decoder_DecodeArrayToMesh_3":Dh,"emscripten_bind_Decoder_GetAttributeId_2":Eh,"emscripten_bind_Decoder_GetAttributeIdByName_2":Fh,"emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3":Gh,"emscripten_bind_Decoder_GetAttribute_2":Hh,"emscripten_bind_Decoder_GetAttributeByUniqueId_2":Ih,"emscripten_bind_Decoder_GetMetadata_1":Jh,"emscripten_bind_Decoder_GetAttributeMetadata_2":Kh,"emscripten_bind_Decoder_GetFaceFromMesh_3":Lh,"emscripten_bind_Decoder_GetTriangleStripsFromMesh_2":Mh,"emscripten_bind_Decoder_GetTrianglesUInt16Array_3":Nh,"emscripten_bind_Decoder_GetTrianglesUInt32Array_3":Oh,"emscripten_bind_Decoder_GetAttributeFloat_3":Ph,"emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3":Qh,"emscripten_bind_Decoder_GetAttributeIntForAllPoints_3":Rh,"emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3":Sh,"emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3":Th,"emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3":Uh,"emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3":Vh,"emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3":Rh,"emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3":Wh,"emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5":Xh,"emscripten_bind_Decoder_SkipAttributeTransform_1":Yh,"emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1":Zh,"emscripten_bind_Decoder_DecodeBufferToPointCloud_2":_h,"emscripten_bind_Decoder_DecodeBufferToMesh_2":$h,"emscripten_bind_Decoder___destroy___0":ai,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM":ci,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM":di,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM":ei,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM":fi,"emscripten_enum_draco_GeometryAttribute_Type_INVALID":ci,"emscripten_enum_draco_GeometryAttribute_Type_POSITION":di,"emscripten_enum_draco_GeometryAttribute_Type_NORMAL":ei,"emscripten_enum_draco_GeometryAttribute_Type_COLOR":fi,"emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD":gi,"emscripten_enum_draco_GeometryAttribute_Type_GENERIC":hi,"emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE":ci,"emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD":di,"emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH":ei,"emscripten_enum_draco_DataType_DT_INVALID":di,"emscripten_enum_draco_DataType_DT_INT8":ei,"emscripten_enum_draco_DataType_DT_UINT8":fi,"emscripten_enum_draco_DataType_DT_INT16":gi,"emscripten_enum_draco_DataType_DT_UINT16":hi,"emscripten_enum_draco_DataType_DT_INT32":ii,"emscripten_enum_draco_DataType_DT_UINT32":ji,"emscripten_enum_draco_DataType_DT_INT64":ki,"emscripten_enum_draco_DataType_DT_UINT64":li,"emscripten_enum_draco_DataType_DT_FLOAT32":mi,"emscripten_enum_draco_DataType_DT_FLOAT64":ni,"emscripten_enum_draco_DataType_DT_BOOL":oi,"emscripten_enum_draco_DataType_DT_TYPES_COUNT":pi,"emscripten_enum_draco_StatusCode_OK":di,"emscripten_enum_draco_StatusCode_DRACO_ERROR":ci,"emscripten_enum_draco_StatusCode_IO_ERROR":qi,"emscripten_enum_draco_StatusCode_INVALID_PARAMETER":ri,"emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION":si,"emscripten_enum_draco_StatusCode_UNKNOWN_VERSION":ti,"__errno_location":Yi,"fflush":yj,"malloc":wj,"free":xj,"setTempRet0":$j,"getTempRet0":ak,"emscripten_stack_init":ek,"emscripten_stack_get_free":fk,"emscripten_stack_get_base":gk,"emscripten_stack_get_end":hk,"stackSave":bk,"stackRestore":ck,"stackAlloc":dk,"__cxa_is_pointer_type":Vj,"dynCall_jiji":ik}}return va(wa)}
// EMSCRIPTEN_END_ASM
)(info)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module,info)});return{catch:function(){}}}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte 0x"+u0.toString(16)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=TOTAL_STACK,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;assert(INITIAL_MEMORY%65536===0);updateGlobalBufferAndViews(buffer);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort("Stack overflow! Stack cookie has been overwritten at 0x"+max.toString(16)+", expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+cookie2.toString(16)+" 0x"+cookie1.toString(16))}if(HEAPU32[0]!==1668509029)abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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 initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module["asm"]}assert(runtimeInitialized,"native function `"+displayName+"` called before runtime initialization");if(!asm[name]){assert(asm[name],"exported native function `"+displayName+"` not found")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile="draco_decoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function array_bounds_check_error(idx,size){throw"Array index "+idx+" out of bounds: [0,"+size+")"}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."}function _abort(){abort("native code called abort()")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){err("emscripten_realloc_buffer: Attempted to grow heap from "+buffer.byteLength+" bytes to "+size+" bytes, but got error: "+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err("Cannot enlarge memory, asked to go up to "+requestedSize+" bytes, but the limit is "+maxHeapSize+" bytes!");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err("Failed to grow the heap from "+oldSize+" bytes to "+newSize+" bytes, not enough memory!");return false}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}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}var ASSERTIONS=true;var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE=="boolean"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf["buffer"],buf["byteOffset"],buf["byteLength"])}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var asmLibraryArg={"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_throw":___cxa_throw,"abort":_abort,"array_bounds_check_error":array_bounds_check_error,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"fd_close":_fd_close,"fd_seek":_fd_seek,"fd_write":_fd_write,"memory":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=createExportWrapper("__wasm_call_ctors");var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=createExportWrapper("emscripten_bind_VoidPtr___destroy___0");var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=createExportWrapper("emscripten_bind_DecoderBuffer_DecoderBuffer_0");var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=createExportWrapper("emscripten_bind_DecoderBuffer_Init_2");var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=createExportWrapper("emscripten_bind_DecoderBuffer___destroy___0");var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=createExportWrapper("emscripten_bind_AttributeTransformData_AttributeTransformData_0");var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=createExportWrapper("emscripten_bind_AttributeTransformData_transform_type_0");var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=createExportWrapper("emscripten_bind_AttributeTransformData___destroy___0");var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=createExportWrapper("emscripten_bind_GeometryAttribute_GeometryAttribute_0");var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=createExportWrapper("emscripten_bind_GeometryAttribute___destroy___0");var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=createExportWrapper("emscripten_bind_PointAttribute_PointAttribute_0");var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=createExportWrapper("emscripten_bind_PointAttribute_size_0");var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=createExportWrapper("emscripten_bind_PointAttribute_GetAttributeTransformData_0");var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_attribute_type_0");var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_data_type_0");var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=createExportWrapper("emscripten_bind_PointAttribute_num_components_0");var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=createExportWrapper("emscripten_bind_PointAttribute_normalized_0");var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_stride_0");var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_offset_0");var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=createExportWrapper("emscripten_bind_PointAttribute_unique_id_0");var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=createExportWrapper("emscripten_bind_PointAttribute___destroy___0");var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0");var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1");var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_quantization_bits_0");var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_min_value_1");var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_range_0");var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform___destroy___0");var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0");var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1");var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_quantization_bits_0");var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform___destroy___0");var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=createExportWrapper("emscripten_bind_PointCloud_PointCloud_0");var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=createExportWrapper("emscripten_bind_PointCloud_num_attributes_0");var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=createExportWrapper("emscripten_bind_PointCloud_num_points_0");var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=createExportWrapper("emscripten_bind_PointCloud___destroy___0");var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=createExportWrapper("emscripten_bind_Mesh_Mesh_0");var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=createExportWrapper("emscripten_bind_Mesh_num_faces_0");var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=createExportWrapper("emscripten_bind_Mesh_num_attributes_0");var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=createExportWrapper("emscripten_bind_Mesh_num_points_0");var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=createExportWrapper("emscripten_bind_Mesh___destroy___0");var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=createExportWrapper("emscripten_bind_Metadata_Metadata_0");var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=createExportWrapper("emscripten_bind_Metadata___destroy___0");var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=createExportWrapper("emscripten_bind_Status_code_0");var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=createExportWrapper("emscripten_bind_Status_ok_0");var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=createExportWrapper("emscripten_bind_Status_error_msg_0");var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=createExportWrapper("emscripten_bind_Status___destroy___0");var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=createExportWrapper("emscripten_bind_DracoFloat32Array_DracoFloat32Array_0");var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoFloat32Array_GetValue_1");var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=createExportWrapper("emscripten_bind_DracoFloat32Array_size_0");var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoFloat32Array___destroy___0");var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_DracoInt8Array_0");var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt8Array_GetValue_1");var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_size_0");var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt8Array___destroy___0");var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=createExportWrapper("emscripten_bind_DracoUInt8Array_DracoUInt8Array_0");var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt8Array_GetValue_1");var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt8Array_size_0");var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt8Array___destroy___0");var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=createExportWrapper("emscripten_bind_DracoInt16Array_DracoInt16Array_0");var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt16Array_GetValue_1");var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt16Array_size_0");var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt16Array___destroy___0");var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=createExportWrapper("emscripten_bind_DracoUInt16Array_DracoUInt16Array_0");var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt16Array_GetValue_1");var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt16Array_size_0");var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt16Array___destroy___0");var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=createExportWrapper("emscripten_bind_DracoInt32Array_DracoInt32Array_0");var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt32Array_GetValue_1");var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt32Array_size_0");var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt32Array___destroy___0");var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=createExportWrapper("emscripten_bind_DracoUInt32Array_DracoUInt32Array_0");var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt32Array_GetValue_1");var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt32Array_size_0");var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt32Array___destroy___0");var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=createExportWrapper("emscripten_bind_MetadataQuerier_MetadataQuerier_0");var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_HasEntry_2");var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetIntEntry_2");var _emscripten_bind_MetadataQuerier_GetIntEntryArray_3=Module["_emscripten_bind_MetadataQuerier_GetIntEntryArray_3"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetIntEntryArray_3");var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetDoubleEntry_2");var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetStringEntry_2");var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=createExportWrapper("emscripten_bind_MetadataQuerier_NumEntries_1");var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetEntryName_2");var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=createExportWrapper("emscripten_bind_MetadataQuerier___destroy___0");var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=createExportWrapper("emscripten_bind_Decoder_Decoder_0");var _emscripten_bind_Decoder_DecodeArrayToPointCloud_3=Module["_emscripten_bind_Decoder_DecodeArrayToPointCloud_3"]=createExportWrapper("emscripten_bind_Decoder_DecodeArrayToPointCloud_3");var _emscripten_bind_Decoder_DecodeArrayToMesh_3=Module["_emscripten_bind_Decoder_DecodeArrayToMesh_3"]=createExportWrapper("emscripten_bind_Decoder_DecodeArrayToMesh_3");var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeId_2");var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIdByName_2");var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3");var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttribute_2");var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeByUniqueId_2");var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=createExportWrapper("emscripten_bind_Decoder_GetMetadata_1");var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeMetadata_2");var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=createExportWrapper("emscripten_bind_Decoder_GetFaceFromMesh_3");var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=createExportWrapper("emscripten_bind_Decoder_GetTriangleStripsFromMesh_2");var _emscripten_bind_Decoder_GetTrianglesUInt16Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt16Array_3"]=createExportWrapper("emscripten_bind_Decoder_GetTrianglesUInt16Array_3");var _emscripten_bind_Decoder_GetTrianglesUInt32Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt32Array_3"]=createExportWrapper("emscripten_bind_Decoder_GetTrianglesUInt32Array_3");var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeFloat_3");var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIntForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=Module["_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5");var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=createExportWrapper("emscripten_bind_Decoder_SkipAttributeTransform_1");var _emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1"]=createExportWrapper("emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1");var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=createExportWrapper("emscripten_bind_Decoder_DecodeBufferToPointCloud_2");var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=createExportWrapper("emscripten_bind_Decoder_DecodeBufferToMesh_2");var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=createExportWrapper("emscripten_bind_Decoder___destroy___0");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM");var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_INVALID");var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_POSITION");var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_NORMAL");var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_COLOR");var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD");var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_GENERIC");var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE");var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD");var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH");var _emscripten_enum_draco_DataType_DT_INVALID=Module["_emscripten_enum_draco_DataType_DT_INVALID"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INVALID");var _emscripten_enum_draco_DataType_DT_INT8=Module["_emscripten_enum_draco_DataType_DT_INT8"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT8");var _emscripten_enum_draco_DataType_DT_UINT8=Module["_emscripten_enum_draco_DataType_DT_UINT8"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT8");var _emscripten_enum_draco_DataType_DT_INT16=Module["_emscripten_enum_draco_DataType_DT_INT16"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT16");var _emscripten_enum_draco_DataType_DT_UINT16=Module["_emscripten_enum_draco_DataType_DT_UINT16"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT16");var _emscripten_enum_draco_DataType_DT_INT32=Module["_emscripten_enum_draco_DataType_DT_INT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT32");var _emscripten_enum_draco_DataType_DT_UINT32=Module["_emscripten_enum_draco_DataType_DT_UINT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT32");var _emscripten_enum_draco_DataType_DT_INT64=Module["_emscripten_enum_draco_DataType_DT_INT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT64");var _emscripten_enum_draco_DataType_DT_UINT64=Module["_emscripten_enum_draco_DataType_DT_UINT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT64");var _emscripten_enum_draco_DataType_DT_FLOAT32=Module["_emscripten_enum_draco_DataType_DT_FLOAT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_FLOAT32");var _emscripten_enum_draco_DataType_DT_FLOAT64=Module["_emscripten_enum_draco_DataType_DT_FLOAT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_FLOAT64");var _emscripten_enum_draco_DataType_DT_BOOL=Module["_emscripten_enum_draco_DataType_DT_BOOL"]=createExportWrapper("emscripten_enum_draco_DataType_DT_BOOL");var _emscripten_enum_draco_DataType_DT_TYPES_COUNT=Module["_emscripten_enum_draco_DataType_DT_TYPES_COUNT"]=createExportWrapper("emscripten_enum_draco_DataType_DT_TYPES_COUNT");var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=createExportWrapper("emscripten_enum_draco_StatusCode_OK");var _emscripten_enum_draco_StatusCode_DRACO_ERROR=Module["_emscripten_enum_draco_StatusCode_DRACO_ERROR"]=createExportWrapper("emscripten_enum_draco_StatusCode_DRACO_ERROR");var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=createExportWrapper("emscripten_enum_draco_StatusCode_IO_ERROR");var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=createExportWrapper("emscripten_enum_draco_StatusCode_INVALID_PARAMETER");var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=createExportWrapper("emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION");var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=createExportWrapper("emscripten_enum_draco_StatusCode_UNKNOWN_VERSION");var ___errno_location=Module["___errno_location"]=createExportWrapper("__errno_location");var _fflush=Module["_fflush"]=createExportWrapper("fflush");var _malloc=Module["_malloc"]=createExportWrapper("malloc");var _free=Module["_free"]=createExportWrapper("free");var setTempRet0=Module["setTempRet0"]=createExportWrapper("setTempRet0");var getTempRet0=Module["getTempRet0"]=createExportWrapper("getTempRet0");var _emscripten_stack_init=Module["_emscripten_stack_init"]=function(){return(_emscripten_stack_init=Module["_emscripten_stack_init"]=Module["asm"]["emscripten_stack_init"]).apply(null,arguments)};var _emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=function(){return(_emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=Module["asm"]["emscripten_stack_get_free"]).apply(null,arguments)};var _emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=function(){return(_emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=Module["asm"]["emscripten_stack_get_base"]).apply(null,arguments)};var _emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=function(){return(_emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=Module["asm"]["emscripten_stack_get_end"]).apply(null,arguments)};var stackSave=Module["stackSave"]=createExportWrapper("stackSave");var stackRestore=Module["stackRestore"]=createExportWrapper("stackRestore");var stackAlloc=Module["stackAlloc"]=createExportWrapper("stackAlloc");var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=createExportWrapper("__cxa_is_pointer_type");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var ___start_em_js=Module["___start_em_js"]=15916;var ___stop_em_js=Module["___stop_em_js"]=16014;var unexportedRuntimeSymbols=["run","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createPreloadedFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","getLEB","getFunctionTables","alignFunctionTables","registerFunctions","prettyPrint","getCompilerSetting","print","printErr","callMain","abort","keepRuntimeAlive","wasmMemory","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","intArrayFromBase64","tryParseAsDataURI","ptrToString","zeroMemory","stringToNewUTF8","exitJS","getHeapMax","emscripten_realloc_buffer","ENV","ERRNO_CODES","ERRNO_MESSAGES","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","DNS","getHostByName","Protocols","Sockets","getRandomDevice","warnOnce","traverseStack","UNWIND_CACHE","convertPCtoSourceLocation","readAsmConstArgsArray","readAsmConstArgs","mainThreadEM_ASM","jstoi_q","jstoi_s","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","setValue","getValue","PATH","PATH_FS","intArrayFromString","intArrayToString","AsciiToString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","allocateUTF8","allocateUTF8OnStack","writeStringToMemory","writeArrayToMemory","writeAsciiToMemory","SYSCALLS","getSocketFromFD","getSocketAddress","JSEvents","registerKeyEventCallback","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","currentFullscreenStrategy","restoreOldWindowedStyle","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","ExitStatus","getEnvStrings","checkWasiClock","flush_NO_FILESYSTEM","dlopenMissingError","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","exception_addRef","exception_decRef","Browser","setMainLoop","wget","tempFixedLengthArray","miniTempWebGLFloatBuffers","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","writeGLArray","AL","SDL_unicode","SDL_ttfContext","SDL_audio","SDL","SDL_gfx","GLUT","EGL","GLFW_Window","GLFW","GLEW","IDBStore","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate"];unexportedRuntimeSymbols.forEach(unexportedRuntimeSymbol);var missingLibrarySymbols=["ptrToString","zeroMemory","stringToNewUTF8","exitJS","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","getRandomDevice","traverseStack","convertPCtoSourceLocation","readAsmConstArgs","mainThreadEM_ASM","jstoi_q","jstoi_s","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","allocateUTF8","allocateUTF8OnStack","writeStringToMemory","writeArrayToMemory","writeAsciiToMemory","getSocketFromFD","getSocketAddress","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","getEnvStrings","checkWasiClock","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","exception_addRef","exception_decRef","setMainLoop","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","emscriptenWebGLGet","computeUnpackAlignedImageSize","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","writeGLArray","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate"];missingLibrarySymbols.forEach(missingLibrarySymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args){args=args||arguments_;if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0},alloc:function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i<array.length;i++){view[offset+i]=array[i]}}};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)};function DecoderBuffer(){this.ptr=_emscripten_bind_DecoderBuffer_DecoderBuffer_0();getCache(DecoderBuffer)[this.ptr]=this}DecoderBuffer.prototype=Object.create(WrapperObject.prototype);DecoderBuffer.prototype.constructor=DecoderBuffer;DecoderBuffer.prototype.__class__=DecoderBuffer;DecoderBuffer.__cache__={};Module["DecoderBuffer"]=DecoderBuffer;DecoderBuffer.prototype["Init"]=DecoderBuffer.prototype.Init=function(data,data_size){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;_emscripten_bind_DecoderBuffer_Init_2(self,data,data_size)};DecoderBuffer.prototype["__destroy__"]=DecoderBuffer.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DecoderBuffer___destroy___0(self)};function AttributeTransformData(){this.ptr=_emscripten_bind_AttributeTransformData_AttributeTransformData_0();getCache(AttributeTransformData)[this.ptr]=this}AttributeTransformData.prototype=Object.create(WrapperObject.prototype);AttributeTransformData.prototype.constructor=AttributeTransformData;AttributeTransformData.prototype.__class__=AttributeTransformData;AttributeTransformData.__cache__={};Module["AttributeTransformData"]=AttributeTransformData;AttributeTransformData.prototype["transform_type"]=AttributeTransformData.prototype.transform_type=function(){var self=this.ptr;return _emscripten_bind_AttributeTransformData_transform_type_0(self)};AttributeTransformData.prototype["__destroy__"]=AttributeTransformData.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeTransformData___destroy___0(self)};function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)};function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)};PointAttribute.prototype["GetAttributeTransformData"]=PointAttribute.prototype.GetAttributeTransformData=function(){var self=this.ptr;return wrapPointer(_emscripten_bind_PointAttribute_GetAttributeTransformData_0(self),AttributeTransformData)};PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)};PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)};PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)};PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)};PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)};PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)};PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)};PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)};function AttributeQuantizationTransform(){this.ptr=_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0();getCache(AttributeQuantizationTransform)[this.ptr]=this}AttributeQuantizationTransform.prototype=Object.create(WrapperObject.prototype);AttributeQuantizationTransform.prototype.constructor=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype.__class__=AttributeQuantizationTransform;AttributeQuantizationTransform.__cache__={};Module["AttributeQuantizationTransform"]=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype["InitFromAttribute"]=AttributeQuantizationTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1(self,att)};AttributeQuantizationTransform.prototype["quantization_bits"]=AttributeQuantizationTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0(self)};AttributeQuantizationTransform.prototype["min_value"]=AttributeQuantizationTransform.prototype.min_value=function(axis){var self=this.ptr;if(axis&&typeof axis==="object")axis=axis.ptr;return _emscripten_bind_AttributeQuantizationTransform_min_value_1(self,axis)};AttributeQuantizationTransform.prototype["range"]=AttributeQuantizationTransform.prototype.range=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_range_0(self)};AttributeQuantizationTransform.prototype["__destroy__"]=AttributeQuantizationTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeQuantizationTransform___destroy___0(self)};function AttributeOctahedronTransform(){this.ptr=_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0();getCache(AttributeOctahedronTransform)[this.ptr]=this}AttributeOctahedronTransform.prototype=Object.create(WrapperObject.prototype);AttributeOctahedronTransform.prototype.constructor=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype.__class__=AttributeOctahedronTransform;AttributeOctahedronTransform.__cache__={};Module["AttributeOctahedronTransform"]=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype["InitFromAttribute"]=AttributeOctahedronTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1(self,att)};AttributeOctahedronTransform.prototype["quantization_bits"]=AttributeOctahedronTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0(self)};AttributeOctahedronTransform.prototype["__destroy__"]=AttributeOctahedronTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeOctahedronTransform___destroy___0(self)};function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)};PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)};PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)};function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)};Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)};Mesh.prototype["num_points"]=Mesh.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)};Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)};function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)};function Status(){throw"cannot construct a Status, no constructor in IDL"}Status.prototype=Object.create(WrapperObject.prototype);Status.prototype.constructor=Status;Status.prototype.__class__=Status;Status.__cache__={};Module["Status"]=Status;Status.prototype["code"]=Status.prototype.code=function(){var self=this.ptr;return _emscripten_bind_Status_code_0(self)};Status.prototype["ok"]=Status.prototype.ok=function(){var self=this.ptr;return!!_emscripten_bind_Status_ok_0(self)};Status.prototype["error_msg"]=Status.prototype.error_msg=function(){var self=this.ptr;return UTF8ToString(_emscripten_bind_Status_error_msg_0(self))};Status.prototype["__destroy__"]=Status.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Status___destroy___0(self)};function DracoFloat32Array(){this.ptr=_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0();getCache(DracoFloat32Array)[this.ptr]=this}DracoFloat32Array.prototype=Object.create(WrapperObject.prototype);DracoFloat32Array.prototype.constructor=DracoFloat32Array;DracoFloat32Array.prototype.__class__=DracoFloat32Array;DracoFloat32Array.__cache__={};Module["DracoFloat32Array"]=DracoFloat32Array;DracoFloat32Array.prototype["GetValue"]=DracoFloat32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoFloat32Array_GetValue_1(self,index)};DracoFloat32Array.prototype["size"]=DracoFloat32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoFloat32Array_size_0(self)};DracoFloat32Array.prototype["__destroy__"]=DracoFloat32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoFloat32Array___destroy___0(self)};function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,index)};DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)};DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)};function DracoUInt8Array(){this.ptr=_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0();getCache(DracoUInt8Array)[this.ptr]=this}DracoUInt8Array.prototype=Object.create(WrapperObject.prototype);DracoUInt8Array.prototype.constructor=DracoUInt8Array;DracoUInt8Array.prototype.__class__=DracoUInt8Array;DracoUInt8Array.__cache__={};Module["DracoUInt8Array"]=DracoUInt8Array;DracoUInt8Array.prototype["GetValue"]=DracoUInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt8Array_GetValue_1(self,index)};DracoUInt8Array.prototype["size"]=DracoUInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt8Array_size_0(self)};DracoUInt8Array.prototype["__destroy__"]=DracoUInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt8Array___destroy___0(self)};function DracoInt16Array(){this.ptr=_emscripten_bind_DracoInt16Array_DracoInt16Array_0();getCache(DracoInt16Array)[this.ptr]=this}DracoInt16Array.prototype=Object.create(WrapperObject.prototype);DracoInt16Array.prototype.constructor=DracoInt16Array;DracoInt16Array.prototype.__class__=DracoInt16Array;DracoInt16Array.__cache__={};Module["DracoInt16Array"]=DracoInt16Array;DracoInt16Array.prototype["GetValue"]=DracoInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt16Array_GetValue_1(self,index)};DracoInt16Array.prototype["size"]=DracoInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt16Array_size_0(self)};DracoInt16Array.prototype["__destroy__"]=DracoInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt16Array___destroy___0(self)};function DracoUInt16Array(){this.ptr=_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0();getCache(DracoUInt16Array)[this.ptr]=this}DracoUInt16Array.prototype=Object.create(WrapperObject.prototype);DracoUInt16Array.prototype.constructor=DracoUInt16Array;DracoUInt16Array.prototype.__class__=DracoUInt16Array;DracoUInt16Array.__cache__={};Module["DracoUInt16Array"]=DracoUInt16Array;DracoUInt16Array.prototype["GetValue"]=DracoUInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt16Array_GetValue_1(self,index)};DracoUInt16Array.prototype["size"]=DracoUInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt16Array_size_0(self)};DracoUInt16Array.prototype["__destroy__"]=DracoUInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt16Array___destroy___0(self)};function DracoInt32Array(){this.ptr=_emscripten_bind_DracoInt32Array_DracoInt32Array_0();getCache(DracoInt32Array)[this.ptr]=this}DracoInt32Array.prototype=Object.create(WrapperObject.prototype);DracoInt32Array.prototype.constructor=DracoInt32Array;DracoInt32Array.prototype.__class__=DracoInt32Array;DracoInt32Array.__cache__={};Module["DracoInt32Array"]=DracoInt32Array;DracoInt32Array.prototype["GetValue"]=DracoInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt32Array_GetValue_1(self,index)};DracoInt32Array.prototype["size"]=DracoInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt32Array_size_0(self)};DracoInt32Array.prototype["__destroy__"]=DracoInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt32Array___destroy___0(self)};function DracoUInt32Array(){this.ptr=_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0();getCache(DracoUInt32Array)[this.ptr]=this}DracoUInt32Array.prototype=Object.create(WrapperObject.prototype);DracoUInt32Array.prototype.constructor=DracoUInt32Array;DracoUInt32Array.prototype.__class__=DracoUInt32Array;DracoUInt32Array.__cache__={};Module["DracoUInt32Array"]=DracoUInt32Array;DracoUInt32Array.prototype["GetValue"]=DracoUInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt32Array_GetValue_1(self,index)};DracoUInt32Array.prototype["size"]=DracoUInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt32Array_size_0(self)};DracoUInt32Array.prototype["__destroy__"]=DracoUInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt32Array___destroy___0(self)};function MetadataQuerier(){this.ptr=_emscripten_bind_MetadataQuerier_MetadataQuerier_0();getCache(MetadataQuerier)[this.ptr]=this}MetadataQuerier.prototype=Object.create(WrapperObject.prototype);MetadataQuerier.prototype.constructor=MetadataQuerier;MetadataQuerier.prototype.__class__=MetadataQuerier;MetadataQuerier.__cache__={};Module["MetadataQuerier"]=MetadataQuerier;MetadataQuerier.prototype["HasEntry"]=MetadataQuerier.prototype.HasEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return!!_emscripten_bind_MetadataQuerier_HasEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntry"]=MetadataQuerier.prototype.GetIntEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetIntEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntryArray"]=MetadataQuerier.prototype.GetIntEntryArray=function(metadata,entry_name,out_values){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(out_values&&typeof out_values==="object")out_values=out_values.ptr;_emscripten_bind_MetadataQuerier_GetIntEntryArray_3(self,metadata,entry_name,out_values)};MetadataQuerier.prototype["GetDoubleEntry"]=MetadataQuerier.prototype.GetDoubleEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetDoubleEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetStringEntry"]=MetadataQuerier.prototype.GetStringEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return UTF8ToString(_emscripten_bind_MetadataQuerier_GetStringEntry_2(self,metadata,entry_name))};MetadataQuerier.prototype["NumEntries"]=MetadataQuerier.prototype.NumEntries=function(metadata){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return _emscripten_bind_MetadataQuerier_NumEntries_1(self,metadata)};MetadataQuerier.prototype["GetEntryName"]=MetadataQuerier.prototype.GetEntryName=function(metadata,entry_id){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_id&&typeof entry_id==="object")entry_id=entry_id.ptr;return UTF8ToString(_emscripten_bind_MetadataQuerier_GetEntryName_2(self,metadata,entry_id))};MetadataQuerier.prototype["__destroy__"]=MetadataQuerier.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_MetadataQuerier___destroy___0(self)};function Decoder(){this.ptr=_emscripten_bind_Decoder_Decoder_0();getCache(Decoder)[this.ptr]=this}Decoder.prototype=Object.create(WrapperObject.prototype);Decoder.prototype.constructor=Decoder;Decoder.prototype.__class__=Decoder;Decoder.__cache__={};Module["Decoder"]=Decoder;Decoder.prototype["DecodeArrayToPointCloud"]=Decoder.prototype.DecodeArrayToPointCloud=function(data,data_size,out_point_cloud){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;if(out_point_cloud&&typeof out_point_cloud==="object")out_point_cloud=out_point_cloud.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeArrayToPointCloud_3(self,data,data_size,out_point_cloud),Status)};Decoder.prototype["DecodeArrayToMesh"]=Decoder.prototype.DecodeArrayToMesh=function(data,data_size,out_mesh){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;if(out_mesh&&typeof out_mesh==="object")out_mesh=out_mesh.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeArrayToMesh_3(self,data,data_size,out_mesh),Status)};Decoder.prototype["GetAttributeId"]=Decoder.prototype.GetAttributeId=function(pc,type){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;return _emscripten_bind_Decoder_GetAttributeId_2(self,pc,type)};Decoder.prototype["GetAttributeIdByName"]=Decoder.prototype.GetAttributeIdByName=function(pc,name){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);return _emscripten_bind_Decoder_GetAttributeIdByName_2(self,pc,name)};Decoder.prototype["GetAttributeIdByMetadataEntry"]=Decoder.prototype.GetAttributeIdByMetadataEntry=function(pc,name,value){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);if(value&&typeof value==="object")value=value.ptr;else value=ensureString(value);return _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3(self,pc,name,value)};Decoder.prototype["GetAttribute"]=Decoder.prototype.GetAttribute=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttribute_2(self,pc,att_id),PointAttribute)};Decoder.prototype["GetAttributeByUniqueId"]=Decoder.prototype.GetAttributeByUniqueId=function(pc,unique_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(unique_id&&typeof unique_id==="object")unique_id=unique_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeByUniqueId_2(self,pc,unique_id),PointAttribute)};Decoder.prototype["GetMetadata"]=Decoder.prototype.GetMetadata=function(pc){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;return wrapPointer(_emscripten_bind_Decoder_GetMetadata_1(self,pc),Metadata)};Decoder.prototype["GetAttributeMetadata"]=Decoder.prototype.GetAttributeMetadata=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeMetadata_2(self,pc,att_id),Metadata)};Decoder.prototype["GetFaceFromMesh"]=Decoder.prototype.GetFaceFromMesh=function(m,face_id,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(face_id&&typeof face_id==="object")face_id=face_id.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetFaceFromMesh_3(self,m,face_id,out_values)};Decoder.prototype["GetTriangleStripsFromMesh"]=Decoder.prototype.GetTriangleStripsFromMesh=function(m,strip_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(strip_values&&typeof strip_values==="object")strip_values=strip_values.ptr;return _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2(self,m,strip_values)};Decoder.prototype["GetTrianglesUInt16Array"]=Decoder.prototype.GetTrianglesUInt16Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt16Array_3(self,m,out_size,out_values)};Decoder.prototype["GetTrianglesUInt32Array"]=Decoder.prototype.GetTrianglesUInt32Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt32Array_3(self,m,out_size,out_values)};Decoder.prototype["GetAttributeFloat"]=Decoder.prototype.GetAttributeFloat=function(pa,att_index,out_values){var self=this.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(att_index&&typeof att_index==="object")att_index=att_index.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloat_3(self,pa,att_index,out_values)};Decoder.prototype["GetAttributeFloatForAllPoints"]=Decoder.prototype.GetAttributeFloatForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeIntForAllPoints"]=Decoder.prototype.GetAttributeIntForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt8ForAllPoints"]=Decoder.prototype.GetAttributeInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt8ForAllPoints"]=Decoder.prototype.GetAttributeUInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt16ForAllPoints"]=Decoder.prototype.GetAttributeInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt16ForAllPoints"]=Decoder.prototype.GetAttributeUInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt32ForAllPoints"]=Decoder.prototype.GetAttributeInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt32ForAllPoints"]=Decoder.prototype.GetAttributeUInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeDataArrayForAllPoints"]=Decoder.prototype.GetAttributeDataArrayForAllPoints=function(pc,pa,data_type,out_size,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(data_type&&typeof data_type==="object")data_type=data_type.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5(self,pc,pa,data_type,out_size,out_values)};Decoder.prototype["SkipAttributeTransform"]=Decoder.prototype.SkipAttributeTransform=function(att_type){var self=this.ptr;if(att_type&&typeof att_type==="object")att_type=att_type.ptr;_emscripten_bind_Decoder_SkipAttributeTransform_1(self,att_type)};Decoder.prototype["GetEncodedGeometryType_Deprecated"]=Decoder.prototype.GetEncodedGeometryType_Deprecated=function(in_buffer){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;return _emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1(self,in_buffer)};Decoder.prototype["DecodeBufferToPointCloud"]=Decoder.prototype.DecodeBufferToPointCloud=function(in_buffer,out_point_cloud){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_point_cloud&&typeof out_point_cloud==="object")out_point_cloud=out_point_cloud.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToPointCloud_2(self,in_buffer,out_point_cloud),Status)};Decoder.prototype["DecodeBufferToMesh"]=Decoder.prototype.DecodeBufferToMesh=function(in_buffer,out_mesh){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_mesh&&typeof out_mesh==="object")out_mesh=out_mesh.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToMesh_2(self,in_buffer,out_mesh),Status)};Decoder.prototype["__destroy__"]=Decoder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Decoder___destroy___0(self)};(function(){function setupEnums(){Module["ATTRIBUTE_INVALID_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM();Module["ATTRIBUTE_NO_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM();Module["ATTRIBUTE_QUANTIZATION_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM();Module["ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["DT_INVALID"]=_emscripten_enum_draco_DataType_DT_INVALID();Module["DT_INT8"]=_emscripten_enum_draco_DataType_DT_INT8();Module["DT_UINT8"]=_emscripten_enum_draco_DataType_DT_UINT8();Module["DT_INT16"]=_emscripten_enum_draco_DataType_DT_INT16();Module["DT_UINT16"]=_emscripten_enum_draco_DataType_DT_UINT16();Module["DT_INT32"]=_emscripten_enum_draco_DataType_DT_INT32();Module["DT_UINT32"]=_emscripten_enum_draco_DataType_DT_UINT32();Module["DT_INT64"]=_emscripten_enum_draco_DataType_DT_INT64();Module["DT_UINT64"]=_emscripten_enum_draco_DataType_DT_UINT64();Module["DT_FLOAT32"]=_emscripten_enum_draco_DataType_DT_FLOAT32();Module["DT_FLOAT64"]=_emscripten_enum_draco_DataType_DT_FLOAT64();Module["DT_BOOL"]=_emscripten_enum_draco_DataType_DT_BOOL();Module["DT_TYPES_COUNT"]=_emscripten_enum_draco_DataType_DT_TYPES_COUNT();Module["OK"]=_emscripten_enum_draco_StatusCode_OK();Module["DRACO_ERROR"]=_emscripten_enum_draco_StatusCode_DRACO_ERROR();Module["IO_ERROR"]=_emscripten_enum_draco_StatusCode_IO_ERROR();Module["INVALID_PARAMETER"]=_emscripten_enum_draco_StatusCode_INVALID_PARAMETER();Module["UNSUPPORTED_VERSION"]=_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION();Module["UNKNOWN_VERSION"]=_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION()}if(runtimeInitialized)setupEnums();else addOnInit(setupEnums)})();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}Module["Decoder"].prototype.GetEncodedGeometryType=function(array){if(array.__class__&&array.__class__===Module.DecoderBuffer){return Module.Decoder.prototype.GetEncodedGeometryType_Deprecated(array)}if(array.byteLength<8)return Module.INVALID_GEOMETRY_TYPE;switch(array[7]){case 0:return Module.POINT_CLOUD;case 1:return Module.TRIANGULAR_MESH;default:return Module.INVALID_GEOMETRY_TYPE}};
return DracoDecoderModule.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = DracoDecoderModule;
else if (typeof define === 'function' && define['amd'])
define([], function() { return DracoDecoderModule; });
else if (typeof exports === 'object')
exports["DracoDecoderModule"] = DracoDecoderModule;