From 089ae05ffaeb9e54b1879d1f4291de2109cc3b2f Mon Sep 17 00:00:00 2001 From: yomboprime Date: Fri, 29 Mar 2019 19:53:24 +0100 Subject: [PATCH] Update Ammo.js to current version --- examples/js/libs/ammo.js | 663 ++++++++++++++++++++++- examples/webgl_loader_mmd.html | 11 +- examples/webgl_loader_mmd_audio.html | 10 +- examples/webgl_loader_mmd_pose.html | 10 +- examples/webgl_loader_sea3d_physics.html | 74 +-- examples/webgl_physics_cloth.html | 14 +- examples/webgl_physics_convex_break.html | 16 +- examples/webgl_physics_rope.html | 14 +- examples/webgl_physics_terrain.html | 14 +- examples/webgl_physics_volume.html | 17 +- 10 files changed, 766 insertions(+), 77 deletions(-) diff --git a/examples/js/libs/ammo.js b/examples/js/libs/ammo.js index 24cd1aa99bcbcc..dee8d6d1658bbc 100644 --- a/examples/js/libs/ammo.js +++ b/examples/js/libs/ammo.js @@ -1,31 +1,654 @@ -// This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. -var AmmoLib = function(Module) { - Module = Module || {}; + // This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. + +var Ammo = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + return ( +function(Ammo) { + Ammo = Ammo || {}; -var Module;if(!Module)Module=(typeof AmmoLib!=="undefined"?AmmoLib:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[(function($0,$1,$2,$3,$4,$5,$6,$7){{var self=Module["getCache"](Module["ConcreteContactResultCallback"])[$0];if(!self.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return self["addSingleResult"]($1,$2,$3,$4,$5,$6,$7)}})];function _emscripten_asm_const_diiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}STATIC_BASE=8;STATICTOP=STATIC_BASE+26272;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_btQuickprof_cpp()})});allocate([88,37,0,0,220,37,0,0,128,37,0,0,7,38,0,0,8,0,0,0,0,0,0,0,88,37,0,0,57,38,0,0,88,37,0,0,78,38,0,0,128,37,0,0,94,38,0,0,40,0,0,0,0,0,0,0,88,37,0,0,117,38,0,0,128,37,0,0,145,38,0,0,64,0,0,0,0,0,0,0,88,37,0,0,167,38,0,0,128,37,0,0,207,38,0,0,88,0,0,0,0,0,0,0,88,37,0,0,254,38,0,0,128,37,0,0,42,39,0,0,112,0,0,0,0,0,0,0,128,37,0,0,114,40,0,0,152,0,0,0,0,0,0,0,88,37,0,0,140,40,0,0,128,37,0,0,159,40,0,0,0,4,0,0,0,0,0,0,128,37,0,0,203,40,0,0,192,0,0,0,0,0,0,0,88,37,0,0,248,40,0,0,128,37,0,0,25,41,0,0,192,0,0,0,0,0,0,0,128,37,0,0,71,41,0,0,192,0,0,0,0,0,0,0,128,37,0,0,123,41,0,0,192,0,0,0,0,0,0,0,128,37,0,0,182,41,0,0,176,3,0,0,0,0,0,0,128,37,0,0,136,42,0,0,24,1,0,0,0,0,0,0,88,37,0,0,168,42,0,0,88,37,0,0,187,42,0,0,128,37,0,0,208,42,0,0,32,1,0,0,0,0,0,0,128,37,0,0,230,42,0,0,48,8,0,0,0,0,0,0,128,37,0,0,60,43,0,0,24,1,0,0,0,0,0,0,128,37,0,0,95,43,0,0,104,1,0,0,0,0,0,0,128,37,0,0,129,43,0,0,24,1,0,0,0,0,0,0,128,37,0,0,162,43,0,0,176,7,0,0,0,0,0,0,128,37,0,0,230,43,0,0,104,1,0,0,0,0,0,0,128,37,0,0,8,44,0,0,24,1,0,0,0,0,0,0,128,37,0,0,42,44,0,0,184,1,0,0,0,0,0,0,88,37,0,0,74,44,0,0,128,37,0,0,97,44,0,0,184,1,0,0,0,0,0,0,128,37,0,0,135,44,0,0,208,7,0,0,0,0,0,0,128,37,0,0,164,44,0,0,208,7,0,0,0,0,0,0,88,37,0,0,68,45,0,0,128,37,0,0,97,45,0,0,120,7,0,0,0,0,0,0,128,37,0,0,124,45,0,0,96,2,0,0,0,0,0,0,128,37,0,0,159,45,0,0,40,2,0,0,0,0,0,0,128,37,0,0,185,45,0,0,56,2,0,0,0,0,0,0,88,37,0,0,211,45,0,0,128,37,0,0,37,46,0,0,184,1,0,0,0,0,0,0,128,37,0,0,68,46,0,0,176,3,0,0,0,0,0,0,128,37,0,0,103,46,0,0,112,2,0,0,0,0,0,0,128,37,0,0,129,46,0,0,40,5,0,0,0,0,0,0,128,37,0,0,36,47,0,0,16,0,0,0,0,0,0,0,128,37,0,0,53,48,0,0,160,2,0,0,0,0,0,0,88,37,0,0,83,48,0,0,128,37,0,0,129,48,0,0,184,2,0,0,0,0,0,0,188,37,0,0,155,48,0,0,0,0,0,0,1,0,0,0,208,2,0,0,2,4,0,0,88,37,0,0,175,48,0,0,128,37,0,0,219,48,0,0,168,2,0,0,0,0,0,0,128,37,0,0,29,49,0,0,184,2,0,0,0,0,0,0,128,37,0,0,115,49,0,0,184,2,0,0,0,0,0,0,128,37,0,0,159,49,0,0,184,2,0,0,0,0,0,0,128,37,0,0,209,49,0,0,184,2,0,0,0,0,0,0,128,37,0,0,0,50,0,0,56,3,0,0,0,0,0,0,88,37,0,0,38,50,0,0,128,37,0,0,133,50,0,0,80,3,0,0,0,0,0,0,88,37,0,0,152,50,0,0,128,37,0,0,172,50,0,0,32,0,0,0,0,0,0,0,128,37,0,0,200,50,0,0,120,3,0,0,0,0,0,0,128,37,0,0,233,50,0,0,80,3,0,0,0,0,0,0,128,37,0,0,10,51,0,0,16,0,0,0,0,0,0,0,128,37,0,0,56,51,0,0,168,3,0,0,0,0,0,0,88,37,0,0,81,51,0,0,88,37,0,0,96,51,0,0,128,37,0,0,143,51,0,0,176,3,0,0,0,0,0,0,128,37,0,0,159,51,0,0,184,3,0,0,0,0,0,0,128,37,0,0,186,51,0,0,136,9,0,0,0,0,0,0,128,37,0,0,210,51,0,0,248,3,0,0,0,0,0,0,88,37,0,0,236,51,0,0,128,37,0,0,0,52,0,0,16,4,0,0,0,0,0,0,88,37,0,0,34,52,0,0,128,37,0,0,61,52,0,0,192,0,0,0,0,0,0,0,128,37,0,0,111,52,0,0,192,0,0,0,0,0,0,0,128,37,0,0,168,52,0,0,192,0,0,0,0,0,0,0,128,37,0,0,213,52,0,0,192,0,0,0,0,0,0,0,128,37,0,0,10,53,0,0,192,0,0,0,0,0,0,0,128,37,0,0,62,53,0,0,192,0,0,0,0,0,0,0,128,37,0,0,95,53,0,0,192,0,0,0,0,0,0,0,128,37,0,0,144,53,0,0,192,0,0,0,0,0,0,0,128,37,0,0,195,53,0,0,192,0,0,0,0,0,0,0,128,37,0,0,238,53,0,0,192,0,0,0,0,0,0,0,88,37,0,0,30,54,0,0,128,37,0,0,101,54,0,0,184,1,0,0,0,0,0,0,128,37,0,0,135,54,0,0,56,10,0,0,0,0,0,0,128,37,0,0,171,54,0,0,208,7,0,0,0,0,0,0,128,37,0,0,198,54,0,0,208,7,0,0,0,0,0,0,128,37,0,0,100,55,0,0,56,10,0,0,0,0,0,0,128,37,0,0,129,55,0,0,32,5,0,0,0,0,0,0,88,37,0,0,148,55,0,0,88,37,0,0,196,55,0,0,188,37,0,0,189,56,0,0,0,0,0,0,2,0,0,0,208,7,0,0,2,0,0,0,216,7,0,0,2,4,0,0,128,37,0,0,209,56,0,0,40,2,0,0,0,0,0,0,128,37,0,0,231,56,0,0,152,9,0,0,0,0,0,0,128,37,0,0,122,57,0,0,152,9,0,0,0,0,0,0,128,37,0,0,15,58,0,0,24,1,0,0,0,0,0,0,128,37,0,0,141,58,0,0,88,0,0,0,0,0,0,0,128,37,0,0,78,59,0,0,168,9,0,0,0,0,0,0,128,37,0,0,253,59,0,0,168,9,0,0,0,0,0,0,128,37,0,0,194,60,0,0,8,0,0,0,0,0,0,0,128,37,0,0,111,61,0,0,40,2,0,0,0,0,0,0,128,37,0,0,135,61,0,0,56,2,0,0,0,0,0,0,128,37,0,0,161,61,0,0,16,5,0,0,0,0,0,0,128,37,0,0,187,61,0,0,56,10,0,0,0,0,0,0,128,37,0,0,224,61,0,0,192,0,0,0,0,0,0,0,128,37,0,0,8,62,0,0,56,10,0,0,0,0,0,0,128,37,0,0,34,62,0,0,32,5,0,0,0,0,0,0,128,37,0,0,167,62,0,0,32,5,0,0,0,0,0,0,128,37,0,0,52,63,0,0,16,5,0,0,0,0,0,0,128,37,0,0,79,63,0,0,56,10,0,0,0,0,0,0,128,37,0,0,110,63,0,0,24,1,0,0,0,0,0,0,128,37,0,0,135,63,0,0,56,10,0,0,0,0,0,0,128,37,0,0,174,63,0,0,24,1,0,0,0,0,0,0,128,37,0,0,207,63,0,0,152,7,0,0,0,0,0,0,128,37,0,0,23,64,0,0,176,7,0,0,0,0,0,0,128,37,0,0,58,64,0,0,176,6,0,0,0,0,0,0,128,37,0,0,79,64,0,0,176,6,0,0,0,0,0,0,128,37,0,0,100,64,0,0,176,7,0,0,0,0,0,0,128,37,0,0,123,64,0,0,56,7,0,0,0,0,0,0,128,37,0,0,188,64,0,0,16,7,0,0,0,0,0,0,88,37,0,0,42,65,0,0,128,37,0,0,66,65,0,0,16,7,0,0,0,0,0,0,128,37,0,0,170,65,0,0,16,7,0,0,0,0,0,0,128,37,0,0,27,66,0,0,48,8,0,0,0,0,0,0,128,37,0,0,62,66,0,0,216,7,0,0,0,0,0,0,128,37,0,0,164,66,0,0,208,7,0,0,0,0,0,0,128,37,0,0,188,66,0,0,48,8,0,0,0,0,0,0,128,37,0,0,244,66,0,0,176,7,0,0,0,0,0,0,128,37,0,0,14,67,0,0,120,7,0,0,0,0,0,0,88,37,0,0,51,67,0,0,128,37,0,0,91,67,0,0,152,7,0,0,0,0,0,0,128,37,0,0,107,67,0,0,160,7,0,0,0,0,0,0,128,37,0,0,131,67,0,0,136,7,0,0,0,0,0,0,88,37,0,0,180,67,0,0,88,37,0,0,201,67,0,0,128,37,0,0,235,67,0,0,176,7,0,0,0,0,0,0,128,37,0,0,28,68,0,0,224,7,0,0,0,0,0,0,128,37,0,0,55,68,0,0,224,7,0,0,0,0,0,0,128,37,0,0,82,68,0,0,136,7,0,0,0,0,0,0,128,37,0,0,124,68,0,0,216,7,0,0,0,0,0,0,128,37,0,0,153,68,0,0,152,7,0,0,0,0,0,0,128,37,0,0,170,68,0,0,120,7,0,0,0,0,0,0,128,37,0,0,187,68,0,0,144,9,0,0,0,0,0,0,128,37,0,0,204,68,0,0,216,7,0,0,0,0,0,0,128,37,0,0,48,69,0,0,216,7,0,0,0,0,0,0,128,37,0,0,139,69,0,0,48,8,0,0,0,0,0,0,128,37,0,0,179,69,0,0,176,7,0,0,0,0,0,0,128,37,0,0,227,69,0,0,144,8,0,0,0,0,0,0,128,37,0,0,0,70,0,0,144,8,0,0,0,0,0,0,128,37,0,0,29,70,0,0,152,10,0,0,0,0,0,0,128,37,0,0,46,70,0,0,224,8,0,0,0,0,0,0,88,37,0,0,72,70,0,0,128,37,0,0,96,70,0,0,248,8,0,0,0,0,0,0,128,37,0,0,114,70,0,0,64,0,0,0,0,0,0,0,128,37,0,0,139,70,0,0,208,8,0,0,0,0,0,0,128,37,0,0,154,70,0,0,248,8,0,0,0,0,0,0,128,37,0,0,185,70,0,0,248,3,0,0,0,0,0,0,128,37,0,0,58,71,0,0,248,3,0,0,0,0,0,0,128,37,0,0,168,71,0,0,224,8,0,0,0,0,0,0,128,37,0,0,187,71,0,0,24,1,0,0,0,0,0,0,128,37,0,0,208,71,0,0,24,1,0,0,0,0,0,0,128,37,0,0,230,71,0,0,24,1,0,0,0,0,0,0,88,37,0,0,253,71,0,0,88,37,0,0,12,72,0,0,128,37,0,0,120,72,0,0,208,7,0,0,0,0,0,0,128,37,0,0,148,72,0,0,208,7,0,0,0,0,0,0,128,37,0,0,179,72,0,0,200,9,0,0,0,0,0,0,88,37,0,0,215,72,0,0,128,37,0,0,248,72,0,0,32,5,0,0,0,0,0,0,128,37,0,0,163,73,0,0,200,9,0,0,0,0,0,0,128,37,0,0,196,73,0,0,168,3,0,0,0,0,0,0,128,37,0,0,214,73,0,0,32,5,0,0,0,0,0,0,128,37,0,0,233,73,0,0,168,3,0,0,0,0,0,0,128,37,0,0,7,74,0,0,48,10,0,0,0,0,0,0,88,37,0,0,27,74,0,0,128,37,0,0,66,74,0,0,184,1,0,0,0,0,0,0,128,37,0,0,99,74,0,0,184,1,0,0,0,0,0,0,128,37,0,0,118,74,0,0,56,10,0,0,0,0,0,0,128,37,0,0,153,74,0,0,48,10,0,0,0,0,0,0,128,37,0,0,172,74,0,0,48,10,0,0,0,0,0,0,88,37,0,0,197,74,0,0,88,37,0,0,223,74,0,0,128,37,0,0,244,74,0,0,168,10,0,0,0,0,0,0,88,37,0,0,17,75,0,0,88,37,0,0,74,86,0,0,128,37,0,0,40,86,0,0,216,10,0,0,0,0,0,0,128,37,0,0,213,85,0,0,184,10,0,0,0,0,0,0,128,37,0,0,250,85,0,0,232,10,0,0,0,0,0,0,88,37,0,0,27,86,0,0,128,37,0,0,16,87,0,0,176,10,0,0,0,0,0,0,128,37,0,0,80,87,0,0,216,10,0,0,0,0,0,0,128,37,0,0,44,87,0,0,0,11,0,0,0,0,0,0,128,37,0,0,114,87,0,0,184,10,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,48,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,72,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,120,0,0,0,9,0,0,0,10,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,136,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,160,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,0,0,0,0,176,0,0,0,16,0,0,0,17,0,0,0,2,0,0,0,0,0,0,0,200,0,0,0,16,0,0,0,18,0,0,0,3,0,0,0,0,0,0,0,216,0,0,0,16,0,0,0,19,0,0,0,4,0,0,0,0,0,0,0,232,0,0,0,16,0,0,0,20,0,0,0,5,0,0,0,0,0,0,0,248,0,0,0,4,0,0,0,21,0,0,0,22,0,0,0,6,0,0,0,8,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,0,0,0,0,8,1,0,0,23,0,0,0,24,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,40,1,0,0,25,0,0,0,26,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,56,1,0,0,27,0,0,0,28,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,9,0,0,0,10,0,0,0,2,0,0,0,11,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,2,0,0,0,0,0,0,0,72,1,0,0,23,0,0,0,29,0,0,0,7,0,0,0,12,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,88,1,0,0,23,0,0,0,30,0,0,0,7,0,0,0,13,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,120,1,0,0,31,0,0,0,32,0,0,0,3,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,3,0,0,0,14,0,0,0,10,0,0,0,5,0,0,0,3,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,9,0,0,0,10,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,17,0,0,0,0,0,0,0,136,1,0,0,23,0,0,0,33,0,0,0,12,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,152,1,0,0,23,0,0,0,34,0,0,0,13,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,35,0,0,0,36,0,0,0,2,0,0,0,1,0,0,0,16,0,0,0,0,0,0,0,192,1,0,0,37,0,0,0,38,0,0,0,3,0,0,0,2,0,0,0,17,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,6,0,0,0,0,0,0,0,224,1,0,0,41,0,0,0,42,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,6,0,0,0,18,0,0,0,14,0,0,0,43,0,0,0,44,0,0,0,0,0,0,0,248,1,0,0,45,0,0,0,46,0,0,0,8,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,4,0,0,0,18,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,19,0,0,0,17,0,0,0,7,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,18,0,0,0,22,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,0,0,0,0,8,2,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,19,0,0,0,23,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,20,0,0,0,52,0,0,0,21,0,0,0,1,0,0,0,19,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,53,0,0,0,27,0,0,0,16,0,0,0,28,0,0,0,29,0,0,0,24,0,0,0,25,0,0,0,8,0,0,0,9,0,0,0,26,0,0,0,54,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,55,0,0,0,34,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,56,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,24,2,0,0,57,0,0,0,58,0,0,0,10,0,0,0,0,0,0,0,64,2,0,0,59,0,0,0,60,0,0,0,4,0,0,0,3,0,0,0,36,0,0,0,0,0,0,0,80,2,0,0,11,0,0,0,61,0,0,0,62,0,0,0,37,0,0,0,27,0,0,0,6,0,0,0,38,0,0,0,0,0,0,0,96,2,0,0,63,0,0,0,64,0,0,0,49,0,0,0,50,0,0,0,19,0,0,0,23,0,0,0,65,0,0,0,13,0,0,0,17,0,0,0,15,0,0,0,39,0,0,0,52,0,0,0,40,0,0,0,1,0,0,0,19,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,53,0,0,0,27,0,0,0,16,0,0,0,28,0,0,0,29,0,0,0,24,0,0,0,25,0,0,0,8,0,0,0,9,0,0,0,28,0,0,0,54,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,14,0,0,0,9,0,0,0,55,0,0,0,34,0,0,0,10,0,0,0,15,0,0,0,12,0,0,0,56,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,128,2,0,0,66,0,0,0,67,0,0,0,12,0,0,0,3,0,0,0,0,0,0,0,144,2,0,0,68,0,0,0,69,0,0,0,1,0,0,0,0,0,0,0,168,2,0,0,70,0,0,0,71,0,0,0,72,0,0,0,1,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,29,0,0,0,7,0,0,0,73,0,0,0,0,0,0,0,184,2,0,0,70,0,0,0,74,0,0,0,75,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,30,0,0,0,8,0,0,0,0,0,0,0,216,2,0,0,70,0,0,0,76,0,0,0,72,0,0,0,1,0,0,0,41,0,0,0,43,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,31,0,0,0,9,0,0,0,73,0,0,0,20,0,0,0,0,0,0,0,232,2,0,0,70,0,0,0,77,0,0,0,78,0,0,0,1,0,0,0,44,0,0,0,45,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,32,0,0,0,10,0,0,0,0,0,0,0,248,2,0,0,70,0,0,0,79,0,0,0,75,0,0,0,1,0,0,0,46,0,0,0,47,0,0,0,1,0,0,0,3,0,0,0,6,0,0,0,33,0,0,0,11,0,0,0,0,0,0,0,8,3,0,0,70,0,0,0,80,0,0,0,81,0,0,0,1,0,0,0,48,0,0,0,49,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,34,0,0,0,12,0,0,0,21,0,0,0,0,0,0,0,24,3,0,0,70,0,0,0,82,0,0,0,83,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,1,0,0,0,5,0,0,0,8,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,40,3,0,0,84,0,0,0,85,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,86,0,0,0,36,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,64,3,0,0,87,0,0,0,88,0,0,0,2,0,0,0,52,0,0,0,16,0,0,0,17,0,0,0,19,0,0,0,0,0,0,0,88,3,0,0,89,0,0,0,90,0,0,0,6,0,0,0,0,0,0,0,104,3,0,0,91,0,0,0,92,0,0,0,3,0,0,0,53,0,0,0,54,0,0,0,4,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,5,0,0,0,37,0,0,0,93,0,0,0,38,0,0,0,58,0,0,0,0,0,0,0,136,3,0,0,66,0,0,0,94,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,152,3,0,0,95,0,0,0,96,0,0,0,1,0,0,0,10,215,163,60,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,176,3,0,0,4,0,0,0,97,0,0,0,98,0,0,0,37,0,0,0,39,0,0,0,14,0,0,0,7,0,0,0,0,0,0,0,184,3,0,0,4,0,0,0,99,0,0,0,100,0,0,0,37,0,0,0,39,0,0,0,14,0,0,0,7,0,0,0,24,0,0,0,20,0,0,0,0,0,0,0,200,3,0,0,4,0,0,0,101,0,0,0,102,0,0,0,37,0,0,0,39,0,0,0,14,0,0,0,7,0,0,0,25,0,0,0,21,0,0,0,0,0,0,0,216,3,0,0,103,0,0,0,104,0,0,0,7,0,0,0,15,0,0,0,59,0,0,0,60,0,0,0,16,0,0,0,17,0,0,0,22,0,0,0,40,0,0,0,13,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,14,0,0,0,61,0,0,0,0,0,0,0,232,3,0,0,105,0,0,0,106,0,0,0,15,0,0,0,0,0,0,0,0,4,0,0,107,0,0,0,108,0,0,0,5,0,0,0,6,0,0,0,18,0,0,0,7,0,0,0,0,0,0,0,24,4,0,0,16,0,0,0,109,0,0,0,8,0,0,0,0,0,0,0,40,4,0,0,16,0,0,0,110,0,0,0,9,0,0,0,0,0,0,0,56,4,0,0,16,0,0,0,111,0,0,0,10,0,0,0,0,0,0,0,72,4,0,0,16,0,0,0,112,0,0,0,11,0,0,0,0,0,0,0,88,4,0,0,16,0,0,0,113,0,0,0,12,0,0,0,0,0,0,0,104,4,0,0,16,0,0,0,114,0,0,0,13,0,0,0,0,0,0,0,120,4,0,0,16,0,0,0,115,0,0,0,14,0,0,0,0,0,0,0,136,4,0,0,16,0,0,0,116,0,0,0,15,0,0,0,0,0,0,0,152,4,0,0,16,0,0,0,117,0,0,0,16,0,0,0,0,0,0,0,168,4,0,0,16,0,0,0,118,0,0,0,17,0,0,0,0,0,0,0,184,4,0,0,119,0,0,0,120,0,0,0,26,0,0,0,62,0,0,0,0,0,0,0,192,4,0,0,121,0,0,0,122,0,0,0,5,0,0,0,4,0,0,0,63,0,0,0,0,0,0,0,208,4,0,0,123,0,0,0,124,0,0,0,6,0,0,0,5,0,0,0,64,0,0,0,0,0,0,0,224,4,0,0,125,0,0,0,126,0,0,0,23,0,0,0,0,0,0,0,240,4,0,0,41,0,0,0,127,0,0,0,24,0,0,0,0,0,0,0,0,5,0,0,128,0,0,0,129,0,0,0,7,0,0,0,6,0,0,0,65,0,0,0,0,0,0,0,16,5,0,0,130,0,0,0,131,0,0,0,27,0,0,0,28,0,0,0,3,0,0,0,0,0,0,0,40,5,0,0,132,0,0,0,133,0,0,0,49,0,0,0,50,0,0,0,19,0,0,0,23,0,0,0,134,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,66,0,0,0,52,0,0,0,67,0,0,0,0,0,0,0,48,5,0,0,135,0,0,0,136,0,0,0,26,0,0,0,27,0,0,0,252,255,255,255,48,5,0,0,137,0,0,0,138,0,0,0,28,0,0,0,0,0,0,0,80,5,0,0,57,0,0,0,139,0,0,0,16,0,0,0,0,0,0,0,96,5,0,0,41,0,0,0,140,0,0,0,29,0,0,0,1,0,0,0,0,0,0,0,112,5,0,0,41,0,0,0,141,0,0,0,29,0,0,0,2,0,0,0,0,0,0,0,128,5,0,0,23,0,0,0,142,0,0,0,7,0,0,0,68,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,5,0,0,143,0,0,0,144,0,0,0,17,0,0,0,10,0,0,0,0,0,0,0,160,5,0,0,41,0,0,0,145,0,0,0,30,0,0,0,1,0,0,0,0,0,0,0,176,5,0,0,41,0,0,0,146,0,0,0,30,0,0,0,2,0,0,0,0,0,0,0,192,5,0,0,66,0,0,0,147,0,0,0,18,0,0,0,11,0,0,0,0,0,0,0,208,5,0,0,57,0,0,0,148,0,0,0,19,0,0,0,0,0,0,0,224,5,0,0,57,0,0,0,149,0,0,0,20,0,0,0,0,0,0,0,240,5,0,0,130,0,0,0,150,0,0,0,27,0,0,0,28,0,0,0,4,0,0,0,0,0,0,0,0,6,0,0,151,0,0,0,152,0,0,0,8,0,0,0,7,0,0,0,69,0,0,0,0,0,0,0,16,6,0,0,153,0,0,0,154,0,0,0,18,0,0,0,0,0,0,0,32,6,0,0,155,0,0,0,156,0,0,0,9,0,0,0,8,0,0,0,70,0,0,0,0,0,0,0,48,6,0,0,130,0,0,0,157,0,0,0,29,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,64,6,0,0,130,0,0,0,158,0,0,0,31,0,0,0,32,0,0,0,6,0,0,0,0,0,0,0,80,6,0,0,130,0,0,0,159,0,0,0,27,0,0,0,28,0,0,0,7,0,0,0,0,0,0,0,96,6,0,0,160,0,0,0,161,0,0,0,10,0,0,0,9,0,0,0,71,0,0,0,0,0,0,0,112,6,0,0,23,0,0,0,162,0,0,0,7,0,0,0,72,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,128,6,0,0,163,0,0,0,164,0,0,0,11,0,0,0,10,0,0,0,73,0,0,0,0,0,0,0,144,6,0,0,23,0,0,0,165,0,0,0,33,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,160,6,0,0,166,0,0,0,167,0,0,0,31,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,74,0,0,0,44,0,0,0,5,0,0,0,45,0,0,0,10,0,0,0,18,0,0,0,5,0,0,0,46,0,0,0,19,0,0,0,11,0,0,0,75,0,0,0,168,0,0,0,0,0,0,0,176,6,0,0,31,0,0,0,169,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,0,0,6,0,0,0,47,0,0,0,77,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,192,6,0,0,31,0,0,0,170,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,0,0,6,0,0,0,49,0,0,0,78,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,208,6,0,0,31,0,0,0,171,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,0,0,6,0,0,0,50,0,0,0,79,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,224,6,0,0,31,0,0,0,172,0,0,0,34,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,7,0,0,0,51,0,0,0,10,0,0,0,19,0,0,0,6,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,36,0,0,0,37,0,0,0,1,0,0,0,35,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,240,6,0,0,173,0,0,0,174,0,0,0,36,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,80,0,0,0,52,0,0,0,8,0,0,0,53,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,54,0,0,0,21,0,0,0,11,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,81,0,0,0,82,0,0,0,0,0,0,0,0,7,0,0,175,0,0,0,176,0,0,0,40,0,0,0,0,0,0,0,24,7,0,0,175,0,0,0,177,0,0,0,41,0,0,0,0,0,0,0,40,7,0,0,175,0,0,0,178,0,0,0,42,0,0,0,0,0,0,0,56,7,0,0,179,0,0,0,180,0,0,0,36,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,83,0,0,0,52,0,0,0,8,0,0,0,55,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,72,7,0,0,181,0,0,0,182,0,0,0,39,0,0,0,0,0,0,0,88,7,0,0,41,0,0,0,183,0,0,0,40,0,0,0,0,0,0,0,104,7,0,0,184,0,0,0,185,0,0,0,41,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,84,0,0,0,56,0,0,0,9,0,0,0,57,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,58,0,0,0,22,0,0,0,11,0,0,0,42,0,0,0,0,0,0,0,120,7,0,0,45,0,0,0,186,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,10,0,0,0,1,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,15,0,0,0,43,0,0,0,1,0,0,0,43,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,192,7,0,0,187,0,0,0,188,0,0,0,44,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,85,0,0,0,13,0,0,0,10,0,0,0,59,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,60,0,0,0,23,0,0,0,11,0,0,0,44,0,0,0,45,0,0,0,1,0,0,0,45,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,0,0,0,61,0,0,0,62,0,0,0,46,0,0,0,46,0,0,0,63,0,0,0,47,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,224,7,0,0,31,0,0,0,189,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,64,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,240,7,0,0,31,0,0,0,190,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,66,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,0,8,0,0,31,0,0,0,191,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,67,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,16,8,0,0,45,0,0,0,192,0,0,0,44,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,88,0,0,0,68,0,0,0,10,0,0,0,69,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,48,0,0,0,49,0,0,0,1,0,0,0,50,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,0,0,0,70,0,0,0,71,0,0,0,51,0,0,0,50,0,0,0,72,0,0,0,52,0,0,0,3,0,0,0,0,0,0,0,32,8,0,0,181,0,0,0,193,0,0,0,53,0,0,0,0,0,0,0,64,8,0,0,45,0,0,0,194,0,0,0,54,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,89,0,0,0,13,0,0,0,12,0,0,0,73,0,0,0,10,0,0,0,21,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,55,0,0,0,5,0,0,0,74,0,0,0,53,0,0,0,7,0,0,0,75,0,0,0,76,0,0,0,56,0,0,0,54,0,0,0,77,0,0,0,57,0,0,0,4,0,0,0,55,0,0,0,0,0,0,0,80,8,0,0,195,0,0,0,196,0,0,0,19,0,0,0,78,0,0,0,25,0,0,0,90,0,0,0,91,0,0,0,20,0,0,0,0,0,0,0,96,8,0,0,181,0,0,0,197,0,0,0,58,0,0,0,0,0,0,0,112,8,0,0,181,0,0,0,198,0,0,0,59,0,0,0,0,0,0,0,128,8,0,0,199,0,0,0,200,0,0,0,60,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,92,0,0,0,79,0,0,0,13,0,0,0,80,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,61,0,0,0,12,0,0,0,0,0,0,0,144,8,0,0,31,0,0,0,201,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,81,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,57,0,0,0,1,0,0,0,63,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,0,0,0,0,0,0,0,160,8,0,0,31,0,0,0,202,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,83,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,58,0,0,0,1,0,0,0,64,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,8,0,0,0,0,0,0,0,176,8,0,0,31,0,0,0,203,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,84,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,59,0,0,0,1,0,0,0,65,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,9,0,0,0,0,0,0,0,192,8,0,0,204,0,0,0,205,0,0,0,66,0,0,0,1,0,0,0,2,0,0,0,95,0,0,0,96,0,0,0,85,0,0,0,97,0,0,0,98,0,0,0,86,0,0,0,60,0,0,0,61,0,0,0,87,0,0,0,27,0,0,0,0,0,0,0,208,8,0,0,206,0,0,0,207,0,0,0,1,0,0,0,62,0,0,0,12,0,0,0,67,0,0,0,2,0,0,0,68,0,0,0,99,0,0,0,88,0,0,0,89,0,0,0,63,0,0,0,100,0,0,0,208,0,0,0,0,0,0,0,232,8,0,0,209,0,0,0,210,0,0,0,28,0,0,0,21,0,0,0,64,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,65,0,0,0,93,0,0,0,66,0,0,0,101,0,0,0,67,0,0,0,29,0,0,0,94,0,0,0,102,0,0,0,103,0,0,0,0,0,0,0,8,9,0,0,206,0,0,0,211,0,0,0,1,0,0,0,62,0,0,0,12,0,0,0,67,0,0,0,2,0,0,0,68,0,0,0,99,0,0,0,88,0,0,0,89,0,0,0,63,0,0,0,100,0,0,0,208,0,0,0,0,0,0,0,24,9,0,0,212,0,0,0,213,0,0,0,30,0,0,0,22,0,0,0,68,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,69,0,0,0,98,0,0,0,70,0,0,0,104,0,0,0,71,0,0,0,31,0,0,0,99,0,0,0,105,0,0,0,106,0,0,0,0,0,0,0,40,9,0,0,105,0,0,0,214,0,0,0,21,0,0,0,0,0,0,0,56,9,0,0,105,0,0,0,215,0,0,0,22,0,0,0,0,0,0,0,72,9,0,0,216,0,0,0,217,0,0,0,2,0,0,0,72,0,0,0,13,0,0,0,69,0,0,0,3,0,0,0,70,0,0,0,107,0,0,0,100,0,0,0,101,0,0,0,73,0,0,0,108,0,0,0,218,0,0,0,0,0,0,0,88,9,0,0,23,0,0,0,219,0,0,0,74,0,0,0,109,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,104,9,0,0,23,0,0,0,220,0,0,0,7,0,0,0,110,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,120,9,0,0,23,0,0,0,221,0,0,0,7,0,0,0,111,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,9,0,0,222,0,0,0,223,0,0,0,19,0,0,0,78,0,0,0,25,0,0,0,90,0,0,0,91,0,0,0,0,0,0,0,168,9,0,0,41,0,0,0,224,0,0,0,30,0,0,0,1,0,0,0,0,0,0,0,184,9,0,0,225,0,0,0,226,0,0,0,1,0,0,0,0,0,0,0,208,9,0,0,130,0,0,0,227,0,0,0,75,0,0,0,76,0,0,0,8,0,0,0,0,0,0,0,224,9,0,0,225,0,0,0,228,0,0,0,2,0,0,0,0,0,0,0,240,9,0,0,95,0,0,0,229,0,0,0,2,0,0,0,0,0,0,0,0,10,0,0,130,0,0,0,230,0,0,0,77,0,0,0,78,0,0,0,9,0,0,0,0,0,0,0,16,10,0,0,95,0,0,0,231,0,0,0,3,0,0,0,0,0,0,0,32,10,0,0,232,0,0,0,233,0,0,0,14,0,0,0,0,0,0,0,72,10,0,0,234,0,0,0,235,0,0,0,15,0,0,0,11,0,0,0,112,0,0,0,0,0,0,0,88,10,0,0,236,0,0,0,237,0,0,0,16,0,0,0,12,0,0,0,113,0,0,0,0,0,0,0,104,10,0,0,232,0,0,0,238,0,0,0,17,0,0,0,0,0,0,0,120,10,0,0,232,0,0,0,239,0,0,0,18,0,0,0,0,0,0,0,136,10,0,0,240,0,0,0,241,0,0,0,32,0,0,0,33,0,0,0,102,0,0,0,0,0,0,0,144,10,0,0,242,0,0,0,243,0,0,0,0,0,0,0,152,10,0,0,244,0,0,0,245,0,0,0,66,0,0,0,1,0,0,0,2,0,0,0,95,0,0,0,96,0,0,0,85,0,0,0,114,0,0,0,115,0,0,0,86,0,0,0,60,0,0,0,61,0,0,0,87,0,0,0,27,0,0,0,96,100,0,0,255,255,255,255,5,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,157,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,184,10,0,0,246,0,0,0,247,0,0,0,248,0,0,0,249,0,0,0,36,0,0,0,4,0,0,0,19,0,0,0,71,0,0,0,0,0,0,0,200,10,0,0,246,0,0,0,250,0,0,0,248,0,0,0,249,0,0,0,36,0,0,0,5,0,0,0,20,0,0,0,72,0,0,0,0,0,0,0,240,10,0,0,251,0,0,0,252,0,0,0,104,0,0,0,0,0,0,0,32,11,0,0,246,0,0,0,253,0,0,0,248,0,0,0,249,0,0,0,36,0,0,0,6,0,0,0,21,0,0,0,73,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,55,67,108,111,115,101,115,116,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,50,53,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,108,108,98,97,99,107,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,67,108,111,115,101,115,116,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,50,57,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,123,32,118,97,114,32,115,101,108,102,32,61,32,77,111,100,117,108,101,91,39,103,101,116,67,97,99,104,101,39,93,40,77,111,100,117,108,101,91,39,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,39,93,41,91,36,48,93,59,32,105,102,32,40,33,115,101,108,102,46,104,97,115,79,119,110,80,114,111,112,101,114,116,121,40,39,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,39,41,41,32,116,104,114,111,119,32,39,97,32,74,83,73,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,117,115,116,32,105,109,112,108,101,109,101,110,116,32,97,108,108,32,102,117,110,99,116,105,111,110,115,44,32,121,111,117,32,102,111,114,103,111,116,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,58,58,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,46,39,59,32,114,101,116,117,114,110,32,115,101,108,102,91,39,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,39,93,40,36,49,44,36,50,44,36,51,44,36,52,44,36,53,44,36,54,44,36,55,41,59,32,125,0,50,51,98,116,68,101,102,97,117,108,116,83,111,102,116,66,111,100,121,83,111,108,118,101,114,0,49,54,98,116,83,111,102,116,66,111,100,121,83,111,108,118,101,114,0,52,49,98,116,83,111,102,116,66,111,100,121,82,105,103,105,100,66,111,100,121,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,78,50,56,98,116,83,111,102,116,83,111,102,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,51,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,67,114,101,97,116,101,70,117,110,99,0,78,50,57,98,116,83,111,102,116,82,105,103,105,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,53,98,116,83,111,102,116,66,111,100,121,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,53,98,116,83,111,102,116,66,111,100,121,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,49,48,98,116,83,111,102,116,66,111,100,121,0,83,111,102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83,111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116,66,111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100,121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101,116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99,104,111,114,68,97,116,97,0,102,108,111,97,116,0,83,111,102,116,66,111,100,121,80,111,115,101,68,97,116,97,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68,97,116,97,0,105,110,116,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68,97,116,97,0,98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68,97,116,97,0,78,49,48,98,116,83,111,102,116,66,111,100,121,49,53,82,97,121,70,114,111,109,84,111,67,97,115,116,101,114,69,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,78,49,48,98,116,83,111,102,116,66,111,100,121,53,74,111,105,110,116,69,0,78,49,48,98,116,83,111,102,116,66,111,100,121,54,67,74,111,105,110,116,69,0,50,52,98,116,83,111,102,116,66,111,100,121,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,83,111,102,116,66,111,100,121,0,85,112,100,97,116,101,67,108,117,115,116,101,114,115,0,83,111,102,116,66,111,100,121,32,97,112,112,108,121,70,111,114,99,101,115,0,65,112,112,108,121,67,108,117,115,116,101,114,115,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,51,67,111,108,108,105,100,101,83,68,70,95,82,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,50,67,111,108,108,105,100,101,67,76,95,82,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,49,67,108,117,115,116,101,114,66,97,115,101,69,0,50,55,98,116,83,111,102,116,67,108,117,115,116,101,114,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,83,79,70,84,67,76,85,83,84,69,82,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,50,67,111,108,108,105,100,101,67,76,95,83,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,50,67,111,108,108,105,100,101,86,70,95,83,83,69,0,50,57,98,116,83,111,102,116,82,105,103,105,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,51,53,98,116,83,111,102,116,66,111,100,121,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,54,98,116,83,111,102,116,66,111,100,121,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,90,78,51,53,98,116,83,111,102,116,66,111,100,121,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0,78,49,50,98,116,67,111,110,118,101,120,67,97,115,116,49,48,67,97,115,116,82,101,115,117,108,116,69,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,84,114,105,97,110,103,108,101,0,50,52,98,116,83,111,102,116,82,105,103,105,100,68,121,110,97,109,105,99,115,87,111,114,108,100,0,114,97,121,84,101,115,116,0,50,51,98,116,83,111,102,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,50,51,98,116,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,50,52,98,116,66,114,111,97,100,112,104,97,115,101,65,97,98,98,67,97,108,108,98,97,99,107,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,83,111,102,116,66,111,100,121,0,115,111,108,118,101,83,111,102,116,67,111,110,115,116,114,97,105,110,116,115,0,50,56,98,116,83,111,102,116,83,111,102,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,100,101,98,117,103,68,114,97,119,87,111,114,108,100,0,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,70,108,111,97,116,68,97,116,97,0,115,116,101,112,83,105,109,117,108,97,116,105,111,110,0,115,121,110,99,104,114,111,110,105,122,101,77,111,116,105,111,110,83,116,97,116,101,115,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,0,105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,51,52,98,116,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,97,112,112,108,121,32,115,112,101,99,117,108,97,116,105,118,101,32,99,111,110,116,97,99,116,32,114,101,115,116,105,116,117,116,105,111,110,0,99,97,108,99,117,108,97,116,101,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,115,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,105,110,116,101,114,110,97,108,83,105,110,103,108,101,83,116,101,112,83,105,109,117,108,97,116,105,111,110,0,99,114,101,97,116,101,80,114,101,100,105,99,116,105,118,101,67,111,110,116,97,99,116,115,0,114,101,108,101,97,115,101,32,112,114,101,100,105,99,116,105,118,101,32,99,111,110,116,97,99,116,32,109,97,110,105,102,111,108,100,115,0,112,114,101,100,105,99,116,105,118,101,32,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,50,55,73,110,112,108,97,99,101,83,111,108,118,101,114,73,115,108,97,110,100,67,97,108,108,98,97,99,107,0,78,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,49,52,73,115,108,97,110,100,67,97,108,108,98,97,99,107,69,0,50,51,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,50,57,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,50,51,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,50,49,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,51,53,98,116,83,101,113,117,101,110,116,105,97,108,73,109,112,117,108,115,101,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,115,111,108,118,101,71,114,111,117,112,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,83,101,116,117,112,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,73,116,101,114,97,116,105,111,110,115,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,50,53,98,116,68,101,102,97,117,108,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,51,48,98,116,75,105,110,101,109,97,116,105,99,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,0,51,48,98,116,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,73,110,116,101,114,102,97,99,101,0,52,51,98,116,75,105,110,101,109,97,116,105,99,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,50,50,98,116,83,117,98,115,105,109,112,108,101,120,67,111,110,118,101,120,67,97,115,116,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,50,52,98,116,80,97,105,114,67,97,99,104,105,110,103,71,104,111,115,116,79,98,106,101,99,116,0,50,49,98,116,67,111,108,108,105,115,105,111,110,68,105,115,112,97,116,99,104,101,114,0,50,51,98,116,67,111,108,108,105,115,105,111,110,80,97,105,114,67,97,108,108,98,97,99,107,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,51,49,98,116,68,101,102,97,117,108,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,50,52,98,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,54,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,78,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,0,105,115,108,97,110,100,85,110,105,111,110,70,105,110,100,65,110,100,81,117,105,99,107,83,111,114,116,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,0,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,52,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,90,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,78,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,54,82,101,115,117,108,116,69,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,117,112,100,97,116,101,65,97,98,98,115,0,1,79,118,101,114,102,108,111,119,32,105,110,32,65,65,66,66,44,32,111,98,106,101,99,116,32,114,101,109,111,118,101,100,32,102,114,111,109,32,115,105,109,117,108,97,116,105,111,110,0,73,102,32,121,111,117,32,99,97,110,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,44,32,112,108,101,97,115,101,32,101,109,97,105,108,32,98,117,103,115,64,99,111,110,116,105,110,117,111,117,115,112,104,121,115,105,99,115,46,99,111,109,10,0,80,108,101,97,115,101,32,105,110,99,108,117,100,101,32,97,98,111,118,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,121,111,117,114,32,80,108,97,116,102,111,114,109,44,32,118,101,114,115,105,111,110,32,111,102,32,79,83,46,10,0,84,104,97,110,107,115,46,10,0,99,97,108,99,117,108,97,116,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,57,82,97,121,84,101,115,116,101,114,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,49,53,76,111,99,97,108,73,110,102,111,65,100,100,101,114,50,0,112,101,114,102,111,114,109,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,105,111,110,0,100,105,115,112,97,116,99,104,65,108,108,67,111,108,108,105,115,105,111,110,80,97,105,114,115,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,49,52,76,111,99,97,108,73,110,102,111,65,100,100,101,114,0,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,50,49,98,116,83,105,110,103,108,101,83,119,101,101,112,67,97,108,108,98,97,99,107,0,50,51,98,116,83,105,110,103,108,101,67,111,110,116,97,99,116,67,97,108,108,98,97,99,107,0,50,51,98,116,66,114,105,100,103,101,100,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,83,50,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,49,51,98,116,68,117,109,109,121,82,101,115,117,108,116,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,83,50,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,50,49,98,116,87,105,116,104,111,117,116,77,97,114,103,105,110,82,101,115,117,108,116,0,50,52,98,116,80,101,114,116,117,114,98,101,100,67,111,110,116,97,99,116,82,101,115,117,108,116,0,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,51,54,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,51,48,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,67,111,109,112,111,117,110,100,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,67,111,110,101,0,98,116,67,111,110,101,83,104,97,112,101,68,97,116,97,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,67,111,110,101,90,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,67,111,110,101,88,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,83,80,72,69,82,69,0,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,90,78,75,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,50,49,98,116,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,52,112,101,114,102,111,114,109,82,97,121,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,55,112,101,114,102,111,114,109,67,111,110,118,101,120,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,83,52,95,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,84,82,73,65,78,71,76,69,77,69,83,72,0,90,78,75,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,49,54,70,105,108,116,101,114,101,100,67,97,108,108,98,97,99,107,0,50,49,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,83,84,65,84,73,67,80,76,65,78,69,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,50,51,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,83,104,97,112,101,0,51,52,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,50,49,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,67,111,110,118,101,120,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,51,49,98,116,73,110,116,101,114,110,97,108,84,114,105,97,110,103,108,101,73,110,100,101,120,67,97,108,108,98,97,99,107,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,67,97,112,115,117,108,101,83,104,97,112,101,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,67,97,112,115,117,108,101,88,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,67,97,112,115,117,108,101,90,0,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,50,54,76,111,99,97,108,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,49,48,98,116,66,111,120,83,104,97,112,101,0,66,111,120,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,57,81,117,97,110,116,105,122,101,100,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,48,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,50,53,98,116,72,101,105,103,104,116,102,105,101,108,100,84,101,114,114,97,105,110,83,104,97,112,101,0,72,69,73,71,72,84,70,73,69,76,68,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,67,121,108,105,110,100,101,114,89,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,67,121,108,105,110,100,101,114,88,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,67,121,108,105,110,100,101,114,90,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,116,69,0,50,49,98,116,66,114,111,97,100,112,104,97,115,101,73,110,116,101,114,102,97,99,101,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,50,53,98,116,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,50,56,98,116,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,51,48,98,116,67,111,110,118,101,120,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,90,78,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,49,50,99,97,108,99,80,101,110,68,101,112,116,104,69,82,50,50,98,116,86,111,114,111,110,111,105,83,105,109,112,108,101,120,83,111,108,118,101,114,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,83,52,95,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,55,95,82,57,98,116,86,101,99,116,111,114,51,83,57,95,83,57,95,80,49,50,98,116,73,68,101,98,117,103,68,114,97,119,69,50,48,98,116,73,110,116,101,114,109,101,100,105,97,116,101,82,101,115,117,108,116,0,51,48,98,116,71,106,107,69,112,97,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,50,55,98,116,67,111,110,116,105,110,117,111,117,115,67,111,110,118,101,120,67,111,108,108,105,115,105,111,110,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,0,51,48,98,116,65,99,116,105,118,97,116,105,110,103,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,50,50,83,112,104,101,114,101,84,114,105,97,110,103,108,101,68,101,116,101,99,116,111,114,0,50,51,98,116,72,97,115,104,101,100,83,105,109,112,108,101,80,97,105,114,67,97,99,104,101,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,50,54,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,65,114,114,97,121,0,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,82,111,111,116,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;function ___gxx_personality_v0(){}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["_i64Add"]=_i64Add;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var _llvm_pow_f32=Math_pow;function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_fabs_f32=Math_abs;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _llvm_trap(){abort("trap!")}function ___cxa_guard_release(){}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;jf?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le"); +var buffer,va,wa,xa,ya;function za(){na("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Aa+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var Aa=d.TOTAL_MEMORY||67108864; +5242880>Aa&&qa("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+Aa+"! (TOTAL_STACK=5242880)");d.buffer?buffer=d.buffer:(buffer=new ArrayBuffer(Aa),d.buffer=buffer);d.HEAP8=va=new Int8Array(buffer);d.HEAP16=new Int16Array(buffer);d.HEAP32=xa=new Int32Array(buffer);d.HEAPU8=wa=new Uint8Array(buffer);d.HEAPU16=new Uint16Array(buffer);d.HEAPU32=new Uint32Array(buffer);d.HEAPF32=ya=new Float32Array(buffer);d.HEAPF64=new Float64Array(buffer);xa[7336]=5272480; +function Ba(a){for(;0>>16)*f+e*(b>>>16)<<16)|0}); +Math.clz32||(Math.clz32=function(a){var b=32,e=a>>16;e&&(b-=16,a=e);if(e=a>>8)b-=8,a=e;if(e=a>>4)b-=4,a=e;if(e=a>>2)b-=2,a=e;return a>>1?b-2:b-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var Ia=0,Ja=null,Ka=null;d.preloadedImages={};d.preloadedAudios={}; +var La=null,Ma="data:application/octet-stream;base64,",Na=[function(a,b,e,f){a=d.getCache(d.DebugDrawer)[a];if(!a.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";a.drawLine(b,e,f)},function(a,b,e,f,g,n){a=d.getCache(d.DebugDrawer)[a];if(!a.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";a.drawContactPoint(b,e,f,g,n)},function(a,b){a=d.getCache(d.DebugDrawer)[a]; +if(!a.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";a.reportErrorWarning(b)},function(a,b,e){a=d.getCache(d.DebugDrawer)[a];if(!a.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";a.draw3dText(b,e)},function(a,b){a=d.getCache(d.DebugDrawer)[a];if(!a.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode."; +a.setDebugMode(b)},function(a){a=d.getCache(d.DebugDrawer)[a];if(!a.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return a.getDebugMode()},function(a,b,e,f,g,n,A,Q){a=d.getCache(d.ConcreteContactResultCallback)[a];if(!a.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return a.addSingleResult(b,e,f,g,n,A,Q)}];Da.push({Da:function(){Oa()}}); +La="data:application/octet-stream;base64,AAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAOgwAACiNgAAcAkAAAAAAADAMAAAsDYAAOgwAADnNwAAiAkAAAAAAADAMAAABzgAAOgwAAAzOAAAoAkAAAAAAADAMAAAYjgAAOgwAACKOAAAuAkAAAAAAADAMAAAoDgAAOgwAAC8OAAA0AkAAAAAAADAMAAA0zgAAMAwAADjOAAA6DAAAPg4AADwCQAAAAAAAMAwAAAqOQAA6DAAAFU5AAAICgAAAAAAAMAwAABvOQAA6DAAAII5AACADQAAAAAAAOgwAACuOQAAMAoAAAAAAADAMAAA6TkAAOgwAAAKOgAAMAoAAAAAAADoMAAAPjoAADAKAAAAAAAA6DAAAGw6AAAwCgAAAAAAAOgwAABeOwAAMA0AAAAAAADoMAAAazsAAIgKAAAAAAAAwDAAAIs7AADAMAAAnjsAAOgwAACzOwAAkAoAAAAAAADoMAAA0jsAALARAAAAAAAA6DAAAGM8AADYCgAAAAAAAOgwAABFPAAAMBEAAAAAAADoMAAAhTwAAIgKAAAAAAAA6DAAAKY8AACICgAAAAAAAOgwAADJPAAAiAoAAAAAAADoMAAA6zwAANgKAAAAAAAA6DAAAA09AAAoCwAAAAAAAMAwAAAtPQAA6DAAADk+AAAoCwAAAAAAAOgwAAB8PQAAUBEAAAAAAADoMAAATT0AAPgQAAAAAAAAwDAAAF89AADoMAAAHD4AAFARAAAAAAAA6DAAAO0+AADQCwAAAAAAAOgwAACePgAAmAsAAAAAAADoMAAAuD4AAKgLAAAAAAAAwDAAANI+AADoMAAACD8AACgLAAAAAAAA6DAAADw/AAAwDQAAAAAAAOgwAADsQAAA8AsAAAAAAADoMAAAzj8AAOAJAAAAAAAA6DAAAAZBAACoDgAAAAAAAOgwAAAYQQAAEAwAAAAAAADAMAAANkEAAOgwAABkQQAAWAwAAAAAAADoMAAAlEEAAFgMAAAAAAAA6DAAANBBAAAoDAAAAAAAAOgwAAARQgAAWAwAAAAAAAAQMQAARkIAAAAAAAABAAAAcAwAAAIEAADAMAAAWkIAAOgwAACBQgAAWAwAAAAAAADoMAAAsEIAAFgMAAAAAAAA6DAAAONCAABYDAAAAAAAAOgwAABBQwAAuAwAAAAAAADAMAAAZ0MAAOgwAAB8QwAA0AwAAAAAAADAMAAAj0MAAOgwAACjQwAA2AkAAAAAAADoMAAA7UMAAAgNAAAAAAAA6DAAAL9DAADgCQAAAAAAAOgwAAAORAAA0AwAAAAAAADoMAAAL0QAACgNAAAAAAAAwDAAAEhEAADAMAAAckQAAOgwAACGRAAAMA0AAAAAAADoMAAAlkQAADgNAAAAAAAA6DAAAN9EAAAIEwAAAAAAAOgwAACxRAAAeA0AAAAAAADAMAAAy0QAAOgwAAD3RAAAkA0AAAAAAADAMAAAGUUAAOgwAAA0RQAAMAoAAAAAAADoMAAAZEUAADAKAAAAAAAA6DAAAI9FAAAwCgAAAAAAAOgwAADCRQAAMAoAAAAAAADoMAAA80UAADAKAAAAAAAA6DAAABRGAAAwCgAAAAAAAOgwAABIRgAAMAoAAAAAAADoMAAAfUYAADAKAAAAAAAA6DAAAKpGAAAwCgAAAAAAAOgwAADjRgAAMAoAAAAAAADAMAAAFUcAAOgwAABcRwAAKAsAAAAAAADoMAAAN0gAALgTAAAAAAAA6DAAAH5HAABQEQAAAAAAAOgwAAAcSAAAUBEAAAAAAADoMAAAW0gAALgTAAAAAAAA6DAAAHhIAACgDgAAAAAAAMAwAACLSAAAwDAAADJMAADoMAAAIksAAJgLAAAAAAAA6DAAAPdIAACgCQAAAAAAAOgwAAB8SQAAiAoAAAAAAADoMAAA+kkAABgTAAAAAAAA6DAAAI9KAAAYEwAAAAAAABAxAAA4SwAAAAAAAAIAAABQEQAAAgAAAFgRAAACBAAA6DAAAFlMAADwCQAAAAAAAOgwAAD2TAAAKBMAAAAAAADoMAAAp00AACgTAAAAAAAA6DAAAGZOAACYCwAAAAAAAOgwAACYTgAAqAsAAAAAAADoMAAAfk4AAJAOAAAAAAAA6DAAALJOAAC4EwAAAAAAAOgwAAAeUAAAMAoAAAAAAADoMAAABFAAALgTAAAAAAAA6DAAANdOAACQDgAAAAAAAOgwAADyTgAAoA4AAAAAAADoMAAAf08AAKAOAAAAAAAA6DAAAF9QAAC4EwAAAAAAAOgwAABGUAAAiAoAAAAAAADoMAAAn1AAALgTAAAAAAAA6DAAAH5QAACICgAAAAAAAOgwAAD8UAAAGBEAAAAAAADoMAAAI1EAADARAAAAAAAA6DAAADdRAAAwEAAAAAAAAOgwAABMUQAAMBAAAAAAAADoMAAAYlEAADARAAAAAAAA6DAAACBSAAC4EAAAAAAAAOgwAAByUQAAkBAAAAAAAADAMAAA4FEAAOgwAAA5UgAAkBAAAAAAAADoMAAAoVIAAJAQAAAAAAAA6DAAAJ1TAACwEQAAAAAAAOgwAAASUwAAUBEAAAAAAADoMAAAKlMAAFgRAAAAAAAA6DAAANZTAACwEQAAAAAAAOgwAADrUwAAMBEAAAAAAADoMAAABVQAAPgQAAAAAAAAwDAAAD9UAADoMAAAUlQAABgRAAAAAAAA6DAAAGJUAAAgEQAAAAAAAOgwAACXVAAACBEAAAAAAADAMAAAq1QAAMAwAADAVAAA6DAAAAJVAAAwEQAAAAAAAOgwAAAcVQAAYBEAAAAAAADoMAAAN1UAAGARAAAAAAAA6DAAAHRVAAAIEQAAAAAAAOgwAABJVQAAWBEAAAAAAADoMAAAkFUAABgRAAAAAAAA6DAAAKVVAAD4EAAAAAAAAOgwAACyVQAAEBMAAAAAAADoMAAAw1UAAFgRAAAAAAAA6DAAAB5WAABYEQAAAAAAAOgwAACOVgAAsBEAAAAAAADoMAAAyFYAADARAAAAAAAA6DAAAORWAAAQEgAAAAAAAOgwAAABVwAAEBIAAAAAAADoMAAAFFcAABgUAAAAAAAA6DAAAFdXAABgEgAAAAAAAOgwAAAlVwAAcBIAAAAAAADAMAAAP1cAAOgwAABmVwAAiBIAAAAAAADoMAAAeFcAALgJAAAAAAAA6DAAAIBYAACIEgAAAAAAAOgwAACRVwAAeA0AAAAAAADoMAAA/1cAAHgNAAAAAAAA6DAAAOFYAABwEgAAAAAAAOgwAACfWAAAiAoAAAAAAADoMAAAtFgAAIgKAAAAAAAA6DAAAMtYAACICgAAAAAAAMAwAAD0WAAAwDAAAF5ZAADoMAAAb1kAAFARAAAAAAAA6DAAAItZAABQEQAAAAAAAOgwAABVWgAAWBMAAAAAAADoMAAAqlkAAKAOAAAAAAAAwDAAAHlaAADoMAAAmloAAFgTAAAAAAAA6DAAAM5aAAAoDQAAAAAAAOgwAAC7WgAAoA4AAAAAAADoMAAA4FoAACgNAAAAAAAA6DAAAP5aAACwEwAAAAAAAMAwAAASWwAA6DAAADlbAAAoCwAAAAAAAOgwAABaWwAAKAsAAAAAAADoMAAAbVsAALgTAAAAAAAA6DAAAJBbAACwEwAAAAAAAOgwAACjWwAAsBMAAAAAAADAMAAAvFsAAMAwAADWWwAA6DAAAOtbAAAoFAAAAAAAAMAwAACbXAAAwDAAAIFdAADoMAAA4V0AAEgUAAAAAAAA6DAAAI5dAABYFAAAAAAAAMAwAACvXQAA6DAAALxdAAA4FAAAAAAAAOgwAADnXgAASBQAAAAAAADoMAAAw14AAHAUAAAAAAAA6DAAAAlfAAA4FAAAAAAAAAAAAABgCQAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAIAAAABAAAAAQAAAAEAAAADAAAAAgAAAAEAAAACAAAAAwAAAAEAAAAAAAAAcAkAAAMAAAAEAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAEAAAABAAAAAwAAAAIAAAABAAAAAgAAAAMAAAABAAAAAAAAAHgJAAAFAAAABgAAAAEAAAABAAAAAAAAAIgJAAAHAAAACAAAAAEAAAABAAAAAAAAAJAJAAAJAAAACgAAAAIAAAABAAAAAAAAAKAJAAALAAAADAAAAAIAAAABAAAAAAAAAKgJAAANAAAADgAAAAEAAAABAAAAAgAAAAAAAAC4CQAADwAAABAAAAABAAAAAQAAAAEAAAAAAAAAwAkAABEAAAASAAAAAwAAAAQAAAAAAAAA0AkAABMAAAAUAAAAAQAAAAEAAAAAAAAA2AkAABUAAAAWAAAAAQAAAAAAAADgCQAAFwAAABgAAAADAAAAAgAAAAAAAADwCQAAGQAAABoAAAADAAAAAQAAAAAAAAD4CQAAGwAAABwAAAACAAAAAwAAAAMAAAAFAAAAAQAAAAIAAAAdAAAABAAAAAUAAAAGAAAABAAAAAcAAAAFAAAABgAAAAAAAAAQCgAAHgAAAB8AAAAGAAAABwAAAAIAAAAIAAAAAAAAAFgKAAAgAAAAIQAAAAIAAAAAAAAASAoAACAAAAAiAAAAAwAAAAAAAAA4CgAAIAAAACMAAAAEAAAAAAAAACAKAAAgAAAAJAAAAAUAAAAAAAAAaAoAAAQAAAAlAAAAJgAAAAgAAAAJAAAAAwAAAAkAAAAHAAAAAAAAAHgKAAAnAAAAKAAAAAgAAAAKAAAAAgAAAAUAAAAGAAAAAAAAAJgKAAApAAAAKgAAAAEAAAABAAAAAwAAAAoAAAAAAAAAqAoAACsAAAAsAAAABAAAAAkAAAABAAAAAQAAAAsAAAALAAAAAgAAAAwAAAAMAAAABAAAAAIAAAANAAAABAAAAA0AAAAFAAAAAAAAAOgKAAAnAAAALQAAAAgAAAAOAAAAAgAAAAUAAAAGAAAAAAAAALgKAAAnAAAALgAAAAgAAAAPAAAAAgAAAAUAAAAGAAAAAAAAAMgKAAAvAAAAMAAAAAYAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAMAAAAPAAAADAAAAAUAAAADAAAAEAAAAAUAAAANAAAACgAAAAsAAAADAAAABwAAAAgAAAARAAAADAAAABIAAAAAAAAACAsAACcAAAAxAAAADQAAABEAAAACAAAABQAAAAYAAAAAAAAA+AoAACcAAAAyAAAADgAAABEAAAACAAAABQAAAAYAAAAAAAAAGAsAADMAAAA0AAAABAAAAAEAAAASAAAAAAAAADALAAA1AAAANgAAAAUAAAACAAAAEwAAAAAAAABACwAANwAAADgAAAAJAAAAAAAAAGALAAAGAAAAFAAAAA8AAAA5AAAAOgAAAAAAAABQCwAAOwAAADwAAAAKAAAACQAAAAEAAAABAAAAEAAAAA4AAAAEAAAAEwAAAAwAAAAHAAAABAAAABAAAAAFAAAADQAAABAAAAARAAAAAwAAAAsAAAAIAAAAFAAAABIAAAAHAAAAFQAAABYAAAAMAAAAEwAAABcAAAANAAAAAQAAAA4AAAAAAAAAaAsAAD0AAAA+AAAADwAAAAAAAAB4CwAAPwAAAEAAAABBAAAAQgAAABUAAAAYAAAAQwAAABAAAAARAAAAEgAAABYAAABEAAAAFwAAAAEAAAAUAAAAGAAAABkAAAAaAAAAGwAAABwAAABFAAAAHQAAABMAAAAeAAAAHwAAABkAAAAaAAAACAAAAAkAAAAbAAAARgAAACAAAAAhAAAAIgAAACMAAAAIAAAACQAAAEcAAAAkAAAACgAAAAsAAAAMAAAASAAAACUAAAANAAAAAAAAAIgLAABJAAAASgAAAAoAAAAAAAAAsAsAAEsAAABMAAAABgAAAAMAAAAmAAAAAAAAAMALAAALAAAATQAAAE4AAAAnAAAAHAAAAAYAAAAoAAAAAAAAANALAABPAAAAUAAAAEEAAABCAAAAFQAAABgAAABRAAAAEAAAABQAAAASAAAAKQAAAEQAAAAqAAAAAQAAABQAAAAYAAAAGQAAABoAAAAbAAAAHAAAAEUAAAAdAAAAEwAAAB4AAAAfAAAAGQAAABoAAAAIAAAACQAAAB0AAABGAAAAIAAAACEAAAAiAAAAIwAAAA4AAAAJAAAARwAAACQAAAAKAAAADwAAAAwAAABIAAAAJQAAAA0AAAAAAAAA4AsAABkAAABSAAAADAAAAAMAAAAAAAAAAAwAAFMAAABUAAAAAQAAAAAAAAAYDAAAVQAAAFYAAABXAAAAAQAAACsAAAAsAAAAAQAAAAIAAAAEAAAAHgAAAAcAAAAAAAAAKAwAAFgAAABZAAAAWgAAAAEAAAAtAAAALgAAAAEAAAADAAAABQAAAB8AAAAIAAAAWwAAAAAAAAA4DAAAWAAAAFwAAABaAAAAAQAAAC0AAAAvAAAAAQAAAAMAAAAFAAAAIAAAAAkAAABbAAAAFQAAAAAAAABIDAAAWAAAAF0AAABeAAAAAQAAADAAAAAxAAAAAQAAAAQAAAAGAAAAIQAAAAoAAAAAAAAAWAwAAFgAAABfAAAAVwAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAB4AAAAHAAAAAAAAAHgMAABYAAAAYAAAAFcAAAABAAAAMgAAADMAAAABAAAABQAAAAcAAAAiAAAACwAAAAAAAACIDAAAWAAAAGEAAABiAAAAAQAAADQAAAA1AAAAAgAAAAYAAAAIAAAAIwAAAAwAAAAWAAAAAAAAAJgMAABYAAAAYwAAAGQAAAABAAAANgAAADcAAAABAAAABwAAAAkAAAAkAAAADQAAAAAAAACoDAAAZQAAAGYAAAAXAAAAAQAAABgAAABnAAAAJQAAABUAAAABAAAAAQAAAAIAAAABAAAAAgAAAAAAAADADAAAaAAAAGkAAAADAAAAOAAAABAAAAARAAAAFgAAAAAAAADYDAAAFQAAAGoAAAAGAAAAAAAAAOgMAABrAAAAbAAAAAQAAAA5AAAAOgAAAAUAAAA7AAAAPAAAAD0AAAAGAAAAJgAAAG0AAAAnAAAAPgAAAAAAAAD4DAAAGQAAAG4AAAADAAAACgAAAAAAAAAYDQAAbwAAAHAAAAABAAAAAQAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAADANAAAEAAAAcQAAAHIAAAAnAAAAKAAAAA4AAAAJAAAAAAAAADgNAAAEAAAAcwAAAHQAAAAnAAAAKAAAAA4AAAAJAAAAGQAAABcAAAAAAAAASA0AAAQAAAB1AAAAdgAAACcAAAAoAAAADgAAAAkAAAAaAAAAGAAAAAAAAABYDQAAdwAAAHgAAAAHAAAADwAAAD8AAABAAAAAEAAAABEAAAAZAAAAKQAAAA0AAAAqAAAAKwAAACwAAAAOAAAAQQAAAAAAAABoDQAAeQAAAHoAAAAPAAAAAAAAAIANAAB7AAAAfAAAAAYAAAAHAAAAEgAAAAgAAAAAAAAAKA4AACAAAAB9AAAACAAAAAAAAAAYDgAAIAAAAH4AAAAJAAAAAAAAAAgOAAAgAAAAfwAAAAoAAAAAAAAA+A0AACAAAACAAAAACwAAAAAAAADoDQAAIAAAAIEAAAAMAAAAAAAAANgNAAAgAAAAggAAAA0AAAAAAAAAyA0AACAAAACDAAAADgAAAAAAAAC4DQAAIAAAAIQAAAAPAAAAAAAAAKgNAAAgAAAAhQAAABAAAAAAAAAAmA0AACAAAACGAAAAEQAAAAAAAAA4DgAAhwAAAIgAAAAbAAAAQgAAAAAAAABADgAAiQAAAIoAAAAHAAAABAAAAEMAAAAAAAAAUA4AAIsAAACMAAAACAAAAAUAAABEAAAAAAAAAGAOAAA3AAAAjQAAABoAAAAAAAAAcA4AAI4AAACPAAAAGwAAAAAAAACADgAAkAAAAJEAAAAJAAAABgAAAEUAAAAAAAAAkA4AAJIAAACTAAAAHAAAAB0AAAADAAAAAAAAAKgOAACUAAAAlQAAAEEAAABCAAAAFQAAABgAAACWAAAAEAAAABQAAAAcAAAARgAAAEQAAABHAAAAAAAAALAOAABJAAAAlwAAABAAAAAAAAAA8A4AADcAAACYAAAAHQAAAAEAAAAAAAAA4A4AADcAAACZAAAAHQAAAAIAAAAAAAAA0A4AACcAAACaAAAACAAAAEgAAAACAAAABQAAAAYAAAAAAAAAwA4AAAsAAACbAAAAEQAAAAsAAAAAAAAAAA8AAJwAAACdAAAAHgAAAB8AAAD8////AA8AAJ4AAACfAAAAIAAAAAAAAABADwAANwAAAKAAAAAhAAAAAQAAAAAAAAAwDwAANwAAAKEAAAAhAAAAAgAAAAAAAAAgDwAAGQAAAKIAAAASAAAADAAAAAAAAABQDwAASQAAAKMAAAATAAAAAAAAAGAPAABJAAAApAAAABQAAAAAAAAAcA8AAJIAAAClAAAAHAAAAB0AAAAEAAAAAAAAAIAPAACmAAAApwAAAAoAAAAHAAAASQAAAAAAAACQDwAAqAAAAKkAAAASAAAAAAAAAKAPAACqAAAAqwAAAAsAAAAIAAAASgAAAAAAAADQDwAAkgAAAKwAAAAeAAAAHwAAAAUAAAAAAAAAwA8AAJIAAACtAAAAIAAAACEAAAAGAAAAAAAAALAPAACSAAAArgAAABwAAAAdAAAABwAAAAAAAADgDwAArwAAALAAAAAMAAAACQAAAEsAAAAAAAAA8A8AACcAAACxAAAACAAAAEwAAAACAAAABQAAAAYAAAAAAAAAABAAALIAAACzAAAADQAAAAoAAABNAAAAAAAAABAQAAAnAAAAtAAAACIAAAARAAAAAgAAAAUAAAAGAAAAAAAAACAQAAC1AAAAtgAAACIAAAAJAAAAAQAAAAEAAABOAAAALQAAAAUAAAAuAAAADAAAABIAAAAFAAAALwAAABMAAAANAAAATwAAALcAAAAAAAAAMBAAAC8AAAC4AAAAIwAAAAkAAAABAAAAAQAAAFAAAAAOAAAABgAAADAAAABRAAAABwAAAAQAAAAxAAAAFAAAAA0AAAAjAAAAJAAAAAMAAAAkAAAACAAAABEAAAAMAAAAAAAAAEAQAAAvAAAAuQAAACMAAAAJAAAAAQAAAAEAAABQAAAADgAAAAYAAAAyAAAAUgAAAAcAAAAEAAAAMQAAABQAAAANAAAAIwAAACQAAAADAAAAJAAAAAgAAAARAAAADAAAAAAAAABQEAAALwAAALoAAAAjAAAACQAAAAEAAAABAAAAUAAAAA4AAAAGAAAAMwAAAFMAAAAHAAAABAAAADEAAAAUAAAADQAAACMAAAAkAAAAAwAAACQAAAAIAAAAEQAAAAwAAAAAAAAAYBAAAC8AAAC7AAAAJQAAAAkAAAABAAAAAQAAABAAAAAOAAAABwAAADQAAAAMAAAAEwAAAAYAAAAQAAAABQAAAA0AAAAlAAAAJgAAAAMAAAAmAAAACAAAABEAAAAMAAAAAAAAAHAQAAC8AAAAvQAAACcAAAAJAAAAAQAAAAEAAABUAAAANQAAAAgAAAA2AAAADAAAAAQAAAACAAAANwAAABUAAAANAAAAKAAAACcAAAAoAAAAVQAAAFYAAAAAAAAAgBAAAL4AAAC/AAAAKQAAAAAAAACYEAAAvgAAAMAAAAAqAAAAAAAAAKgQAAC+AAAAwQAAACsAAAAAAAAAuBAAAMIAAADDAAAAJwAAAAkAAAABAAAAAQAAAFcAAAA1AAAACAAAADgAAAAMAAAABAAAAAIAAAANAAAABAAAAA0AAAApAAAAJwAAACgAAAAAAAAAyBAAADcAAADEAAAAKgAAAAAAAADYEAAAxQAAAMYAAAArAAAAAAAAAOgQAADHAAAAyAAAACwAAAAJAAAAAQAAAAEAAABYAAAAOQAAAAkAAAA6AAAADAAAAAQAAAACAAAAOwAAABYAAAANAAAALQAAAAAAAAD4EAAAOwAAAMkAAAAjAAAACQAAAAEAAAABAAAAEAAAAA4AAAAKAAAAAQAAAAwAAAAHAAAABAAAABAAAAAFAAAADQAAABAAAAAsAAAAAwAAAC4AAAAIAAAAEQAAAAwAAAAHAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAwEQAALwAAAMoAAAAjAAAACQAAAAEAAAABAAAAEAAAAA4AAAABAAAAAQAAAAwAAAAHAAAABAAAABAAAAAFAAAADQAAABAAAAABAAAAAwAAAAEAAAAIAAAAEQAAAAwAAAAAAAAAQBEAAMsAAADMAAAALwAAAAkAAAABAAAAAQAAAFkAAAAOAAAACgAAADwAAAAMAAAABwAAAAQAAAA9AAAAFwAAAA0AAAAtAAAALgAAAAMAAAAwAAAACAAAABEAAAAMAAAABwAAAD4AAAA/AAAAMQAAAC8AAABAAAAAMgAAAAIAAAABAAAAAAAAAGARAAAvAAAAzQAAADMAAAAJAAAAAQAAAAEAAABaAAAADgAAAAsAAABBAAAAWwAAABQAAAAEAAAAQgAAABgAAAANAAAAEAAAADAAAAADAAAANAAAAAgAAAARAAAADAAAAAAAAABwEQAALwAAAM4AAAAzAAAACQAAAAEAAAABAAAAWgAAAA4AAAALAAAAQwAAAFsAAAAUAAAABAAAAEIAAAAYAAAADQAAABAAAAAwAAAAAwAAADQAAAAIAAAAEQAAAAwAAAAAAAAAgBEAAC8AAADPAAAAMwAAAAkAAAABAAAAAQAAAFoAAAAOAAAACwAAAEQAAABbAAAAFAAAAAQAAABCAAAAGAAAAA0AAAAQAAAAMAAAAAMAAAA0AAAACAAAABEAAAAMAAAAAAAAAJARAAA7AAAA0AAAAC8AAAAJAAAAAQAAAAEAAABcAAAARQAAAAoAAABGAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAMQAAADIAAAADAAAANQAAAAgAAAARAAAADAAAAAcAAABHAAAASAAAADYAAAAzAAAASQAAADcAAAADAAAAAAAAAKARAADFAAAA0QAAADgAAAAAAAAAwBEAADsAAADSAAAAOQAAAAkAAAABAAAAAQAAAF0AAAAOAAAADAAAAEoAAAAMAAAAFQAAAAQAAAAQAAAABQAAAA0AAAA0AAAANQAAAAMAAAA6AAAACAAAAEsAAAA2AAAABwAAAEwAAABNAAAAOwAAADcAAABOAAAAPAAAAAQAAAA4AAAAAAAAANARAADTAAAA1AAAABMAAABPAAAAGQAAAF4AAABfAAAAFAAAAAAAAADwEQAAxQAAANUAAAA9AAAAAAAAAOARAADFAAAA1gAAAD4AAAAAAAAAABIAANcAAADYAAAAPwAAAAkAAAABAAAAAQAAAGAAAABQAAAADQAAAFEAAAAMAAAABAAAAAIAAAANAAAABAAAAA0AAABAAAAADQAAAAAAAAAQEgAALwAAANkAAABBAAAACQAAAAEAAAABAAAAYQAAAA4AAAAOAAAAUgAAAGIAAAAWAAAABAAAAFMAAAAaAAAADQAAADkAAAA6AAAAAwAAAEIAAAAIAAAAEQAAAAwAAAAHAAAAAAAAACASAAAvAAAA2gAAAEEAAAAJAAAAAQAAAAEAAABhAAAADgAAAA4AAABUAAAAYgAAABYAAAAEAAAAUwAAABoAAAANAAAAOQAAADsAAAADAAAAQwAAAAgAAAARAAAADAAAAAgAAAAAAAAAMBIAAC8AAADbAAAAQQAAAAkAAAABAAAAAQAAAGEAAAAOAAAADgAAAFUAAABiAAAAFgAAAAQAAABTAAAAGgAAAA0AAAA5AAAAPAAAAAMAAABEAAAACAAAABEAAAAMAAAACQAAAAAAAABAEgAA3AAAAN0AAABFAAAAAQAAAAIAAABjAAAAZAAAAFYAAABlAAAAZgAAAFcAAAA9AAAAPgAAAFgAAAAbAAAAAAAAAFASAADeAAAA3wAAAAEAAAA/AAAADgAAAEYAAAACAAAARwAAAGcAAABZAAAAWgAAAEAAAABoAAAA4AAAAAAAAABgEgAA3gAAAOEAAAABAAAAPwAAAA4AAABGAAAAAgAAAEcAAABnAAAAWQAAAFoAAABAAAAAaAAAAOAAAAAAAAAAeBIAAOIAAADjAAAAHAAAABUAAABBAAAAWwAAAFwAAABdAAAAQgAAAF4AAABDAAAAaQAAAEQAAAAdAAAAXwAAAGoAAABrAAAAAAAAAJgSAADkAAAA5QAAAB4AAAAWAAAARQAAAGAAAABhAAAAYgAAAEYAAABjAAAARwAAAGwAAABIAAAAHwAAAGQAAABtAAAAbgAAAAAAAACoEgAAeQAAAOYAAAAVAAAAAAAAALgSAAB5AAAA5wAAABYAAAAAAAAAyBIAAOgAAADpAAAAAgAAAEkAAAAPAAAASAAAAAMAAABJAAAAbwAAAGUAAABmAAAASgAAAHAAAADqAAAAAAAAANgSAAAnAAAA6wAAAEsAAABxAAAAAgAAAAUAAAAGAAAAAAAAAOgSAAAnAAAA7AAAAAgAAAByAAAAAgAAAAUAAAAGAAAAAAAAAPgSAAAnAAAA7QAAAAgAAABzAAAAAgAAAAUAAAAGAAAAAAAAABATAADuAAAA7wAAABMAAABPAAAAGQAAAF4AAABfAAAAAAAAACgTAAA3AAAA8AAAACEAAAABAAAAAAAAADgTAADxAAAA8gAAAAEAAAAAAAAASBMAAJIAAADzAAAATAAAAE0AAAAIAAAAAAAAAGATAADxAAAA9AAAAAIAAAAAAAAAcBMAAG8AAAD1AAAAAgAAAAAAAACAEwAAkgAAAPYAAABOAAAATwAAAAkAAAAAAAAAkBMAAG8AAAD3AAAAAwAAAAAAAACgEwAA+AAAAPkAAAAQAAAAAAAAAMgTAAD6AAAA+wAAABEAAAALAAAAdAAAAAAAAADYEwAA/AAAAP0AAAASAAAADAAAAHUAAAAAAAAA6BMAAPgAAAD+AAAAEwAAAAAAAAD4EwAA+AAAAP8AAAAUAAAAAAAAAAgUAAAAAQAAAQEAACAAAAAhAAAAZwAAAAAAAAAQFAAAAgEAAAMBAAAAAAAAGBQAAAQBAAAFAQAARQAAAAEAAAACAAAAYwAAAGQAAABWAAAAdgAAAHcAAABXAAAAPQAAAD4AAABYAAAAGwAAAAxwAAD/////BQAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACMAAACJcgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAOBQAAAYBAAAHAQAACAEAAAkBAAAkAAAABAAAABUAAABKAAAAAAAAAGAUAAAGAQAACgEAAAgBAAAJAQAAJAAAAAUAAAAWAAAASwAAAAAAAACQFAAABgEAAAsBAAAIAQAACQEAACQAAAAGAAAAFwAAAEwAAAB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2dldERlYnVnTW9kZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmdldERlYnVnTW9kZS4nOyByZXR1cm4gc2VsZlsnZ2V0RGVidWdNb2RlJ10oKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ3NldERlYnVnTW9kZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OnNldERlYnVnTW9kZS4nOyBzZWxmWydzZXREZWJ1Z01vZGUnXSgkMSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3M2RUZXh0JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6ZHJhdzNkVGV4dC4nOyBzZWxmWydkcmF3M2RUZXh0J10oJDEsJDIpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgncmVwb3J0RXJyb3JXYXJuaW5nJykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6cmVwb3J0RXJyb3JXYXJuaW5nLic7IHNlbGZbJ3JlcG9ydEVycm9yV2FybmluZyddKCQxKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2RyYXdDb250YWN0UG9pbnQnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpkcmF3Q29udGFjdFBvaW50Lic7IHNlbGZbJ2RyYXdDb250YWN0UG9pbnQnXSgkMSwkMiwkMywkNCwkNSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3TGluZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXdMaW5lLic7IHNlbGZbJ2RyYXdMaW5lJ10oJDEsJDIsJDMpOyB9ADExRGVidWdEcmF3ZXIAMTJidElEZWJ1Z0RyYXcAeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0NvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdhZGRTaW5nbGVSZXN1bHQnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IENvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrOjphZGRTaW5nbGVSZXN1bHQuJzsgcmV0dXJuIHNlbGZbJ2FkZFNpbmdsZVJlc3VsdCddKCQxLCQyLCQzLCQ0LCQ1LCQ2LCQ3KTsgfQAyOUNvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrAE4xNmJ0Q29sbGlzaW9uV29ybGQyMUNvbnRhY3RSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDI0Q2xvc2VzdFJheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMTdSYXlSZXN1bHRDYWxsYmFja0UAMTlidEdob3N0UGFpckNhbGxiYWNrADI1YnRPdmVybGFwcGluZ1BhaXJDYWxsYmFjawAyMGJ0RGVmYXVsdE1vdGlvblN0YXRlADEzYnRNb3Rpb25TdGF0ZQAxOGJ0VmVoaWNsZVJheWNhc3RlcgBOMTZidENvbGxpc2lvbldvcmxkMjdDbG9zZXN0Q29udmV4UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyMENvbnZleFJlc3VsdENhbGxiYWNrRQAyM2J0RGVmYXVsdFNvZnRCb2R5U29sdmVyADE2YnRTb2Z0Qm9keVNvbHZlcgA0MWJ0U29mdEJvZHlSaWdpZEJvZHlDb2xsaXNpb25Db25maWd1cmF0aW9uAE4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UAMzBidENvbGxpc2lvbkFsZ29yaXRobUNyZWF0ZUZ1bmMATjM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yOWJ0U29mdFJpZ2lkQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidFNvZnRTb2Z0Q29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBTb2Z0Qm9keU1hdGVyaWFsRGF0YQBTb2Z0Qm9keU5vZGVEYXRhAFNvZnRCb2R5TGlua0RhdGEAU29mdEJvZHlGYWNlRGF0YQBTb2Z0Qm9keVRldHJhRGF0YQBTb2Z0UmlnaWRBbmNob3JEYXRhAGZsb2F0AFNvZnRCb2R5UG9zZURhdGEAU29mdEJvZHlDbHVzdGVyRGF0YQBpbnQAYnRTb2Z0Qm9keUpvaW50RGF0YQBidFNvZnRCb2R5RmxvYXREYXRhADEwYnRTb2Z0Qm9keQBOMTBidFNvZnRCb2R5MTVSYXlGcm9tVG9DYXN0ZXJFAE42YnREYnZ0OElDb2xsaWRlRQBOMTBidFNvZnRCb2R5NUpvaW50RQBOMTBidFNvZnRCb2R5NkNKb2ludEUAU29mdEJvZHkAMjRidFNvZnRCb2R5Q29sbGlzaW9uU2hhcGUAVXBkYXRlQ2x1c3RlcnMAU29mdEJvZHkgYXBwbHlGb3JjZXMAQXBwbHlDbHVzdGVycwBidENvbnZleEludGVybmFsU2hhcGVEYXRhAFNPRlRDTFVTVEVSADI3YnRTb2Z0Q2x1c3RlckNvbGxpc2lvblNoYXBlAE4xNWJ0U29mdENvbGxpZGVyczEyQ29sbGlkZUNMX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMUNsdXN0ZXJCYXNlRQBOMTVidFNvZnRDb2xsaWRlcnMxM0NvbGxpZGVTREZfUlNFAE4xNWJ0U29mdENvbGxpZGVyczEyQ29sbGlkZVZGX1NTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9TU0UAMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobQAyMGJ0Q29sbGlzaW9uQWxnb3JpdGhtAFRyaWFuZ2xlADE1YnRUcmlhbmdsZVNoYXBlAE4xMmJ0Q29udmV4Q2FzdDEwQ2FzdFJlc3VsdEUAWk4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMjFjYWxjdWxhdGVUaW1lT2ZJbXBhY3RFUDE3YnRDb2xsaXNpb25PYmplY3RTMV9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMzFMb2NhbFRyaWFuZ2xlU3BoZXJlQ2FzdENhbGxiYWNrADI2YnRTb2Z0Qm9keVRyaWFuZ2xlQ2FsbGJhY2sAMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobQBzb2x2ZVNvZnRDb25zdHJhaW50cwBwcmVkaWN0VW5jb25zdHJhaW50TW90aW9uU29mdEJvZHkAcmF5VGVzdAAyM2J0U29mdFNpbmdsZVJheUNhbGxiYWNrADIzYnRCcm9hZHBoYXNlUmF5Q2FsbGJhY2sAMjRidEJyb2FkcGhhc2VBYWJiQ2FsbGJhY2sAMjRidFNvZnRSaWdpZER5bmFtaWNzV29ybGQAMjhidFNvZnRTb2Z0Q29sbGlzaW9uQWxnb3JpdGhtAGJ0UmlnaWRCb2R5RmxvYXREYXRhADExYnRSaWdpZEJvZHkAaW50ZXJuYWxTaW5nbGVTdGVwU2ltdWxhdGlvbgB1cGRhdGVBY3Rpb25zAGNyZWF0ZVByZWRpY3RpdmVDb250YWN0cwByZWxlYXNlIHByZWRpY3RpdmUgY29udGFjdCBtYW5pZm9sZHMAcHJlZGljdGl2ZSBjb252ZXhTd2VlcFRlc3QAMzRidENsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrAHVwZGF0ZUFjdGl2YXRpb25TdGF0ZQBzb2x2ZUNvbnN0cmFpbnRzAGNhbGN1bGF0ZVNpbXVsYXRpb25Jc2xhbmRzAGludGVncmF0ZVRyYW5zZm9ybXMAQ0NEIG1vdGlvbiBjbGFtcGluZwBhcHBseSBzcGVjdWxhdGl2ZSBjb250YWN0IHJlc3RpdHV0aW9uAHByZWRpY3RVbmNvbnN0cmFpbnRNb3Rpb24Ac3luY2hyb25pemVNb3Rpb25TdGF0ZXMAc3RlcFNpbXVsYXRpb24AYnREeW5hbWljc1dvcmxkRmxvYXREYXRhAGRlYnVnRHJhd1dvcmxkADIzYnREaXNjcmV0ZUR5bmFtaWNzV29ybGQAMTVidER5bmFtaWNzV29ybGQAMjdJbnBsYWNlU29sdmVySXNsYW5kQ2FsbGJhY2sATjI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcjE0SXNsYW5kQ2FsbGJhY2tFADE3YnRGaXhlZENvbnN0cmFpbnQAYnRHZW5lcmljNkRvZkNvbnN0cmFpbnREYXRhADIzYnRHZW5lcmljNkRvZkNvbnN0cmFpbnQAYnRHZW5lcmljNkRvZlNwcmluZ0NvbnN0cmFpbnREYXRhADI5YnRHZW5lcmljNkRvZlNwcmluZ0NvbnN0cmFpbnQAYnRQb2ludDJQb2ludENvbnN0cmFpbnRGbG9hdERhdGEAMjNidFBvaW50MlBvaW50Q29uc3RyYWludABidFR5cGVkQ29uc3RyYWludEZsb2F0RGF0YQAxN2J0VHlwZWRDb25zdHJhaW50ADEzYnRUeXBlZE9iamVjdABidFNsaWRlckNvbnN0cmFpbnREYXRhADE4YnRTbGlkZXJDb25zdHJhaW50AGJ0Q29uZVR3aXN0Q29uc3RyYWludERhdGEAMjFidENvbmVUd2lzdENvbnN0cmFpbnQAYnRIaW5nZUNvbnN0cmFpbnRGbG9hdERhdGEAMTdidEhpbmdlQ29uc3RyYWludABzb2x2ZUdyb3VwQ2FjaGVGcmllbmRseUl0ZXJhdGlvbnMAc29sdmVHcm91cENhY2hlRnJpZW5kbHlTZXR1cABzb2x2ZUdyb3VwADM1YnRTZXF1ZW50aWFsSW1wdWxzZUNvbnN0cmFpbnRTb2x2ZXIAMThidENvbnN0cmFpbnRTb2x2ZXIAMTZidFJheWNhc3RWZWhpY2xlADE3YnRBY3Rpb25JbnRlcmZhY2UAMjVidERlZmF1bHRWZWhpY2xlUmF5Y2FzdGVyADQzYnRLaW5lbWF0aWNDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawAzMGJ0S2luZW1hdGljQ2hhcmFjdGVyQ29udHJvbGxlcgAzMGJ0Q2hhcmFjdGVyQ29udHJvbGxlckludGVyZmFjZQAyMmJ0U3Vic2ltcGxleENvbnZleENhc3QAMTJidENvbnZleENhc3QAYnRDb2xsaXNpb25PYmplY3RGbG9hdERhdGEAMTdidENvbGxpc2lvbk9iamVjdAAxM2J0R2hvc3RPYmplY3QAMjRidFBhaXJDYWNoaW5nR2hvc3RPYmplY3QAMjNidENvbGxpc2lvblBhaXJDYWxsYmFjawAxN2J0T3ZlcmxhcENhbGxiYWNrADIxYnRDb2xsaXNpb25EaXNwYXRjaGVyADMxYnREZWZhdWx0Q29sbGlzaW9uQ29uZmlndXJhdGlvbgAyNGJ0Q29sbGlzaW9uQ29uZmlndXJhdGlvbgBOMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjM0YnRTcGhlcmVUcmlhbmdsZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjMyYnRTcGhlcmVTcGhlcmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4xNmJ0RW1wdHlBbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yOGJ0Q29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xN1N3YXBwZWRDcmVhdGVGdW5jRQBOMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yOGJ0Q29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAMjVidFNpbXVsYXRpb25Jc2xhbmRNYW5hZ2VyAGlzbGFuZFVuaW9uRmluZEFuZFF1aWNrU29ydABwcm9jZXNzSXNsYW5kcwAzMWJ0Q29udmV4UGxhbmVDb2xsaXNpb25BbGdvcml0aG0AWk4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTIxY2FsY3VsYXRlVGltZU9mSW1wYWN0RVAxN2J0Q29sbGlzaW9uT2JqZWN0UzFfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTMxTG9jYWxUcmlhbmdsZVNwaGVyZUNhc3RDYWxsYmFjawAyNGJ0Q29udmV4VHJpYW5nbGVDYWxsYmFjawAzM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobQAyNmJ0Qm94Qm94Q29sbGlzaW9uQWxnb3JpdGhtADE2YnRNYW5pZm9sZFJlc3VsdABOMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2U2UmVzdWx0RQBwZXJmb3JtRGlzY3JldGVDb2xsaXNpb25EZXRlY3Rpb24AZGlzcGF0Y2hBbGxDb2xsaXNpb25QYWlycwBaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMTVMb2NhbEluZm9BZGRlcjIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTlSYXlUZXN0ZXIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2tfMABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMjlCcmlkZ2VUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAxOWJ0U2luZ2xlUmF5Q2FsbGJhY2sAMTdEZWJ1Z0RyYXdjYWxsYmFjawBjYWxjdWxhdGVPdmVybGFwcGluZ1BhaXJzAHVwZGF0ZUFhYmJzAAFPdmVyZmxvdyBpbiBBQUJCLCBvYmplY3QgcmVtb3ZlZCBmcm9tIHNpbXVsYXRpb24ASWYgeW91IGNhbiByZXByb2R1Y2UgdGhpcywgcGxlYXNlIGVtYWlsIGJ1Z3NAY29udGludW91c3BoeXNpY3MuY29tCgBQbGVhc2UgaW5jbHVkZSBhYm92ZSBpbmZvcm1hdGlvbiwgeW91ciBQbGF0Zm9ybSwgdmVyc2lvbiBvZiBPUy4KAFRoYW5rcy4KADE2YnRDb2xsaXNpb25Xb3JsZABjb252ZXhTd2VlcENvbXBvdW5kAFpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFMTRMb2NhbEluZm9BZGRlcgBaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTMyQnJpZGdlVHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2tfMABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTMyQnJpZGdlVHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAY29udmV4U3dlZXBUZXN0ADIxYnRTaW5nbGVTd2VlcENhbGxiYWNrADIzYnRCcmlkZ2VkTWFuaWZvbGRSZXN1bHQAMjNidFNpbmdsZUNvbnRhY3RDYWxsYmFjawAzNGJ0U3BoZXJlVHJpYW5nbGVDb2xsaXNpb25BbGdvcml0aG0AMjRidFBlcnR1cmJlZENvbnRhY3RSZXN1bHQAWk4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTZwcm9jZXNzQ29sbGlzaW9uRVBLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJTMl9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMjFidFdpdGhvdXRNYXJnaW5SZXN1bHQAWk4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTZwcm9jZXNzQ29sbGlzaW9uRVBLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJTMl9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMTNidER1bW15UmVzdWx0ADIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0ATjIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0xMENyZWF0ZUZ1bmNFADIyYnRDb21wb3VuZExlYWZDYWxsYmFjawAyOGJ0Q29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0AMzBidENvbXBvdW5kQ29tcG91bmRMZWFmQ2FsbGJhY2sAMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0AYnRDb21wb3VuZFNoYXBlQ2hpbGREYXRhAGJ0Q29tcG91bmRTaGFwZURhdGEAQ29tcG91bmQAMTVidENvbXBvdW5kU2hhcGUAYnRDb25lU2hhcGVEYXRhAENvbmUAMTFidENvbmVTaGFwZQBDb25lWgAxMmJ0Q29uZVNoYXBlWgBDb25lWAAxMmJ0Q29uZVNoYXBlWABTUEhFUkUAMTNidFNwaGVyZVNoYXBlAFpOSzIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE5cHJvY2Vzc0FsbFRyaWFuZ2xlc0VQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMjFNeU5vZGVPdmVybGFwQ2FsbGJhY2sAMjFidE5vZGVPdmVybGFwQ2FsbGJhY2sAYnRUcmlhbmdsZU1lc2hTaGFwZURhdGEAQlZIVFJJQU5HTEVNRVNIADIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZQBaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE0cGVyZm9ybVJheWNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrAFpOMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTdwZXJmb3JtQ29udmV4Y2FzdEVQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9TNF9TNF9FMjFNeU5vZGVPdmVybGFwQ2FsbGJhY2sAMjFTdXBwb3J0VmVydGV4Q2FsbGJhY2sAWk5LMTlidFRyaWFuZ2xlTWVzaFNoYXBlMTlwcm9jZXNzQWxsVHJpYW5nbGVzRVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UxNkZpbHRlcmVkQ2FsbGJhY2sAVFJJQU5HTEVNRVNIADE5YnRUcmlhbmdsZU1lc2hTaGFwZQBidFN0YXRpY1BsYW5lU2hhcGVEYXRhAFNUQVRJQ1BMQU5FADE4YnRTdGF0aWNQbGFuZVNoYXBlADIzYnRQb2x5aGVkcmFsQ29udmV4U2hhcGUAMzRidFBvbHloZWRyYWxDb252ZXhBYWJiQ2FjaGluZ1NoYXBlAGJ0Q29sbGlzaW9uU2hhcGVEYXRhADE2YnRDb2xsaXNpb25TaGFwZQAxM2J0Q29udmV4U2hhcGUAMjFidENvbnZleEludGVybmFsU2hhcGUAYnRDb252ZXhIdWxsU2hhcGVEYXRhAENvbnZleAAxN2J0Q29udmV4SHVsbFNoYXBlADE4YnRUcmlhbmdsZUNhbGxiYWNrADMxYnRJbnRlcm5hbFRyaWFuZ2xlSW5kZXhDYWxsYmFjawBidENhcHN1bGVTaGFwZURhdGEAQ2Fwc3VsZVNoYXBlADE0YnRDYXBzdWxlU2hhcGUAQ2Fwc3VsZVgAMTVidENhcHN1bGVTaGFwZVgAQ2Fwc3VsZVoAMTVidENhcHN1bGVTaGFwZVoAMjZMb2NhbFN1cHBvcnRWZXJ0ZXhDYWxsYmFjawBDb252ZXhUcmltZXNoADI1YnRDb252ZXhUcmlhbmdsZU1lc2hTaGFwZQAxNGJ0Q29uY2F2ZVNoYXBlAEJveAAxMGJ0Qm94U2hhcGUAMTRidE9wdGltaXplZEJ2aABaTjE0YnRPcHRpbWl6ZWRCdmg1YnVpbGRFUDIzYnRTdHJpZGluZ01lc2hJbnRlcmZhY2ViUks5YnRWZWN0b3IzUzRfRTIwTm9kZVRyaWFuZ2xlQ2FsbGJhY2sAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyOVF1YW50aXplZE5vZGVUcmlhbmdsZUNhbGxiYWNrAEhFSUdIVEZJRUxEADI1YnRIZWlnaHRmaWVsZFRlcnJhaW5TaGFwZQBidEN5bGluZGVyU2hhcGVEYXRhAEN5bGluZGVyWQAxNWJ0Q3lsaW5kZXJTaGFwZQBDeWxpbmRlclgAMTZidEN5bGluZGVyU2hhcGVYAEN5bGluZGVyWgAxNmJ0Q3lsaW5kZXJTaGFwZVoAMTRidFRyaWFuZ2xlTWVzaAAyMGJ0QXhpc1N3ZWVwM0ludGVybmFsSXRFADIxYnRCcm9hZHBoYXNlSW50ZXJmYWNlADEyYnRBeGlzU3dlZXAzADE1YnROdWxsUGFpckNhY2hlADIyYnRPdmVybGFwcGluZ1BhaXJDYWNoZQBaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTE5Y2xlYW5Qcm94eUZyb21QYWlyc0VQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxN0NsZWFuUGFpckNhbGxiYWNrAFpOMjhidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlMzdyZW1vdmVPdmVybGFwcGluZ1BhaXJzQ29udGFpbmluZ1Byb3h5RVAxN2J0QnJvYWRwaGFzZVByb3h5UDEyYnREaXNwYXRjaGVyRTE4UmVtb3ZlUGFpckNhbGxiYWNrADI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZQAxOGJ0RGJ2dFRyZWVDb2xsaWRlcgAyMEJyb2FkcGhhc2VBYWJiVGVzdGVyADE5QnJvYWRwaGFzZVJheVRlc3RlcgAxNmJ0RGJ2dEJyb2FkcGhhc2UAMTJidERpc3BhdGNoZXIAYnRPcHRpbWl6ZWRCdmhOb2RlRGF0YQBidFF1YW50aXplZEJ2aE5vZGVEYXRhAGJ0QnZoU3VidHJlZUluZm9EYXRhAGJ0UXVhbnRpemVkQnZoRmxvYXREYXRhADE0YnRRdWFudGl6ZWRCdmgAMjVidFRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrADI4YnRUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawBaTjMzYnRNaW5rb3dza2lQZW5ldHJhdGlvbkRlcHRoU29sdmVyMTJjYWxjUGVuRGVwdGhFUjIyYnRWb3Jvbm9pU2ltcGxleFNvbHZlclBLMTNidENvbnZleFNoYXBlUzRfUksxMWJ0VHJhbnNmb3JtUzdfUjlidFZlY3RvcjNTOV9TOV9QMTJidElEZWJ1Z0RyYXdFMjBidEludGVybWVkaWF0ZVJlc3VsdAAzM2J0TWlua293c2tpUGVuZXRyYXRpb25EZXB0aFNvbHZlcgAzMGJ0Q29udmV4UGVuZXRyYXRpb25EZXB0aFNvbHZlcgAzMGJ0R2prRXBhUGVuZXRyYXRpb25EZXB0aFNvbHZlcgAxNmJ0UG9pbnRDb2xsZWN0b3IAMTVidEdqa0NvbnZleENhc3QAMjdidENvbnRpbnVvdXNDb252ZXhDb2xsaXNpb24AMTdidEdqa1BhaXJEZXRlY3RvcgAzNmJ0RGlzY3JldGVDb2xsaXNpb25EZXRlY3RvckludGVyZmFjZQAzMGJ0QWN0aXZhdGluZ0NvbGxpc2lvbkFsZ29yaXRobQAxNmJ0RW1wdHlBbGdvcml0aG0AMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobQAxNmJ0Qm94Qm94RGV0ZWN0b3IAMjJTcGhlcmVUcmlhbmdsZURldGVjdG9yADIzYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUAMThidENvbnZleFBvbHloZWRyb24AMjZidFRyaWFuZ2xlSW5kZXhWZXJ0ZXhBcnJheQBidEludEluZGV4RGF0YQBidFNob3J0SW50SW5kZXhUcmlwbGV0RGF0YQBidENoYXJJbmRleFRyaXBsZXREYXRhAGJ0VmVjdG9yM0Zsb2F0RGF0YQBidFZlY3RvcjNEb3VibGVEYXRhAGJ0TWVzaFBhcnREYXRhAGJ0U3RyaWRpbmdNZXNoSW50ZXJmYWNlRGF0YQAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlAFJvb3QALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ=="; +function Pa(){return!!Pa.Vf}var Qa=0,Ra=[],Sa={};function Ta(){var a=Qa;if(!a)return ra=0;var b=Sa[a],e=b.type;if(!e)return ra=0,a|0;var f=Array.prototype.slice.call(arguments);d.___cxa_is_pointer_type(e);Ta.buffer||(Ta.buffer=Ua(4));xa[Ta.buffer>>2]=a;a=Ta.buffer;for(var g=0;g>2],b.Aa.push(a),ra=f[g],a|0;a=xa[a>>2];ra=e;return a|0}var Va=[null,[],[]]; +function Wa(a,b){var e=Va[a];assert(e);0===b||10===b?((1===a?pa:qa)(ua(e,0)),e.length=0):e.push(b)}var Xa=0;function Ya(){Xa+=4;return xa[Xa-4>>2]}var Za={},$a={},ab=1;function bb(a,b){bb.pa||(bb.pa={});a in bb.pa||(d.dynCall_v(b),bb.pa[a]=1)}var cb=!1;function oa(a){for(var b=[],e=0;e>4; +g=(g&15)<<4|n>>2;var Q=(n&3)<<6|A;b+=String.fromCharCode(f);64!==n&&(b+=String.fromCharCode(g));64!==A&&(b+=String.fromCharCode(Q))}while(e>2]=a);return a},n:function(a,b){Xa=b;try{var e=Za.Ea();Ya();var f=Ya(),g=Ya(),n=Ya();(void 0).Wf(e,f,n);xa[g>>2]=e.position;e.nd&&0===f&&0===n&&(e.nd=null);return 0}catch(A){return na(A),-A.ya}},o:function(a,b){Xa=b;try{var e=Ya(),f=Ya(),g=Ya();for(b=a=0;b>2],A=xa[f+(8*b+4)>>2],Q=0;Q>2]=b/1E3|0;xa[a+4>>2]=b%1E3*1E3|0;return 0},B:function(){na("trap!")}, +C:function(a){return $a[a]||0},D:function(a){if(0==a)return 22;xa[a>>2]=ab;$a[ab]=0;ab++;return 0},E:bb,F:function(a,b){if(!(a in $a))return 22;$a[a]=b;return 0},G:function(){var a=d._fflush;a&&a(0);Va[1].length&&Wa(1,10);Va[2].length&&Wa(2,10)},H:29344,I:29584};// EMSCRIPTEN_START_ASM +var h=(/** @suppress {uselessCode} */ function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.H|0;var j=env.I|0;var k=0;var l=0;var m=0;var n=0;var o=global.NaN,p=global.Infinity;var q=0,r=0,s=0,t=0,u=0.0;var v=global.Math.floor;var w=global.Math.abs;var x=global.Math.sqrt;var y=global.Math.pow;var z=global.Math.cos;var A=global.Math.sin;var B=global.Math.tan;var C=global.Math.acos;var D=global.Math.asin;var E=global.Math.atan;var F=global.Math.atan2;var G=global.Math.exp;var H=global.Math.log;var I=global.Math.ceil;var J=global.Math.imul;var K=global.Math.min;var L=global.Math.max;var M=global.Math.clz32;var N=env.a;var O=env.b;var P=env.c;var Q=env.d;var R=env.e;var S=env.f;var T=env.g;var U=env.h;var V=env.i;var W=env.j;var X=env.k;var Y=env.l;var Z=env.m;var _=env.n;var $=env.o;var aa=env.p;var ba=env.q;var ca=env.r;var da=env.s;var ea=env.t;var fa=env.u;var ga=env.v;var ha=env.w;var ia=env.x;var ja=env.y;var ka=env.z;var la=env.A;var ma=env.B;var na=env.C;var oa=env.D;var pa=env.E;var qa=env.F;var ra=env.G;var sa=29600;var ta=5272480;var ua=0.0; // EMSCRIPTEN_START_FUNCS -function Df(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=i;i=i+176|0;q=c[a+68>>2]|0;c[d+128>>2]=q;o=c[a+84>>2]|0;c[d+128+4>>2]=o;m=c[a+100>>2]|0;c[d+128+8>>2]=m;g[d+128+12>>2]=0.0;l=d+128+16|0;t=c[a+72>>2]|0;c[l>>2]=t;s=c[a+88>>2]|0;c[d+128+20>>2]=s;r=c[a+104>>2]|0;c[d+128+24>>2]=r;g[d+128+28>>2]=0.0;j=d+128+32|0;w=c[a+76>>2]|0;c[j>>2]=w;v=c[a+92>>2]|0;c[d+128+36>>2]=v;u=c[a+108>>2]|0;c[d+128+40>>2]=u;g[d+128+44>>2]=0.0;p=-+g[a+116>>2];n=-+g[a+120>>2];h=-+g[a+124>>2];e=(c[k>>2]=w,+g[k>>2])*p;e=e+(c[k>>2]=v,+g[k>>2])*n;e=e+(c[k>>2]=u,+g[k>>2])*h;f=(c[k>>2]=t,+g[k>>2])*p;f=f+(c[k>>2]=s,+g[k>>2])*n;f=f+(c[k>>2]=r,+g[k>>2])*h;p=(c[k>>2]=q,+g[k>>2])*p;n=p+(c[k>>2]=o,+g[k>>2])*n;h=n+(c[k>>2]=m,+g[k>>2])*h;c[d>>2]=c[d+128>>2];c[d+4>>2]=c[d+128+4>>2];c[d+8>>2]=c[d+128+8>>2];c[d+12>>2]=c[d+128+12>>2];c[d+16>>2]=c[l>>2];c[d+16+4>>2]=c[l+4>>2];c[d+16+8>>2]=c[l+8>>2];c[d+16+12>>2]=c[l+12>>2];c[d+32>>2]=c[j>>2];c[d+32+4>>2]=c[j+4>>2];c[d+32+8>>2]=c[j+8>>2];c[d+32+12>>2]=c[j+12>>2];g[d+48>>2]=h;g[d+52>>2]=f;g[d+56>>2]=e;g[d+60>>2]=0.0;dh(d+64|0,d,a+4|0);c[b>>2]=c[d+64>>2];c[b+4>>2]=c[d+64+4>>2];c[b+8>>2]=c[d+64+8>>2];c[b+12>>2]=c[d+64+12>>2];c[b+16>>2]=c[d+64+16>>2];c[b+16+4>>2]=c[d+64+16+4>>2];c[b+16+8>>2]=c[d+64+16+8>>2];c[b+16+12>>2]=c[d+64+16+12>>2];c[b+32>>2]=c[d+64+32>>2];c[b+32+4>>2]=c[d+64+32+4>>2];c[b+32+8>>2]=c[d+64+32+8>>2];c[b+32+12>>2]=c[d+64+32+12>>2];c[b+48>>2]=c[d+64+48>>2];c[b+48+4>>2]=c[d+64+48+4>>2];c[b+48+8>>2]=c[d+64+48+8>>2];c[b+48+12>>2]=c[d+64+48+12>>2];i=d;return}function Ef(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0;si(a,e,f)|0;c[e+52>>2]=c[a+552>>2];c[e+56>>2]=c[a+556>>2];c[e+60>>2]=c[a+560>>2];c[e+64>>2]=c[a+564>>2];c[e+68>>2]=c[a+568>>2];c[e+72>>2]=c[a+572>>2];c[e+76>>2]=c[a+576>>2];c[e+80>>2]=c[a+580>>2];c[e+84>>2]=c[a+584>>2];c[e+88>>2]=c[a+588>>2];c[e+92>>2]=c[a+592>>2];c[e+96>>2]=c[a+596>>2];c[e+100>>2]=c[a+600>>2];c[e+104>>2]=c[a+604>>2];c[e+108>>2]=c[a+608>>2];c[e+112>>2]=c[a+612>>2];c[e+116>>2]=c[a+616>>2];c[e+120>>2]=c[a+620>>2];c[e+124>>2]=c[a+624>>2];c[e+128>>2]=c[a+628>>2];c[e+132>>2]=c[a+632>>2];c[e+136>>2]=c[a+636>>2];c[e+140>>2]=c[a+640>>2];c[e+144>>2]=c[a+644>>2];c[e+148>>2]=c[a+648>>2];c[e+152>>2]=c[a+652>>2];c[e+156>>2]=c[a+656>>2];c[e+160>>2]=c[a+660>>2];c[e+164>>2]=c[a+664>>2];c[e+168>>2]=c[a+668>>2];c[e+172>>2]=c[a+672>>2];c[e+176>>2]=c[a+676>>2];f=b[a+736>>1]|0;c[e+184>>2]=f&255;c[e+188>>2]=(f&65535)>>>8&65535;c[e+196>>2]=c[a+684>>2];c[e+192>>2]=c[a+680>>2];c[e+180>>2]=d[a+740>>0];i=+g[a+688>>2];j=+g[a+692>>2];h=+eh(i-j,6.2831854820251465);if(!(h<-3.1415927410125732)){if(h>3.1415927410125732)h=h+-6.2831854820251465}else h=h+6.2831854820251465;g[e+200>>2]=h;h=+eh(i+j,6.2831854820251465);if(h<-3.1415927410125732){j=h+6.2831854820251465;f=e+204|0;g[f>>2]=j;f=a+696|0;f=c[f>>2]|0;k=e+208|0;c[k>>2]=f;k=a+700|0;k=c[k>>2]|0;f=e+212|0;c[f>>2]=k;f=a+704|0;f=c[f>>2]|0;a=e+216|0;c[a>>2]=f;return 12773}if(!(h>3.1415927410125732)){j=h;k=e+204|0;g[k>>2]=j;k=a+696|0;k=c[k>>2]|0;f=e+208|0;c[f>>2]=k;f=a+700|0;f=c[f>>2]|0;k=e+212|0;c[k>>2]=f;a=a+704|0;a=c[a>>2]|0;k=e+216|0;c[k>>2]=a;return 12773}j=h+-6.2831854820251465;k=e+204|0;g[k>>2]=j;k=a+696|0;k=c[k>>2]|0;f=e+208|0;c[f>>2]=k;f=a+700|0;f=c[f>>2]|0;k=e+212|0;c[k>>2]=f;a=a+704|0;a=c[a>>2]|0;k=e+216|0;c[k>>2]=a;return 12773}function Ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=i|0?i<<1:1,(i|0)<(h|0)):0){if(!h){e=0;f=i}else{c[6435]=(c[6435]|0)+1;e=yc((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+4>>2]|0}if((f|0)>0){g=0;do{k=e+(g*244|0)|0;j=c[b+12>>2]|0;l=j+(g*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+16|0;l=j+(g*244|0)+16|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+32|0;l=j+(g*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+48|0;l=j+(g*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];_m(e+(g*244|0)+64|0,j+(g*244|0)+64|0,180)|0;g=g+1|0}while((g|0)!=(f|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];_m(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;l=i;i=i+64|0;n=+g[a+20>>2];u=+g[a+40>>2];p=+g[a+24>>2];s=+g[a+36>>2];t=+g[a+32>>2];m=+g[a+16>>2];k=+g[a>>2];j=+g[a+4>>2];q=+g[a+8>>2];h=1.0/((n*u-p*s)*k+j*(p*t-u*m)+(s*m-n*t)*q);z=+g[b>>2];y=+g[b+4>>2];A=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];v=+g[b+24>>2];r=+g[b+32>>2];o=+g[b+36>>2];f=+g[b+40>>2];g[l+16>>2]=A*(s*m-n*t)*h+(z*(n*u-p*s)*h+y*(p*t-u*m)*h);g[l+16+4>>2]=A*(t*j-s*k)*h+(z*(s*q-u*j)*h+y*(u*k-t*q)*h);g[l+16+8>>2]=A*(n*k-m*j)*h+(z*(p*j-n*q)*h+y*(m*q-p*k)*h);g[l+16+12>>2]=0.0;g[l+16+16>>2]=(n*u-p*s)*h*x+(p*t-u*m)*h*w+(s*m-n*t)*h*v;g[l+16+20>>2]=(s*q-u*j)*h*x+(u*k-t*q)*h*w+(t*j-s*k)*h*v;g[l+16+24>>2]=(p*j-n*q)*h*x+(m*q-p*k)*h*w+(n*k-m*j)*h*v;g[l+16+28>>2]=0.0;g[l+16+32>>2]=(n*u-p*s)*h*r+(p*t-u*m)*h*o+(s*m-n*t)*h*f;g[l+16+36>>2]=(s*q-u*j)*h*r+(u*k-t*q)*h*o+(t*j-s*k)*h*f;g[l+16+40>>2]=(p*j-n*q)*h*r+(m*q-p*k)*h*o+(n*k-m*j)*h*f;g[l+16+44>>2]=0.0;Wg(l+16|0,l);f=+g[l>>2];h=+g[l+4>>2];j=+g[l+8>>2];m=+g[l+12>>2];k=1.0/+O(+(f*f+h*h+j*j+m*m));g[l>>2]=f*k;g[l+4>>2]=h*k;g[l+8>>2]=j*k;g[l+12>>2]=m*k;m=m*k<-1.0?-1.0:m*k;g[e>>2]=+T(+(m>1.0?1.0:m))*2.0;g[d>>2]=f*k;g[d+4>>2]=h*k;g[d+8>>2]=j*k;g[d+12>>2]=0.0;if(f*k*f*k+h*k*h*k+j*k*j*k<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;i=l;return}else{A=1.0/+O(+(f*k*f*k+h*k*h*k+j*k*j*k));g[d>>2]=f*k*A;g[d+4>>2]=A*h*k;g[d+8>>2]=A*j*k;i=l;return}}function Hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[b+12>>2]|0;j=c[b+36>>2]|0;if((i|0)<=(j|0))return;if((i|0)>=(j|0)){do if((c[b+40>>2]|0)<(i|0)){if(!i){d=0;e=j}else{c[6435]=(c[6435]|0)+1;d=yc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+36>>2]|0}f=c[b+44>>2]|0;if((e|0)<=0){if(!f){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+48>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=i}else d=c[b+44>>2]|0;while(0);Qn(d+(j<<2)|0,0,i-j<<2|0)|0}c[b+36>>2]=i;h=c[b+56>>2]|0;if((i|0)>(h|0)){do if((c[b+60>>2]|0)<(i|0)){if(!i){d=0;e=h}else{c[6435]=(c[6435]|0)+1;d=yc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+56>>2]|0}f=c[b+64>>2]|0;if((e|0)<=0){if(!f){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+68>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=i}else d=c[b+64>>2]|0;while(0);Qn(d+(h<<2)|0,0,i-h<<2|0)|0}c[b+56>>2]=i;if((i|0)>0){Qn(c[b+44>>2]|0,-1,i<<2|0)|0;Qn(c[b+64>>2]|0,-1,i<<2|0)|0}if((j|0)<=0)return;d=c[b+16>>2]|0;e=c[b+44>>2]|0;f=c[b+64>>2]|0;g=0;do{i=c[(c[d+(g<<4)+4>>2]|0)+12>>2]<<16|c[(c[d+(g<<4)>>2]|0)+12>>2];i=(i+~(i<<15)>>10^i+~(i<<15))*9|0;i=e+((((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[i>>2];c[i>>2]=g;g=g+1|0}while((g|0)!=(j|0));return}function If(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[b+8>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6435]=(c[6435]|0)+1,e=yc((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;o=e+4+15&-16}else o=0;i=c[b+4>>2]|0;if((i|0)>0){m=0;do{j=o+(m*36|0)|0;k=c[b+12>>2]|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=c[k+(m*36|0)+4>>2]|0;if((l|0)>0){c[6435]=(c[6435]|0)+1;e=yc((l<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}g=c[j+4>>2]|0;f=c[j+12>>2]|0;if((g|0)<=0)if(!f){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Qn(h|0,0,l<<2|0)|0}else n=14;else{e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));n=14}if((n|0)==14){n=0;if(a[j+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Qn(h|0,0,l<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=l;f=c[k+(m*36|0)+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(l|0))}else c[j+4>>2]=l;l=k+(m*36|0)+20|0;c[j+20>>2]=c[l>>2];c[j+20+4>>2]=c[l+4>>2];c[j+20+8>>2]=c[l+8>>2];c[j+20+12>>2]=c[l+12>>2];m=m+1|0}while((m|0)!=(i|0));e=c[b+4>>2]|0;if((e|0)>0){k=0;do{g=c[b+12>>2]|0;h=g+(k*36|0)+4|0;i=g+(k*36|0)+12|0;j=c[i>>2]|0;f=g+(k*36|0)+16|0;if(j|0){if(a[f>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[i>>2]=0}a[f>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(k*36|0)+8>>2]=0;k=k+1|0}while((k|0)!=(e|0))}}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=o;c[b+8>>2]=d;return}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;c[b+4>>2]=4;c[b>>2]=4432;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;Il();c[b+32>>2]=23268;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4704;c[b+552>>2]=c[e>>2];c[b+552+4>>2]=c[e+4>>2];c[b+552+8>>2]=c[e+8>>2];c[b+552+12>>2]=c[e+12>>2];c[b+568>>2]=c[e+16>>2];c[b+568+4>>2]=c[e+16+4>>2];c[b+568+8>>2]=c[e+16+8>>2];c[b+568+12>>2]=c[e+16+12>>2];c[b+584>>2]=c[e+32>>2];c[b+584+4>>2]=c[e+32+4>>2];c[b+584+8>>2]=c[e+32+8>>2];c[b+584+12>>2]=c[e+32+12>>2];c[b+600>>2]=c[e+48>>2];c[b+600+4>>2]=c[e+48+4>>2];c[b+600+8>>2]=c[e+48+8>>2];c[b+600+12>>2]=c[e+48+12>>2];c[b+616>>2]=c[e>>2];c[b+616+4>>2]=c[e+4>>2];c[b+616+8>>2]=c[e+8>>2];c[b+616+12>>2]=c[e+12>>2];c[b+632>>2]=c[e+16>>2];c[b+632+4>>2]=c[e+16+4>>2];c[b+632+8>>2]=c[e+16+8>>2];c[b+632+12>>2]=c[e+16+12>>2];c[b+648>>2]=c[e+32>>2];c[b+648+4>>2]=c[e+32+4>>2];c[b+648+8>>2]=c[e+32+8>>2];c[b+648+12>>2]=c[e+32+12>>2];c[b+664>>2]=c[e+48>>2];c[b+664+4>>2]=c[e+48+4>>2];c[b+664+8>>2]=c[e+48+8>>2];c[b+664+12>>2]=c[e+48+12>>2];g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=f&1;c[b+748>>2]=0;e=c[b+28>>2]|0;l=+g[b+600>>2];k=+g[b+604>>2];j=+g[b+608>>2];i=l*+g[e+20>>2]+k*+g[e+24>>2]+j*+g[e+28>>2]+ +g[e+56>>2];h=l*+g[e+36>>2]+k*+g[e+40>>2]+j*+g[e+44>>2]+ +g[e+60>>2];g[b+664>>2]=l*+g[e+4>>2]+k*+g[e+8>>2]+j*+g[e+12>>2]+ +g[e+52>>2];g[b+668>>2]=i;g[b+672>>2]=h;g[b+676>>2]=0.0;g[b+732>>2]=f?-1.0:1.0;return}function Kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[b+12>>2]|0;j=c[b+32>>2]|0;if((i|0)<=(j|0))return;if((i|0)>=(j|0)){do if((c[b+36>>2]|0)<(i|0)){if(!i){d=0;e=j}else{c[6435]=(c[6435]|0)+1;d=yc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+32>>2]|0}f=c[b+40>>2]|0;if((e|0)<=0){if(!f){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=i}else d=c[b+40>>2]|0;while(0);Qn(d+(j<<2)|0,0,i-j<<2|0)|0}c[b+32>>2]=i;h=c[b+52>>2]|0;if((i|0)>(h|0)){do if((c[b+56>>2]|0)<(i|0)){if(!i){d=0;e=h}else{c[6435]=(c[6435]|0)+1;d=yc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+52>>2]|0}f=c[b+60>>2]|0;if((e|0)<=0){if(!f){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=i}else d=c[b+60>>2]|0;while(0);Qn(d+(h<<2)|0,0,i-h<<2|0)|0}c[b+52>>2]=i;if((i|0)>0){Qn(c[b+40>>2]|0,-1,i<<2|0)|0;Qn(c[b+60>>2]|0,-1,i<<2|0)|0}if((j|0)<=0)return;d=c[b+16>>2]|0;e=c[b+40>>2]|0;f=c[b+60>>2]|0;g=0;do{i=c[d+(g*12|0)+4>>2]<<16|c[d+(g*12|0)>>2];i=(i+~(i<<15)>>10^i+~(i<<15))*9|0;i=e+((((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[i>>2];c[i>>2]=g;g=g+1|0}while((g|0)!=(j|0));return}function Lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 16387;g=Ob[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(Zb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=Eb[c[(c[i>>2]|0)+52>>2]&127](i)|0;i=Ob[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=Ob[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;yb[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;yb[c[(c[e>>2]|0)+20>>2]&31](d,g,16362,1497453121,c[g+8>>2]|0);return 16387}function Mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=i;i=i+256|0;c[f+32>>2]=5736;l=f+32+36|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[l>>2];c[f+32+116+4>>2]=c[l+4>>2];c[f+32+116+8>>2]=c[l+8>>2];c[f+32+116+12>>2]=c[l+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];k=+g[d+4>>2]-+g[b+4>>2];j=+g[d+8>>2]-+g[b+8>>2];h=1.0/+O(+(n*n+k*k+j*j));q=n*h==0.0?999999984306749440.0:1.0/(n*h);g[f+32+4>>2]=q;p=k*h==0.0?999999984306749440.0:1.0/(k*h);g[f+32+8>>2]=p;o=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[l>>2])+k*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+j*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Qb[e&7](a,b,d,f+32|0,f+16|0,f);i=f;return}function Nf(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0;q=i;i=i+80|0;g[q+16+60>>2]=0.0;g[q+16+8>>2]=0.0;g[q+16+12>>2]=.10000000149011612;g[q+16+16>>2]=300.0;g[q+16>>2]=1.0;g[q+16+4>>2]=-1.0;g[q+16+28>>2]=0.0;g[q+16+32>>2]=.20000000298023224;g[q+16+36>>2]=0.0;g[q+16+40>>2]=0.0;g[q+16+20>>2]=1.0;g[q+16+24>>2]=.5;c[q+16+56>>2]=0;g[q+16+48>>2]=0.0;a[q+16+44>>0]=0;p=0;do{n=c[b+856+(p<<2)>>2]|0;o=a[b+788+p>>0]|0;if(!((n|0)==0&o<<24>>24==0)){g[q+16+40>>2]=0.0;c[q+16+56>>2]=n;c[q+16+52>>2]=c[b+840+(p<<2)>>2];c[q+16+48>>2]=c[b+824+(p<<2)>>2];c[q+16+20>>2]=c[b+732>>2];a[q+16+44>>0]=o;c[q+16+4>>2]=c[b+696+(p<<2)>>2];c[q+16+24>>2]=c[b+728>>2];c[q+16>>2]=c[b+680+(p<<2)>>2];g[q+16+16>>2]=0.0;c[q+16+12>>2]=c[b+808+(p<<2)>>2];c[q+16+8>>2]=c[b+792+(p<<2)>>2];c[q>>2]=c[b+1064+(p<<2)>>2];c[q+4>>2]=c[b+1080+(p<<2)>>2];c[q+8>>2]=c[b+1096+(p<<2)>>2];g[q+12>>2]=0.0;o=c[b+1304>>2]>>p*3;if(!(o&1))n=c[d+32>>2]|0;else n=b+740+(p<<2)|0;c[q+16+28>>2]=c[n>>2];if(!(o&2))n=c[d+32>>2]|0;else n=b+772+(p<<2)|0;c[q+16+36>>2]=c[n>>2];c[q+16+32>>2]=c[((o&4|0)==0?d+4|0:b+756+(p<<2)|0)>>2];if(!(a[b+1301>>0]|0))n=Dd(b,q+16|0,f,h,j,k,l,m,d,e,q,0,0)|0;else{o=p+1|0;if(!(c[b+868+(((o|0)==3?0:o)<<6)+56>>2]|0))n=1;else n=(c[b+868+(((p+2|0)%3|0)<<6)+56>>2]|0)==0&1;n=Dd(b,q+16|0,f,h,j,k,l,m,d,e,q,0,n)|0}e=n+e|0}p=p+1|0}while((p|0)!=3);i=q;return e|0}function Of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=i;i=i+128|0;if(!b){i=h;return}if(c[b+40>>2]|0){Of(a,c[b+36>>2]|0,d+1|0,e,f);Of(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){i=h;return}m=+g[b>>2];r=+g[b+16>>2];k=+g[b+4>>2];q=+g[b+20>>2];j=+g[b+8>>2];p=+g[b+24>>2];l=(m+r)*.5-(r-m)*.5;n=(k+q)*.5-(q-k)*.5;o=(j+p)*.5-(p-j)*.5;m=(m+r)*.5+(r-m)*.5;k=(k+q)*.5+(q-k)*.5;j=(j+p)*.5+(p-j)*.5;b=(c[b+40>>2]|0)==0?f:e;g[h>>2]=l;g[h+4>>2]=n;g[h+8>>2]=o;g[h+12>>2]=0.0;g[h+16>>2]=m;g[h+20>>2]=n;g[h+24>>2]=o;g[h+28>>2]=0.0;g[h+32>>2]=m;g[h+36>>2]=k;g[h+40>>2]=o;g[h+44>>2]=0.0;g[h+48>>2]=l;g[h+52>>2]=k;g[h+56>>2]=o;g[h+60>>2]=0.0;g[h+64>>2]=l;g[h+68>>2]=n;g[h+72>>2]=j;g[h+76>>2]=0.0;g[h+80>>2]=m;g[h+84>>2]=n;g[h+88>>2]=j;g[h+92>>2]=0.0;g[h+96>>2]=m;g[h+100>>2]=k;g[h+104>>2]=j;g[h+108>>2]=0.0;g[h+112>>2]=l;g[h+116>>2]=k;g[h+120>>2]=j;g[h+124>>2]=0.0;mc[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,b);mc[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,b);i=h;return}function Pf(a,b,c,d,e,f,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=+h;i=+i;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;z=+g[e>>2];y=+g[e+16>>2];x=+g[e+32>>2];w=+g[e+4>>2];v=+g[e+20>>2];u=+g[e+36>>2];t=+g[e+8>>2];s=+g[e+24>>2];r=+g[e+40>>2];j=d-((z*0.0+y*-i+x*h)*0.0+(w*0.0+v*-i+u*h)*i+(t*0.0+s*-i+r*h)*-h)+c;o=0.0-((z*0.0+y*-i+x*h)*-i+(w*0.0+v*-i+u*h)*0.0+(t*0.0+s*-i+r*h)*f)+0.0;l=0.0-((z*0.0+y*-i+x*h)*h+(w*0.0+v*-i+u*h)*-f+(t*0.0+s*-i+r*h)*0.0)+0.0;m=0.0-((z*i+y*0.0+x*-f)*0.0+(w*i+v*0.0+u*-f)*i+(t*i+s*0.0+r*-f)*-h)+0.0;n=d-((z*i+y*0.0+x*-f)*-i+(w*i+v*0.0+u*-f)*0.0+(t*i+s*0.0+r*-f)*f)+c;k=0.0-((z*i+y*0.0+x*-f)*h+(w*i+v*0.0+u*-f)*-f+(t*i+s*0.0+r*-f)*0.0)+0.0;p=0.0-((z*-h+y*f+x*0.0)*0.0+(w*-h+v*f+u*0.0)*i+(t*-h+s*f+r*0.0)*-h)+0.0;q=0.0-((z*-h+y*f+x*0.0)*-i+(w*-h+v*f+u*0.0)*0.0+(t*-h+s*f+r*0.0)*f)+0.0;h=d-((z*-h+y*f+x*0.0)*h+(w*-h+v*f+u*0.0)*-f+(t*-h+s*f+r*0.0)*0.0)+c;i=1.0/(l*(q*m-n*p)+(j*(n*h-k*q)+o*(k*p-h*m)));g[a>>2]=(q*m-n*p)*i*0.0+(1.0/b*(n*h-k*q)*i+(k*p-h*m)*i*0.0);g[a+4>>2]=(p*o-q*j)*i*0.0+(1.0/b*(q*l-h*o)*i+(h*j-p*l)*i*0.0);g[a+8>>2]=(n*j-m*o)*i*0.0+(1.0/b*(k*o-n*l)*i+(m*l-k*j)*i*0.0);g[a+12>>2]=0.0;g[a+16>>2]=(q*m-n*p)*i*0.0+((n*h-k*q)*i*0.0+1.0/b*(k*p-h*m)*i);g[a+20>>2]=(p*o-q*j)*i*0.0+((q*l-h*o)*i*0.0+1.0/b*(h*j-p*l)*i);g[a+24>>2]=(n*j-m*o)*i*0.0+((k*o-n*l)*i*0.0+1.0/b*(m*l-k*j)*i);g[a+28>>2]=0.0;g[a+32>>2]=1.0/b*(q*m-n*p)*i+((n*h-k*q)*i*0.0+(k*p-h*m)*i*0.0);g[a+36>>2]=1.0/b*(p*o-q*j)*i+((q*l-h*o)*i*0.0+(h*j-p*l)*i*0.0);g[a+40>>2]=1.0/b*(n*j-m*o)*i+((k*o-n*l)*i*0.0+(m*l-k*j)*i*0.0);g[a+44>>2]=0.0;return}function Qf(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;r=i;i=i+96|0;m=r;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!j)q=c[c[b+880>>2]>>2]|0;else q=j;j=c[b+772>>2]|0;if((j|0)==(c[b+776>>2]|0)?(p=j|0?j<<1:1,(j|0)<(p|0)):0){if(!p)o=0;else{c[6435]=(c[6435]|0)+1;j=yc((p*104|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}o=j;j=c[b+772>>2]|0}if((j|0)>0){k=0;do{m=o+(k*104|0)|0;l=(c[b+780>>2]|0)+(k*104|0)|0;n=m+104|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));k=k+1|0}while((k|0)!=(j|0))}j=c[b+780>>2]|0;if(j|0){if(a[b+784>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=o;c[b+776>>2]=p;j=c[b+772>>2]|0}m=c[b+780>>2]|0;c[m+(j*104|0)>>2]=0;c[m+(j*104|0)+4>>2]=q;m=m+(j*104|0)+8|0;l=r;n=m+96|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));q=c[b+772>>2]|0;c[b+772>>2]=q+1;p=c[b+780>>2]|0;l=c[b+720>>2]|0;c[p+(q*104|0)+8>>2]=l+(d*104|0);o=c[b+720>>2]|0;c[p+(q*104|0)+12>>2]=o+(e*104|0);m=c[b+720>>2]|0;c[p+(q*104|0)+16>>2]=m+(f*104|0);n=c[b+720>>2]|0;c[p+(q*104|0)+20>>2]=n+(h*104|0);z=+g[l+(d*104|0)+8>>2];w=+g[l+(d*104|0)+12>>2];A=+g[l+(d*104|0)+16>>2];t=+g[m+(f*104|0)+8>>2]-z;y=+g[m+(f*104|0)+12>>2]-w;v=+g[m+(f*104|0)+16>>2]-A;u=+g[n+(h*104|0)+8>>2]-z;x=+g[n+(h*104|0)+12>>2]-w;s=+g[n+(h*104|0)+16>>2]-A;g[p+(q*104|0)+24>>2]=(+g[o+(e*104|0)+16>>2]-A)*(t*x-y*u)+((+g[o+(e*104|0)+8>>2]-z)*(y*s-v*x)+(+g[o+(e*104|0)+12>>2]-w)*(v*u-t*s));a[b+924>>0]=1;i=r;return}function Rf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=i;i=i+48|0;p=c[b+720>>2]|0;a:do if(h?(l=c[b+732>>2]|0,(l|0)>0):0){j=c[b+740>>2]|0;k=0;while(1){h=c[j+(k*52|0)+8>>2]|0;if((h|0)==(p+(d*104|0)|0)?(c[j+(k*52|0)+12>>2]|0)==(p+(e*104|0)|0):0){h=25;break}if((h|0)==(p+(e*104|0)|0)?(c[j+(k*52|0)+12>>2]|0)==(p+(d*104|0)|0):0){h=25;break}k=k+1|0;if((k|0)>=(l|0))break a}if((h|0)==25){i=q;return}}while(0);l=q;m=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));if(!f)n=c[c[b+880>>2]>>2]|0;else n=f;h=c[b+732>>2]|0;if((h|0)==(c[b+736>>2]|0)?(o=h|0?h<<1:1,(h|0)<(o|0)):0){if(!o)f=0;else{c[6435]=(c[6435]|0)+1;h=yc((o*52|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}f=h;h=c[b+732>>2]|0}if((h|0)>0){j=0;do{l=f+(j*52|0)|0;k=(c[b+740>>2]|0)+(j*52|0)|0;m=l+52|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));j=j+1|0}while((j|0)!=(h|0))}h=c[b+740>>2]|0;if(h|0){if(a[b+744>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=f;c[b+736>>2]=o;h=c[b+732>>2]|0}l=c[b+740>>2]|0;c[l+(h*52|0)>>2]=0;c[l+(h*52|0)+4>>2]=n;l=l+(h*52|0)+8|0;k=q;m=l+44|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));o=c[b+732>>2]|0;c[b+732>>2]=o+1;n=c[b+740>>2]|0;c[n+(o*52|0)+8>>2]=p+(d*104|0);c[n+(o*52|0)+12>>2]=p+(e*104|0);t=+g[p+(d*104|0)+8>>2]-+g[p+(e*104|0)+8>>2];s=+g[p+(d*104|0)+12>>2]-+g[p+(e*104|0)+12>>2];r=+g[p+(d*104|0)+16>>2]-+g[p+(e*104|0)+16>>2];g[n+(o*52|0)+16>>2]=+O(+(t*t+s*s+r*r));a[b+924>>0]=1;i=q;return}function Sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0;f=i;i=i+784|0;c[f+712>>2]=1065353216;c[f+712+4>>2]=0;c[f+712+4+4>>2]=0;c[f+712+4+8>>2]=0;c[f+712+4+12>>2]=0;c[f+712+20>>2]=1065353216;c[f+712+24>>2]=0;c[f+712+24+4>>2]=0;c[f+712+24+8>>2]=0;c[f+712+24+12>>2]=0;c[f+712+40>>2]=1065353216;e=f+712+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+536>>2]=3708;c[f+536+168>>2]=0;g[f+536+172>>2]=0.0;c[f+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+480+8>>2]=0;c[f+480+12>>2]=1065353216;c[f+480+16>>2]=1065353216;c[f+480+20>>2]=1065353216;g[f+480+24>>2]=0.0;c[f+480>>2]=6672;c[f+480+4>>2]=8;c[f+480+28>>2]=e;c[f+480+44>>2]=e;c[f+376+8>>2]=0;c[f+376+12>>2]=1065353216;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;g[f+376+24>>2]=0.0;g[f+376+44>>2]=.03999999910593033;c[f+376+52>>2]=0;c[f+376>>2]=3736;c[f+376+4>>2]=1;c[f+376+56>>2]=c[d>>2];c[f+376+56+4>>2]=c[d+4>>2];c[f+376+56+8>>2]=c[d+8>>2];c[f+376+56+12>>2]=c[d+12>>2];c[f+376+72>>2]=c[d+16>>2];c[f+376+72+4>>2]=c[d+16+4>>2];c[f+376+72+8>>2]=c[d+16+8>>2];c[f+376+72+12>>2]=c[d+16+12>>2];c[f+376+88>>2]=c[d+32>>2];c[f+376+88+4>>2]=c[d+32+4>>2];c[f+376+88+8>>2]=c[d+32+8>>2];c[f+376+88+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=4960;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(od(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+536+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=7124;e=c[f+376+52>>2]|0;if(!e){i=f;return}Ab[c[c[e>>2]>>2]&255](e);e=c[f+376+52>>2]|0;if(!e){i=f;return}c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);i=f;return}function Tf(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=i;i=i+48|0;c[6435]=(c[6435]|0)+1;g=yc(83)|0;if(!g)n=0;else{c[(g+4+15&-16)+-4>>2]=g;n=g+4+15&-16}c[n>>2]=h;b[n+4>>1]=j;b[n+6>>1]=k;j=n+16|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];j=n+32|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[n+8>>2]=0;j=n+56|0;c[j>>2]=0;k=n+52|0;c[k>>2]=0;c[o+16>>2]=c[e>>2];c[o+16+4>>2]=c[e+4>>2];c[o+16+8>>2]=c[e+8>>2];c[o+16+12>>2]=c[e+12>>2];c[o+16+16>>2]=c[f>>2];c[o+16+16+4>>2]=c[f+4>>2];c[o+16+16+8>>2]=c[f+8>>2];c[o+16+16+12>>2]=c[f+12>>2];c[n+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[n+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[6435]=(c[6435]|0)+1;g=yc(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}l=g;m=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=n;c[g+40>>2]=0;c[g>>2]=c[o+16>>2];c[g+4>>2]=c[o+16+4>>2];c[g+8>>2]=c[o+16+8>>2];c[g+12>>2]=c[o+16+12>>2];c[g+16>>2]=c[o+16+16>>2];c[g+20>>2]=c[o+16+20>>2];c[g+24>>2]=c[o+16+24>>2];c[g+28>>2]=c[o+16+28>>2];lf(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[n+48>>2]=g;l=d+124+(c[d+144>>2]<<2)|0;c[k>>2]=0;c[j>>2]=c[l>>2];g=c[l>>2]|0;if(g|0)c[g+52>>2]=n;c[l>>2]=n;if(a[d+193>>0]|0){i=o;return n|0}c[o>>2]=8904;c[o+4>>2]=d;c[o+8>>2]=n;bg(c[d+4>>2]|0,o+16|0,o);bg(c[d+64>>2]|0,o+16|0,o);i=o;return n|0}function Uf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;f=i;i=i+608|0;p=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];n=+g[d+124>>2]-+g[d+60>>2];j=+g[e+116>>2]-+g[e+52>>2];k=+g[e+120>>2]-+g[e+56>>2];l=+g[e+124>>2]-+g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n>2],j*j+k*k+l*l>2]|0;h=c[e+248>>2]|0;c[f+552+8>>2]=0;c[f+552+12>>2]=1065353216;c[f+552+16>>2]=1065353216;c[f+552+20>>2]=1065353216;g[f+552+24>>2]=0.0;c[f+552>>2]=6672;c[f+552+4>>2]=8;c[f+552+28>>2]=h;c[f+552+44>>2]=h;c[f+376>>2]=3708;g[f+376+164>>2]=999999984306749440.0;c[f+376+168>>2]=0;g[f+376+172>>2]=0.0;g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=9140;c[f+4>>2]=f+16;c[f+8>>2]=b;c[f+12>>2]=f+552;if(Ed(f,d+4|0,d+68|0,e+4|0,e+68|0,f+376|0)|0){j=+g[f+376+164>>2];if(+g[d+244>>2]>j)g[d+244>>2]=j;if(+g[e+244>>2]>j)g[e+244>>2]=j;if(j<1.0)k=j;else k=1.0}else k=1.0;b=c[e+192>>2]|0;h=c[d+248>>2]|0;c[f+552+8>>2]=0;c[f+552+12>>2]=1065353216;c[f+552+16>>2]=1065353216;c[f+552+20>>2]=1065353216;g[f+552+24>>2]=0.0;c[f+552>>2]=6672;c[f+552+4>>2]=8;c[f+552+28>>2]=h;c[f+552+44>>2]=h;c[f+376>>2]=3708;g[f+376+164>>2]=999999984306749440.0;c[f+376+168>>2]=0;g[f+376+172>>2]=0.0;g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=9140;c[f+4>>2]=f+16;c[f+8>>2]=f+552;c[f+12>>2]=b;if(Ed(f,d+4|0,d+68|0,e+4|0,e+68|0,f+376|0)|0){j=+g[f+376+164>>2];if(+g[d+244>>2]>j)g[d+244>>2]=j;if(+g[e+244>>2]>j)g[e+244>>2]=j;if(!(k>j))j=k}else j=k;p=j;i=f;return +p}function Vf(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;e=i;i=i+128|0;G=c[(c[a+8>>2]|0)+24>>2]|0;h=c[G+(d*80|0)+64>>2]|0;f=c[a+12>>2]|0;x=+g[G+(d*80|0)>>2];D=+g[f>>2];w=+g[G+(d*80|0)+16>>2];C=+g[f+4>>2];v=+g[G+(d*80|0)+32>>2];B=+g[f+8>>2];u=+g[G+(d*80|0)+4>>2];t=+g[G+(d*80|0)+20>>2];s=+g[G+(d*80|0)+36>>2];r=+g[G+(d*80|0)+8>>2];p=+g[G+(d*80|0)+24>>2];n=+g[G+(d*80|0)+40>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];q=+g[f+32>>2];o=+g[f+36>>2];m=+g[f+40>>2];F=+g[G+(d*80|0)+48>>2];E=+g[G+(d*80|0)+52>>2];j=+g[G+(d*80|0)+56>>2];l=+g[f+48>>2]+(D*F+C*E+B*j);k=A*F+z*E+y*j+ +g[f+52>>2];j=q*F+o*E+m*j+ +g[f+56>>2];g[e+56>>2]=x*D+w*C+v*B;g[e+56+4>>2]=D*u+C*t+B*s;g[e+56+8>>2]=D*r+C*p+B*n;g[e+56+12>>2]=0.0;g[e+56+16>>2]=x*A+w*z+v*y;g[e+56+20>>2]=u*A+t*z+s*y;g[e+56+24>>2]=r*A+p*z+n*y;g[e+56+28>>2]=0.0;g[e+56+32>>2]=x*q+w*o+v*m;g[e+56+36>>2]=u*q+t*o+s*m;g[e+56+40>>2]=r*q+p*o+n*m;g[e+56+44>>2]=0.0;g[e+56+48>>2]=l;g[e+56+52>>2]=k;g[e+56+56>>2]=j;g[e+56+60>>2]=0.0;f=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=f;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;f=c[a+24>>2]|0;g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=5840;c[e+20>>2]=f;c[e+24>>2]=d;c[e+4>>2]=c[f+4>>2];c[e+16>>2]=c[f+16>>2];bd(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);i=e;return}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;j=i;i=i+96|0;f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=0;do{q=j+80+(h<<2)|0;c[j+80>>2]=0;c[j+80+4>>2]=0;c[j+80+8>>2]=0;c[j+80+12>>2]=0;g[q>>2]=1.0;k=c[(c[a>>2]|0)+64>>2]|0;l=+g[j+80>>2];m=+g[j+80+4>>2];n=+g[j+80+8>>2];o=l*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=l*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[j+32>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[j+32+4>>2]=o;g[j+32+8>>2]=p;g[j+32+12>>2]=0.0;ic[k&127](j+64|0,a,j+32|0);p=+g[j+64>>2];o=+g[j+64+4>>2];n=+g[j+64+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];l=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[j+48>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[j+48+4>>2]=m;g[j+48+8>>2]=l;g[j+48+12>>2]=0.0;k=j+48+(h<<2)|0;g[e+(h<<2)>>2]=f+ +g[k>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;l=+g[j+80>>2];m=+g[j+80+4>>2];n=+g[j+80+8>>2];o=l*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=l*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[j>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[j+4>>2]=o;g[j+8>>2]=p;g[j+12>>2]=0.0;ic[q&127](j+16|0,a,j);p=+g[j+16>>2];o=+g[j+16+4>>2];n=+g[j+16+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];l=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[j+48>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[j+48+4>>2]=m;g[j+48+8>>2]=l;g[j+48+12>>2]=0.0;g[d+(h<<2)>>2]=+g[k>>2]-f;h=h+1|0}while((h|0)!=3);i=j;return}function Xf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+160|0;j=c[b+12>>2]|0;if(!j){i=l;return}m=(a[b+16>>0]|0)!=0;n=m?e:d;e=m?d:e;p=c[n+4>>2]|0;o=c[e+4>>2]|0;c[h+4>>2]=j;d=c[j+752>>2]|0;c[l+136>>2]=9304;c[l+136+4>>2]=p;c[l+136+8>>2]=o;c[l+136+12>>2]=d;g[l+128>>2]=999999984306749440.0;d=c[n+12>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+16+4>>2]=c[d+16+4>>2];c[l+16+8>>2]=c[d+16+8>>2];c[l+16+12>>2]=c[d+16+12>>2];c[l+32>>2]=c[d+32>>2];c[l+32+4>>2]=c[d+32+4>>2];c[l+32+8>>2]=c[d+32+8>>2];c[l+32+12>>2]=c[d+32+12>>2];c[l+48>>2]=c[d+48>>2];c[l+48+4>>2]=c[d+48+4>>2];c[l+48+8>>2]=c[d+48+8>>2];c[l+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[l+64>>2]=c[e>>2];c[l+64+4>>2]=c[e+4>>2];c[l+64+8>>2]=c[e+8>>2];c[l+64+12>>2]=c[e+12>>2];c[l+80>>2]=c[e+16>>2];c[l+80+4>>2]=c[e+16+4>>2];c[l+80+8>>2]=c[e+16+8>>2];c[l+80+12>>2]=c[e+16+12>>2];c[l+96>>2]=c[e+32>>2];c[l+96+4>>2]=c[e+32+4>>2];c[l+96+8>>2]=c[e+32+8>>2];c[l+96+12>>2]=c[e+32+12>>2];c[l+112>>2]=c[e+48>>2];c[l+112+4>>2]=c[e+48+4>>2];c[l+112+8>>2]=c[e+48+8>>2];c[l+112+12>>2]=c[e+48+12>>2];$d(l+136|0,l,h,c[f+20>>2]|0,m);do if(a[b+8>>0]|0?(k=c[h+4>>2]|0,c[k+748>>2]|0):0){d=c[k+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){ef(k,d+4|0,j+4|0);break}else{ef(k,j+4|0,e+4|0);break}}while(0);i=l;return}function Yf(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[d+4>>2]=1065353216;c[d+8>>2]=1065353216;c[d+12>>2]=1065353216;g[d+16>>2]=0.0;a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+48>>2]=0;c[d>>2]=8452;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;a[d+160>>0]=1;c[d+156>>2]=0;c[d+148>>2]=0;c[d+152>>2]=0;a[d+164>>0]=e&1;a[d+165>>0]=f&1;g[d+168>>2]=0.0;c[6435]=(c[6435]|0)+1;e=yc(51)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+24>>2]|0;if((e|0)>0){f=0;do{i=h+(f<<5)|0;j=(c[d+32>>2]|0)+(f<<5)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];c[i+20>>2]=c[j+20>>2];c[i+24>>2]=c[j+24>>2];c[i+28>>2]=c[j+28>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[d+32>>2]|0;if(e|0){if(a[d+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=h;c[d+28>>2]=1;e=c[d+24>>2]|0;c[h+(e<<5)>>2]=0;c[h+(e<<5)+4>>2]=0;c[h+(e<<5)+8>>2]=12;c[h+(e<<5)+12>>2]=0;c[h+(e<<5)+16>>2]=0;c[h+(e<<5)+20>>2]=16;c[h+(e<<5)+24>>2]=2;c[h+(e<<5)+28>>2]=0;c[d+24>>2]=(c[d+24>>2]|0)+1;e=b[d+164>>1]|0;if(!((e&255)<<24>>24)){f=c[d+32>>2]|0;c[f>>2]=(c[d+148>>2]|0)/3|0;c[f+4>>2]=0;c[f+24>>2]=3;c[f+8>>2]=6}else{f=c[d+32>>2]|0;c[f>>2]=(c[d+128>>2]|0)/3|0;c[f+4>>2]=0;c[f+24>>2]=2;c[f+8>>2]=12}if((e&65535)<256){i=12;d=(c[d+108>>2]|0)/3|0;j=f+12|0;c[j>>2]=d;j=f+16|0;c[j>>2]=0;j=f+20|0;c[j>>2]=i;return}else{i=16;d=c[d+88>>2]|0;j=f+12|0;c[j>>2]=d;j=f+16|0;c[j>>2]=0;j=f+20|0;c[j>>2]=i;return}}function Zf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;q=i;i=i+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){i=q;return}l=q;m=l+36|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));if(!h)p=c[c[b+880>>2]>>2]|0;else p=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(o=h|0?h<<1:1,(h|0)<(o|0)):0){if(!o)n=0;else{c[6435]=(c[6435]|0)+1;h=yc((o*44|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[b+752>>2]|0}if((h|0)>0){j=0;do{l=n+(j*44|0)|0;k=(c[b+760>>2]|0)+(j*44|0)|0;m=l+44|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));j=j+1|0}while((j|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=n;c[b+756>>2]=o;h=c[b+752>>2]|0}l=c[b+760>>2]|0;c[l+(h*44|0)>>2]=0;c[l+(h*44|0)+4>>2]=p;l=l+(h*44|0)+8|0;k=q;m=l+36|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));p=c[b+752>>2]|0;c[b+752>>2]=p+1;o=c[b+760>>2]|0;l=c[b+720>>2]|0;c[o+(p*44|0)+8>>2]=l+(d*104|0);m=c[b+720>>2]|0;c[o+(p*44|0)+12>>2]=m+(e*104|0);n=c[b+720>>2]|0;c[o+(p*44|0)+16>>2]=n+(f*104|0);t=+g[l+(d*104|0)+8>>2];v=+g[l+(d*104|0)+12>>2];r=+g[l+(d*104|0)+16>>2];s=+g[m+(e*104|0)+8>>2]-t;w=+g[m+(e*104|0)+12>>2]-v;u=+g[m+(e*104|0)+16>>2]-r;t=+g[n+(f*104|0)+8>>2]-t;v=+g[n+(f*104|0)+12>>2]-v;r=+g[n+(f*104|0)+16>>2]-r;g[o+(p*44|0)+36>>2]=+O(+((s*v-w*t)*(s*v-w*t)+((w*r-u*v)*(w*r-u*v)+(u*t-s*r)*(u*t-s*r))));a[b+924>>0]=1;i=q;return}function _f(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;m=i;i=i+16|0;li(12187);e=c[b+232>>2]|0;if((e|0)>0){l=(a[26260]|0)==0;k=0;do{j=c[(c[b+240>>2]|0)+(k<<2)>>2]|0;a:do if(j){f=c[j+216>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{q=+g[j+312>>2];p=+g[j+316>>2];o=+g[j+320>>2];n=+g[j+472>>2];if(q*q+p*p+o*o>2],o=+g[j+332>>2],p=+g[j+336>>2],q=+g[j+476>>2],n*n+o*o+p*p>2]=+g[j+220>>2]+d;break b}g[j+220>>2]=0.0;if((f&-2|0)!=4){c[j+216>>2]=0;f=0}}}while(0);h=f&-2;do if(l){if((h|0)!=2?!(+g[j+220>>2]>2.0):0)break;if(c[j+204>>2]&3|0){if((h|0)==4)break a;c[j+216>>2]=2;break a}if((f|0)==1){if((h|0)==4)break a;c[j+216>>2]=3;break a}else{if((f|0)!=2)break a;e=(c[j+260>>2]|0)+2|0;c[j+328>>2]=0;c[j+328+4>>2]=0;c[j+328+8>>2]=0;c[j+328+12>>2]=0;c[j+260>>2]=e;c[j+312>>2]=0;c[j+312+4>>2]=0;c[j+312+8>>2]=0;c[j+312+12>>2]=0;e=c[b+232>>2]|0;break a}}while(0);if((h|0)!=4)c[j+216>>2]=1}while(0);k=k+1|0}while((k|0)<(e|0))}e=c[2357]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){i=m;return}do if(c[e+4>>2]|0){tb(m|0,0)|0;b=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[m+4>>2]|0)-(c[b+4>>2]|0)+(((c[m>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2357]|0;break}else{i=m;return}}while(0);c[2357]=c[e+20>>2];i=m;return}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0;H=i;i=i+32|0;k=+g[b+16>>2];f=+g[b>>2];l=+g[b+20>>2];h=+g[b+4>>2];n=+g[b+24>>2];j=+g[b+8>>2];r=+g[b+32>>2];v=+g[b+36>>2];w=+g[b+40>>2];B=(l-h)*(w-j)-(n-j)*(v-h);C=(n-j)*(r-f)-(k-f)*(w-j);D=(k-f)*(v-h)-(l-h)*(r-f);g[H+16>>2]=B;g[H+16+4>>2]=C;g[H+16+8>>2]=D;g[H+16+12>>2]=0.0;o=+g[a+4>>2];s=+g[a+8>>2];x=+g[a+12>>2];E=B*o+C*s+D*x-(f*B+h*C+j*D);p=+g[a+20>>2];t=+g[a+24>>2];y=+g[a+28>>2];if(E*(B*p+C*t+D*y-(f*B+h*C+j*D))>=0.0){i=H;return}F=c[a+36>>2]|0;if(E<=0.0&(F&1|0)!=0){i=H;return}G=E/(E-(B*p+C*t+D*y-(f*B+h*C+j*D)));if(!(G<+g[a+40>>2])){i=H;return}A=(B*B+C*C+D*D)*-9.999999747378752e-05;z=f-(p*G+o*(1.0-G));u=h-(t*G+s*(1.0-G));q=j-(y*G+x*(1.0-G));m=k-(p*G+o*(1.0-G));l=l-(t*G+s*(1.0-G));k=n-(y*G+x*(1.0-G));if(!(D*(z*l-u*m)+(B*(u*k-q*l)+C*(q*m-z*k))>=A)){i=H;return}j=r-(p*G+o*(1.0-G));h=v-(t*G+s*(1.0-G));f=w-(y*G+x*(1.0-G));if(!(D*(m*h-l*j)+(B*(l*f-k*h)+C*(k*j-m*f))>=A)){i=H;return}if(!(D*(u*j-z*h)+(B*(q*h-u*f)+C*(z*f-q*j))>=A)){i=H;return}f=1.0/+O(+(B*B+C*C+D*D));g[H+16>>2]=B*f;g[H+16+4>>2]=C*f;g[H+16+8>>2]=D*f;b=c[(c[a>>2]|0)+12>>2]|0;if(E<=0.0&(F&2|0)==0){g[H>>2]=-(B*f);g[H+4>>2]=-(C*f);g[H+8>>2]=-(D*f);g[H+12>>2]=0.0;g[a+40>>2]=+ec[b&3](a,H,G,d,e);i=H;return}else{g[a+40>>2]=+ec[b&3](a,H+16|0,G,d,e);i=H;return}}function ag(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+144|0;j=c[b+12>>2]|0;if(!j){i=l;return}n=c[d+4>>2]|0;m=c[e+4>>2]|0;c[h+4>>2]=j;g[l+12+128>>2]=999999984306749440.0;d=c[d+12>>2]|0;c[l+12>>2]=c[d>>2];c[l+12+4>>2]=c[d+4>>2];c[l+12+8>>2]=c[d+8>>2];c[l+12+12>>2]=c[d+12>>2];c[l+12+16>>2]=c[d+16>>2];c[l+12+16+4>>2]=c[d+16+4>>2];c[l+12+16+8>>2]=c[d+16+8>>2];c[l+12+16+12>>2]=c[d+16+12>>2];c[l+12+32>>2]=c[d+32>>2];c[l+12+32+4>>2]=c[d+32+4>>2];c[l+12+32+8>>2]=c[d+32+8>>2];c[l+12+32+12>>2]=c[d+32+12>>2];c[l+12+48>>2]=c[d+48>>2];c[l+12+48+4>>2]=c[d+48+4>>2];c[l+12+48+8>>2]=c[d+48+8>>2];c[l+12+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[l+12+64>>2]=c[e>>2];c[l+12+64+4>>2]=c[e+4>>2];c[l+12+64+8>>2]=c[e+8>>2];c[l+12+64+12>>2]=c[e+12>>2];c[l+12+80>>2]=c[e+16>>2];c[l+12+80+4>>2]=c[e+16+4>>2];c[l+12+80+8>>2]=c[e+16+8>>2];c[l+12+80+12>>2]=c[e+16+12>>2];c[l+12+96>>2]=c[e+32>>2];c[l+12+96+4>>2]=c[e+32+4>>2];c[l+12+96+8>>2]=c[e+32+8>>2];c[l+12+96+12>>2]=c[e+32+12>>2];c[l+12+112>>2]=c[e+48>>2];c[l+12+112+4>>2]=c[e+48+4>>2];c[l+12+112+8>>2]=c[e+48+8>>2];c[l+12+112+12>>2]=c[e+48+12>>2];c[l>>2]=9284;c[l+4>>2]=n;c[l+8>>2]=m;xc(l,l+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(k=c[h+4>>2]|0,c[k+748>>2]|0):0){d=c[k+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){ef(k,d+4|0,j+4|0);break}else{ef(k,j+4|0,e+4|0);break}}while(0);i=l;return}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0;if(!a)return;n=+g[b>>2];o=+g[b+4>>2];q=+g[b+8>>2];s=+g[b+16>>2];m=+g[b+20>>2];l=+g[b+24>>2];c[6435]=(c[6435]|0)+1;b=yc(275)|0;c[(b+4+15&-16)+-4>>2]=b;c[(b+4+15&-16)>>2]=a;k=1;a=64;b=b+4+15&-16;while(1){e=k+-1|0;i=c[b+(e<<2)>>2]|0;do if(((((+g[i>>2]<=s?+g[i+16>>2]>=n:0)?+g[i+4>>2]<=m:0)?+g[i+20>>2]>=o:0)?+g[i+8>>2]<=l:0)?+g[i+24>>2]>=q:0){if(!(c[i+40>>2]|0)){Cb[c[(c[d>>2]|0)+12>>2]&127](d,i);break}j=c[i+36>>2]|0;do if((e|0)==(a|0)?(p=a|0?a<<1:1,(k|0)<=(p|0)):0){if((p|0)!=0?(c[6435]=(c[6435]|0)+1,r=yc((p<<2|3)+16|0)|0,(r|0)!=0):0){c[(r+4+15&-16)+-4>>2]=r;h=r+4+15&-16}else h=0;if((k|0)<=1){if(!b){a=p;b=h;break}}else{f=0;do{c[h+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(a|0))}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);a=p;b=h}while(0);c[b+(e<<2)>>2]=j;h=c[i+40>>2]|0;do if((k|0)==(a|0)){a=k|0?k<<1:1;if((k|0)<(a|0)){if((a|0)!=0?(c[6435]=(c[6435]|0)+1,t=yc((a<<2|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;f=t+4+15&-16}else f=0;if((k|0)<=0){if(!b){b=f;break}}else{e=0;do{c[f+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=(k|0))}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);b=f}else a=k}while(0);c[b+(k<<2)>>2]=h;e=k+1|0}while(0);if((e|0)>0)k=e;else break}if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function cg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((c[b+104>>2]|0)>0){l=0;do{h=c[(c[b+4>>2]|0)+684>>2]|0;i=(c[b+112>>2]|0)+(l<<3)+4|0;d=c[i>>2]|0;if((c[h+60>>2]|0)>0){k=0;do{j=(c[h+68>>2]|0)+(k<<2)|0;e=c[j>>2]|0;a:do if(e|0){f=0;do{g=f+280|0;b:do if(!f)while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[j>>2]=e;hd(f);if(!e)break a}else while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[g>>2]=e;hd(f);if(!e)break a}while(0)}while((e|0)!=0)}while(0);k=k+1|0}while((k|0)<(c[h+60>>2]|0));d=c[i>>2]|0}if(d|0)Ab[c[(c[d>>2]|0)+4>>2]&255](d);l=l+1|0}while((l|0)<(c[b+104>>2]|0))}d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+112>>2]|0;if(d|0){if(a[b+116>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;d=c[b+132>>2]|0;if(!d){a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}if(a[b+136>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+132>>2]=0;a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6435]=(c[6435]|0)+1;e=yc(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6435]=(c[6435]|0)+1;f=yc((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;i=g;g=g+24|0;c[i>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0));i=e}else i=e}else i=e;c[a+56>>2]=c[i>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6435]=(c[6435]|0)+1;e=yc(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6435]=(c[6435]|0)+1;f=yc((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;j=g;g=g+24|0;c[j>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0))}}c[a+56>>2]=c[e>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[i+8>>2]=e;c[e+8>>2]=i;j=c[a+100>>2]|0;c[i+20>>2]=j;c[e+20>>2]=j;c[i+12>>2]=d;c[e+12>>2]=b;c[i+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return i|0;c[a+120>>2]=e+1;return i|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0;b=c[a+752>>2]|0;if((b|0)>0){d=c[a+760>>2]|0;e=0;do{o=c[d+(e*44|0)+8>>2]|0;f=c[d+(e*44|0)+12>>2]|0;h=c[d+(e*44|0)+16>>2]|0;k=+g[o+8>>2];m=+g[o+12>>2];i=+g[o+16>>2];j=+g[f+8>>2]-k;n=+g[f+12>>2]-m;l=+g[f+16>>2]-i;k=+g[h+8>>2]-k;m=+g[h+12>>2]-m;i=+g[h+16>>2]-i;g[d+(e*44|0)+36>>2]=+O(+((j*m-n*k)*(j*m-n*k)+((n*i-l*m)*(n*i-l*m)+(l*k-j*i)*(l*k-j*i))));e=e+1|0}while((e|0)!=(b|0))}d=c[a+712>>2]|0;if((d|0)>0){c[6435]=(c[6435]|0)+1;b=yc((d<<2|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}Qn(f|0,0,d<<2|0)|0;d=c[a+712>>2]|0;if((d|0)>0){b=c[a+720>>2]|0;e=0;do{g[b+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));h=f}else h=f}else h=0;f=c[a+752>>2]|0;if((f|0)>0){b=c[a+760>>2]|0;d=c[a+720>>2]|0;e=0;do{n=+N(+(+g[b+(e*44|0)+36>>2]));o=c[b+(e*44|0)+8>>2]|0;p=h+(((o-d|0)/104|0)<<2)|0;c[p>>2]=(c[p>>2]|0)+1;g[o+92>>2]=n+ +g[o+92>>2];o=c[b+(e*44|0)+12>>2]|0;p=h+(((o-d|0)/104|0)<<2)|0;c[p>>2]=(c[p>>2]|0)+1;g[o+92>>2]=n+ +g[o+92>>2];o=c[b+(e*44|0)+16>>2]|0;p=h+(((o-d|0)/104|0)<<2)|0;c[p>>2]=(c[p>>2]|0)+1;g[o+92>>2]=n+ +g[o+92>>2];e=e+1|0}while((e|0)!=(f|0));d=c[a+712>>2]|0}if((d|0)<=0){if(!h)return}else{e=0;do{b=c[h+(e<<2)>>2]|0;if((b|0)>0){p=(c[a+720>>2]|0)+(e*104|0)+92|0;g[p>>2]=+g[p>>2]/+(b|0)}else g[(c[a+720>>2]|0)+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);return}function fg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=c[b+28>>2]|0;k=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){h=0;e=Nf(b,d,0,j+4|0,k+4|0,j+312|0,k+312|0,j+328|0,k+328|0)|0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(Dd(b,f,j+4|0,k+4|0,j+312|0,k+312|0,j+328|0,k+328|0,d,e,l,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);i=l;return}h=0;e=0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(Dd(b,f,j+4|0,k+4|0,j+312|0,k+312|0,j+328|0,k+328|0,d,e,l,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);Nf(b,d,e,j+4|0,k+4|0,j+312|0,k+312|0,j+328|0,k+328|0)|0;i=l;return}function gg(b){b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;d=c[b+988>>2]|0;if(d|0)xn(b+988|0,d);d=c[b+992>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+992>>2]=0;c[b+996>>2]=-1;d=c[b+1020>>2]|0;if(d|0){if(a[b+1024>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1020>>2]=0}a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;c[b+1004>>2]=0;if((c[b+752>>2]|0)<=0)return;r=0;do{j=c[b+760>>2]|0;k=j+(r*44|0)|0;e=c[j+(r*44|0)+8>>2]|0;f=c[j+(r*44|0)+12>>2]|0;d=c[j+(r*44|0)+16>>2]|0;o=+g[e+8>>2];p=+g[e+12>>2];q=+g[e+16>>2];i=+g[e+20>>2];v=+g[f+8>>2];l=v>2];m=s>2];n=t>2];h=u>2];l=u>2];m=t>2];n=s>2];h=v>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}else c[b+992>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=0;g[d>>2]=l;g[d+4>>2]=m;g[d+8>>2]=n;g[d+12>>2]=h;g[d+16>>2]=o;g[d+20>>2]=p;g[d+24>>2]=q;g[d+28>>2]=i;lf(b+988|0,c[b+988>>2]|0,d);c[b+1e3>>2]=(c[b+1e3>>2]|0)+1;c[j+(r*44|0)+40>>2]=d;r=r+1|0}while((r|0)<(c[b+752>>2]|0));return}function hg(b){b=b|0;var d=0,e=0.0,f=0,h=0,j=0.0,k=0.0,l=0;l=i;i=i+64|0;li(11978);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if((c[f+480>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(k=+g[b+268>>2],k!=0.0):0)e=+g[b+264>>2]-k;else e=+g[b+264>>2]*+g[f+244>>2];Zg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,l);d=c[f+480>>2]|0;Cb[c[(c[d>>2]|0)+12>>2]&127](d,l);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+480>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+g[b+268>>2],j!=0.0):0)e=+g[b+264>>2]-j;else e=+g[b+264>>2]*+g[f+244>>2];Zg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,l);d=c[f+480>>2]|0;Cb[c[(c[d>>2]|0)+12>>2]&127](d,l);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[2357]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){i=l;return}do if(c[d+4>>2]|0){tb(l|0,0)|0;b=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[l+4>>2]|0)-(c[b+4>>2]|0)+(((c[l>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=l;return}}while(0);c[2357]=c[d+20>>2];i=l;return}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){i=n;return}while(1){e=d+40|0;if(c[e>>2]|0){m=0;while(1){l=(c[a+16>>2]|0)>>>m&1;f=d+32|0;g=c[f>>2]|0;if(g>>>0>d>>>0){h=(c[g+40>>2]|0)==(d|0)&1;j=c[g+36+((h^1)<<2)>>2]|0;k=c[g+32>>2]|0;if(!k)c[a>>2]=d;else c[k+36+(((c[k+40>>2]|0)==(g|0)&1)<<2)>>2]=d;c[j+32>>2]=d;c[g+32>>2]=d;c[f>>2]=k;k=d+36|0;c[g+36>>2]=c[k>>2];c[g+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=g;c[(c[e>>2]|0)+32>>2]=g;c[d+36+(h<<2)>>2]=g;c[d+36+((h^1)<<2)>>2]=j;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[d+16>>2]=c[n+16>>2];c[d+20>>2]=c[n+20>>2];c[d+24>>2]=c[n+24>>2];c[d+28>>2]=c[n+28>>2];d=g}d=c[d+36+(l<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else m=m+1&31}}if(!(hh(a,d)|0))e=0;else e=c[a>>2]|0;lf(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}i=n;return}function jg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;j=i;i=i+32|0;d=a[b+8>>0]|0?d:e;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){i=j;return}e=c[(c[d+8>>2]|0)+192>>2]|0;y=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=y+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;ic[c[(c[h>>2]|0)+28>>2]&127](h,j+16|0,j);y=+g[j>>2];x=+g[j+16>>2];w=+g[j+4>>2];v=+g[j+16+4>>2];u=+g[j+8>>2];t=+g[j+16+8>>2];h=c[d+12>>2]|0;B=+g[h>>2];o=+g[h+16>>2];C=+g[h+32>>2];z=+g[h+4>>2];m=+g[h+20>>2];A=+g[h+36>>2];q=+g[h+8>>2];k=+g[h+24>>2];r=+g[h+40>>2];D=-+g[h+48>>2];s=-+g[h+52>>2];l=-+g[h+56>>2];p=(y+x)*.5*B+(w+v)*.5*o+(u+t)*.5*C+(B*D+o*s+C*l);n=(y+x)*.5*z+(w+v)*.5*m+(u+t)*.5*A+(z*D+m*s+A*l);l=(y+x)*.5*q+(w+v)*.5*k+(u+t)*.5*r+(q*D+k*s+r*l);s=+g[b+68>>2];o=((y-x)*.5+s)*+N(+(B+o*0.0+C*0.0))+((w-v)*.5+s)*+N(+(B*0.0+o+C*0.0))+((u-t)*.5+s)*+N(+(C+(B*0.0+o*0.0)));m=((y-x)*.5+s)*+N(+(z+m*0.0+A*0.0))+((w-v)*.5+s)*+N(+(z*0.0+m+A*0.0))+((u-t)*.5+s)*+N(+(A+(z*0.0+m*0.0)));k=((y-x)*.5+s)*+N(+(q+k*0.0+r*0.0))+((w-v)*.5+s)*+N(+(q*0.0+k+r*0.0))+((u-t)*.5+s)*+N(+(r+(q*0.0+k*0.0)));g[b+24>>2]=p-o;g[b+28>>2]=n-m;g[b+32>>2]=l-k;g[b+36>>2]=0.0;g[b+40>>2]=p+o;g[b+44>>2]=n+m;g[b+48>>2]=l+k;g[b+52>>2]=0.0;mc[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);i=j;return}function kg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;g[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=7256;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;vj(b);i=l;return}c[6435]=(c[6435]|0)+1;h=yc((e<<4|3)+16|0)|0;if(!h)k=0;else{c[(h+4+15&-16)+-4>>2]=h;k=h+4+15&-16}h=c[b+96>>2]|0;if((h|0)>0){j=0;do{m=k+(j<<4)|0;n=(c[b+104>>2]|0)+(j<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];j=j+1|0}while((j|0)!=(h|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=k;c[b+100>>2]=e;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];if((e|0)!=1){h=1;do{n=(c[b+104>>2]|0)+(h<<4)|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+96>>2]=e;j=0;h=d;while(1){n=c[b+104>>2]|0;d=c[h+4>>2]|0;m=c[h+8>>2]|0;c[n+(j<<4)>>2]=c[h>>2];c[n+(j<<4)+4>>2]=d;c[n+(j<<4)+8>>2]=m;g[n+(j<<4)+12>>2]=0.0;j=j+1|0;if((j|0)==(e|0))break;else h=h+f|0}vj(b);i=l;return}function lg(b){b=b|0;var d=0;c[b>>2]=4756;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0;x=i;i=i+48|0;t=+g[e>>2];u=+g[d>>2];v=+g[e+4>>2];w=+g[d+4>>2];s=+g[e+8>>2];h=+g[d+8>>2];j=+O(+((t-u)*.5*(t-u)*.5+(v-w)*.5*(v-w)*.5+(s-h)*.5*(s-h)*.5));k=+g[a+56>>2];d=+N(+k)>.7071067690849304;l=+g[a+52>>2];if(d){r=1.0/+O(+(k*k+l*l));y=+g[a+48>>2];f=y*-(k*r);m=y;n=0.0;o=-(k*r);p=l*r;q=(k*k+l*l)*r;r=-(y*l*r)}else{q=+g[a+48>>2];r=1.0/+O(+(q*q+l*l));f=(q*q+l*l)*r;m=q;n=-(l*r);o=q*r;p=0.0;q=-(k*q*r);r=k*-(l*r)}y=(t+u)*.5*m+(v+w)*.5*l+(s+h)*.5*k-+g[a+64>>2];m=(t+u)*.5-m*y;n=j*n;o=j*o;u=j*p;q=j*q;r=j*r;t=j*f;g[x>>2]=q+(n+m);g[x+4>>2]=r+(o+((v+w)*.5-l*y));g[x+8>>2]=t+(u+((s+h)*.5-k*y));g[x+12>>2]=0.0;g[x+16>>2]=n+m-q;g[x+20>>2]=o+((v+w)*.5-l*y)-r;g[x+24>>2]=u+((s+h)*.5-k*y)-t;g[x+28>>2]=0.0;g[x+32>>2]=m-n-q;g[x+36>>2]=(v+w)*.5-l*y-o-r;g[x+40>>2]=(s+h)*.5-k*y-u-t;g[x+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=m-n-q;g[x+4>>2]=(v+w)*.5-l*y-o-r;g[x+8>>2]=(s+h)*.5-k*y-u-t;g[x+12>>2]=0.0;g[x+16>>2]=q+(m-n);g[x+20>>2]=r+((v+w)*.5-l*y-o);g[x+24>>2]=t+((s+h)*.5-k*y-u);g[x+28>>2]=0.0;g[x+32>>2]=q+(n+m);g[x+36>>2]=r+(o+((v+w)*.5-l*y));g[x+40>>2]=t+(u+((s+h)*.5-k*y));g[x+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);i=x;return}function ng(a,b,e){a=a|0;b=b|0;e=e|0;mf(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 11858}function og(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var j=0;j=i;i=i+144|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=4108;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;g[j>>2]=d;c[j+4>>2]=e;c[j+72>>2]=f;c[j+76>>2]=c[h>>2];c[j+76+4>>2]=c[h+4>>2];c[j+76+8>>2]=c[h+8>>2];c[j+76+12>>2]=c[h+12>>2];g[j+92>>2]=0.0;g[j+96>>2]=0.0;g[j+100>>2]=.5;g[j+104>>2]=0.0;g[j+108>>2]=0.0;g[j+112>>2]=.800000011920929;g[j+116>>2]=1.0;a[j+120>>0]=0;g[j+124>>2]=.004999999888241291;g[j+128>>2]=.009999999776482582;g[j+132>>2]=.009999999776482582;g[j+136>>2]=.009999999776482582;c[j+8>>2]=1065353216;c[j+12>>2]=0;c[j+12+4>>2]=0;c[j+12+8>>2]=0;c[j+12+12>>2]=0;c[j+28>>2]=1065353216;c[j+32>>2]=0;c[j+32+4>>2]=0;c[j+32+8>>2]=0;c[j+32+12>>2]=0;c[j+48>>2]=1065353216;c[j+52>>2]=0;c[j+52+4>>2]=0;c[j+52+8>>2]=0;c[j+52+12>>2]=0;c[j+52+16>>2]=0;Od(b,j);i=j;return}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0;c[6435]=(c[6435]|0)+1;e=yc(627)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+4>>2]=5;c[e>>2]=4432;c[e+8>>2]=-1;c[e+12>>2]=-1;g[e+16>>2]=3402823466385288598117041.0e14;a[e+20>>0]=1;a[e+21>>0]=0;c[e+24>>2]=-1;c[e+28>>2]=b;Il();c[e+32>>2]=23268;g[e+36>>2]=0.0;g[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=4648;h=e+300|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];f=e+316|0;c[f>>2]=c[d+16>>2];c[f+4>>2]=c[d+16+4>>2];c[f+8>>2]=c[d+16+8>>2];c[f+12>>2]=c[d+16+12>>2];b=e+332|0;c[b>>2]=c[d+32>>2];c[b+4>>2]=c[d+32+4>>2];c[b+8>>2]=c[d+32+8>>2];c[b+12>>2]=c[d+32+12>>2];i=e+348|0;c[i>>2]=c[d+48>>2];c[i+4>>2]=c[d+48+4>>2];c[i+8>>2]=c[d+48+8>>2];c[i+12>>2]=c[d+48+12>>2];d=e+364|0;a[e+527>>0]=0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];d=e+380|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=e+396|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=e+412|0;a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Zd(b,d);c[b>>2]=3068;c[6435]=(c[6435]|0)+1;e=yc(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=3100;c[b+92>>2]=i;c[6435]=(c[6435]|0)+1;i=yc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3120;c[b+96>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3120;c[b+100>>2]=e;a[e+4>>0]=1;c[6435]=(c[6435]|0)+1;i=yc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3140;c[b+104>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3160;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);i=f}c[6435]=(c[6435]|0)+1;e=yc(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[6435]=(c[6435]|0)+1;e=yc((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;f=c[f>>2]|0;c[h+8>>2]=f;if(f+-1|0){b=c[h>>2]|0;g=f+-1|0;d=e;do{j=d;d=d+b|0;c[j>>2]=d;g=g+-1|0}while((g|0)!=0);e=e+(_(b,f+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function rg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(627)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4648;d=h+300|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=h+316|0;c[d>>2]=c[e+16>>2];c[d+4>>2]=c[e+16+4>>2];c[d+8>>2]=c[e+16+8>>2];c[d+12>>2]=c[e+16+12>>2];d=h+332|0;c[d>>2]=c[e+32>>2];c[d+4>>2]=c[e+32+4>>2];c[d+8>>2]=c[e+32+8>>2];c[d+12>>2]=c[e+32+12>>2];d=h+348|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];e=h+364|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=h+380|0;c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];e=h+396|0;c[e>>2]=c[f+32>>2];c[e+4>>2]=c[f+32+4>>2];c[e+8>>2]=c[f+32+8>>2];c[e+12>>2]=c[f+32+12>>2];e=h+412|0;c[e>>2]=c[f+48>>2];c[e+4>>2]=c[f+48+4>>2];c[e+8>>2]=c[f+48+8>>2];c[e+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function sg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=Zb[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=6228;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[6435]=(c[6435]|0)+1;b=yc(87)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}c[k>>2]=9324;h=k+20|0;a[h>>0]=1;i=k+16|0;c[i>>2]=0;d=k+8|0;c[d>>2]=0;j=k+12|0;c[j>>2]=0;a[k+24>>0]=0;a[k+44>>0]=1;c[k+40>>2]=0;c[k+32>>2]=0;c[k+36>>2]=0;a[k+64>>0]=1;c[k+60>>2]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[6435]=(c[6435]|0)+1;b=yc(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}b=c[d>>2]|0;if((b|0)>0){d=0;do{m=g+(d*12|0)|0;n=(c[i>>2]|0)+(d*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];d=d+1|0}while((d|0)!=(b|0))}b=c[i>>2]|0;if(!b){a[h>>0]=1;c[i>>2]=g;c[j>>2]=2;Kf(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[h>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}c[i>>2]=0;a[h>>0]=1;c[i>>2]=g;c[j>>2]=2;Kf(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ab[c[(c[b>>2]|0)+32>>2]&255](b);d=Ob[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;e=c[d+8>>2]|0;f=e;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+88>>2]=c[a+248>>2];c[e+92>>2]=c[a+252>>2];c[e+96>>2]=c[a+256>>2];c[e+100>>2]=c[a+260>>2];c[e>>2]=c[a+92>>2];c[e+4>>2]=c[a+96>>2];c[e+8>>2]=c[a+100>>2];c[e+12>>2]=c[a+104>>2];c[e+16>>2]=c[a+108>>2];c[e+20>>2]=c[a+116>>2];c[e+24>>2]=c[a+120>>2];c[e+28>>2]=c[a+124>>2];c[e+32>>2]=c[a+128>>2];c[e+36>>2]=c[a+132>>2];c[e+40>>2]=c[a+140>>2];c[e+44>>2]=c[a+144>>2];c[e+48>>2]=c[a+148>>2];c[e+52>>2]=c[a+152>>2];c[e+56>>2]=c[a+168>>2];c[e+60>>2]=c[a+172>>2];c[e+64>>2]=c[a+112>>2];c[e+68>>2]=c[a+156>>2];c[e+72>>2]=c[a+160>>2];c[e+76>>2]=c[a+164>>2];c[e+80>>2]=c[a+136>>2];yb[c[(c[b>>2]|0)+20>>2]&31](b,d,11938,1145853764,e);d=c[a+8>>2]|0;if((d|0)<=0){mj(a,b);td(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ab[a&255](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=Eb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Ob[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Ob[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));mj(a,b);td(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ab[a&255](b);return}function ug(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0.0,k=0.0,l=0.0;h=i;i=i+32|0;d=c[a+8>>2]|0;if((d|0)<=0){i=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{Cb[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}k=1.0/b*(+g[e+56>>2]-+g[e+120>>2]);l=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=1.0/b*(+g[e+52>>2]-+g[e+116>>2]);g[e+316>>2]=k;g[e+320>>2]=l;g[e+324>>2]=0.0;Gf(e+68|0,d,h+8|0,h);l=+g[h>>2];k=1.0/b*l*+g[h+8+4>>2];j=1.0/b*l*+g[h+8+8>>2];g[e+328>>2]=1.0/b*+g[h+8>>2]*l;g[e+332>>2]=k;g[e+336>>2]=j;g[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));i=h;return}function vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6421]=(c[6421]|0)+1;g=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=21;break}}if((n|0)==21)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;b=c[a+60>>2]|0;if((f|0)!=(i|0)){while(1){d=b+(f<<2)|0;e=c[d>>2]|0;if((e|0)==(i|0))break;else f=e}e=c[b+(i<<2)>>2]|0;if((f|0)==-1)n=11;else c[d>>2]=e}else{e=c[b+(f<<2)>>2]|0;n=11}if((n|0)==11)c[g>>2]=e;g=(c[a+8>>2]|0)+-1|0;if((g|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}h=c[m+(g*12|0)+4>>2]<<16|c[m+(g*12|0)>>2];h=(h+~(h<<15)>>10^h+~(h<<15))*9|0;h=((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[a+12>>2]|0)+-1;e=c[l+(h<<2)>>2]|0;b=c[a+60>>2]|0;if((e|0)!=(g|0)){f=e;while(1){d=b+(f<<2)|0;e=c[d>>2]|0;if((e|0)==(g|0))break;else f=e}e=c[b+(g<<2)>>2]|0;if((f|0)==-1)n=19;else c[d>>2]=e}else{e=c[b+(g<<2)>>2]|0;n=19}if((n|0)==19)c[l+(h<<2)>>2]=e;c[k>>2]=c[m+(g*12|0)>>2];c[k+4>>2]=c[m+(g*12|0)+4>>2];c[k+8>>2]=c[m+(g*12|0)+8>>2];n=(c[a+40>>2]|0)+(h<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+236>>2]|0;if((b|0)==0|(d|0)!=8){if(!((b|0)==0|(d&2|0)==0)){Cb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;ic[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;ic[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0)return;e=c[a+16>>2]|0;h=0;while(1){f=e+(h<<2)|0;if((c[f>>2]|0)==(b|0))break;g=h+1|0;if((g|0)<(d|0))h=g;else{i=26;break}}if((i|0)==26)return;if((h|0)>=(d|0))return;c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+16>>2]|0)+(d+-1<<2)>>2]=b;c[a+8>>2]=d+-1;return}f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;ic[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;ic[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0)return;e=c[a+16>>2]|0;h=0;while(1){f=e+(h<<2)|0;if((c[f>>2]|0)==(b|0))break;g=h+1|0;if((g|0)<(d|0))h=g;else{i=26;break}}if((i|0)==26)return;if((h|0)>=(d|0))return;c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+16>>2]|0)+(d+-1<<2)>>2]=b;c[a+8>>2]=d+-1;return}function xg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;c[6435]=(c[6435]|0)+1;i=yc(783)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4704;d=i+552|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=i+568|0;c[d>>2]=c[e+16>>2];c[d+4>>2]=c[e+16+4>>2];c[d+8>>2]=c[e+16+8>>2];c[d+12>>2]=c[e+16+12>>2];d=i+584|0;c[d>>2]=c[e+32>>2];c[d+4>>2]=c[e+32+4>>2];c[d+8>>2]=c[e+32+8>>2];c[d+12>>2]=c[e+32+12>>2];d=i+600|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];e=i+616|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=i+632|0;c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];e=i+648|0;c[e>>2]=c[f+32>>2];c[e+4>>2]=c[f+32+4>>2];c[e+8>>2]=c[f+32+8>>2];c[e+12>>2]=c[f+32+12>>2];e=i+664|0;c[e>>2]=c[f+48>>2];c[e+4>>2]=c[f+48+4>>2];c[e+8>>2]=c[f+48+8>>2];c[e+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function yg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;h=i;i=i+16|0;d=+g[a+336>>2]*b;b=+g[a+452>>2];e=c[a+792>>2]|0;if((e|0)<=0){i=h;return}f=0;do{t=c[a+800>>2]|0;k=t+(f*96|0)+20|0;w=c[k>>2]|0;o=c[t+(f*96|0)>>2]|0;z=+g[t+(f*96|0)+4>>2];y=+g[t+(f*96|0)+8>>2];x=+g[t+(f*96|0)+12>>2];j=t+(f*96|0)+76|0;v=+g[w+332>>2];q=+g[t+(f*96|0)+84>>2];A=+g[w+336>>2];m=+g[t+(f*96|0)+80>>2];l=+g[j>>2];n=+g[w+328>>2];s=+g[o+8>>2];r=+g[o+12>>2];p=+g[o+16>>2];u=d*(z*+g[w+4>>2]+y*+g[w+8>>2]+x*+g[w+12>>2]+ +g[w+52>>2]-s)+(b*(v*q-A*m+ +g[w+312>>2])-(s-+g[o+24>>2]));q=d*(z*+g[w+20>>2]+y*+g[w+24>>2]+x*+g[w+28>>2]+ +g[w+56>>2]-r)+(b*(+g[w+316>>2]+(A*l-q*n))-(r-+g[o+28>>2]));l=d*(z*+g[w+36>>2]+y*+g[w+40>>2]+x*+g[w+44>>2]+ +g[w+60>>2]-p)+(b*(m*n-v*l+ +g[w+320>>2])-(p-+g[o+32>>2]));v=+g[t+(f*96|0)+24>>2];n=(u*+g[t+(f*96|0)+28>>2]+q*+g[t+(f*96|0)+32>>2]+ +g[t+(f*96|0)+36>>2]*l)*v;m=(u*+g[t+(f*96|0)+44>>2]+q*+g[t+(f*96|0)+48>>2]+l*+g[t+(f*96|0)+52>>2])*v;l=v*(u*+g[t+(f*96|0)+60>>2]+q*+g[t+(f*96|0)+64>>2]+l*+g[t+(f*96|0)+68>>2]);q=+g[t+(f*96|0)+92>>2];g[o+8>>2]=s+n*q;g[o+12>>2]=q*m+r;g[o+16>>2]=q*l+p;k=c[k>>2]|0;g[h>>2]=-n;g[h+4>>2]=-m;g[h+8>>2]=-l;g[h+12>>2]=0.0;gj(k,h,j);f=f+1|0}while((f|0)!=(e|0));i=h;return}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;h=+g[d+100>>2];k=+g[d+16>>2];i=+g[d+20>>2];j=+g[d+24>>2];e=+g[d+108>>2];e=+g[d+112>>2]-h*+g[d+116>>2]-(k*+g[a+64>>2]+i*+g[a+68>>2]+j*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*e-e*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));f=+g[d+120>>2];do if(!(h+e>2];if(h+e>f){g[d+100>>2]=f;e=f-h;break}else{g[d+100>>2]=h+e;break}}else{g[d+100>>2]=f;e=f-h}while(0);if(c[a+240>>2]|0){i=e*i*+g[a+132>>2]*+g[a+116>>2];j=e*j*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*k*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=i+ +g[a+68>>2];g[a+72>>2]=j+ +g[a+72>>2];j=e*+g[a+100>>2]*+g[d+68>>2];k=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=j+ +g[a+84>>2];g[a+88>>2]=k+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;k=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];j=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=k+ +g[b+68>>2];g[b+72>>2]=j+ +g[b+72>>2];j=e*+g[b+100>>2]*+g[d+84>>2];k=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=j+ +g[b+84>>2];g[b+88>>2]=k+ +g[b+88>>2];return}function Ag(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;o=c[a+92>>2]|0;if(!(Eb[c[(c[o>>2]|0)+56>>2]&127](o)|0)){i=p;return}o=c[a+92>>2]|0;o=Eb[c[(c[o>>2]|0)+28>>2]&127](o)|0;d=c[o+4>>2]|0;if((d|0)>1){Vd(o,0,d+-1|0);d=c[o+4>>2]|0}d=d-(c[a+104>>2]|0)|0;c[p+16>>2]=0;c[p+16+4>>2]=0;c[p+16+8>>2]=0;c[p+16+12>>2]=0;yi(o,d,p+16|0);c[a+104>>2]=0;d=c[o+4>>2]|0;if((d|0)>0){f=0;l=0;m=0;h=0;while(1){k=c[o+12>>2]|0;j=k+(l<<4)|0;q=m;m=c[j>>2]|0;k=k+(l<<4)+4|0;g=c[k>>2]|0;if(!((m|0)==(q|0)&(g|0)==(h|0))){q=m+54|0;h=m+48|0;if(!((((((e[q>>1]|0)>=(e[g+48>>1]|0)?(e[g+54>>1]|0)>=(e[h>>1]|0):0)?(e[q+2>>1]|0)>=(e[g+48+2>>1]|0):0)?(e[g+54+2>>1]|0)>=(e[h+2>>1]|0):0)?(e[q+4>>1]|0)>=(e[g+52>>1]|0):0)?(e[g+54+4>>1]|0)>=(e[m+52>>1]|0):0))n=13}else{g=h;n=13}if((n|0)==13){n=0;f=c[a+92>>2]|0;ic[c[(c[f>>2]|0)+32>>2]&127](f,j,b);c[j>>2]=0;c[k>>2]=0;f=(c[a+104>>2]|0)+1|0;c[a+104>>2]=f;c[6163]=(c[6163]|0)+-1;d=c[o+4>>2]|0}l=l+1|0;if((l|0)>=(d|0))break;else h=g}if((d|0)>1){Vd(o,0,d+-1|0);f=c[a+104>>2]|0;d=c[o+4>>2]|0}}else f=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;yi(o,d-f|0,p);c[a+104>>2]=0;i=p;return}function Bg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0;b=c[a+712>>2]|0;if((b|0)>0){d=0;do{l=(c[a+720>>2]|0)+(d*104|0)+72|0;d=d+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((d|0)!=(b|0))}b=c[a+752>>2]|0;if((b|0)>0){d=0;do{o=c[a+760>>2]|0;k=c[o+(d*44|0)+12>>2]|0;i=c[o+(d*44|0)+8>>2]|0;j=+g[i+8>>2];e=+g[k+8>>2]-j;f=+g[i+12>>2];h=+g[k+12>>2]-f;m=+g[i+16>>2];n=+g[k+16>>2]-m;l=c[o+(d*44|0)+16>>2]|0;j=+g[l+8>>2]-j;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+O(+((e*f-h*j)*(e*f-h*j)+((h*m-n*f)*(h*m-n*f)+(n*j-e*m)*(n*j-e*m))));g[o+(d*44|0)+20>>2]=p*(h*m-n*f);g[o+(d*44|0)+24>>2]=p*(n*j-e*m);g[o+(d*44|0)+28>>2]=(e*f-h*j)*p;c[o+(d*44|0)+32>>2]=0;g[i+72>>2]=h*m-n*f+ +g[i+72>>2];g[i+76>>2]=n*j-e*m+ +g[i+76>>2];g[i+80>>2]=e*f-h*j+ +g[i+80>>2];g[k+72>>2]=h*m-n*f+ +g[k+72>>2];g[k+76>>2]=n*j-e*m+ +g[k+76>>2];g[k+80>>2]=e*f-h*j+ +g[k+80>>2];g[l+72>>2]=h*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*j-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-h*j+ +g[l+80>>2];d=d+1|0}while((d|0)!=(b|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;a=c[a+720>>2]|0;k=0;do{i=a+(k*104|0)+72|0;j=+g[i>>2];b=a+(k*104|0)+76|0;e=+g[b>>2];d=a+(k*104|0)+80|0;f=+g[d>>2];h=+O(+(j*j+e*e+f*f));if(h>1.1920928955078125e-07){g[i>>2]=j*(1.0/h);g[b>>2]=1.0/h*e;g[d>>2]=1.0/h*f}k=k+1|0}while((k|0)!=(l|0));return}function Cg(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,j=0.0,k=0,l=0;l=i;i=i+16|0;tb(c[6434]|0,0)|0;Vq(25696);c[6425]=(c[6425]|0)+1;k=c[6428]|0;c[6428]=k+1;if(!k){tb(l|0,0)|0;k=c[6434]|0;c[6427]=(c[l+4>>2]|0)-(c[k+4>>2]|0)+(((c[l>>2]|0)-(c[k>>2]|0)|0)*1e6|0)}c[6433]=0;tb(l|0,0)|0;li(11963);if(e){g[b+268>>2]=f;j=+g[b+264>>2]+d;g[b+264>>2]=j;if(!(j>=f)){d=f;k=0}else{g[b+264>>2]=j-+(~~(j/f)|0)*f;d=f;k=~~(j/f)}}else{g[b+264>>2]=a[b+300>>0]|0?0.0:d;g[b+268>>2]=0.0;k=!(+N(+d)<1.1920928955078125e-07)&1;e=k}if(Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[26260]=(Eb[c[(c[h>>2]|0)+48>>2]&127](h)|0)>>>4&1}if(k){e=(k|0)>(e|0)?e:k;zb[c[(c[b>>2]|0)+164>>2]&31](b,d*+(e|0));Ab[c[(c[b>>2]|0)+168>>2]&255](b);if((e|0)>0){h=0;do{zb[c[(c[b>>2]|0)+160>>2]&31](b,d);Ab[c[(c[b>>2]|0)+80>>2]&255](b);h=h+1|0}while((h|0)<(e|0));e=b}else e=b}else{Ab[c[(c[b>>2]|0)+80>>2]&255](b);e=b}Ab[c[(c[e>>2]|0)+120>>2]&255](b);c[6433]=(c[6433]|0)+1;e=c[2357]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){i=l;return k|0}do if(c[e+4>>2]|0){tb(l|0,0)|0;b=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[l+4>>2]|0)-(c[b+4>>2]|0)+(((c[l>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2357]|0;break}else{i=l;return k|0}}while(0);c[2357]=c[e+20>>2];i=l;return k|0}function Dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(783)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4704;d=h+552|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=h+568|0;c[d>>2]=c[e+16>>2];c[d+4>>2]=c[e+16+4>>2];c[d+8>>2]=c[e+16+8>>2];c[d+12>>2]=c[e+16+12>>2];d=h+584|0;c[d>>2]=c[e+32>>2];c[d+4>>2]=c[e+32+4>>2];c[d+8>>2]=c[e+32+8>>2];c[d+12>>2]=c[e+32+12>>2];d=h+600|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];e=h+616|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=h+632|0;c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];e=h+648|0;c[e>>2]=c[f+32>>2];c[e+4>>2]=c[f+32+4>>2];c[e+8>>2]=c[f+32+8>>2];c[e+12>>2]=c[f+32+12>>2];e=h+664|0;c[e>>2]=c[f+48>>2];c[e+4>>2]=c[f+48+4>>2];c[e+8>>2]=c[f+48+8>>2];c[e+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;g[h+732>>2]=1.0;return h|0}function Eg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;m=i;i=i+672|0;c[m+568+8>>2]=0;c[m+568+12>>2]=1065353216;c[m+568+16>>2]=1065353216;c[m+568+20>>2]=1065353216;g[m+568+24>>2]=0.0;c[m+568+52>>2]=0;c[m+568>>2]=3736;c[m+568+4>>2]=1;c[m+568+56>>2]=c[d>>2];c[m+568+56+4>>2]=c[d+4>>2];c[m+568+56+8>>2]=c[d+8>>2];c[m+568+56+12>>2]=c[d+12>>2];c[m+568+72>>2]=c[d+16>>2];c[m+568+72+4>>2]=c[d+16+4>>2];c[m+568+72+8>>2]=c[d+16+8>>2];c[m+568+72+12>>2]=c[d+16+12>>2];c[m+568+88>>2]=c[d+32>>2];c[m+568+88+4>>2]=c[d+32+4>>2];c[m+568+88+8>>2]=c[d+32+8>>2];c[m+568+88+12>>2]=c[d+32+12>>2];c[m+568+44>>2]=c[b+204>>2];g[m+208+308>>2]=9.999999747378752e-05;a[m+208+332>>0]=0;c[m+200>>2]=9120;d=c[b+4>>2]|0;c[m+176>>2]=9188;c[m+176+4>>2]=m+208;c[m+176+8>>2]=m+200;c[m+176+12>>2]=d;c[m+176+16>>2]=m+568;c[m+176+20>>2]=0;c[m>>2]=3708;c[m+168>>2]=0;g[m+164>>2]=1.0;c[m+172>>2]=c[b+208>>2];if((Xd(m+176|0,b+8|0,b+72|0,b+136|0,b+136|0,m)|0?(h=+g[m+132>>2],j=+g[m+136>>2],k=+g[m+140>>2],h*h+j*j+k*k>9.999999747378752e-05):0)?(l=+g[m+164>>2],l<+g[b+200>>2]):0){n=1.0/+O(+(h*h+j*j+k*k));g[m+132>>2]=h*n;g[m+136>>2]=j*n;g[m+140>>2]=k*n;+Ub[c[(c[b>>2]|0)+12>>2]&3](b,m+132|0,m+148|0,l,e,f)}c[m+568>>2]=7124;e=c[m+568+52>>2]|0;if(!e){i=m;return}Ab[c[c[e>>2]>>2]&255](e);e=c[m+568+52>>2]|0;if(!e){i=m;return}c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);i=m;return}function Fg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0;q=i;i=i+32|0;p=c[a+12>>2]|0;if(!p){i=q;return}c[f+4>>2]=p;a=c[b+4>>2]|0;r=c[d+4>>2]|0;b=c[b+12>>2]|0;e=c[d+12>>2]|0;h=+g[b+48>>2]-+g[e+48>>2];j=+g[b+52>>2]-+g[e+52>>2];l=+g[b+56>>2]-+g[e+56>>2];m=+O(+(h*h+j*j+l*l));n=+g[r+28>>2]*+g[r+12>>2];o=+g[a+28>>2]*+g[a+12>>2]+n;if(m>o){if(!(c[p+748>>2]|0)){i=q;return}a=c[p+740>>2]|0;b=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((a|0)==(b|0)){ef(p,a+4|0,e+4|0);i=q;return}else{ef(p,e+4|0,b+4|0);i=q;return}}c[q+16>>2]=1065353216;c[q+16+4>>2]=0;c[q+16+8>>2]=0;g[q+16+12>>2]=0.0;if(m>1.1920928955078125e-07){g[q+16>>2]=h*(1.0/m);g[q+16+4>>2]=j*(1.0/m);g[q+16+8>>2]=l*(1.0/m);g[q+16+12>>2]=0.0;k=h*(1.0/m);j=j*(1.0/m);h=l*(1.0/m)}else{k=1.0;j=0.0;h=0.0}j=n*j+ +g[e+52>>2];l=n*h+ +g[e+56>>2];g[q>>2]=n*k+ +g[e+48>>2];g[q+4>>2]=j;g[q+8>>2]=l;g[q+12>>2]=0.0;hc[c[(c[f>>2]|0)+16>>2]&15](f,q+16|0,q,m-o);a=c[f+4>>2]|0;do if(c[a+748>>2]|0){b=c[a+740>>2]|0;d=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((b|0)==(d|0)){ef(a,b+4|0,e+4|0);break}else{ef(a,e+4|0,d+4|0);break}}while(0);i=q;return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0;c[6435]=(c[6435]|0)+1;d=yc(219)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d>>2]=2896;e=d+4|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];e=d+20|0;c[e>>2]=c[a+16>>2];c[e+4>>2]=c[a+16+4>>2];c[e+8>>2]=c[a+16+8>>2];c[e+12>>2]=c[a+16+12>>2];e=d+36|0;c[e>>2]=c[a+32>>2];c[e+4>>2]=c[a+32+4>>2];c[e+8>>2]=c[a+32+8>>2];c[e+12>>2]=c[a+32+12>>2];e=d+52|0;c[e>>2]=c[a+48>>2];c[e+4>>2]=c[a+48+4>>2];c[e+8>>2]=c[a+48+8>>2];c[e+12>>2]=c[a+48+12>>2];e=d+68|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=d+84|0;c[e>>2]=c[b+16>>2];c[e+4>>2]=c[b+16+4>>2];c[e+8>>2]=c[b+16+8>>2];c[e+12>>2]=c[b+16+12>>2];e=d+100|0;c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];e=d+116|0;c[e>>2]=c[b+48>>2];c[e+4>>2]=c[b+48+4>>2];c[e+8>>2]=c[b+48+8>>2];c[e+12>>2]=c[b+48+12>>2];b=d+132|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];b=d+148|0;c[b>>2]=c[a+16>>2];c[b+4>>2]=c[a+16+4>>2];c[b+8>>2]=c[a+16+8>>2];c[b+12>>2]=c[a+16+12>>2];b=d+164|0;c[b>>2]=c[a+32>>2];c[b+4>>2]=c[a+32+4>>2];c[b+8>>2]=c[a+32+8>>2];c[b+12>>2]=c[a+32+12>>2];b=d+180|0;c[b>>2]=c[a+48>>2];c[b+4>>2]=c[a+48+4>>2];c[b+8>>2]=c[a+48+8>>2];c[b+12>>2]=c[a+48+12>>2];c[d+196>>2]=0;return d|0}function Hg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=f|0?f<<1:1,(f|0)<(k|0)):0){if(!k)i=0;else{c[6435]=(c[6435]|0)+1;f=yc((k<<1)+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+148>>2]|0}h=c[d+156>>2]|0;if((f|0)<=0)if(!h)f=d+160|0;else g=27;else{g=0;do{b[i+(g<<1)>>1]=b[h+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(f|0));g=27}if((g|0)==27){if(a[d+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=k;f=c[d+148>>2]|0}k=c[d+156>>2]|0;b[k+(f<<1)>>1]=e;c[d+148>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=k;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)i=0;else{c[6435]=(c[6435]|0)+1;f=yc((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+128>>2]|0}h=c[d+136>>2]|0;if((f|0)<=0)if(!h)f=d+140|0;else g=12;else{g=0;do{c[i+(g<<2)>>2]=c[h+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));g=12}if((g|0)==12){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=j;f=c[d+128>>2]|0}k=c[d+136>>2]|0;c[k+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;c[(c[d+32>>2]|0)+4>>2]=k;return}}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[d+128>>2];if(!(e!=0.0))return;c[5971]=(c[5971]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j>2]=k+j>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;Ob[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((Eb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=Zb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=Eb[c[(c[e>>2]|0)+12>>2]&127](e)|0;e=Ob[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=Ob[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;yb[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((Eb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=Zb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=Ob[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=Ob[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;yb[c[(c[d>>2]|0)+20>>2]&31](d,b,g,1346456916,c[a+56>>2]|0);return 16548}else{c[b+48>>2]=e;return 16548}}c[b+48>>2]=0;return 16548}function Kg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6422]=(c[6422]|0)+1;k=((e<<16|d)+~((e<<16|d)<<15)>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;k=(k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11);l=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((l+-1&k)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){b=g;return b|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(l|0)){h=l|0?l<<1:1;if((l|0)<(h|0)){if(!h){f=0;g=l}else{c[6435]=(c[6435]|0)+1;f=yc((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[b+8>>2]|0}if((g|0)>0){i=0;do{m=f+(i*12|0)|0;n=(c[b+16>>2]|0)+(i*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];i=i+1|0}while((i|0)!=(g|0))}g=c[b+16>>2]|0;if(g|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=l;h=l}}else{f=j;h=l}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((l|0)<(h|0)){Kf(b);f=(c[b+12>>2]|0)+-1&k}else f=l+-1&k;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function Lg(a){a=a|0;var b=0,d=0,e=0;c[6435]=(c[6435]|0)+1;b=yc(219)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}ml();c[b>>2]=2896;d=b+52|0;e=b+4|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];e=b+20|0;c[e>>2]=c[a+16>>2];c[e+4>>2]=c[a+16+4>>2];c[e+8>>2]=c[a+16+8>>2];c[e+12>>2]=c[a+16+12>>2];e=b+36|0;c[e>>2]=c[a+32>>2];c[e+4>>2]=c[a+32+4>>2];c[e+8>>2]=c[a+32+8>>2];c[e+12>>2]=c[a+32+12>>2];c[d>>2]=c[a+48>>2];c[d+4>>2]=c[a+48+4>>2];c[d+8>>2]=c[a+48+8>>2];c[d+12>>2]=c[a+48+12>>2];d=b+116|0;e=b+68|0;c[e>>2]=c[5710];c[e+4>>2]=c[5711];c[e+8>>2]=c[5712];c[e+12>>2]=c[5713];e=b+84|0;c[e>>2]=c[5714];c[e+4>>2]=c[5715];c[e+8>>2]=c[5716];c[e+12>>2]=c[5717];e=b+100|0;c[e>>2]=c[5718];c[e+4>>2]=c[5719];c[e+8>>2]=c[5720];c[e+12>>2]=c[5721];c[d>>2]=c[5722];c[d+4>>2]=c[5723];c[d+8>>2]=c[5724];c[d+12>>2]=c[5725];d=b+180|0;e=b+132|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];e=b+148|0;c[e>>2]=c[a+16>>2];c[e+4>>2]=c[a+16+4>>2];c[e+8>>2]=c[a+16+8>>2];c[e+12>>2]=c[a+16+12>>2];e=b+164|0;c[e>>2]=c[a+32>>2];c[e+4>>2]=c[a+32+4>>2];c[e+8>>2]=c[a+32+8>>2];c[e+12>>2]=c[a+32+12>>2];c[d>>2]=c[a+48>>2];c[d+4>>2]=c[a+48+4>>2];c[d+8>>2]=c[a+48+8>>2];c[d+12>>2]=c[a+48+12>>2];c[b+196>>2]=0;return b|0}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[d+100>>2];h=+g[d+16>>2];e=+g[d+20>>2];f=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(h*+g[a+64>>2]+e*+g[a+68>>2]+f*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];i=k+j>2]=k+j>2]|0){l=i*e*+g[a+132>>2]*+g[a+116>>2];k=i*f*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*h*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function Ng(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0.0,p=0.0;c[6435]=(c[6435]|0)+1;m=yc(143)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}c[m+8>>2]=0;g[m+12>>2]=0.0;c[m>>2]=8060;c[m+4>>2]=24;c[m+64>>2]=b;c[m+68>>2]=d;g[m+72>>2]=h;g[m+76>>2]=i;g[m+80>>2]=+(b+-1|0);g[m+84>>2]=+(d+-1|0);g[m+88>>2]=f;c[m+92>>2]=e;c[m+96>>2]=k;a[m+100>>0]=l&1;a[m+101>>0]=0;a[m+102>>0]=0;c[m+104>>2]=j;c[m+108>>2]=1065353216;c[m+112>>2]=1065353216;c[m+116>>2]=1065353216;g[m+120>>2]=0.0;switch(j|0){case 0:{g[m+16>>2]=h;c[m+20>>2]=0;c[m+24>>2]=0;g[m+28>>2]=0.0;g[m+32>>2]=i;g[m+36>>2]=+(b+-1|0);g[m+40>>2]=+(d+-1|0);g[m+44>>2]=0.0;o=i;p=h;f=+(b+-1|0);n=0.0;i=+(d+-1|0);h=0.0;break}case 1:{c[m+16>>2]=0;g[m+20>>2]=h;c[m+24>>2]=0;g[m+28>>2]=0.0;g[m+32>>2]=+(b+-1|0);g[m+36>>2]=i;g[m+40>>2]=+(d+-1|0);g[m+44>>2]=0.0;o=+(b+-1|0);p=0.0;f=i;n=h;i=+(d+-1|0);h=0.0;break}case 2:{c[m+16>>2]=0;c[m+20>>2]=0;g[m+24>>2]=h;g[m+28>>2]=0.0;g[m+32>>2]=+(b+-1|0);g[m+36>>2]=+(d+-1|0);g[m+40>>2]=i;g[m+44>>2]=0.0;o=+(b+-1|0);p=0.0;f=+(d+-1|0);n=0.0;break}default:{o=+g[m+32>>2];p=+g[m+16>>2];f=+g[m+36>>2];n=+g[m+20>>2];i=+g[m+40>>2];h=+g[m+24>>2]}}g[m+48>>2]=(p+o)*.5;g[m+52>>2]=(n+f)*.5;g[m+56>>2]=(h+i)*.5;g[m+60>>2]=0.0;return m|0}function Og(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}sd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0)l=0;else{e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f;l=0}do{i=+g[b+868+(l<<6)>>2];j=+g[b+868+(l<<6)+4>>2];k=+ik(+g[b+1192+(l<<2)>>2],i,j);g[b+868+(l<<6)+52>>2]=k;do if(!(i>j)){if(i>k){c[b+868+(l<<6)+56>>2]=1;h=b+868+(l<<6)+48|0;g[h>>2]=k-i;if(k-i>3.1415927410125732){g[h>>2]=k-i+-6.2831854820251465;h=21;break}if(!(k-i<-3.1415927410125732)){h=21;break}g[h>>2]=k-i+6.2831854820251465;h=21;break}h=b+868+(l<<6)+56|0;if(!(j>2]=0;h=20;break}c[h>>2]=2;h=b+868+(l<<6)+48|0;g[h>>2]=k-j;if(k-j>3.1415927410125732){g[h>>2]=k-j+-6.2831854820251465;h=21;break}if(k-j<-3.1415927410125732){g[h>>2]=k-j+6.2831854820251465;h=21}else h=21}else{c[b+868+(l<<6)+56>>2]=0;h=20}while(0);if((h|0)==20){h=0;if(a[b+868+(l<<6)+44>>0]|0)h=21}if((h|0)==21){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}l=l+1|0}while((l|0)!=3);return}function Pg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(k=g|0?g<<1:1,(g|0)<(k|0)):0){if(!k)j=0;else{c[6435]=(c[6435]|0)+1;g=yc((k<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}j=g;g=c[b+8>>2]|0}if((g|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+16>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+16>>2]|0;if(h){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=k}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[l+32>>2]=c[d+4>>2];c[l+32+4>>2]=c[d+4+4>>2];c[l+32+8>>2]=c[d+4+8>>2];c[l+32+12>>2]=c[d+4+12>>2];c[l+32+16>>2]=c[d+20>>2];c[l+32+16+4>>2]=c[d+20+4>>2];c[l+32+16+8>>2]=c[d+20+8>>2];c[l+32+16+12>>2]=c[d+20+12>>2];c[l+32+32>>2]=c[d+36>>2];c[l+32+32+4>>2]=c[d+36+4>>2];c[l+32+32+8>>2]=c[d+36+8>>2];c[l+32+32+12>>2]=c[d+36+12>>2];c[l+32+48>>2]=c[d+52>>2];c[l+32+48+4>>2]=c[d+52+4>>2];c[l+32+48+8>>2]=c[d+52+8>>2];c[l+32+48+12>>2]=c[d+52+12>>2];k=c[d+192>>2]|0;mc[c[(c[k>>2]|0)+8>>2]&127](k,l+32|0,l+16|0,l);k=c[b+68>>2]|0;c[d+188>>2]=gc[c[(c[k>>2]|0)+8>>2]&3](k,l+16|0,l,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;i=l;return}function Qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0;x=i;i=i+16|0;f=c[a+52>>2]|0;w=+g[a+28+(((f+2|0)%3|0)<<2)>>2];if((e|0)<=0){i=x;return}h=0;while(1){c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+(f<<2)>>2]=c[a+28+(f<<2)>>2];f=b+(h<<4)|0;u=b+(h<<4)+4|0;v=b+(h<<4)+8|0;j=w*+g[f>>2]+ +g[x>>2];k=w*+g[u>>2]+ +g[x+4>>2];l=w*+g[v>>2]+ +g[x+8>>2];m=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);n=+g[f>>2];o=+g[u>>2];p=+g[v>>2];if(n*(j-m*n)+o*(k-m*o)+p*(l-m*p)>-999999984306749440.0){g[d+(h<<4)>>2]=j-m*n;g[d+(h<<4)+4>>2]=k-m*o;g[d+(h<<4)+8>>2]=l-m*p;g[d+(h<<4)+12>>2]=0.0;q=+g[f>>2];s=+g[u>>2];t=+g[v>>2];r=n*(j-m*n)+o*(k-m*o)+p*(l-m*p)}else{q=n;s=o;t=p;r=-999999984306749440.0}c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;y=c[a+52>>2]|0;g[x+(y<<2)>>2]=-+g[a+28+(y<<2)>>2];p=w*q+ +g[x>>2];o=w*s+ +g[x+4>>2];m=w*t+ +g[x+8>>2];n=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);l=+g[f>>2];k=+g[u>>2];j=+g[v>>2];if(l*(p-n*l)+k*(o-n*k)+j*(m-n*j)>r){g[d+(h<<4)>>2]=p-n*l;g[d+(h<<4)+4>>2]=o-n*k;g[d+(h<<4)+8>>2]=m-n*j;g[d+(h<<4)+12>>2]=0.0}h=h+1|0;if((h|0)==(e|0))break;f=c[a+52>>2]|0}i=x;return}function Rg(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];s=+g[e+4>>2];v=+g[a+8>>2];w=+g[e+8>>2];p=+g[a+4>>2];m=+g[a>>2];r=+g[e>>2];u=(s*v-w*p)*+g[b>>2]+ +g[b+4>>2]*(w*m-v*r)+(p*r-s*m)*+g[b+8>>2];t=(s*v-w*p)*+g[b+16>>2]+(w*m-v*r)*+g[b+20>>2]+(p*r-s*m)*+g[b+24>>2];s=(s*v-w*p)*+g[b+32>>2]+(w*m-v*r)*+g[b+36>>2]+(p*r-s*m)*+g[b+40>>2];g[a+16>>2]=u;g[a+20>>2]=t;g[a+24>>2]=s;g[a+28>>2]=0.0;r=+g[f+4>>2];w=+g[f+8>>2];n=+g[f>>2];q=+g[d>>2]*(r*-v-w*-p)+ +g[d+4>>2]*(w*-m-n*-v)+(n*-p-r*-m)*+g[d+8>>2];o=(r*-v-w*-p)*+g[d+16>>2]+(w*-m-n*-v)*+g[d+20>>2]+(n*-p-r*-m)*+g[d+24>>2];m=(r*-v-w*-p)*+g[d+32>>2]+(w*-m-n*-v)*+g[d+36>>2]+(n*-p-r*-m)*+g[d+40>>2];g[a+32>>2]=q;g[a+36>>2]=o;g[a+40>>2]=m;g[a+44>>2]=0.0;u=+g[i>>2]*u;t=+g[i+4>>2]*t;s=+g[i+8>>2]*s;g[a+48>>2]=u;g[a+52>>2]=t;g[a+56>>2]=s;g[a+60>>2]=0.0;r=+g[k>>2]*q;p=+g[k+4>>2]*o;n=+g[k+8>>2]*m;g[a+64>>2]=r;g[a+68>>2]=p;g[a+72>>2]=n;g[a+76>>2]=0.0;g[a+80>>2]=u*+g[a+16>>2]+t*+g[a+20>>2]+s*+g[a+24>>2]+j+l+(r*q+p*o+n*m);return}function Sg(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=4144;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+204>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(Ab[c[c[d>>2]>>2]&255](d),e=c[b+196>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}if(a[b+273>>0]|0?(f=c[b+200>>2]|0,Ab[c[c[f>>2]>>2]&255](f),f=c[b+200>>2]|0,f|0):0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;_j(b);return}if(a[b+192>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;_j(b);return}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;h=i;i=i+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+480>>2]|0,f|0):0)Cb[c[(c[f>>2]|0)+8>>2]&127](f,h);w=+g[d+156>>2];u=+g[h>>2];v=+g[d+160>>2];t=+g[h+4>>2];o=+g[d+164>>2];s=+g[h+8>>2];r=+g[h+16>>2];q=+g[h+20>>2];p=+g[h+24>>2];n=+g[h+32>>2];l=+g[h+36>>2];j=+g[h+40>>2];m=w*r+v*q+o*p+ +g[h+52>>2];k=w*n+v*l+o*j+ +g[h+56>>2];g[d+36>>2]=w*u+v*t+o*s+ +g[h+48>>2];g[d+40>>2]=m;g[d+44>>2]=k;g[d+48>>2]=0.0;k=+g[d+172>>2];m=+g[d+176>>2];o=+g[d+180>>2];g[d+52>>2]=u*k+t*m+s*o;g[d+56>>2]=k*r+m*q+o*p;g[d+60>>2]=k*n+m*l+o*j;g[d+64>>2]=0.0;o=+g[d+188>>2];m=+g[d+192>>2];k=+g[d+196>>2];g[d+68>>2]=u*o+t*m+s*k;g[d+72>>2]=o*r+m*q+k*p;g[d+76>>2]=o*n+m*l+k*j;g[d+80>>2]=0.0;i=h;return}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=i;i=i+2048|0;if((e|0)>0)f=0;else{i=w;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));t=0;do{if((Eb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){r=b+(t<<4)|0;s=b+(t<<4)+4|0;o=b+(t<<4)+8|0;p=d+(t<<4)+12|0;q=d+(t<<4)|0;u=0;do{if(((Eb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0)<128){f=(Eb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0;if((f|0)>0)v=10;else{j=-3402823466385288598117041.0e14;f=-1}}else{f=128;v=10}if((v|0)==10){v=0;h=0;do{ic[c[(c[a>>2]|0)+108>>2]&127](a,h,w+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));k=+g[r>>2];l=+g[s>>2];m=+g[o>>2];n=0;j=-3402823466385288598117041.0e14;h=-1;do{x=k*+g[w+(n<<4)>>2]+l*+g[w+(n<<4)+4>>2]+m*+g[w+(n<<4)+8>>2];y=x>j;h=y?n:h;j=y?x:j;n=n+1|0}while((n|0)!=(f|0));f=h}if(j>+g[p>>2]){y=w+(f<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];g[p>>2]=j}u=u+128|0}while((u|0)<(Eb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}t=t+1|0}while((t|0)!=(e|0));i=w;return}function Wg(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,j=0,l=0,m=0,n=0.0;h=i;i=i+16|0;d=+g[a>>2];e=+g[a+20>>2];f=+g[a+40>>2];if(d+e+f>0.0){f=+O(+(d+e+f+1.0));g[h+12>>2]=f*.5;n=(+g[a+36>>2]-+g[a+24>>2])*(.5/f);g[h>>2]=n;d=(+g[a+8>>2]-+g[a+32>>2])*(.5/f);g[h+4>>2]=d;e=(+g[a+16>>2]-+g[a+4>>2])*(.5/f);g[h+8>>2]=e;a=(g[k>>2]=n,c[k>>2]|0);m=(g[k>>2]=d,c[k>>2]|0);l=(g[k>>2]=e,c[k>>2]|0);j=(g[k>>2]=f*.5,c[k>>2]|0);c[b>>2]=a;a=b+4|0;c[a>>2]=m;a=b+8|0;c[a>>2]=l;a=b+12|0;c[a>>2]=j;i=h;return}else{m=d>2]-+g[a+((((m+1|0)>>>0)%3|0)<<4)+((((m+1|0)>>>0)%3|0)<<2)>>2]-+g[a+((((m+2|0)>>>0)%3|0)<<4)+((((m+2|0)>>>0)%3|0)<<2)>>2]+1.0));g[h+(m<<2)>>2]=n*.5;g[h+12>>2]=(+g[a+((((m+2|0)>>>0)%3|0)<<4)+((((m+1|0)>>>0)%3|0)<<2)>>2]-+g[a+((((m+1|0)>>>0)%3|0)<<4)+((((m+2|0)>>>0)%3|0)<<2)>>2])*(.5/n);g[h+((((m+1|0)>>>0)%3|0)<<2)>>2]=(+g[a+((((m+1|0)>>>0)%3|0)<<4)+(m<<2)>>2]+ +g[a+(m<<4)+((((m+1|0)>>>0)%3|0)<<2)>>2])*(.5/n);g[h+((((m+2|0)>>>0)%3|0)<<2)>>2]=(+g[a+((((m+2|0)>>>0)%3|0)<<4)+(m<<2)>>2]+ +g[a+(m<<4)+((((m+2|0)>>>0)%3|0)<<2)>>2])*(.5/n);m=c[h>>2]|0;a=c[h+4>>2]|0;j=c[h+8>>2]|0;l=c[h+12>>2]|0;c[b>>2]=m;m=b+4|0;c[m>>2]=a;m=b+8|0;c[m>>2]=j;m=b+12|0;c[m>>2]=l;i=h;return}}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+48|0;e=(c[a+48>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32>>2]=1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+32>>2]=+g[d+16>>2]+ +g[a+12>>2];g[d+32>>2]=-1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+4>>2]=1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16+4>>2]+ +g[a+12>>2];g[d+32+4>>2]=-1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16+4>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+8>>2]+ +g[a+12>>2];g[d+32+8>>2]=-1.0;ic[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+8>>2]-+g[a+12>>2];i=d;return}function Yg(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=i;i=i+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;n=c[a+96>>2]|0;if((n|0)>0){q=0;do{t=c[a+104>>2]|0;s=+g[t+(q<<4)>>2]*+g[a+12>>2];p=+g[t+(q<<4)+4>>2]*+g[a+16>>2];o=+g[t+(q<<4)+8>>2]*+g[a+20>>2];l=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=l*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=l;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[j>>2]=l;g[j+4>>2]=m;g[j+8>>2]=o;g[j+12>>2]=0.0}q=q+1|0}while((q|0)!=(n|0));s=+g[f>>2];m=s;n=(g[k>>2]=s,c[k>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}l=+g[e>>2];if(!(l>m)){i=r;return}c[e>>2]=n;g[f>>2]=l;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];i=r;return}function Zg(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;l=i;i=i+16|0;k=c*f+ +g[a+52>>2];j=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=k;g[h+56>>2]=j;g[h+60>>2]=0.0;j=+g[e>>2];k=+g[e+4>>2];c=+g[e+8>>2];d=+O(+(j*j+k*k+c*c));d=d*f>.7853981852531433?.7853981852531433/f:d;if(d<1.0000000474974513e-03)b=f*.5-d*f*f*f*.02083333395421505*d;else b=+R(+(d*.5*f))/d;o=j*b;n=k*b;j=c*b;q=+Q(+(d*f*.5));Wg(a,l);b=+g[l>>2];p=+g[l+12>>2];c=+g[l+8>>2];f=+g[l+4>>2];r=1.0/+O(+((q*p-o*b-n*f-j*c)*(q*p-o*b-n*f-j*c)+((j*p+q*c+o*f-n*b)*(j*p+q*c+o*f-n*b)+((q*b+o*p+n*c-j*f)*(q*b+o*p+n*c-j*f)+(j*b+(n*p+q*f)-o*c)*(j*b+(n*p+q*f)-o*c)))));d=(q*b+o*p+n*c-j*f)*r;k=r*(j*b+(n*p+q*f)-o*c);m=r*(j*p+q*c+o*f-n*b);c=r*(q*p-o*b-n*f-j*c);j=d*(2.0/(c*c+(m*m+(d*d+k*k))));f=k*(2.0/(c*c+(m*m+(d*d+k*k))));b=m*(2.0/(c*c+(m*m+(d*d+k*k))));g[h>>2]=1.0-(k*f+m*b);g[h+4>>2]=d*f-c*b;g[h+8>>2]=d*b+c*f;g[h+12>>2]=0.0;g[h+16>>2]=d*f+c*b;g[h+20>>2]=1.0-(d*j+m*b);g[h+24>>2]=k*b-c*j;g[h+28>>2]=0.0;g[h+32>>2]=d*b-c*f;g[h+36>>2]=k*b+c*j;g[h+40>>2]=1.0-(d*j+k*f);g[h+44>>2]=0.0;i=l;return}function _g(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=1.0/d*+g[b+72>>2]*j;h=1.0/d*j*+g[b+76>>2];d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){k=c[a+12>>2]|0;l=c[k+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[l+740>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[l+744>>2]|0)+208>>2]|0;while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[l+744>>2]|0)+208>>2]|0;while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=k+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[k+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;k=c[a+12>>2]|0}if((f|0)>(b|0))$g(a,b,f);if((e|0)<(d|0))b=e;else break}return}function ah(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;k=i;i=i+64|0;n=+g[d>>2];o=+g[d+4>>2];m=+g[d+8>>2];p=n*+g[b+4>>2]+o*+g[b+20>>2]+m*+g[b+36>>2];q=n*+g[b+8>>2]+o*+g[b+24>>2]+m*+g[b+40>>2];g[k+48>>2]=+g[b>>2]*n+ +g[b+16>>2]*o+ +g[b+32>>2]*m;g[k+48+4>>2]=p;g[k+48+8>>2]=q;g[k+48+12>>2]=0.0;ic[c[(c[a>>2]|0)+64>>2]&127](k+32|0,a,k+48|0);q=+g[k+32>>2];p=+g[k+32+4>>2];m=+g[k+32+8>>2];o=q*+g[b>>2]+p*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];n=q*+g[b+16>>2]+p*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=q*+g[b+32>>2]+p*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];r=c[(c[a>>2]|0)+64>>2]|0;p=-+g[k+48+4>>2];q=-+g[k+48+8>>2];g[k>>2]=-+g[k+48>>2];g[k+4>>2]=p;g[k+8>>2]=q;g[k+12>>2]=0.0;ic[r&127](k+16|0,a,k);q=+g[k+16>>2];p=+g[k+16+4>>2];h=+g[k+16+8>>2];l=q*+g[b>>2]+p*+g[b+4>>2]+h*+g[b+8>>2]+ +g[b+48>>2];j=q*+g[b+16>>2]+p*+g[b+20>>2]+h*+g[b+24>>2]+ +g[b+52>>2];h=q*+g[b+32>>2]+p*+g[b+36>>2]+h*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=o*+g[d>>2]+n*+g[d+4>>2]+m*+g[d+8>>2];h=l*+g[d>>2]+j*+g[d+4>>2]+h*+g[d+8>>2];g[f>>2]=h;j=+g[e>>2];if(!(j>h)){i=k;return}g[e>>2]=h;g[f>>2]=j;i=k;return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){k=c[a+12>>2]|0;l=c[k+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[l+28>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[l+32>>2]|0)+208>>2]|0;while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[l+32>>2]|0)+208>>2]|0;while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=k+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[k+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;k=c[a+12>>2]|0}if((f|0)>(b|0))bh(a,b,f);if((e|0)<(d|0))b=e;else break}return}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=c[a+12>>2]|0;j=c[h+(((d+b|0)/2|0)<<4)>>2]|0;k=c[h+(((d+b|0)/2|0)<<4)+4>>2]|0;l=c[h+(((d+b|0)/2|0)<<4)+8>>2]|0;e=b;f=d;while(1){g=e;while(1){e=c[h+(g<<4)+4>>2]|0;if((e|0)>=(k|0)){if((e|0)!=(k|0))break;e=c[h+(g<<4)>>2]|0;if((e|0)>=(j|0)){if((e|0)!=(j|0))break;if((c[h+(g<<4)+8>>2]|0)>=(l|0))break}}g=g+1|0}while(1){e=c[h+(f<<4)+4>>2]|0;if((k|0)>=(e|0)){if((k|0)!=(e|0))break;e=c[h+(f<<4)>>2]|0;if((j|0)>=(e|0)){if((j|0)!=(e|0))break;if((l|0)>=(c[h+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((g|0)>(f|0))e=g;else{e=h+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];h=h+(f<<4)|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=(c[a+12>>2]|0)+(f<<4)|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];e=g+1|0;f=f+-1|0}if((e|0)>(f|0))break;h=c[a+12>>2]|0}if((f|0)>(b|0))ch(a,b,f);if((e|0)>=(d|0)){i=m;return}ch(a,e,d);i=m;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;e=i;i=i+48|0;y=+g[d>>2];n=+g[b>>2];x=+g[d+16>>2];l=+g[b+4>>2];w=+g[d+32>>2];j=+g[b+8>>2];v=+g[d+4>>2];u=+g[d+20>>2];t=+g[d+36>>2];k=+g[d+8>>2];m=+g[d+24>>2];o=+g[d+40>>2];q=+g[b+16>>2];p=+g[b+20>>2];h=+g[b+24>>2];s=+g[b+32>>2];r=+g[b+36>>2];f=+g[b+40>>2];g[e>>2]=y*n+x*l+w*j;g[e+4>>2]=v*n+u*l+t*j;g[e+8>>2]=k*n+m*l+o*j;g[e+12>>2]=0.0;g[e+16>>2]=y*q+x*p+w*h;g[e+20>>2]=v*q+u*p+t*h;g[e+24>>2]=k*q+m*p+o*h;g[e+28>>2]=0.0;g[e+32>>2]=y*s+x*r+w*f;g[e+36>>2]=v*s+u*r+t*f;g[e+40>>2]=k*s+m*r+o*f;g[e+44>>2]=0.0;o=+g[d+48>>2];m=+g[d+52>>2];k=+g[d+56>>2];f=o*s+m*r+k*f+ +g[b+56>>2];h=o*q+m*p+k*h+ +g[b+52>>2];j=o*n+m*l+k*j+ +g[b+48>>2];c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+16+4>>2]=c[e+16+4>>2];c[a+16+8>>2]=c[e+16+8>>2];c[a+16+12>>2]=c[e+16+12>>2];c[a+32>>2]=c[e+32>>2];c[a+32+4>>2]=c[e+32+4>>2];c[a+32+8>>2]=c[e+32+8>>2];c[a+32+12>>2]=c[e+32+12>>2];g[a+48>>2]=j;g[a+52>>2]=h;g[a+56>>2]=f;g[a+60>>2]=0.0;i=e;return}function eh(a,b){a=+a;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0.0;m=(g[k>>2]=a,c[k>>2]|0);i=(g[k>>2]=b,c[k>>2]|0);a:do if((i<<1|0)!=0?(o=+N(+b),!((g[k>>2]=o,c[k>>2]|0)>>>0>2139095040|(m>>>23&255|0)==255)):0){if(m<<1>>>0<=i<<1>>>0)return +((m<<1|0)==(i<<1|0)?a*0.0:a);if(!(m>>>23&255)){if((m<<9|0)>-1){d=0;e=m<<9;do{d=d+-1|0;e=e<<1}while((e|0)>-1);e=d}else e=0;d=e;f=m<<1-e}else{d=m>>>23&255;f=m&8388607|8388608}if(!(i>>>23&255)){if((i<<9|0)>-1){e=0;h=i<<9;do{e=e+-1|0;h=h<<1}while((h|0)>-1)}else e=0;j=e;l=i<<1-e}else{j=i>>>23&255;l=i&8388607|8388608}h=f-l|0;b:do if((d|0)>(j|0)){i=(h|0)>-1;e=h;while(1){if(i){if((f|0)==(l|0))break}else e=f;f=e<<1;d=d+-1|0;h=f-l|0;if((d|0)>(j|0)){i=(h|0)>-1;e=h}else{e=h;h=(h|0)>-1;break b}}b=a*0.0;break a}else{e=h;h=(h|0)>-1}while(0);if(h){if((f|0)==(l|0)){b=a*0.0;break}}else e=f;if(e>>>0<8388608)do{e=e<<1;d=d+-1|0}while(e>>>0<8388608);if((d|0)>0)d=e+-8388608|d<<23;else d=e>>>(1-d|0);b=(c[k>>2]=d|m&-2147483648,+g[k>>2])}else n=3;while(0);if((n|0)==3)b=a*b/(a*b);return +b}function fh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0;n=i;i=i+16|0;if((f|0)>-3&(f+3|0)>-1){if((f+3|0)!=0?(c[6435]=(c[6435]|0)+1,h=yc((f+3<<4|3)+16|0)|0,(h|0)!=0):0){c[(h+4+15&-16)+-4>>2]=h;a=h+4+15&-16}else a=0;h=0;do{m=a+(h<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(f+3|0));m=a}else m=0;if((f|0)>-3){h=m;l=0;while(1){if(!l)j=0.0;else{a=l;k=.5;j=0.0;while(1){j=(a&1|0)==0?j:j+k;a=a>>1;if(!a)break;else k=k*.5}}k=j*2.0+-1.0;o=(+(l<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);p=+O(+(1.0-k*k));j=p*+R(+o);g[h>>2]=p*+Q(+o);g[h+4>>2]=j;g[h+8>>2]=k;g[h+12>>2]=0.0;l=l+1|0;if((l|0)==(f+3|0))break;else h=h+16|0}a=0;do{q=m+(a<<4)|0;h=m+(a<<4)+4|0;l=m+(a<<4)+8|0;o=+g[h>>2]*+g[e+4>>2]+ +g[d+4>>2];p=+g[l>>2]*+g[e+8>>2]+ +g[d+8>>2];g[q>>2]=+g[q>>2]*+g[e>>2]+ +g[d>>2];g[h>>2]=o;g[l>>2]=p;g[m+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0))}a=rc(b,m,f+3|0,1)|0;if(!m){i=n;return a|0}c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);i=n;return a|0}function gh(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=i;i=i+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;n=c[a+8>>2]|0;if((n|0)>0){q=0;do{t=c[a+16>>2]|0;s=+g[t+(q<<4)>>2];p=+g[t+(q<<4)+4>>2];o=+g[t+(q<<4)+8>>2];l=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=l*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=l;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[j>>2]=l;g[j+4>>2]=m;g[j+8>>2]=o;g[j+12>>2]=0.0}q=q+1|0}while((q|0)!=(n|0));s=+g[f>>2];m=s;n=(g[k>>2]=s,c[k>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}l=+g[e>>2];if(!(l>m)){i=r;return}c[e>>2]=n;g[f>>2]=l;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];i=r;return}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}c[a+4>>2]=e;do{s=+g[d>>2];x=d+4|0;q=+g[x>>2];v=d+8|0;o=+g[v>>2];y=d+16|0;m=+g[y>>2];w=d+20|0;i=+g[w>>2];e=d+24|0;k=+g[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+g[u>>2];r=+g[b>>2];r=t>2]=r;t=+g[u+16>>2];l=+g[b+16>>2];l=t>l?t:l;g[y>>2]=l;t=+g[u+4>>2];p=+g[b+4>>2];p=t>2]=p;t=+g[u+20>>2];h=+g[b+20>>2];h=t>h?t:h;g[w>>2]=h;t=+g[u+8>>2];n=+g[b+8>>2];n=t>2]=n;t=+g[u+24>>2];j=+g[b+24>>2];j=t>j?t:j;g[e>>2]=j;if(!(s!=r|q!=p|o!=n|m!=l)?!(k!=j|i!=h):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14)return d|0;y=c[a>>2]|0;return y|0}function ih(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;e=0.0;f=0.0;h=0.0;j=0;a:while(1){switch(j|0){case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}default:{}}if((i|0)>0){b=c[a+36>>2]|0;d=0;do{if(+g[b+(d*36|0)+32>>2]+(e*+g[b+(d*36|0)+20>>2]+f*+g[b+(d*36|0)+24>>2]+h*+g[b+(d*36|0)+28>>2])>0.0){b=0;d=16;break a}d=d+1|0}while((d|0)<(i|0))}j=j+1|0;if((j|0)>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function jh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+g[d>>2];if(+g[b>>2]<=o){i=+g[d+4>>2];if((((+g[b+4>>2]<=i?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{h=d+4|0;i=+g[d+4>>2]}g[d>>2]=o-f;m=i-f;g[h>>2]=m;p=+g[d+8>>2]-f;g[d+8>>2]=p;i=+g[d+16>>2]+f;g[d+16>>2]=i;n=+g[d+20>>2]+f;g[d+20>>2]=n;q=+g[d+24>>2]+f;g[d+24>>2]=q;l=+g[e>>2];if(l>0.0)g[d+16>>2]=l+i;else g[d>>2]=l+(o-f);i=+g[e+4>>2];if(i>0.0)g[d+20>>2]=i+n;else g[h>>2]=i+m;i=+g[e+8>>2];if(i>0.0)g[d+24>>2]=i+q;else g[d+8>>2]=i+p;h=hh(a,b)|0;a:do if(h){j=c[a+8>>2]|0;if((j|0)<=-1){h=c[a>>2]|0;break}if((j|0)>0){k=0;while(1){e=c[h+32>>2]|0;k=k+1|0;if(!e)break a;if((k|0)>=(j|0)){h=e;break}else h=e}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];lf(a,h,b);d=1;return d|0}function kh(a,d,e){a=a|0;d=d|0;e=e|0;si(a,d,e)|0;c[d+52>>2]=c[a+48>>2];c[d+56>>2]=c[a+52>>2];c[d+60>>2]=c[a+56>>2];c[d+64>>2]=c[a+60>>2];c[d+68>>2]=c[a+64>>2];c[d+72>>2]=c[a+68>>2];c[d+76>>2]=c[a+72>>2];c[d+80>>2]=c[a+76>>2];c[d+84>>2]=c[a+80>>2];c[d+88>>2]=c[a+84>>2];c[d+92>>2]=c[a+88>>2];c[d+96>>2]=c[a+92>>2];c[d+100>>2]=c[a+96>>2];c[d+104>>2]=c[a+100>>2];c[d+108>>2]=c[a+104>>2];c[d+112>>2]=c[a+108>>2];c[d+116>>2]=c[a+112>>2];c[d+120>>2]=c[a+116>>2];c[d+124>>2]=c[a+120>>2];c[d+128>>2]=c[a+124>>2];c[d+132>>2]=c[a+128>>2];c[d+136>>2]=c[a+132>>2];c[d+140>>2]=c[a+136>>2];c[d+144>>2]=c[a+140>>2];c[d+148>>2]=c[a+144>>2];c[d+152>>2]=c[a+148>>2];c[d+156>>2]=c[a+152>>2];c[d+160>>2]=c[a+156>>2];c[d+164>>2]=c[a+160>>2];c[d+168>>2]=c[a+164>>2];c[d+172>>2]=c[a+168>>2];c[d+176>>2]=c[a+172>>2];c[d+228>>2]=c[a+868>>2];c[d+212>>2]=c[a+872>>2];c[d+196>>2]=c[a+680>>2];c[d+180>>2]=c[a+696>>2];c[d+232>>2]=c[a+932>>2];c[d+216>>2]=c[a+936>>2];c[d+200>>2]=c[a+684>>2];c[d+184>>2]=c[a+700>>2];c[d+236>>2]=c[a+996>>2];c[d+220>>2]=c[a+1e3>>2];c[d+204>>2]=c[a+688>>2];c[d+188>>2]=c[a+704>>2];a=b[a+1300>>1]|0;c[d+244>>2]=a&255;c[d+248>>2]=(a&65535)>>>8&65535;return 12479}function lh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=(a[b+28>>0]|0)!=0;l=h?e:d;h=h?d:e;j=c[l+4>>2]|0;k=c[j+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(k|0)){if((c[b+16>>2]|0)<(k|0)){if(!k){d=0;e=g}else{c[6435]=(c[6435]|0)+1;d=yc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+12>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+20>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+20>>2]|0;if(e|0){if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=k;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(k|0))}c[b+12>>2]=k;if((k|0)<=0){i=m;return}d=0;do{if(!(c[j+64>>2]|0)){e=c[(c[j+24>>2]|0)+(d*80|0)+64>>2]|0;f=c[l+8>>2]|0;g=c[l+12>>2]|0;c[m>>2]=l;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=-1;c[m+20>>2]=d;g=c[b+4>>2]|0;g=Ib[c[(c[g>>2]|0)+8>>2]&31](g,m,h,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(d<<2)>>2]=g}else c[(c[b+20>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(k|0));i=m;return}function mh(){var a=0,b=0,d=0;c[6435]=(c[6435]|0)+1;a=yc(219)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}ml();ml();c[a>>2]=2896;b=a+52|0;d=a+4|0;c[d>>2]=c[5710];c[d+4>>2]=c[5711];c[d+8>>2]=c[5712];c[d+12>>2]=c[5713];d=a+20|0;c[d>>2]=c[5714];c[d+4>>2]=c[5715];c[d+8>>2]=c[5716];c[d+12>>2]=c[5717];d=a+36|0;c[d>>2]=c[5718];c[d+4>>2]=c[5719];c[d+8>>2]=c[5720];c[d+12>>2]=c[5721];c[b>>2]=c[5722];c[b+4>>2]=c[5723];c[b+8>>2]=c[5724];c[b+12>>2]=c[5725];b=a+116|0;d=a+68|0;c[d>>2]=c[5710];c[d+4>>2]=c[5711];c[d+8>>2]=c[5712];c[d+12>>2]=c[5713];d=a+84|0;c[d>>2]=c[5714];c[d+4>>2]=c[5715];c[d+8>>2]=c[5716];c[d+12>>2]=c[5717];d=a+100|0;c[d>>2]=c[5718];c[d+4>>2]=c[5719];c[d+8>>2]=c[5720];c[d+12>>2]=c[5721];c[b>>2]=c[5722];c[b+4>>2]=c[5723];c[b+8>>2]=c[5724];c[b+12>>2]=c[5725];b=a+180|0;d=a+132|0;c[d>>2]=c[5710];c[d+4>>2]=c[5711];c[d+8>>2]=c[5712];c[d+12>>2]=c[5713];d=a+148|0;c[d>>2]=c[5714];c[d+4>>2]=c[5715];c[d+8>>2]=c[5716];c[d+12>>2]=c[5717];d=a+164|0;c[d>>2]=c[5718];c[d+4>>2]=c[5719];c[d+8>>2]=c[5720];c[d+12>>2]=c[5721];c[b>>2]=c[5722];c[b+4>>2]=c[5723];c[b+8>>2]=c[5724];c[b+12>>2]=c[5725];c[a+196>>2]=0;return a|0}function nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[b+32>>2]|0;if(!d)f=0;else f=c[b+40>>2]|0;i=c[b+52>>2]|0;if(!i)g=0;else g=c[b+60>>2]|0;e=c[b+72>>2]|0;if(!e)h=0;else h=c[b+80>>2]|0;j=c[b+8>>2]|0;+$b[c[(c[j>>2]|0)+12>>2]&3](j,f,d,g,i,h,e,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function oh(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){e=c[b+720>>2]|0;h=0;do{g[e+(h*104|0)+88>>2]=0.0;h=h+1|0}while((h|0)!=(j|0))}e=c[b+752>>2]|0;if((e|0)>0){h=c[b+760>>2]|0;i=0;do{m=c[h+(i*44|0)+8>>2]|0;l=c[h+(i*44|0)+12>>2]|0;k=c[h+(i*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];f=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-f;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;f=+g[k+16>>2]-f;f=+O(+((n*q-r*o)*(n*q-r*o)+((r*f-p*q)*(r*f-p*q)+(p*o-n*f)*(p*o-n*f))));g[m+88>>2]=f+ +g[m+88>>2];g[l+88>>2]=f+ +g[l+88>>2];g[k+88>>2]=f+ +g[k+88>>2];i=i+1|0}while((i|0)!=(e|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}e=c[b+720>>2]|0;h=0;do{m=e+(h*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];h=h+1|0}while((h|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}i=c[b+720>>2]|0;e=0;f=0.0;do{r=+g[i+(e*104|0)+88>>2];f=f+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));f=1.0/f*d;e=c[b+712>>2]|0;h=0;do{m=i+(h*104|0)+88|0;g[m>>2]=+g[m>>2]/f;h=h+1|0}while((h|0)<(e|0));m=b+924|0;a[m>>0]=1;return}function ph(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[6435]=(c[6435]|0)+1;d=yc(39)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}g=i;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;if((c[b+872>>2]|0)>0){h=c[c[b+880>>2]>>2]|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2]}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0}e=c[b+872>>2]|0;if((e|0)!=(c[b+876>>2]|0)){h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}h=e|0?e<<1:1;if((e|0)>=(h|0)){h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}if(!h)d=0;else{c[6435]=(c[6435]|0)+1;d=yc((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+872>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=d;c[b+876>>2]=h;h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}function qh(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;c[6435]=(c[6435]|0)+1;b=yc((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)m=0;else{c[(b+4+15&-16)+-4>>2]=b;m=b+4+15&-16}j=(h+2|0)>>>0>1073741823?-1:h+2<<2;j=(j|0)==0?1:j;while(1){k=yc(j)|0;if(k|0)break;b=c[6564]|0;c[6564]=b+0;if(!b){l=7;break}jc[b&3]()}if((l|0)==7){h=Ya(4)|0;c[h>>2]=9640;pb(h|0,2800,251)}if((h|0)>-2){b=0;do{q=+(b|0)/+(h+1|0);p=+g[e>>2];o=+g[e+4>>2];o=o+q*(+g[f+4>>2]-o);n=+g[e+8>>2];n=n+q*(+g[f+8>>2]-n);g[m+(b<<4)>>2]=p+q*(+g[f>>2]-p);g[m+(b<<4)+4>>2]=o;g[m+(b<<4)+8>>2]=n;g[m+(b<<4)+12>>2]=0.0;g[k+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[6435]=(c[6435]|0)+1;b=yc(1271)|0;if(!b)j=0;else{c[(b+4+15&-16)+-4>>2]=b;j=b+4+15&-16}Kc(j,d,h+2|0,m,k);if(i&1|0){g[(c[j+720>>2]|0)+88>>2]=0.0;a[j+924>>0]=1}if(i&2|0){g[(c[j+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[j+924>>0]=1}if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}hd(k);if((h+2|0)>1)b=1;else return j|0;do{Rf(j,b+-1|0,b,0,0);b=b+1|0}while((b|0)!=(h+2|0));return j|0}function rh(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0;mc[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);l=c[h>>2]|0;o=c[h+4>>2]|0;i=c[h+8>>2]|0;n=c[f>>2]|0;j=c[f+4>>2]|0;b=c[f+8>>2]|0;m=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(m>0.0)l=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+m,c[k>>2]|0);else n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+m,c[k>>2]|0);if(p>0.0)d=(g[k>>2]=(c[k>>2]=o,+g[k>>2])+p,c[k>>2]|0);else{d=o;j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+p,c[k>>2]|0)}if(q>0.0)i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+q,c[k>>2]|0);else b=(g[k>>2]=(c[k>>2]=b,+g[k>>2])+q,c[k>>2]|0);m=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+O(+(m*m+p*p+q*q));q=q*+Sb[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=n;c[f+4>>2]=j;c[f+8>>2]=b;g[f+12>>2]=0.0;c[h>>2]=l;c[h+4>>2]=d;c[h+8>>2]=i;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function sh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+112|0;m=c[d+4>>2]|0;k=n;l=k+100|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));h=c[b+712>>2]|0;a:do if((h|0)>(m|0))e=b+720|0;else{if((h|0)<(m|0)?(c[b+716>>2]|0)<(m|0):0){if((m|0)!=0?(c[6435]=(c[6435]|0)+1,e=yc((m*104|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;e=c[b+712>>2]|0;f=0;while(1){if((f|0)>=(e|0))break;k=g+(f*104|0)|0;j=(c[b+720>>2]|0)+(f*104|0)|0;l=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));f=f+1|0}e=c[b+720>>2]|0;if(e|0){if(!((a[b+724>>0]&1)==0|(e|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=g;c[b+716>>2]=m}e=h;while(1){if((e|0)>=(m|0)){e=b+720|0;break a}k=c[b+720>>2]|0;c[k+(e*104|0)>>2]=0;k=k+(e*104|0)+4|0;j=n;l=k+100|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));e=e+1|0}}while(0);c[b+712>>2]=m;e=c[e>>2]|0;f=0;while(1){if((f|0)>=(m|0))break;k=e+(f*104|0)|0;j=(c[d+12>>2]|0)+(f*104|0)|0;l=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));f=f+1|0}i=n;return}function th(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){If(b,e|0?e<<1:1);e=c[b+4>>2]|0}j=(c[b+12>>2]|0)+(e*36|0)|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=c[d+4>>2]|0;if((k|0)<=0){c[j+4>>2]=k;k=j+20|0;d=d+20|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[6435]=(c[6435]|0)+1;e=yc((k<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}g=c[j+4>>2]|0;f=c[j+12>>2]|0;if((g|0)<=0)if(!f){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Qn(h|0,0,k<<2|0)|0}else i=11;else{e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));i=11}if((i|0)==11){if(a[j+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Qn(h|0,0,k<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=k;f=c[d+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(k|0));k=j+20|0;d=d+20|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function uh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[a+68+(d<<2)>>2]|0;h=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(h&65535))return;k=c[a+60>>2]|0;l=k+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;j=i+((f&65535)<<2)|0;f=i+((f&65535)<<2)+-4|0;while(1){i=e[j+-2>>1]|0;if(!(h&1)){h=e[j+2>>1]|0;if(((((e[k+(h<<6)+54+((1<>1]|0)>=(e[k+(i<<6)+48+((1<>1]|0)?(e[k+(i<<6)+54+((1<>1]|0)>=(e[k+(h<<6)+48+((1<>1]|0):0)?(e[k+(h<<6)+54+((1<<(1<>1]|0)>=(e[k+(i<<6)+48+((1<<(1<>1]|0):0)?(e[k+(i<<6)+54+((1<<(1<>1]|0)>=(e[k+(h<<6)+48+((1<<(1<>1]|0):0)?(o=c[a+92>>2]|0,m=k+(h<<6)|0,n=k+(i<<6)|0,Ib[c[(c[o>>2]|0)+12>>2]&31](o,m,n,g)|0,o=c[a+96>>2]|0,o|0):0)Ib[c[(c[o>>2]|0)+12>>2]&31](o,m,n,g)|0;k=k+(i<<6)+48+(d<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16}else{k=k+(i<<6)+54+(d<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16}b[l>>1]=(b[l>>1]|0)+-1<<16>>16;i=e[j>>1]|e[j+2>>1]<<16;h=e[f>>1]|e[f+2>>1]<<16;b[j>>1]=h;b[j+2>>1]=h>>>16;b[f>>1]=i;b[f+2>>1]=i>>>16;i=j+-4|0;f=f+-4|0;h=b[f>>1]|0;if((e[i>>1]|0)>=(h&65535))break;k=c[a+60>>2]|0;j=i}return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;g=c[a+28>>2]|0;c[k+32>>2]=g;g=(c[a+20>>2]|0)-g|0;c[k+32+4>>2]=g;c[k+32+8>>2]=b;c[k+32+12>>2]=d;j=k+32|0;f=2;g=g+d|0;while(1){if(!0){c[k+16>>2]=c[a+60>>2];c[k+16+4>>2]=j;c[k+16+8>>2]=f;b=wb(146,k+16|0)|0;if(b>>>0>4294963200){if(!0)e=25748;else e=c[(ib()|0)+64>>2]|0;c[e>>2]=0-b;b=-1}}else{rb(254,a|0);c[k>>2]=c[a+60>>2];c[k+4>>2]=j;c[k+8>>2]=f;b=wb(146,k|0)|0;if(b>>>0>4294963200){if(!0)e=25748;else e=c[(ib()|0)+64>>2]|0;c[e>>2]=0-b;b=-1}Ua(0)}if((g|0)==(b|0)){b=13;break}if((b|0)<0){b=15;break}g=g-b|0;e=c[j+4>>2]|0;if(b>>>0<=e>>>0)if((f|0)==2){c[a+28>>2]=(c[a+28>>2]|0)+b;h=e;e=j;f=2}else{h=e;e=j}else{h=c[a+44>>2]|0;c[a+28>>2]=h;c[a+20>>2]=h;h=c[j+12>>2]|0;b=b-e|0;e=j+8|0;f=f+-1|0}c[e>>2]=(c[e>>2]|0)+b;c[e+4>>2]=h-b;j=e}if((b|0)==13){j=c[a+44>>2]|0;c[a+16>>2]=j+(c[a+48>>2]|0);c[a+28>>2]=j;c[a+20>>2]=j}else if((b|0)==15){c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[j+4>>2]|0)|0}i=k;return d|0}function wh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;m=c[a+60>>2]|0;n=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(g&65535))return;j=m;i=h+((f&65535)<<2)|0;f=h+((f&65535)<<2)+-4|0;while(1){h=e[i+-2>>1]|0;if(!(g&1)){j=j+(h<<6)+48+(d<<1)|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}else{if(((((e[m+(n<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0)?(e[j+(h<<6)+54+((1<>1]|0)>=(e[m+(n<<6)+48+((1<>1]|0):0)?(e[m+(n<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[m+(n<<6)+48+((1<<(1<>1]|0):0)?(l=c[a+92>>2]|0,k=j+(h<<6)|0,Ob[c[(c[l>>2]|0)+8>>2]&63](l,m+(n<<6)|0,k)|0,l=c[a+96>>2]|0,l|0):0)Ob[c[(c[l>>2]|0)+8>>2]&63](l,m+(n<<6)|0,k)|0;j=j+(h<<6)+54+(d<<1)|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}b[m+(n<<6)+48+(d<<1)>>1]=(b[m+(n<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;h=e[i>>1]|e[i+2>>1]<<16;g=e[f>>1]|e[f+2>>1]<<16;b[i>>1]=g;b[i+2>>1]=g>>>16;b[f>>1]=h;b[f+2>>1]=h>>>16;h=i+-4|0;f=f+-4|0;g=b[f>>1]|0;if((e[h>>1]|0)>=(g&65535))break;j=c[a+60>>2]|0;i=h}return}function xh(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0;m=i;i=i+80|0;o=+g[h+52>>2]-+g[f+52>>2];n=+g[h+56>>2]-+g[f+56>>2];g[m+56>>2]=+g[h+48>>2]-+g[f+48>>2];g[m+56+4>>2]=o;g[m+56+8>>2]=n;g[m+56+12>>2]=0.0;if(Pc(d,f,e,h,m+56|0,m,1)|0){c[k>>2]=c[m+4>>2];c[k+4>>2]=c[m+4+4>>2];c[k+8>>2]=c[m+4+8>>2];c[k+12>>2]=c[m+4+12>>2];c[l>>2]=c[m+20>>2];c[l+4>>2]=c[m+20+4>>2];c[l+8>>2]=c[m+20+8>>2];c[l+12>>2]=c[m+20+12>>2];c[j>>2]=c[m+36>>2];c[j+4>>2]=c[m+36+4>>2];c[j+8>>2]=c[m+36+8>>2];c[j+12>>2]=c[m+36+12>>2];l=1;i=m;return l|0}if(!(Jd(d,f,e,h,m+56|0,m)|0)){l=0;i=m;return l|0}c[k>>2]=c[m+4>>2];c[k+4>>2]=c[m+4+4>>2];c[k+8>>2]=c[m+4+8>>2];c[k+12>>2]=c[m+4+12>>2];c[l>>2]=c[m+20>>2];c[l+4>>2]=c[m+20+4>>2];c[l+8>>2]=c[m+20+8>>2];c[l+12>>2]=c[m+20+12>>2];c[j>>2]=c[m+36>>2];c[j+4>>2]=c[m+36+4>>2];c[j+8>>2]=c[m+36+8>>2];c[j+12>>2]=c[m+36+12>>2];l=0;i=m;return l|0}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=i;i=i+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+O(+(e*e+h*h+f*f));n=e*q;m=f*q;h=h*q}if((Eb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){i=p;return}l=0;f=-999999984306749440.0;while(1){if(((Eb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-l|0)<128){d=(Eb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-l|0;if((d|0)>0)o=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=8}if((o|0)==8){o=0;j=0;do{ic[c[(c[b>>2]|0)+108>>2]&127](b,j,p+(j<<4)|0);j=j+1|0}while((j|0)!=(d|0));k=0;e=-3402823466385288598117041.0e14;j=-1;do{q=n*+g[p+(k<<4)>>2]+h*+g[p+(k<<4)+4>>2]+m*+g[p+(k<<4)+8>>2];r=q>e;j=r?k:j;e=r?q:e;k=k+1|0}while((k|0)!=(d|0));d=j}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;l=l+128|0;if((l|0)>=(Eb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}i=p;return}function zh(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[4976+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){k=nf(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!k){h=0;return h|0}a[k+52>>0]=i;c[k+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=k;i=c[j>>2]|0;if(!i)c[j+4>>2]=k;else{a[i+53>>0]=2;c[i+36>>2]=k;a[k+54>>0]=1;c[k+40>>2]=i}c[j>>2]=k;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[4988+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(zh(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(zh(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function Ah(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+g[d+344>>2];if(h!=0.0){l=1.0/h*+g[b+252>>2];k=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=l;g[d+372>>2]=k;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{f=c[b+232>>2]|0;if((f|0)==(c[b+236>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+232>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0);f=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]|0}c[(c[b+240>>2]|0)+(f<<2)>>2]=d;c[b+232>>2]=f+1}j=(e&3|0)==0;mc[c[(c[b>>2]|0)+36>>2]&127](b,d,j?1:2,j?-1:-3);return}function Bh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+g[d+344>>2];if(i!=0.0){n=1.0/i*+g[b+252>>2];m=1.0/i*+g[b+256>>2];g[d+364>>2]=1.0/i*+g[b+248>>2];g[d+368>>2]=n;g[d+372>>2]=m;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=h|0?h<<1:1,(h|0)<(l|0)):0){if(!l)k=0;else{c[6435]=(c[6435]|0)+1;h=yc((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+232>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+240>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+240>>2]|0;if(j){if(a[b+244>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=k;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}mc[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function Ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*.5;l=(+g[a+36>>2]-+g[a+20>>2])*.5;i=(+g[a+40>>2]-+g[a+24>>2])*.5;n=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);k=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a);B=(+g[a+32>>2]+ +g[a+16>>2])*.5;z=(+g[a+36>>2]+ +g[a+20>>2])*.5;x=(+g[a+40>>2]+ +g[a+24>>2])*.5;F=+g[b>>2];w=+N(+F);E=+g[b+4>>2];v=+N(+E);t=+g[b+8>>2];u=+N(+t);D=+g[b+16>>2];s=+N(+D);C=+g[b+20>>2];r=+N(+C);p=+g[b+24>>2];q=+N(+p);A=+g[b+32>>2];m=+N(+A);y=+g[b+36>>2];j=+N(+y);f=+g[b+40>>2];h=+N(+f);t=B*F+z*E+x*t+ +g[b+48>>2];p=B*D+z*C+x*p+ +g[b+52>>2];f=B*A+z*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function Dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0;H=+g[a+48>>2];z=+g[a+32>>2];G=+g[a+52>>2];x=+g[a+36>>2];E=+g[a+56>>2];v=+g[a+40>>2];F=(c[a+16>>2]|0)==0;m=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);k=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);m=(F?0.0:(H-z)*.5)+m;k=(F?0.0:(G-x)*.5)+k;i=(F?0.0:(E-v)*.5)+i;D=+g[b>>2];u=+N(+D);C=+g[b+4>>2];t=+N(+C);r=+g[b+8>>2];s=+N(+r);B=+g[b+16>>2];q=+N(+B);A=+g[b+20>>2];p=+N(+A);n=+g[b+24>>2];o=+N(+n);y=+g[b+32>>2];l=+N(+y);w=+g[b+36>>2];j=+N(+w);f=+g[b+40>>2];h=+N(+f);z=F?0.0:(H+z)*.5;x=F?0.0:(G+x)*.5;v=F?0.0:(E+v)*.5;r=z*D+x*C+v*r+ +g[b+48>>2];n=z*B+x*A+v*n+ +g[b+52>>2];f=z*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function Eh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;kd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;f=+g[b+192>>2];h=+g[b+196>>2];do if(f<=h){m=+g[b+892>>2];l=+g[b+908>>2];i=+g[b+924>>2];i=+ik(+W(+(+g[b+832>>2]*m+ +g[b+848>>2]*l+ +g[b+864>>2]*i),+(+g[b+828>>2]*m+ +g[b+844>>2]*l+ +g[b+860>>2]*i)),f,h);g[b+1084>>2]=i;if(i>2]=i-f;a[b+297>>0]=1;j=1;break}if(i>h){g[b+1088>>2]=i-h;a[b+297>>0]=1;j=1}else j=0}else j=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;f=+g[b+184>>2];h=+g[b+188>>2];i=(c[k>>2]=e,+g[k>>2]);do if(f<=h){if(i>h){g[b+1032>>2]=i-h;a[b+296>>0]=1;e=14;break}if(i>2]=i-f;a[b+296>>0]=1;e=14}else e=13}else e=13;while(0);if((e|0)==13?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=14;if((e|0)==14){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(j<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Fh(a){a=a|0;var b=0,d=0.0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,p=0.0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)i=0;else{c[(b+4+15&-16)+-4>>2]=b;i=b+4+15&-16}c[i+8>>2]=0;e=i+12|0;c[e>>2]=1065353216;f=i+16|0;c[f>>2]=1065353216;h=i+20|0;c[h>>2]=1065353216;g[i+24>>2]=0.0;b=i+44|0;g[b>>2]=.03999999910593033;c[i+52>>2]=0;c[i>>2]=7844;c[i+4>>2]=0;k=+g[a>>2];j=+g[a+4>>2];d=+g[a+8>>2];d=+g[a+((k>2]*.10000000149011612;if(d<.03999999910593033){p=+xz(i);n=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);k=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);o=i+28|0;p=p+ +g[o>>2];m=i+32|0;n=n+ +g[m>>2];l=i+36|0;k=k+ +g[l>>2];g[b>>2]=d;d=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);j=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);k=k-+Sb[c[(c[i>>2]|0)+48>>2]&15](i);g[o>>2]=p-d;g[m>>2]=n-j;g[l>>2]=k;g[i+40>>2]=0.0;b=c[i>>2]|0}else b=7844;k=+Sb[c[b+48>>2]&15](i);n=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);p=+Sb[c[(c[i>>2]|0)+48>>2]&15](i);n=+g[a+4>>2]*+g[f>>2]-n;p=+g[a+8>>2]*+g[h>>2]-p;g[i+28>>2]=+g[a>>2]*+g[e>>2]-k;g[i+32>>2]=n;g[i+36>>2]=p;g[i+40>>2]=0.0;return i|0}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);a=c[b+28>>2]|0;d=c[a+488>>2]|0;b:do if((d|0)>0){g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;d=d+-1|0}}while(0);c[a+256>>2]=(d|0)>0&1;a=c[b+32>>2]|0;d=c[a+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;Xg(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,Ab[c[c[e>>2]>>2]&255](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=b+52|0}else d=b+52|0;c[6435]=(c[6435]|0)+1;e=yc(191)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;c[e>>2]=7980;c[d>>2]=e;pd(e,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function Ih(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));e=+N(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));e=+N(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));e=+N(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+48>>2]|0)*f;g[b+880>>2]=+N(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+48>>2]|0)*e;g[b+944>>2]=+N(+e)/f}if(!(a[b+1314>>0]|0)){fg(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+48>>2]|0)*e;g[b+1008>>2]=+N(+e)/f;fg(b,d);return}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0;e=i;i=i+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=7028;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;k=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=k+j*0.0+h*0.0;g[e+32+92>>2]=k*0.0+j+h*0.0;g[e+32+96>>2]=k*0.0+j*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;mc[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=i;i=i+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){p=1.0;o=0.0;n=0.0}else{n=1.0/+O(+(e*e+f*f+h*h));p=e*n;o=f*n;n=h*n}d=c[b+52>>2]|0;m=+g[b+28+(((d+2|0)%3|0)<<2)>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+(d<<2)>>2]=c[b+28+(d<<2)>>2];k=p*m;l=o*m;m=n*m;e=k+ +g[q>>2];f=l+ +g[q+4>>2];j=m+ +g[q+8>>2];h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=j-n*h;j=n*h+(p*e+o*f);if(j>-999999984306749440.0){g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0}else j=-999999984306749440.0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;d=c[b+52>>2]|0;g[q+(d<<2)>>2]=-+g[b+28+(d<<2)>>2];e=k+ +g[q>>2];f=l+ +g[q+4>>2];m=m+ +g[q+8>>2];h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=m-n*h;if(!(n*h+(p*e+o*f)>j)){i=q;return}g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;i=q;return}function Lh(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;k=+k;l=+l;m=+m;var n=0;n=i;i=i+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];j=j-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=j;g[n+16+12>>2]=0.0;l=l-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=k-+g[b+52>>2];g[n+4>>2]=l;g[n+8>>2]=m;g[n+12>>2]=0.0;Rg(d,n+80|0,n+32|0,n+16|0,n,e,a+396|0,+g[a+344>>2],b+396|0,+g[b+344>>2]);i=n;return}function Mh(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;s=(j-f)*(n-h)-(k-h)*(m-f);q=(k-h)*(l-e)-(i-e)*(n-h);r=(i-e)*(m-f)-(j-f)*(l-e);if(+N(+(r*d+(s*b+q*c)))<1.1920928955078125e-07){d=-1.0;return +d}t=+g[a>>2];v=+g[a+4>>2];u=+g[a+8>>2];p=-(s*t+q*v+r*u-(r*h+(s*e+q*f)))/(r*d+(s*b+q*c));if(((p>1.1920928955078125e-06&p-1.1920928955078125e-06:0)?r*((m-(v+p*c))*(i-(t+p*b))-(j-(v+p*c))*(l-(t+p*b)))+(s*((j-(v+p*c))*(n-(u+p*d))-(k-(u+p*d))*(m-(v+p*c)))+q*((k-(u+p*d))*(l-(t+p*b))-(n-(u+p*d))*(i-(t+p*b))))>-1.1920928955078125e-06:0)?r*((f-(v+p*c))*(l-(t+p*b))-(m-(v+p*c))*(e-(t+p*b)))+(s*((m-(v+p*c))*(h-(u+p*d))-(n-(u+p*d))*(f-(v+p*c)))+q*((n-(u+p*d))*(e-(t+p*b))-(h-(u+p*d))*(l-(t+p*b))))>-1.1920928955078125e-06:0){v=p;return +v}v=-1.0;return +v}function Nh(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,j=0,k=0,l=0,m=0.0,n=0.0;k=i;i=i+48|0;m=1.0/+O(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;l=c[a+124>>2]|0;j=(c[a>>2]|0)+(l>>1)|0;if(l&1)h=c[(c[j>>2]|0)+h>>2]|0;ic[h&127](k,j,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;l=c[a+124>>2]|0;j=(c[a+4>>2]|0)+(l>>1)|0;if(l&1)h=c[(c[j>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[k+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[k+16+4>>2]=m;g[k+16+8>>2]=n;g[k+16+12>>2]=0.0;ic[h&127](k+32|0,j,k+16|0);n=+g[k+32>>2];b=+g[k+32+4>>2];d=+g[k+32+8>>2];e=+g[k+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[k+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[k>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;i=k;return}function Oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6435]=(c[6435]|0)+1,e=yc((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;e=c[b+88>>2]|0;if((e|0)>0){f=0;do{i=g+(f<<4)|0;h=(c[b+96>>2]|0)+(f<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6435]=(c[6435]|0)+1,f=yc((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=21;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=21}if((i|0)==21){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function Ph(){var b=0,d=0,e=0;c[6435]=(c[6435]|0)+1;b=yc(307)|0;if(!b)d=0;else{c[(b+4+15&-16)+-4>>2]=b;d=b+4+15&-16}c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;b=d+188|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+240>>2]=0;g[d+244>>2]=1.0;b=d+248|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[d+4>>2]=1065353216;b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[d+24>>2]=1065353216;b=d+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[d+44>>2]=1065353216;b=d+48|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[d+280>>0]=1;c[d+276>>2]=0;c[d+268>>2]=0;c[d+272>>2]=0;c[d+236>>2]=4;c[d>>2]=5088;c[6435]=(c[6435]|0)+1;b=yc(95)|0;if(!b){e=0;Ri(e);b=d+284|0;c[b>>2]=e;return d|0}c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16;Ri(b);e=d+284|0;c[e>>2]=b;return d|0}function Qh(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;Ig(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}else{if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;Ig(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}}function Rh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6435]=(c[6435]|0)+1,g=yc((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=22;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=22}if((j|0)==22){if(a[d+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6435]=(c[6435]|0)+1,f=yc((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=10;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=10}if((j|0)==10){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;si(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 12727}function Th(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;k=i;i=i+32|0;n=+g[a+56>>2];r=+g[a+72>>2]-n;m=+g[a+60>>2];p=+g[a+76>>2]-m;l=+g[a+64>>2];s=+g[a+80>>2]-l;o=+g[a+88>>2]-n;q=+g[a+92>>2]-m;h=+g[a+96>>2]-l;j=1.0/+O(+((r*q-p*o)*(r*q-p*o)+((p*h-s*q)*(p*h-s*q)+(s*o-r*h)*(s*o-r*h))));f=j*(p*h-s*q);h=j*(s*o-r*h);j=(r*q-p*o)*j;l=j*+g[b+8>>2]+(+g[b>>2]*f+ +g[b+4>>2]*h)-(f*n+h*m+j*l);if(!(l>=-d)|!(l<=d)){a=0;i=k;return a|0}e=0;while(1){mc[c[(c[a>>2]|0)+104>>2]&127](a,e,k+16|0,k);n=+g[k+16>>2];s=+g[k>>2]-n;p=+g[k+16+4>>2];o=+g[k+4>>2]-p;m=+g[k+16+8>>2];r=+g[k+8>>2]-m;q=1.0/+O(+((h*s-f*o)*(h*s-f*o)+((j*o-h*r)*(j*o-h*r)+(f*r-j*s)*(f*r-j*s))));e=e+1|0;if((h*s-f*o)*q*+g[b+8>>2]+(+g[b>>2]*q*(j*o-h*r)+ +g[b+4>>2]*q*(f*r-j*s))-(m*(h*s-f*o)*q+(n*q*(j*o-h*r)+p*q*(f*r-j*s)))<-d){e=0;b=5;break}if((e|0)>=3){e=1;b=5;break}}if((b|0)==5){i=k;return e|0}return 0}function Uh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[6435]=(c[6435]|0)+1;h=yc(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;d=c[b+4>>2]|0;c[j+24>>2]=d;if((d|0)!=(c[b+8>>2]|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=d|0?d<<1:1;if((d|0)>=(i|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((i<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[b+4>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i;i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function Vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;o=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+72>>2];t=+g[a+56>>2];r=+g[a+76>>2];q=+g[a+60>>2];n=+g[a+80>>2];m=+g[a+64>>2];E=+g[b>>2];y=+N(+E);D=+g[b+4>>2];x=+N(+D);k=+g[b+8>>2];l=+N(+k);C=+g[b+16>>2];w=+N(+C);B=+g[b+20>>2];v=+N(+B);i=+g[b+24>>2];j=+N(+i);A=+g[b+32>>2];s=+N(+A);z=+g[b+36>>2];p=+N(+z);f=+g[b+40>>2];h=+N(+f);k=(u+t)*.5*E+(r+q)*.5*D+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*C+(r+q)*.5*B+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*A+(r+q)*.5*z+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0;f=i;i=i+16|0;y=c[a+52>>2]|0;z=c[a+28+(((y+2|0)%3|0)<<2)>>2]|0;c[f>>2]=z;c[f+4>>2]=z;c[f+8>>2]=z;g[f+12>>2]=0.0;g[f+(y<<2)>>2]=(c[k>>2]=z,+g[k>>2])+ +g[a+28+(y<<2)>>2];l=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);o=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);l=l+ +g[f>>2];g[f>>2]=l;h=h+ +g[f+4>>2];g[f+4>>2]=h;o=o+ +g[f+8>>2];v=+N(+(+g[b>>2]));u=+N(+(+g[b+4>>2]));w=+N(+(+g[b+8>>2]));r=+N(+(+g[b+16>>2]));q=+N(+(+g[b+20>>2]));s=+N(+(+g[b+24>>2]));m=+N(+(+g[b+32>>2]));j=+N(+(+g[b+36>>2]));n=+N(+(+g[b+40>>2]));x=+g[b+48>>2];t=+g[b+52>>2];p=+g[b+56>>2];g[d>>2]=x-(o*w+(v*l+u*h));g[d+4>>2]=t-(o*s+(r*l+q*h));g[d+8>>2]=p-(o*n+(m*l+j*h));g[d+12>>2]=0.0;g[e>>2]=x+(o*w+(v*l+u*h));g[e+4>>2]=t+(o*s+(r*l+q*h));g[e+8>>2]=p+(o*n+(m*l+j*h));g[e+12>>2]=0.0;i=f;return}function Xh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)gj(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;jj(b,d+16|0,e);return}function Yh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;li(15122);Ab[c[(c[a>>2]|0)+8>>2]&255](a);Ab[c[(c[a>>2]|0)+12>>2]&255](a);b=c[a+24>>2]|0;li(15156);if(b|0){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;mc[f&127](b,e,a+28|0,c[a+24>>2]|0)}a=c[2357]|0;f=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=f;do if(!f){if(c[a+4>>2]|0){tb(d|0,0)|0;b=c[6434]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[b+4>>2]|0)+(((c[d>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;b=c[2357]|0;if(c[a+16>>2]|0)break}else b=a;b=c[b+20>>2]|0;c[2357]=b}else b=a;while(0);a=b+16|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f;if(f|0){i=d;return}do if(c[b+4>>2]|0){tb(d|0,0)|0;e=c[6434]|0;f=b+8|0;g[f>>2]=+g[f>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a>>2]|0)){b=c[2357]|0;break}else{i=d;return}}while(0);c[2357]=c[b+20>>2];i=d;return}function Zh(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=8840;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=(d|0)!=0^1;g[b+140>>2]=0.0;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+168>>2]=0;c[b+172>>2]=0;g[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Ri(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+80>>2]|0)){k=1.0;return +k}if(c[i+204>>2]&4|0){k=1.0;return +k}h=+g[b+8>>2];f=+g[b+12>>2];e=+g[b+16>>2];if(d){j=h;k=f}else{j=+g[i+4>>2]*h+ +g[i+8>>2]*f+ +g[i+12>>2]*e;k=h*+g[i+20>>2]+f*+g[i+24>>2]+e*+g[i+28>>2];e=h*+g[i+36>>2]+f*+g[i+40>>2]+e*+g[i+44>>2]}if(j*+g[a+84>>2]+k*+g[a+88>>2]+e*+g[a+92>>2]<+g[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=i;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+44>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function $h(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){Kf(b);return}c[6435]=(c[6435]|0)+1;d=yc(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=f+(e*12|0)|0;h=(c[b+16>>2]|0)+(e*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Kf(b);return}function ai(a,b,e){a=a|0;b=b|0;e=e|0;si(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 12680}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=i;i=i+32|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d|0){case 32:{if((a|0)==(b|0)&(d&64|0)==0){i=e;return}g[e+4>>2]=1.0;c[e+8>>2]=0;c[e+8+4>>2]=0;c[e+8+8>>2]=0;c[e+8+12>>2]=0;c[e>>2]=3540;c[e+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;f=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +Sb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+16>>2]=c[(+g[a+316>>2]<+g[b+316>>2]?a+316|0:b+316|0)>>2];c[e+24>>2]=a;c[e+28>>2]=b;We(c[a+1048>>2]|0,c[b+1048>>2]|0,e);i=e;return}case 16:{if((a|0)==(b|0)){i=e;return}c[e>>2]=3576;d=c[a+192>>2]|0;f=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +Sb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;We(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;We(c[b+928>>2]|0,c[a+988>>2]|0,e);i=e;return}default:{i=e;return}}}function ci(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0;h=i;i=i+96|0;g[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=2948;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;mc[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);d=c[h+8>>2]|0;if(!d){f=0;i=h;return f|0}if(!(c[d+236>>2]&2)){f=0;i=h;return f|0}if(c[d+204>>2]&4|0){f=0;i=h;return f|0}c[f>>2]=c[h+68>>2];c[f+4>>2]=c[h+68+4>>2];c[f+8>>2]=c[h+68+8>>2];c[f+12>>2]=c[h+68+12>>2];c[f+16>>2]=c[h+52>>2];c[f+16+4>>2]=c[h+52+4>>2];c[f+16+8>>2]=c[h+52+8>>2];c[f+16+12>>2]=c[h+52+12>>2];m=+g[f+16>>2];l=+g[f+20>>2];k=+g[f+24>>2];j=1.0/+O(+(m*m+l*l+k*k));g[f+16>>2]=m*j;g[f+20>>2]=l*j;g[f+24>>2]=k*j;c[f+32>>2]=c[h+4>>2];f=d;i=h;return f|0}function di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+288|0;f=d;g=e+104|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=c[d+108>>2]|0;e=c[b+396>>2]|0;a:do if((e|0)>(i|0))e=b+404|0;else{if((e|0)<(i|0)?(c[b+400>>2]|0)<(i|0):0){if((i|0)!=0?(c[6435]=(c[6435]|0)+1,h=yc((i<<2|3)+16|0)|0,(h|0)!=0):0){c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}else h=0;f=c[b+396>>2]|0;g=0;while(1){if((g|0)>=(f|0))break;c[h+(g<<2)>>2]=c[(c[b+404>>2]|0)+(g<<2)>>2];g=g+1|0}f=c[b+404>>2]|0;if(f|0){if(!((a[b+408>>0]&1)==0|(f|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=h;c[b+400>>2]=i}while(1){if((e|0)>=(i|0)){e=b+404|0;break a}c[(c[b+404>>2]|0)+(e<<2)>>2]=0;e=e+1|0}}while(0);c[b+396>>2]=i;e=c[e>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;c[e+(f<<2)>>2]=c[(c[d+116>>2]|0)+(f<<2)>>2];f=f+1|0}Yi(b+412|0,d+124|0);Yi(b+432|0,d+144|0);return}function ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ab[c[(c[b>>2]|0)+32>>2]&255](b);d=Ob[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;e=c[d+8>>2]|0;f=e;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+88>>2]=c[a+248>>2];c[e+92>>2]=c[a+252>>2];c[e+96>>2]=c[a+256>>2];c[e+100>>2]=c[a+260>>2];c[e>>2]=c[a+92>>2];c[e+4>>2]=c[a+96>>2];c[e+8>>2]=c[a+100>>2];c[e+12>>2]=c[a+104>>2];c[e+16>>2]=c[a+108>>2];c[e+20>>2]=c[a+116>>2];c[e+24>>2]=c[a+120>>2];c[e+28>>2]=c[a+124>>2];c[e+32>>2]=c[a+128>>2];c[e+36>>2]=c[a+132>>2];c[e+40>>2]=c[a+140>>2];c[e+44>>2]=c[a+144>>2];c[e+48>>2]=c[a+148>>2];c[e+52>>2]=c[a+152>>2];c[e+56>>2]=c[a+168>>2];c[e+60>>2]=c[a+172>>2];c[e+64>>2]=c[a+112>>2];c[e+68>>2]=c[a+156>>2];c[e+72>>2]=c[a+160>>2];c[e+76>>2]=c[a+164>>2];c[e+80>>2]=c[a+136>>2];yb[c[(c[b>>2]|0)+20>>2]&31](b,d,11938,1145853764,e);mj(a,b);td(a,b);Ab[c[(c[b>>2]|0)+36>>2]&255](b);return}function fi(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;d=c[b+4>>2]|0;if(d|0)xn(b+4|0,d);d=c[b+8>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;d=c[b+64>>2]|0;if(d|0)xn(b+64|0,d);d=c[b+68>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,j=0,k=0.0;j=i;i=i+32|0;c[j+16>>2]=c[d>>2];c[j+16+4>>2]=c[d+4>>2];c[j+16+8>>2]=c[d+8>>2];c[j+16+12>>2]=c[d+12>>2];e=+g[j+16>>2];h=+g[j+16+4>>2];f=+g[j+16+8>>2];if(e*e+h*h+f*f<1.4210854715202004e-14){c[j+16>>2]=-1082130432;c[j+16+4>>2]=-1082130432;c[j+16+8>>2]=-1082130432;g[j+16+12>>2]=0.0;e=-1.0;h=-1.0;f=-1.0}k=1.0/+O(+(e*e+h*h+f*f));g[j+16>>2]=e*k;g[j+16+4>>2]=h*k;g[j+16+8>>2]=f*k;Gd(j,b,j+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 13:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}default:e=+Sb[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[j+16+4>>2]+ +g[j+4>>2];k=e*+g[j+16+8>>2]+ +g[j+8>>2];g[a>>2]=e*+g[j+16>>2]+ +g[j>>2];g[a+4>>2]=h;g[a+8>>2]=k;g[a+12>>2]=0.0;i=j;return}function hi(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=8140;c[a+52>>2]=1;h=+g[b>>2];f=+g[b+4>>2];d=+g[b+8>>2];d=+g[b+((h>2]*.10000000149011612;if(d<.03999999910593033){j=+xz(a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];i=i+ +g[a+32>>2];h=h+ +g[a+36>>2];g[a+44>>2]=d;d=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=h-+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-d;g[a+32>>2]=i-f;g[a+36>>2]=h;g[a+40>>2]=0.0;e=c[a>>2]|0}else e=8140;h=+Sb[c[e+48>>2]&15](a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);j=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[b+4>>2]*+g[a+16>>2]-i;j=+g[b+8>>2]*+g[a+20>>2]-j;g[a+28>>2]=+g[b>>2]*+g[a+12>>2]-h;g[a+32>>2]=i;g[a+36>>2]=j;g[a+40>>2]=0.0;c[a+4>>2]=13;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,j=0,l=0,m=0,n=0,o=0.0;m=i;i=i+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){l=1065353216;j=0;e=0.0;d=0}else{o=1.0/+O(+(e*e+f*f+h*h));l=(g[k>>2]=e*o,c[k>>2]|0);n=(g[k>>2]=f*o,c[k>>2]|0);j=(g[k>>2]=h*o,c[k>>2]|0);e=+g[d+12>>2];d=n}c[m+32>>2]=7824;n=m+32+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[m+32+20>>2]=-999999984306749440.0;c[m+32+24>>2]=l;c[m+32+28>>2]=d;c[m+32+32>>2]=j;g[m+32+36>>2]=e;c[m+16>>2]=1566444395;c[m+16+4>>2]=1566444395;c[m+16+8>>2]=1566444395;g[m+16+12>>2]=0.0;b=c[b+92>>2]|0;l=c[(c[b>>2]|0)+8>>2]|0;g[m>>2]=-999999984306749440.0;g[m+4>>2]=-999999984306749440.0;g[m+8>>2]=-999999984306749440.0;g[m+12>>2]=0.0;mc[l&127](b,m+32|0,m,m+16|0);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];i=m;return}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0.0;e=+g[b+60>>2]*.5;l=c[b+68>>2]|0;h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];k=+O(+(h*h+j*j+k*k));f=c[b+64>>2]|0;do if(!(+g[d+(l<<2)>>2]>k*+g[b+52>>2])){h=+g[d+(f<<2)>>2];i=c[b+72>>2]|0;j=+g[d+(i<<2)>>2];k=+O(+(h*h+j*j));if(k>1.1920928955078125e-07){k=+g[b+56>>2]/k;g[a+(f<<2)>>2]=h*k;g[a+(l<<2)>>2]=-e;g[a+(i<<2)>>2]=j*k;break}else{g[a+(f<<2)>>2]=0.0;g[a+(l<<2)>>2]=-e;g[a+(i<<2)>>2]=0.0;break}}else{g[a+(f<<2)>>2]=0.0;g[a+(l<<2)>>2]=e;g[a+(c[b+72>>2]<<2)>>2]=0.0}while(0);if(!(+Sb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];m=h*h+j*j+k*k<1.4210854715202004e-14?-1.0:h;e=h*h+j*j+k*k<1.4210854715202004e-14?-1.0:j;k=h*h+j*j+k*k<1.4210854715202004e-14?-1.0:k;j=1.0/+O(+(k*k+(m*m+e*e)));h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*j*m;g[a+4>>2]=h*j*e+ +g[a+4>>2];g[a+8>>2]=h*j*k+ +g[a+8>>2];return}function ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 17310}c[b+52>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=Ob[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=0;a=c[g+8>>2]|0;while(1){c[a>>2]=c[e+(b<<4)>>2];c[a+4>>2]=c[e+(b<<4)+4>>2];c[a+8>>2]=c[e+(b<<4)+8>>2];c[a+12>>2]=c[e+(b<<4)+12>>2];b=b+1|0;if((b|0)==(f|0))break;else a=a+16|0}}else e=c[a+104>>2]|0;yb[c[(c[d>>2]|0)+20>>2]&31](d,g,19308,1497453121,e);return 17310}function li(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=c[2357]|0;if((c[d>>2]|0)==(a|0))b=d;else{b=c[d+24>>2]|0;a:do if(!b)e=5;else while(1){if((c[b>>2]|0)==(a|0))break a;b=c[b+28>>2]|0;if(!b){e=5;break}}while(0);do if((e|0)==5){while(1){b=yc(36)|0;if(b|0){e=9;break}b=c[6564]|0;c[6564]=b+0;if(!b){e=8;break}jc[b&3]();e=5}if((e|0)==8){f=Ya(4)|0;c[f>>2]=9640;pb(f|0,2800,251)}else if((e|0)==9){c[b>>2]=a;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;c[b+20>>2]=d;c[b+24>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;Vq(b);c[b+28>>2]=c[d+24>>2];c[d+24>>2]=b;break}}while(0);c[2357]=b}a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=b+16|0;e=c[a>>2]|0;c[a>>2]=e+1;if(e|0){i=f;return}tb(f|0,0)|0;e=c[6434]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);i=f;return}function mi(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Ab[c[(c[a>>2]|0)+8>>2]&255](a);return}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;m=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!m)if(!a){e=0.0;n=0.0;j=0.0;l=0.0;h=0.0;k=0.0;i=0.0;f=0.0}else{e=+g[a>>2];n=+g[a+12>>2];j=+g[a+16>>2];l=+g[a+20>>2];h=+g[a+24>>2];k=+g[a+28>>2];i=+g[a+4>>2];f=+g[a+8>>2]}else{e=+g[m>>2];if(!a){n=+g[m+12>>2];j=+g[m+16>>2];l=+g[m+20>>2];h=+g[m+24>>2];k=+g[m+28>>2];i=+g[m+4>>2];f=+g[m+8>>2];break}k=+g[a>>2];e=e>2];j=+g[a+16>>2];j=k>j?k:j;k=+g[m+4>>2];i=+g[a+4>>2];i=k>2];l=+g[a+20>>2];l=k>l?k:l;k=+g[m+8>>2];f=+g[a+8>>2];f=k>2];h=+g[a+24>>2];if(k>h){n=0.0;h=k;k=0.0}else{n=0.0;k=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=i;g[b+8>>2]=f;g[b+12>>2]=n;g[d>>2]=j;g[d+4>>2]=l;g[d+8>>2]=h;g[d+12>>2]=k;return}function oi(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=i;i=i+48|0;Wg(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];l=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];k=+g[b+8>>2];j=+g[b+4>>2];Wg(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=p*(l*n-f*h-j*e-k*m)+(l*f+n*h+k*e-j*m)*q+(f*m+(n*e+l*j)-k*h)*d-(n*m+l*k+j*h-f*e)*o;g[c+32+4>>2]=p*(n*m+l*k+j*h-f*e)+(q*(f*m+(n*e+l*j)-k*h)+(l*n-f*h-j*e-k*m)*o)-(l*f+n*h+k*e-j*m)*d;g[c+32+8>>2]=q*(n*m+l*k+j*h-f*e)+(l*n-f*h-j*e-k*m)*d+(l*f+n*h+k*e-j*m)*o-p*(f*m+(n*e+l*j)-k*h);g[c+32+12>>2]=(l*n-f*h-j*e-k*m)*q-p*(l*f+n*h+k*e-j*m)-(f*m+(n*e+l*j)-k*h)*o-(n*m+l*k+j*h-f*e)*d;Yd(a,c+32|0);i=c;return}function pi(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)xn(b,d);d=c[b+4>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6435]=(c[6435]|0)+1;f=yc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+268>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+276>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+276>>2]|0;if(g){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=h;c[b+272>>2]=i}c[(c[b+276>>2]|0)+(f<<2)>>2]=j;c[b+268>>2]=f+1;b=c[b+284>>2]|0;Ob[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function ri(b){b=b|0;var d=0;if((a[22496]|0)==0?Wa(22496)|0:0){if((a[22456]|0)==0?Wa(22456)|0:0){if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456)}c[5755]=c[5710];c[5756]=c[5711];c[5757]=c[5712];c[5758]=c[5713];c[5759]=c[5714];c[5760]=c[5715];c[5761]=c[5716];c[5762]=c[5717];c[5763]=c[5718];c[5764]=c[5719];c[5765]=c[5720];c[5766]=c[5721];c[5767]=c[5722];c[5768]=c[5723];c[5769]=c[5724];c[5770]=c[5725];_a(22496)}d=c[b+8>>2]|0;if(!d){b=c[b>>2]|0;return ((b|0)==0?23020:b+60|0)|0}else return d+4|0;return 0}function si(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=Zb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=Zb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=Zb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=Zb[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Cb[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;if((c[f+488>>2]|0)>0){e=0;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+28>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0))}f=c[a+32>>2]|0;if((c[f+488>>2]|0)>0)e=0;else return 12632;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+32>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0));return 12632}function ti(b,d,e,f){b=+b;d=d|0;e=e|0;f=f|0;var h=0,i=0;while(1){h=yc(140)|0;if(h|0){i=6;break}h=c[6564]|0;c[6564]=h+0;if(!h){i=5;break}jc[h&3]()}if((i|0)==5){f=Ya(4)|0;c[f>>2]=9640;pb(f|0,2800,251)}else if((i|0)==6){g[h>>2]=b;c[h+4>>2]=d;c[h+72>>2]=e;c[h+76>>2]=c[f>>2];c[h+76+4>>2]=c[f+4>>2];c[h+76+8>>2]=c[f+8>>2];c[h+76+12>>2]=c[f+12>>2];g[h+92>>2]=0.0;g[h+96>>2]=0.0;g[h+100>>2]=.5;g[h+104>>2]=0.0;g[h+108>>2]=0.0;g[h+112>>2]=.800000011920929;g[h+116>>2]=1.0;a[h+120>>0]=0;g[h+124>>2]=.004999999888241291;g[h+128>>2]=.009999999776482582;g[h+132>>2]=.009999999776482582;g[h+136>>2]=.009999999776482582;c[h+8>>2]=1065353216;c[h+12>>2]=0;c[h+12+4>>2]=0;c[h+12+8>>2]=0;c[h+12+12>>2]=0;c[h+28>>2]=1065353216;c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;c[h+48>>2]=1065353216;c[h+52>>2]=0;c[h+52+4>>2]=0;c[h+52+8>>2]=0;c[h+52+12>>2]=0;c[h+52+16>>2]=0;return h|0}return 0}function ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0)return;j=c[b+712>>2]|0;i=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(Eb[c[(c[d>>2]|0)+8>>2]&127](d)|0?(f=Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0,h=Eb[c[(c[d>>2]|0)+24>>2]&127](d)|0,(j|0)>0):0){e=c[b+720>>2]|0;g=0;a=i+(f<<2)|0;while(1){k=c[e+(g*104|0)+12>>2]|0;f=c[e+(g*104|0)+16>>2]|0;c[a>>2]=c[e+(g*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=f;g=g+1|0;if((g|0)==(j|0))break;else a=a+(h<<2)|0}}if(!(Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0))return;a=Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=Eb[c[(c[d>>2]|0)+32>>2]&127](d)|0;if((j|0)<=0)return;f=c[b+720>>2]|0;a=i+(a<<2)|0;e=0;while(1){b=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=b;c[a+8>>2]=k;e=e+1|0;if((e|0)==(j|0))break;else a=a+(g<<2)|0}return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0;q=i;i=i+16|0;if((e|0)<=0){i=q;return}p=0;do{o=d+(p<<4)|0;f=+g[a+60>>2]*.5;h=c[a+68>>2]|0;k=+g[b+(p<<4)>>2];m=+g[b+(p<<4)+4>>2];n=+g[b+(p<<4)+8>>2];n=+O(+(k*k+m*m+n*n));j=c[a+64>>2]|0;do if(!(+g[b+(p<<4)+(h<<2)>>2]>n*+g[a+52>>2])){k=+g[b+(p<<4)+(j<<2)>>2];l=c[a+72>>2]|0;m=+g[b+(p<<4)+(l<<2)>>2];n=+O(+(k*k+m*m));if(n>1.1920928955078125e-07){n=+g[a+56>>2]/n;g[q+(j<<2)>>2]=k*n;g[q+(h<<2)>>2]=-f;g[q+(l<<2)>>2]=m*n;break}else{g[q+(j<<2)>>2]=0.0;g[q+(h<<2)>>2]=-f;g[q+(l<<2)>>2]=0.0;break}}else{g[q+(j<<2)>>2]=0.0;g[q+(h<<2)>>2]=f;g[q+(c[a+72>>2]<<2)>>2]=0.0}while(0);c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];p=p+1|0}while((p|0)!=(e|0));i=q;return}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=9352;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;e=c[b+28>>2]|0;if((e|0)>0){j=0;do{f=c[b+36>>2]|0;g=f+(j*36|0)+4|0;h=f+(j*36|0)+12|0;i=c[h>>2]|0;d=f+(j*36|0)+16|0;if(i|0){if(a[d>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0)}c[h>>2]=0}a[d>>0]=1;c[h>>2]=0;c[g>>2]=0;c[f+(j*36|0)+8>>2]=0;j=j+1|0}while((j|0)!=(e|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function xi(b){b=b|0;var d=0;c[b>>2]=8452;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=9368;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function yi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=c[b+4>>2]|0;if((i|0)>=(d|0)){c[b+4>>2]=d;return}if((c[b+8>>2]|0)<(d|0)){if(!d){f=0;g=i}else{c[6435]=(c[6435]|0)+1;f=yc((d<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[b+4>>2]|0}if((g|0)>0){h=0;do{j=c[b+12>>2]|0;c[f+(h<<4)>>2]=c[j+(h<<4)>>2];c[f+(h<<4)+4>>2]=c[j+(h<<4)+4>>2];c[f+(h<<4)+8>>2]=c[j+(h<<4)+8>>2];c[f+(h<<4)+12>>2]=c[j+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[b+12>>2]|0;if(g|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=d;g=b+12|0}else g=b+12|0;f=i;do{j=c[g>>2]|0;c[j+(f<<4)>>2]=c[e>>2];c[j+(f<<4)+4>>2]=c[e+4>>2];c[j+(f<<4)+8>>2]=c[e+8>>2];c[j+(f<<4)+12>>2]=c[e+12>>2];f=f+1|0}while((f|0)!=(d|0));c[b+4>>2]=d;return}function zi(b){b=b|0;var d=0,e=0;c[6435]=(c[6435]|0)+1;d=yc(635)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;e=d+188|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;g[d+244>>2]=1.0;e=d+248|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+4>>2]=1065353216;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+24>>2]=1065353216;e=d+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+44>>2]=1065353216;e=d+48|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[d>>2]=4108;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;Od(d,b);return d|0}function Ai(b){b=b|0;var d=0;c[b>>2]=9012;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function Bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(c[d+28>>2]|0)!=1:0)c[d+28>>2]=f}else{if((b|0)!=(c[d>>2]|0)){b=c[b+8>>2]|0;yb[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;Qb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){f=1;b=13}else b=17;else{f=0;b=13}do if((b|0)==13){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=17;break}else{f=4;break}}if(f)b=17;else f=4}while(0);if((b|0)==17)f=3;c[d+44>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Ci(b){b=b|0;var d=0;c[b>>2]=4816;d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*+g[a+108>>2]*.5;m=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;k=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;t=+N(+(+g[b>>2]));s=+N(+(+g[b+4>>2]));r=+N(+(+g[b+8>>2]));n=+N(+(+g[b+16>>2]));l=+N(+(+g[b+20>>2]));j=+N(+(+g[b+24>>2]));w=+N(+(+g[b+32>>2]));v=+N(+(+g[b+36>>2]));f=+N(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;c[6435]=(c[6435]|0)+1;e=yc(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+4>>2]=3;c[e>>2]=4432;c[e+8>>2]=-1;c[e+12>>2]=-1;g[e+16>>2]=3402823466385288598117041.0e14;a[e+20>>0]=1;a[e+21>>0]=0;c[e+24>>2]=-1;c[e+28>>2]=b;Il();c[e+32>>2]=23268;g[e+36>>2]=0.0;g[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=4544;l=e+300|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function Fi(b,d,e){b=+b;d=d|0;e=e|0;var f=0,h=0;while(1){f=yc(140)|0;if(f|0){h=6;break}f=c[6564]|0;c[6564]=f+0;if(!f){h=5;break}jc[f&3]()}if((h|0)==5){e=Ya(4)|0;c[e>>2]=9640;pb(e|0,2800,251)}else if((h|0)==6){g[f>>2]=b;c[f+4>>2]=d;c[f+72>>2]=e;c[f+76>>2]=0;c[f+76+4>>2]=0;c[f+76+8>>2]=0;c[f+76+12>>2]=0;c[f+76+16>>2]=0;c[f+76+20>>2]=0;g[f+100>>2]=.5;g[f+104>>2]=0.0;g[f+108>>2]=0.0;g[f+112>>2]=.800000011920929;g[f+116>>2]=1.0;a[f+120>>0]=0;g[f+124>>2]=.004999999888241291;g[f+128>>2]=.009999999776482582;g[f+132>>2]=.009999999776482582;g[f+136>>2]=.009999999776482582;c[f+8>>2]=1065353216;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;c[f+12+12>>2]=0;c[f+28>>2]=1065353216;c[f+32>>2]=0;c[f+32+4>>2]=0;c[f+32+8>>2]=0;c[f+32+12>>2]=0;c[f+48>>2]=1065353216;c[f+52>>2]=0;c[f+52+4>>2]=0;c[f+52+8>>2]=0;c[f+52+12>>2]=0;c[f+52+16>>2]=0;return f|0}return 0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+28>>2]-+g[a+12>>2])*+g[b+8>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[b+12>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+16>>2]>=-+g[a+84>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Hi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;j=i;i=i+80|0;if((e|0)>0)f=0;else{i=j;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));f=j+32+4|0;h=0;do{k=b+(h<<4)|0;c[j+32>>2]=7824;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[j+32+20>>2]=-999999984306749440.0;c[j+32+24>>2]=c[k>>2];c[j+32+24+4>>2]=c[k+4>>2];c[j+32+24+8>>2]=c[k+8>>2];c[j+32+24+12>>2]=c[k+12>>2];c[j+16>>2]=1566444395;c[j+16+4>>2]=1566444395;c[j+16+8>>2]=1566444395;g[j+16+12>>2]=0.0;k=c[a+92>>2]|0;l=c[(c[k>>2]|0)+8>>2]|0;g[j>>2]=-999999984306749440.0;g[j+4>>2]=-999999984306749440.0;g[j+8>>2]=-999999984306749440.0;g[j+12>>2]=0.0;mc[l&127](k,j+32|0,j,j+16|0);k=d+(h<<4)|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];h=h+1|0}while((h|0)<(e|0));i=j;return}function Ii(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6435]=(c[6435]|0)+1;f=yc((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+96>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+104>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=h;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;vj(b);return}function Ji(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;h=c[b+4>>2]|0;if((h|0)<2383){if((c[b+8>>2]|0)<2383){c[6435]=(c[6435]|0)+1;d=yc(9551)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+4>>2]|0;if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;d=h;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;hd(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function Ki(){var b=0,d=0;c[6435]=(c[6435]|0)+1;b=yc(303)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;d=b+188|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;d=b+248|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+4>>2]=1065353216;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+24>>2]=1065353216;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+44>>2]=1065353216;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[b>>2]=5044;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function Li(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0;if((e|0)>0)f=0;else return;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));p=0;do{h=+g[a+12>>2];i=+g[b+(p<<4)>>2]*h;j=+g[a+16>>2];k=+g[b+(p<<4)+4>>2]*j;l=+g[a+20>>2];m=+g[b+(p<<4)+8>>2]*l;f=c[a+96>>2]|0;if((f|0)>0){n=c[a+104>>2]|0;o=0;q=-3402823466385288598117041.0e14;r=-1;do{s=i*+g[n+(o<<4)>>2]+k*+g[n+(o<<4)+4>>2]+m*+g[n+(o<<4)+8>>2];t=s>q;r=t?o:r;q=t?s:q;o=o+1|0}while((o|0)!=(f|0));m=+g[n+(r<<4)+4>>2]*j;s=+g[n+(r<<4)+8>>2]*l;g[d+(p<<4)>>2]=+g[n+(r<<4)>>2]*h;g[d+(p<<4)+4>>2]=m;g[d+(p<<4)+8>>2]=s;g[d+(p<<4)+12>>2]=q}else g[d+(p<<4)+12>>2]=-999999984306749440.0;p=p+1|0}while((p|0)!=(e|0));return}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){i=d;return 1}e=c[a+12>>2]|0;if(!(Zb[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){i=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=Ib[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=5976;c[d+32>>2]=f;yb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Ab[c[c[b>>2]>>2]&255](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Cb[c[(c[f>>2]|0)+60>>2]&127](f,b)}i=d;return 1}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+80|0;h=c[c[a>>2]>>2]|0;j=c[c[a+4>>2]>>2]|0;if(!(Ob[c[(c[b>>2]|0)+24>>2]&63](b,h,j)|0)){i=l;return}f=c[h+192>>2]|0;c[l+56>>2]=0;c[l+56+4>>2]=f;c[l+56+8>>2]=h;c[l+56+12>>2]=h+4;c[l+56+16>>2]=-1;c[l+56+20>>2]=-1;f=c[j+192>>2]|0;c[l+32>>2]=0;c[l+32+4>>2]=f;c[l+32+8>>2]=j;c[l+32+12>>2]=j+4;c[l+32+16>>2]=-1;c[l+32+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=Ib[c[(c[b>>2]|0)+8>>2]&31](b,l+56|0,l+32|0,0)|0;c[a+8>>2]=f;if(f|0)k=4}else k=4;if((k|0)==4){c[l>>2]=5604;c[l+4>>2]=0;c[l+8>>2]=l+56;c[l+12>>2]=l+32;if((c[d+8>>2]|0)!=1){e=+Mb[c[(c[f>>2]|0)+12>>2]&15](f,h,j,d,l);if(+g[d+12>>2]>e)g[d+12>>2]=e}else yb[c[(c[f>>2]|0)+8>>2]&31](f,l+56|0,l+32|0,d,l)}i=l;return}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){e=0;g=f}else{c[6435]=(c[6435]|0)+1;e=yc((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+24>>2]|0}if((g|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[b+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;e=c[e>>2]|0;if((i|0)<=0)return;f=0;do{c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));return}function Pi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){b=b+256|0;c[b>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+488>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+496>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+496>>2]|0;if(f){if(a[b+500>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=g;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;b=b+256|0;c[b>>2]=1;return}function Qi(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+ml)|0}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=8724;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[6435]=(c[6435]|0)+1;d=yc(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[g+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[g+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[g+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[g+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Hf(b);return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Hf(b);return}function Si(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){b=a+96|0;break}if((d+-21|0)>>>0<9){b=a+104|0;break}}else{if((b|0)<20&(d|0)==32){b=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){b=a+108|0;break}if((b|0)==8&(d|0)==8){b=a+60|0;break}if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+92|0;while(0);return c[b>>2]|0}function Ti(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=i;i=i+16|0;li(12899);Xb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,j,k,l);n=c[a+184>>2]|0;m=c[k+20>>2]|0;m=(n|0)>(m|0)?n:m;if((m|0)>0){n=0;do{+$b[c[(c[a>>2]|0)+40>>2]&3](a,n,b,d,e,f,h,j,k,l);n=n+1|0}while((n|0)<(m|0))}m=c[2357]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){i=o;return 0.0}do if(c[m+4>>2]|0){tb(o|0,0)|0;a=c[6434]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[o+4>>2]|0)-(c[a+4>>2]|0)+(((c[o>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[2357]|0;break}else{i=o;return 0.0}}while(0);c[2357]=c[m+20>>2];i=o;return 0.0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=d|0?d<<1:1,(d|0)<(h|0)):0){if(!h)f=0;else{c[6435]=(c[6435]|0)+1;d=yc((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+268>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+276>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+276>>2]|0;if(e){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=f;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;ic[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;ic[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;ic[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;ic[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Xi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;e=c[b+872>>2]|0;a:do if((e|0)>(i|0))e=b+880|0;else{if((e|0)<(i|0)?(c[b+876>>2]|0)<(i|0):0){if((i|0)!=0?(c[6435]=(c[6435]|0)+1,f=yc((i<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+872>>2]|0;g=0;while(1){if((g|0)>=(f|0))break;c[h+(g<<2)>>2]=c[(c[b+880>>2]|0)+(g<<2)>>2];g=g+1|0}f=c[b+880>>2]|0;if(f|0){if(!((a[b+884>>0]&1)==0|(f|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=h;c[b+876>>2]=i}while(1){if((e|0)>=(i|0)){e=b+880|0;break a}c[(c[b+880>>2]|0)+(e<<2)>>2]=0;e=e+1|0}}while(0);c[b+872>>2]=i;e=c[e>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}return}function Yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;e=c[b+4>>2]|0;a:do if((e|0)>(i|0))e=b+12|0;else{if((e|0)<(i|0)?(c[b+8>>2]|0)<(i|0):0){if((i|0)!=0?(c[6435]=(c[6435]|0)+1,f=yc((i<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+4>>2]|0;g=0;while(1){if((g|0)>=(f|0))break;c[h+(g<<2)>>2]=c[(c[b+12>>2]|0)+(g<<2)>>2];g=g+1|0}f=c[b+12>>2]|0;if(f|0){if(!((a[b+16>>0]&1)==0|(f|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i}while(1){if((e|0)>=(i|0)){e=b+12|0;break a}c[(c[b+12>>2]|0)+(e<<2)>>2]=0;e=e+1|0}}while(0);c[b+4>>2]=i;e=c[e>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}return}function Zi(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function _i(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=c[d>>2]|0;h=Zb[c[(c[h>>2]|0)+56>>2]&31](h,28)|0;j=(a[b+4>>0]|0)==0;i=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[h+4>>2]=b;c[h>>2]=5480;a[h+8>>0]=0;c[h+12>>2]=0;if(j){a[h+16>>0]=0;c[h+20>>2]=i;c[h+24>>2]=g;if(!(Ob[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return h|0;j=c[h+4>>2]|0;c[h+12>>2]=Ob[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[h+8>>0]=1;return h|0}else{a[h+16>>0]=1;c[h+20>>2]=i;c[h+24>>2]=g;if(!(Ob[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return h|0;j=c[h+4>>2]|0;c[h+12>>2]=Ob[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[h+8>>0]=1;return h|0}return 0}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2];a=a+60|0;d=b+24|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];f=+g[b+40>>2];return +f}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=+g[e+20>>2]*k+ +g[e+24>>2]*j+ +g[e+28>>2]*i;f=+g[e+36>>2]*k+ +g[e+40>>2]*j+ +g[e+44>>2]*i;g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0;a=a+60|0;d=b+24|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];f=+g[b+40>>2];return +f}return 0.0}function aj(){var b=0,d=0;c[6435]=(c[6435]|0)+1;b=yc(791)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;d=b+124|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;d=b+308|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;d=b+492|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;d=b+676|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function bj(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0,m=0;f=i;i=i+48|0;if((c[b+136>>2]|0)<=0){i=f;return}e=0;do{m=c[b+144>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;l=m+(e*284|0)+140|0;c[f+16>>2]=c[l>>2];c[f+16+4>>2]=c[l+4>>2];c[f+16+8>>2]=c[l+8>>2];c[f+16+12>>2]=c[l+12>>2];l=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;k=+g[m+(e*284|0)+108+(l<<2)>>2]+ +g[f+16+4>>2];j=+g[m+(e*284|0)+124+(l<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(l<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=k;g[f+8>>2]=j;g[f+12>>2]=0.0;mc[h&127](d,f+16|0,f,f+32|0);mc[c[(c[d>>2]|0)+8>>2]&127](d,f+16|0,(c[b+144>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+136>>2]|0));i=f;return}function cj(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((d|0)==(c[e+8>>2]|0))zl(e,f,g,h);else{l=b[e+52>>1]|0;j=c[d+12>>2]|0;a[e+52>>0]=0;a[e+53>>0]=0;On(d+16|0,e,f,g,h,i);a:do if((j|0)>1){m=d+24|0;do{if(a[e+54>>0]|0)break a;k=b[e+52>>1]|0;if(!((k&255)<<24>>24)){if((k&65535)>=256?(c[d+8>>2]&1|0)==0:0)break a}else{if((c[e+24>>2]|0)==1)break a;if(!(c[d+8>>2]&2))break a}a[e+52>>0]=0;a[e+53>>0]=0;On(m,e,f,g,h,i);m=m+8|0}while(m>>>0<(d+16+(j<<3)|0)>>>0)}while(0);a[e+52>>0]=l;a[e+53>>0]=(l&65535)>>>8}return}function dj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+240|0;c[f+80>>2]=d;d=f+96|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[f+136>>2]=c[f+80>>2];if((Bc(0,b,f+136|0,f,f+96|0)|0)>=0){d=c[2359]|0;if((a[9510]|0)<1)c[2359]=d&-33;if(!(c[2371]|0)){e=c[2370]|0;c[2370]=f+152;c[2366]=f+152;c[2364]=f+152;c[2371]=80;c[2363]=f+152+80;Bc(9436,b,f+136|0,f,f+96|0)|0;if(e|0){Ob[c[9472>>2]&63](9436,0,0)|0;c[2370]=e;c[2371]=0;c[2363]=0;c[2366]=0;c[2364]=0}}else Bc(9436,b,f+136|0,f,f+96|0)|0;c[2359]=c[2359]|d&32}d=(a[9511]|0)==10;do if((c[2378]|0)<0){if(!d?(g=c[2364]|0,g>>>0<(c[2363]|0)>>>0):0){c[2364]=g+1;a[g>>0]=10;break}om(9436,10)|0}else{if(!d?(h=c[2364]|0,h>>>0<(c[2363]|0)>>>0):0){c[2364]=h+1;a[h>>0]=10;break}om(9436,10)|0}while(0);Va()}function fj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0;e=i;i=i+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;l=e+32+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;mc[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);j=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;k=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(k+f)*2.0*(k+f)*2.0);g[d+4>>2]=b*.0833333283662796*((j+f)*2.0*(j+f)*2.0+(k+f)*2.0*(k+f)*2.0);g[d+8>>2]=b*.0833333283662796*((j+f)*2.0*(j+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;i=e;return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=+g[a+344>>2];if(!(d!=0.0))return;f=+g[a+348>>2];i=+g[a+352>>2];k=+g[a+356>>2];l=+g[b+4>>2]*i*d;h=+g[b+8>>2]*k*d;g[a+312>>2]=+g[a+312>>2]+ +g[b>>2]*f*d;g[a+316>>2]=+g[a+316>>2]+l;g[a+320>>2]=+g[a+320>>2]+h;f=+g[b>>2]*f;i=+g[b+4>>2]*i;k=+g[b+8>>2]*k;h=+g[c+4>>2];l=+g[c+8>>2];j=+g[c>>2];e=(+g[a+280>>2]*(h*k-l*i)+ +g[a+284>>2]*(l*f-j*k)+ +g[a+288>>2]*(j*i-h*f))*+g[a+548>>2];d=(+g[a+296>>2]*(h*k-l*i)+ +g[a+300>>2]*(l*f-j*k)+ +g[a+304>>2]*(j*i-h*f))*+g[a+552>>2];g[a+328>>2]=+g[a+328>>2]+(+g[a+264>>2]*(h*k-l*i)+ +g[a+268>>2]*(l*f-j*k)+ +g[a+272>>2]*(j*i-h*f))*+g[a+544>>2];g[a+332>>2]=+g[a+332>>2]+e;g[a+336>>2]=+g[a+336>>2]+d;return}function hj(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0;n=i;i=i+16|0;li(12859);+bc[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,j,k,l);+bc[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,j,k,l);+fc[c[(c[a>>2]|0)+36>>2]&1](a,b,d,k);m=c[2357]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){i=n;return 0.0}do if(c[m+4>>2]|0){tb(n|0,0)|0;a=c[6434]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[n+4>>2]|0)-(c[a+4>>2]|0)+(((c[n>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[2357]|0;break}else{i=n;return 0.0}}while(0);c[2357]=c[m+20>>2];i=n;return 0.0}function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6435]=(c[6435]|0)+1;f=yc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+212>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+220>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+220>>2]|0;if(g){if(a[b+224>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=h;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;Pi(c[d+28>>2]|0,d);Pi(c[d+32>>2]|0,d);return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)gj(e,b,d);e=c[a>>2]|0;if(!e)return;m=+g[b>>2];k=+g[e+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[e+180>>2]*(j*f-l*o)+ +g[e+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[e+188>>2];h=(j*f-l*o)*+g[e+196>>2]+(m*o-j*n)*+g[e+200>>2]+(l*n-m*f)*+g[e+204>>2];f=(j*f-l*o)*+g[e+212>>2]+(m*o-j*n)*+g[e+216>>2]+(l*n-m*f)*+g[e+220>>2];g[e+276>>2]=m*k+ +g[e+276>>2];g[e+280>>2]=k*l+ +g[e+280>>2];g[e+284>>2]=k*j+ +g[e+284>>2];g[e+292>>2]=i+ +g[e+292>>2];g[e+296>>2]=h+ +g[e+296>>2];g[e+300>>2]=f+ +g[e+300>>2];c[e+312>>2]=(c[e+312>>2]|0)+1;return}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+W(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function lj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((e|0)!=0&(b&3|0)!=0){f=e;while(1){if((a[b>>0]|0)==(d&255)<<24>>24)break a;b=b+1|0;e=f+-1|0;if((e|0)!=0&(b&3|0)!=0)f=e;else{f=e;e=(e|0)!=0;g=5;break}}}else{f=e;e=(e|0)!=0;g=5}while(0);b:do if((g|0)==5)if(e){if((a[b>>0]|0)!=(d&255)<<24>>24){e=_(d&255,16843009)|0;c:do if(f>>>0>3)while(1){h=c[b>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;f=f+-4|0;if(f>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!f){f=0;break}while(1){if((a[b>>0]|0)==(d&255)<<24>>24)break b;b=b+1|0;f=f+-1|0;if(!f){f=0;break}}}}else f=0;while(0);return (f|0?b:0)|0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=Eb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Ob[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Ob[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=Ob[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function nj(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=i;i=i+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;g[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){i=e;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;mc[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+32>>2]>b)g[a+32>>2]=b;b=+g[e>>2];if(+g[a+48>>2]>2]=b;b=+g[e+16+4>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e+4>>2];if(+g[a+52>>2]>2]=b;b=+g[e+16+8>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+8>>2];if(+g[a+56>>2]>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));i=e;return}function oj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0;e=i;i=i+96|0;j=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;mc[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(j+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(j+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;j=(j+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+j*j);g[d+4>>2]=b*.0833333283662796*(h*h+j*j);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;i=e;return}function pj(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function qj(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;a=c[a+740>>2]|0;d=0;do{n=c[a+(d*52|0)+8>>2]|0;f=c[a+(d*52|0)+12>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];i=+g[n+48>>2];k=a+(d*52|0)+36|0;r=+g[k>>2];m=a+(d*52|0)+40|0;p=+g[m>>2];l=a+(d*52|0)+44|0;o=+g[l>>2];j=-(+g[a+(d*52|0)+32>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(i-+g[f+48>>2])*o)*b);h=+g[n+88>>2]*j;g[n+40>>2]=s+r*h;g[n+44>>2]=q+p*h;g[n+48>>2]=o*h+i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;d=d+1|0}while((d|0)!=(e|0));return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function sj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)i=0;else{c[6435]=(c[6435]|0)+1;g=yc((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+328>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+336>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+336>>2]|0;if(h){if(a[b+340>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=i;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];Pg(b,d,e,f);return}function tj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;j=+g[a+24>>2];k=+g[a+28>>2];i=+g[a+32>>2];f=j*+g[b>>2]+k*+g[b+4>>2]+i*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=j*+g[b+16>>2]+k*+g[b+20>>2]+i*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+i*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function vj(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=i;i=i+96|0;a[b+88>>0]=1;if((a[22568]|0)==0?Wa(22568)|0:0){c[6139]=1065353216;c[6140]=0;c[6141]=0;c[6142]=0;c[6143]=0;c[6144]=1065353216;c[6145]=0;c[6146]=0;c[6147]=0;c[6148]=0;c[6149]=1065353216;g[6150]=0.0;c[6151]=-1082130432;c[6152]=0;c[6153]=0;c[6154]=0;c[6155]=0;c[6156]=-1082130432;c[6157]=0;c[6158]=0;c[6159]=0;c[6160]=0;c[6161]=-1082130432;g[6162]=0.0;_a(22568)}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));mc[c[(c[b>>2]|0)+76>>2]&127](b,24556,e,6);h=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+h;g[b+56>>2]=+g[e+48>>2]-h;g[b+76>>2]=+g[e+20>>2]+h;g[b+60>>2]=+g[e+68>>2]-h;g[b+80>>2]=+g[e+40>>2]+h;g[b+64>>2]=+g[e+88>>2]-h;i=e;return}function wj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=c[d>>2]|0;g=d+(c[h+-8>>2]|0)|0;h=c[h+-4>>2]|0;c[j>>2]=e;c[j+4>>2]=d;c[j+8>>2]=2776;d=j+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[j+12+40>>1]=0;a[j+12+42>>0]=0;a:do if((h|0)==(e|0)){c[j+48>>2]=1;Qb[c[(c[e>>2]|0)+20>>2]&7](e,j,g,g,1,0);d=(c[j+24>>2]|0)==1?g:0}else{yb[c[(c[h>>2]|0)+24>>2]&31](h,j,g,1,0);switch(c[j+36>>2]|0){case 0:{d=((c[j+40>>2]|0)==1?(c[j+28>>2]|0)==1:0)&(c[j+32>>2]|0)==1?c[j+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[j+24>>2]|0)!=1?!(((c[j+40>>2]|0)==0?(c[j+28>>2]|0)==1:0)&(c[j+32>>2]|0)==1):0){d=0;break}d=c[j+16>>2]|0}while(0);i=j;return d|0}function xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;j=+g[a+88>>2];k=+g[a+92>>2];i=+g[a+96>>2];f=j*+g[b>>2]+k*+g[b+4>>2]+i*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=j*+g[b+16>>2]+k*+g[b+20>>2]+i*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+i*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){j=c[a+12>>2]|0;k=c[j+(((b+d|0)/2|0)<<3)>>2]|0;e=b;f=d;while(1){while(1){h=e+1|0;if((c[j+(e<<3)>>2]|0)<(k|0))e=h;else{i=f;break}}while(1){g=j+(i<<3)|0;f=i+-1|0;if((k|0)<(c[g>>2]|0))i=f;else break}if((e|0)>(i|0))f=i;else{e=j+(e<<3)|0;l=c[e>>2]|0;j=c[e+4>>2]|0;m=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=m;e=(c[a+12>>2]|0)+(i<<3)|0;c[e>>2]=l;c[e+4>>2]=j;e=h}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))yj(a,b,f);if((e|0)<(d|0))b=e;else break}return}function zj(a,b,e){a=a|0;b=b|0;e=e|0;kh(a,b,e)|0;c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 12539}function Aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);m=i+ +g[a+28>>2];k=i+ +g[a+32>>2];i=i+ +g[a+36>>2];u=+N(+(+g[b>>2]));t=+N(+(+g[b+4>>2]));s=+N(+(+g[b+8>>2]));q=+N(+(+g[b+16>>2]));p=+N(+(+g[b+20>>2]));o=+N(+(+g[b+24>>2]));l=+N(+(+g[b+32>>2]));j=+N(+(+g[b+36>>2]));h=+N(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];f=+g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function Bj(a,c,d,e,f,h){a=a|0;c=c|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0;d=(d-+g[a+8>>2])*+g[a+40>>2];e=(e-+g[a+12>>2])*+g[a+44>>2];f=(f-+g[a+16>>2])*+g[a+48>>2];do if(!(d<=0.0)){i=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(d>=+(i&65535))){i=j&(~~d&65535)&65535|h;break}else{i=j&i&65535|h;break}}else i=h;while(0);b[c>>1]=i;do if(!(e<=0.0)){i=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(e>=+(i&65535))){i=j&(~~e&65535)&65535|h;break}else{i=j&i&65535|h;break}}else i=h;while(0);b[c+2>>1]=i;if(f<=0.0){h=h&65535;c=c+4|0;b[c>>1]=h;return}j=b[a+6>>1]|0;i=b[a+4>>1]|0;if(!(f>=+(j&65535))){h=i&(~~f&65535)&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}else{h=i&j&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}}function Cj(b){b=b|0;var d=0;c[b>>2]=8520;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+112>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+108>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+92>>2]|0;if(!d)return;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);return}function Dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Ej(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,h=0.0,i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0.0;j=+Q(+d);i=+R(+d);f=c[b+444>>2]|0;l=+N(+j)>1.1920928955078125e-07;d=(c[k>>2]=f,+g[k>>2]);if(l){m=+g[b+448>>2];m=+O(+((i*i/(j*j)+1.0)/(1.0/(m*m)+i*i/(j*j)/(d*d))));d=i*i;h=j*j;f=(g[k>>2]=m,c[k>>2]|0)}else{d=i*i;h=j*j}m=+O(+(h+0.0+d));n=(c[k>>2]=f,+g[k>>2])*.5;m=+R(+n)/m;n=+Q(+n);o=n*e+j*m*0.0-i*m*-0.0;h=n*0.0-i*m*e-m*0.0*0.0;d=n*0.0+m*0.0*0.0-j*m*e;e=-(m*0.0*e)-j*m*0.0-i*m*-0.0;g[a>>2]=i*m*h+(n*o+e*-(m*0.0))-d*-(j*m);g[a+4>>2]=d*-(m*0.0)+(n*h+e*-(j*m))-i*m*o;g[a+8>>2]=o*-(j*m)+(i*m*e+n*d)-h*-(m*0.0);g[a+12>>2]=0.0;return}function Fj(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){mc[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if((i&65535)<<1>>>0<=1)return;k=1;m=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){Zb[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(k>>>0<((i&65535)<<1|1)>>>0);return}function Gj(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0;f=c[a+732>>2]|0;if((f|0)<=0)return;a=c[a+740>>2]|0;e=0;do{d=+g[a+(e*52|0)+24>>2];if(d>0.0?(p=c[a+(e*52|0)+8>>2]|0,h=c[a+(e*52|0)+12>>2]|0,i=+g[p+8>>2],j=+g[h+8>>2]-i,k=+g[p+12>>2],l=+g[h+12>>2]-k,m=+g[p+16>>2],n=+g[h+16>>2]-m,o=+g[a+(e*52|0)+28>>2],o+(j*j+l*l+n*n)>1.1920928955078125e-07):0){d=(o-(j*j+l*l+n*n))/(d*(o+(j*j+l*l+n*n)))*b;q=d*+g[p+88>>2];g[p+8>>2]=i-j*q;g[p+12>>2]=k-l*q;g[p+16>>2]=m-n*q;d=d*+g[h+88>>2];g[h+8>>2]=+g[h+8>>2]+j*d;g[h+12>>2]=l*d+ +g[h+12>>2];g[h+16>>2]=n*d+ +g[h+16>>2]}e=e+1|0}while((e|0)!=(f|0));return}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;e=i;i=i+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;mc[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);l=+g[e>>2];m=+g[e+16>>2];j=+g[e+4>>2];k=+g[e+16+4>>2];f=+g[e+8>>2];h=+g[e+16+8>>2];g[d>>2]=+O(+((l-m)*(l-m)+(j-k)*(j-k)+(f-h)*(f-h)))*.5;g[b>>2]=(m+l)*.5;g[b+4>>2]=(k+j)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;i=e;return}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=+g[e+20>>2]*k+ +g[e+24>>2]*j+ +g[e+28>>2]*i;f=+g[e+36>>2]*k+ +g[e+40>>2]*j+ +g[e+44>>2]*i;g[a+52>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+56>>2]=h;g[a+60>>2]=f;g[a+64>>2]=0.0}k=+g[b+24>>2];g[a+68>>2]=(1.0-k)*+g[a+20>>2]+ +g[a+36>>2]*k;g[a+72>>2]=(1.0-k)*+g[a+24>>2]+ +g[a+40>>2]*k;g[a+76>>2]=(1.0-k)*+g[a+28>>2]+ +g[a+44>>2]*k;return +(+g[b+24>>2])}function Jj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;f=+g[b>>2];h=+g[b+16>>2];j=f>2];if((j+g[a+24>>2])return;k=f>h?b:b+16|0;if(+g[(+g[k>>2]>i?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f>2];if((j+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f>2];if((j+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;mc[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function Kj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0.0;h=i;i=i+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];j=+g[b+28>>2];l=+g[e+4>>2]-j*+g[d+4>>2];k=+g[e+8>>2]-j*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*j;g[h+4>>2]=l;g[h+8>>2]=k;g[h+12>>2]=0.0;f=+g[b+24>>2]+j+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;hc[e&15](b,d,h,f);i=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;hc[e&15](b,d,h,f);i=h;return}function Lj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6228;d=c[b+8>>2]|0;e=c[d+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[d+16>>2]|0)+(g*12|0)+8>>2]|0;if(f|0){Ab[c[c[f>>2]>>2]&255](f);h=c[b+4>>2]|0;Cb[c[(c[h>>2]|0)+60>>2]&127](h,f)}g=g+1|0}while((g|0)!=(e|0));d=c[b+8>>2]|0}$h(d);d=c[b+8>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+8>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;d=i;i=i+64|0;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+44>>2]=0;c[d+44+4>>2]=0;c[d+44+8>>2]=0;c[d+44+12>>2]=0;c[d+44+16>>2]=0;j=+g[b>>2];f=+g[b+4>>2];m=+g[b+8>>2];k=+g[b+12>>2];h=j*(2.0/(j*j+f*f+m*m+k*k));e=f*(2.0/(j*j+f*f+m*m+k*k));l=m*(2.0/(j*j+f*f+m*m+k*k));g[d>>2]=1.0-(f*e+m*l);g[d+4>>2]=j*e-k*l;g[d+8>>2]=j*l+k*e;g[d+12>>2]=0.0;g[d+16>>2]=j*e+k*l;g[d+20>>2]=1.0-(j*h+m*l);g[d+24>>2]=f*l-k*h;g[d+28>>2]=0.0;g[d+32>>2]=j*l-k*e;g[d+36>>2]=f*l+k*h;g[d+40>>2]=1.0-(j*h+f*e);g[d+44>>2]=0.0;Pd(a,d);i=d;return}function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;while(1){b=yc(152)|0;if(b|0){f=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){f=5;break}jc[b&3]()}if((f|0)==5){e=Ya(4)|0;c[e>>2]=9640;pb(e|0,2800,251)}else if((f|0)==6){c[b>>2]=4816;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;g[b+104>>2]=0.0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;g[b+112>>2]=0.0;g[b+108>>2]=0.0;return b|0}return 0}function Oj(){var b=0;c[6435]=(c[6435]|0)+1;b=yc(215)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b>>2]=4756;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){f=c[d+48>>2]|0;hh(b+64|0,f)|0;g=c[b+68>>2]|0;if(g|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+68>>2]=f;c[b+76>>2]=(c[b+76>>2]|0)+-1}else{f=c[d+48>>2]|0;hh(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[b+8>>2]=f;c[b+16>>2]=(c[b+16>>2]|0)+-1}f=c[d+52>>2]|0;g=c[d+56>>2]|0;if(!f)c[b+124+(c[d+60>>2]<<2)>>2]=g;else c[f+56>>2]=g;f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;ic[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);a[b+194>>0]=1;return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=Ib[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,0)|0;if(!b){i=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=5976;c[f+32>>2]=e;yb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Ab[c[c[b>>2]>>2]&255](b);g=c[a+24>>2]|0;Cb[c[(c[g>>2]|0)+60>>2]&127](g,b);i=f;return}function Rj(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;e=+g[a+28>>2];i=+g[a+32>>2];h=+g[a+36>>2];j=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a)+h;switch(c[a+52>>2]|0){case 0:{j=b*.25*(f+i)*(f+i)+b/12.0*(j+e)*(j+e)*4.0;g[d>>2]=b*.5*(f+i)*(f+i);g[d+4>>2]=j;g[d+8>>2]=j;g[d+12>>2]=0.0;return}case 2:{g[d>>2]=b*.25*(j+e)*(j+e)+b/12.0*h*h*4.0;g[d+4>>2]=b*.25*(j+e)*(j+e)+b/12.0*h*h*4.0;g[d+8>>2]=b*.5*(j+e)*(j+e);g[d+12>>2]=0.0;return}default:{i=b*.25*(j+e)*(j+e)+b/12.0*(f+i)*(f+i)*4.0;g[d>>2]=i;g[d+4>>2]=b*.5*(j+e)*(j+e);g[d+8>>2]=i;g[d+12>>2]=0.0;return}}}function Sj(b,d){b=b|0;d=d|0;c[b+8>>2]=0;c[b>>2]=6292;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+32>>2]=1566444395;c[b+36>>2]=1566444395;c[b+40>>2]=1566444395;g[b+44>>2]=0.0;c[b+48>>2]=-581039253;c[b+52>>2]=-581039253;c[b+56>>2]=-581039253;g[b+60>>2]=0.0;c[b+64>>2]=0;c[b+68>>2]=1;g[b+72>>2]=0.0;c[b+76>>2]=1065353216;c[b+80>>2]=1065353216;c[b+84>>2]=1065353216;g[b+88>>2]=0.0;c[b+4>>2]=31;if(!d)return;c[6435]=(c[6435]|0)+1;d=yc(79)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=-1;c[d+12>>2]=0;c[d+16>>2]=0;c[b+64>>2]=d;return}function Tj(a){a=a|0;var b=0;c[a>>2]=3068;b=c[a+92>>2]|0;Ab[c[c[b>>2]>>2]&255](b);b=c[a+92>>2]|0;if(b|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}b=c[a+96>>2]|0;Ab[c[c[b>>2]>>2]&255](b);b=c[a+96>>2]|0;if(b|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}b=c[a+100>>2]|0;Ab[c[c[b>>2]>>2]&255](b);b=c[a+100>>2]|0;if(b|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}b=c[a+104>>2]|0;Ab[c[c[b>>2]>>2]&255](b);b=c[a+104>>2]|0;if(b|0){c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0)}b=c[a+108>>2]|0;Ab[c[c[b>>2]>>2]&255](b);b=c[a+108>>2]|0;if(!b){kf(a);return}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);kf(a);return}function Uj(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0;c[6435]=(c[6435]|0)+1;h=yc(203)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=4872;i=h+60|0;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=f;g[h+56>>2]=.019999999552965164;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;g[h+52>>2]=e;g[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;g[h+172>>2]=0.0;g[h+16>>2]=0.0;g[h+20>>2]=0.0;g[h+44>>2]=29.399999618530273;g[h+24>>2]=55.0;g[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;g[h+36>>2]=.7853981852531433;g[h+40>>2]=.7071067690849304;g[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0;m=c[b+52>>2]|0;l=c[m+32>>2]|0;b=c[l>>2]|0;m=c[m+24>>2]|0;if((m|0)<=1){m=b;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return}j=+g[d>>2];k=+g[d+4>>2];i=+g[d+8>>2];f=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];d=1;h=0;while(1){b=c[l+(d<<2)>>2]|0;e=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];b=e>f;h=b?d:h;d=d+1|0;if((d|0)==(m|0))break;else f=b?e:f}m=c[l+(h<<2)>>2]|0;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return} -function Ld(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0;h=i;i=i+256|0;if(!(c[b+16>>2]|0)){K=c[b+12>>2]|0;b=c[b+20>>2]|0;n=+g[d>>2];q=+g[d+4>>2];u=+g[d+8>>2];k=+g[d+16>>2];r=+g[d+20>>2];j=+g[d+24>>2];m=+g[d+32>>2];s=+g[d+36>>2];l=+g[d+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];D=+g[d+56>>2];J=+g[e>>2];I=+g[e+16>>2];y=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];w=+g[e+36>>2];v=+g[e+8>>2];z=+g[e+24>>2];x=+g[e+40>>2];C=-+g[e+48>>2];B=-+g[e+52>>2];p=-+g[e+56>>2];d=c[(c[K>>2]|0)+64>>2]|0;A=-+g[b+48>>2];t=-+g[b+52>>2];o=-+g[b+56>>2];g[h+16>>2]=(n*J+k*I+m*y)*A+(n*H+k*G+m*w)*t+(n*v+k*z+m*x)*o;g[h+16+4>>2]=(q*J+r*I+s*y)*A+(q*H+r*G+s*w)*t+(q*v+r*z+s*x)*o;g[h+16+8>>2]=(u*J+j*I+l*y)*A+(u*H+j*G+l*w)*t+(u*v+j*z+l*x)*o;g[h+16+12>>2]=0.0;ic[d&127](h+168|0,K,h+16|0);o=+g[h+168>>2];t=+g[h+168+4>>2];A=+g[h+168+8>>2];y=F*J+E*I+D*y+(J*C+I*B+y*p)+((n*J+k*I+m*y)*o+(q*J+r*I+s*y)*t+(u*J+j*I+l*y)*A);w=F*H+E*G+D*w+(H*C+G*B+w*p)+((n*H+k*G+m*w)*o+(q*H+r*G+s*w)*t+(u*H+j*G+l*w)*A);A=F*v+E*z+D*x+(v*C+z*B+x*p)+((n*v+k*z+m*x)*o+(q*v+r*z+s*x)*t+(u*v+j*z+l*x)*A);x=+g[b+48>>2];l=+g[b+52>>2];z=+g[b+56>>2];j=z*A+(x*y+l*w)-+g[b+64>>2];v=+g[e>>2];u=+g[e+4>>2];t=+g[e+8>>2];s=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];o=+g[e+32>>2];m=+g[e+36>>2];k=+g[e+40>>2];n=(y-x*j)*s+(w-l*j)*r+(A-z*j)*q+ +g[e+52>>2];p=(y-x*j)*o+(w-l*j)*m+(A-z*j)*k+ +g[e+56>>2];g[h+32>>2]=t*(A-z*j)+(v*(y-x*j)+u*(w-l*j))+ +g[e+48>>2];g[h+32+4>>2]=n;g[h+32+8>>2]=p;g[h+32+12>>2]=0.0;p=+g[b+48>>2];n=+g[b+52>>2];l=+g[b+56>>2];g[h>>2]=v*p+u*n+t*l;g[h+4>>2]=p*s+n*r+l*q;g[h+8>>2]=p*o+n*m+l*k;g[h+12>>2]=0.0;hc[c[(c[f>>2]|0)+16>>2]&15](f,h,h+32|0,j);i=h;return}else{N=c[b+4>>2]|0;a[N+312>>0]=0;c[N>>2]=0;a[N+356>>0]=1;c[N+292>>2]=1566444395;c[N+296>>2]=1566444395;c[N+300>>2]=1566444395;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+336+4>>2]=0;c[N+336+8>>2]=0;c[N+336+12>>2]=0;a[N+336+16>>0]=0;a[N+332>>0]=a[N+332>>0]&-16;N=c[b+12>>2]|0;M=c[b+16>>2]|0;L=c[N+4>>2]|0;K=c[M+4>>2]|0;I=+Sb[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+Sb[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+168>>2]=9208;c[h+168+4>>2]=0;c[h+168+8>>2]=1065353216;c[h+168+12>>2]=0;g[h+168+16>>2]=0.0;c[h+168+20>>2]=b;c[h+168+24>>2]=O;c[h+168+28>>2]=N;c[h+168+32>>2]=M;c[h+168+36>>2]=L;c[h+168+40>>2]=K;g[h+168+44>>2]=I;g[h+168+48>>2]=J;a[h+168+52>>0]=0;c[h+168+60>>2]=-1;c[h+168+72>>2]=1;c[h+168+76>>2]=1;g[h+32+128>>2]=999999984306749440.0;c[h+32>>2]=c[d>>2];c[h+32+4>>2]=c[d+4>>2];c[h+32+8>>2]=c[d+8>>2];c[h+32+12>>2]=c[d+12>>2];c[h+32+16>>2]=c[d+16>>2];c[h+32+16+4>>2]=c[d+16+4>>2];c[h+32+16+8>>2]=c[d+16+8>>2];c[h+32+16+12>>2]=c[d+16+12>>2];c[h+32+32>>2]=c[d+32>>2];c[h+32+32+4>>2]=c[d+32+4>>2];c[h+32+32+8>>2]=c[d+32+8>>2];c[h+32+32+12>>2]=c[d+32+12>>2];c[h+32+48>>2]=c[d+48>>2];c[h+32+48+4>>2]=c[d+48+4>>2];c[h+32+48+8>>2]=c[d+48+8>>2];c[h+32+48+12>>2]=c[d+48+12>>2];c[h+32+64>>2]=c[e>>2];c[h+32+64+4>>2]=c[e+4>>2];c[h+32+64+8>>2]=c[e+8>>2];c[h+32+64+12>>2]=c[e+12>>2];c[h+32+80>>2]=c[e+16>>2];c[h+32+80+4>>2]=c[e+16+4>>2];c[h+32+80+8>>2]=c[e+16+8>>2];c[h+32+80+12>>2]=c[e+16+12>>2];c[h+32+96>>2]=c[e+32>>2];c[h+32+96+4>>2]=c[e+32+4>>2];c[h+32+96+8>>2]=c[e+32+8>>2];c[h+32+96+12>>2]=c[e+32+12>>2];c[h+32+112>>2]=c[e+48>>2];c[h+32+112+4>>2]=c[e+48+4>>2];c[h+32+112+8>>2]=c[e+48+8>>2];c[h+32+112+12>>2]=c[e+48+12>>2];Vc(h+168|0,h+32|0,f,0,0);i=h;return}}function Md(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+32|0;g=Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){s=d+4|0;f=e+4|0;s=c[s>>2]|0;c[f>>2]=s;f=d+8|0;f=c[f>>2]|0;s=e+8|0;c[s>>2]=f;s=d+12|0;s=c[s>>2]|0;f=e+12|0;c[f>>2]=s;f=d+16|0;f=c[f>>2]|0;d=e+16|0;c[d>>2]=f;i=t;return 19362}s=Ob[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[s+8>>2]|0;c[e>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;r=Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((r|0)>0){q=0;while(1){Yb[c[(c[d>>2]|0)+16>>2]&3](d,t+28|0,t+4|0,t+16|0,t+8|0,t+24|0,t+20|0,t,t+12|0,q);c[g+24>>2]=c[t>>2];c[g+28>>2]=c[t+4>>2];k=g+12|0;m=g+16|0;p=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[t+12>>2]|0){case 2:{j=c[t>>2]|0;if(j|0){j=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,j*3|0)|0;k=c[j+8>>2]|0;c[g+8>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[t>>2]|0)>0){l=c[t+24>>2]|0;m=0;do{n=l+(_(c[t+20>>2]|0,m)|0)|0;o=m*3|0;c[k+(o<<2)>>2]=c[n>>2];c[k+(o+1<<2)>>2]=c[n+4>>2];c[k+(o+2<<2)>>2]=c[n+8>>2];m=m+1|0}while((m|0)<(c[t>>2]|0))}yb[c[(c[f>>2]|0)+20>>2]&31](f,j,19243,1497453121,c[j+8>>2]|0)}break}case 3:{j=c[t>>2]|0;if(j|0){n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,8,j)|0;o=c[n+8>>2]|0;c[k>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t>>2]|0;if((j|0)>0){k=c[t+24>>2]|0;l=c[t+20>>2]|0;m=0;do{u=k+(_(l,m)|0)|0;b[o+(m<<3)>>1]=b[u>>1]|0;b[o+(m<<3)+2>>1]=b[u+2>>1]|0;b[o+(m<<3)+4>>1]=b[u+4>>1]|0;m=m+1|0}while((m|0)!=(j|0))}yb[c[(c[f>>2]|0)+20>>2]&31](f,n,19258,1497453121,c[n+8>>2]|0)}break}case 5:{j=c[t>>2]|0;if(j|0){k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;l=c[k+8>>2]|0;c[m>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;if((c[t>>2]|0)>0){j=0;do{u=(c[t+24>>2]|0)+(_(c[t+20>>2]|0,j)|0)|0;a[l+(j<<2)>>0]=a[u>>0]|0;a[l+(j<<2)+1>>0]=a[u+1>>0]|0;a[l+(j<<2)+2>>0]=a[u+2>>0]|0;j=j+1|0}while((j|0)<(c[t>>2]|0))}yb[c[(c[f>>2]|0)+20>>2]&31](f,k,19285,1497453121,c[k+8>>2]|0)}break}default:{}}switch(c[t+16>>2]|0){case 0:{j=c[t+4>>2]|0;if(j|0){j=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;k=c[j+8>>2]|0;c[g>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;l=c[t+4>>2]|0;if((l|0)>0){m=c[t+28>>2]|0;n=c[t+8>>2]|0;o=0;do{u=m+(_(n,o)|0)|0;c[k+(o<<4)>>2]=c[u>>2];c[k+(o<<4)+4>>2]=c[u+4>>2];c[k+(o<<4)+8>>2]=c[u+8>>2];o=o+1|0}while((o|0)!=(l|0))}yb[c[(c[f>>2]|0)+20>>2]&31](f,j,19308,1497453121,c[j+8>>2]|0)}break}case 1:{j=c[t+4>>2]|0;if(j|0){n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,32,j)|0;o=c[n+8>>2]|0;c[p>>2]=Zb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t+4>>2]|0;if((j|0)>0){k=c[t+28>>2]|0;l=c[t+8>>2]|0;m=0;do{u=k+(_(l,m)|0)|0;h[o+(m<<5)>>3]=+h[u>>3];h[o+(m<<5)+8>>3]=+h[u+8>>3];h[o+(m<<5)+16>>3]=+h[u+16>>3];m=m+1|0}while((m|0)!=(j|0))}yb[c[(c[f>>2]|0)+20>>2]&31](f,n,19327,1497453121,c[n+8>>2]|0)}break}default:{}}Cb[c[(c[d>>2]|0)+24>>2]&127](d,q);q=q+1|0;if((q|0)==(r|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);yb[c[(c[g>>2]|0)+20>>2]&31](f,s,19347,1497453121,c[s+8>>2]|0);f=d+4|0;u=e+4|0;f=c[f>>2]|0;c[u>>2]=f;u=d+8|0;u=c[u>>2]|0;f=e+8|0;c[f>>2]=u;f=d+12|0;f=c[f>>2]|0;u=e+12|0;c[u>>2]=f;d=d+16|0;d=c[d>>2]|0;u=e+16|0;c[u>>2]=d;i=t;return 19362}function Nd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=D|0?D<<1:1,(D|0)<(o|0)):0){if(!o){j=0;l=D}else{c[6435]=(c[6435]|0)+1;j=yc((o*152|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=c[b+88>>2]|0}if((l|0)>0){m=0;do{_m(j+(m*152|0)|0,(c[b+96>>2]|0)+(m*152|0)|0,152)|0;m=m+1|0}while((m|0)!=(l|0))}l=c[b+96>>2]|0;if(l|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=j;c[b+92>>2]=o;j=c[b+88>>2]|0}else j=D;c[b+88>>2]=j+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=h;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;g[C+(D*152|0)+48>>2]=-0.0;g[C+(D*152|0)+52>>2]=-0.0;g[C+(D*152|0)+56>>2]=-0.0;g[C+(D*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;o=c[b+(e*244|0)+240>>2]|0;B=c[b+(f*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=f;h=c[i+88>>2]|0;c[C+(D*152|0)+104>>2]=h;c[C+(D*152|0)+132>>2]=0;g[C+(D*152|0)+100>>2]=0.0;g[C+(D*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[C+(D*152|0)>>2]=x;g[C+(D*152|0)+4>>2]=y;g[C+(D*152|0)+8>>2]=z;g[C+(D*152|0)+12>>2]=0.0;A=(c[k>>2]=h,+g[k>>2]);if(o|0){j=(g[k>>2]=(+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z)*+g[o+544>>2],c[k>>2]|0);l=(g[k>>2]=(+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z)*+g[o+548>>2],c[k>>2]|0);m=(g[k>>2]=(+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z)*+g[o+552>>2],c[k>>2]|0)}else{j=0;l=0;m=0}c[C+(D*152|0)+64>>2]=j;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=m;g[C+(D*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[C+(D*152|0)+32>>2]=u;g[C+(D*152|0)+36>>2]=v;g[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){j=(g[k>>2]=(u*+g[B+264>>2]+v*+g[B+268>>2]+w*+g[B+272>>2])*+g[B+544>>2],c[k>>2]|0);l=(g[k>>2]=(u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2])*+g[B+548>>2],c[k>>2]|0);m=(g[k>>2]=(u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2])*+g[B+552>>2],c[k>>2]|0)}else{j=0;l=0;m=0}c[C+(D*152|0)+80>>2]=j;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=m;g[C+(D*152|0)+92>>2]=0.0;if(o|0){n=+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z;p=+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z;q=+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z}else{n=0.0;p=0.0;q=0.0}if(B|0){r=+g[B+264>>2]*u+ +g[B+268>>2]*v+ +g[B+272>>2]*w;s=u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2];t=u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(n*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[C+(D*152|0)+108>>2]=s;if(o|0){p=+g[b+(e*244|0)+192>>2];q=+g[b+(e*244|0)+196>>2];r=+g[b+(e*244|0)+200>>2];n=(+g[b+(e*244|0)+176>>2]+ +g[b+(e*244|0)+208>>2])*0.0+(+g[b+(e*244|0)+180>>2]+ +g[b+(e*244|0)+212>>2])*0.0+(+g[b+(e*244|0)+184>>2]+ +g[b+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;n=0.0}n=n+(p*x+q*y+r*z);if(!B){t=0.0;x=0.0;z=0.0;y=-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}t=+g[b+(f*244|0)+192>>2];x=+g[b+(f*244|0)+196>>2];z=+g[b+(f*244|0)+200>>2];y=(+g[b+(f*244|0)+176>>2]+ +g[b+(f*244|0)+208>>2])*-0.0+(+g[b+(f*244|0)+180>>2]+ +g[b+(f*244|0)+212>>2])*-0.0+(+g[b+(f*244|0)+184>>2]+ +g[b+(f*244|0)+216>>2])*-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}function Od(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;n=i;i=i+32|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;g[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;f=+g[d+92>>2];m=+g[d+96>>2];g[n+20>>2]=f;g[n+16>>2]=m;g[n+12>>2]=0.0;g[n+8>>2]=1.0;c[b+444>>2]=c[(f<0.0?n+12|0:f>1.0?n+8|0:n+20|0)>>2];g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+448>>2]=c[(m<0.0?n+4|0:m>1.0?n:n+16|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+4|0;h=b+20|0;j=b+36|0;l=b+52|0}else{Cb[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+4|0;h=b+20|0;j=b+36|0;l=b+52|0}c[b+68>>2]=c[e>>2];c[b+68+4>>2]=c[e+4>>2];c[b+68+8>>2]=c[e+8>>2];c[b+68+12>>2]=c[e+12>>2];c[b+84>>2]=c[h>>2];c[b+84+4>>2]=c[h+4>>2];c[b+84+8>>2]=c[h+8>>2];c[b+84+12>>2]=c[h+12>>2];c[b+100>>2]=c[j>>2];c[b+100+4>>2]=c[j+4>>2];c[b+100+8>>2]=c[j+8>>2];c[b+100+12>>2]=c[j+12>>2];c[b+116>>2]=c[l>>2];c[b+116+4>>2]=c[l+4>>2];c[b+116+8>>2]=c[l+8>>2];c[b+116+12>>2]=c[l+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];Cb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[5815]|0;c[5815]=e+1;c[b+508>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;m=0.0}else{c[b+204>>2]=e&-2;m=1.0/f}g[b+344>>2]=m;p=f*+g[b+384>>2];o=f*+g[b+388>>2];g[b+364>>2]=f*+g[b+380>>2];g[b+368>>2]=p;g[b+372>>2]=o;g[b+376>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[k>>2]=1.0/f,c[k>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[k>>2]=1.0/f,c[k>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[k>>2]=1.0/f,c[k>>2]|0):0;c[b+396>>2]=h;c[b+400>>2]=e;c[b+404>>2]=d;g[b+408>>2]=0.0;r=m*+g[b+352>>2];x=m*+g[b+356>>2];g[b+560>>2]=m*+g[b+348>>2];g[b+564>>2]=r;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];r=(c[k>>2]=h,+g[k>>2]);w=+g[b+8>>2];f=(c[k>>2]=e,+g[k>>2]);v=+g[b+12>>2];o=(c[k>>2]=d,+g[k>>2]);u=+g[b+20>>2];t=+g[b+24>>2];s=+g[b+28>>2];q=+g[b+36>>2];p=+g[b+40>>2];m=+g[b+44>>2];g[b+264>>2]=x*x*r+w*w*f+v*v*o;g[b+268>>2]=x*r*u+w*f*t+v*o*s;g[b+272>>2]=x*r*q+w*f*p+v*o*m;g[b+276>>2]=0.0;g[b+280>>2]=x*r*u+w*f*t+v*o*s;g[b+284>>2]=u*r*u+t*f*t+s*o*s;g[b+288>>2]=r*u*q+f*t*p+o*s*m;g[b+292>>2]=0.0;g[b+296>>2]=x*r*q+w*f*p+v*o*m;g[b+300>>2]=u*r*q+t*f*p+s*o*m;g[b+304>>2]=q*r*q+p*f*p+m*o*m;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;m=+g[b+344>>2];o=m*+g[b+352>>2];p=m*+g[b+356>>2];g[b+560>>2]=+g[b+348>>2]*m;g[b+564>>2]=o;g[b+568>>2]=p;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));i=n;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;n=c[a+192>>2]|0;m=+Sb[c[(c[n>>2]|0)+48>>2]&15](n);n=c[a+712>>2]|0;if((n|0)>0){o=0;do{l=c[a+720>>2]|0;f=l+(o*104|0)+8|0;q=+g[f>>2];h=l+(o*104|0)+12|0;p=+g[h>>2];d=l+(o*104|0)+16|0;k=+g[d>>2];i=q*+g[b>>2]+p*+g[b+4>>2]+k*+g[b+8>>2]+ +g[b+48>>2];j=q*+g[b+16>>2]+p*+g[b+20>>2]+k*+g[b+24>>2]+ +g[b+52>>2];k=q*+g[b+32>>2]+p*+g[b+36>>2]+k*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=i;g[h>>2]=j;g[d>>2]=k;g[l+(o*104|0)+20>>2]=0.0;d=l+(o*104|0)+24|0;p=+g[d>>2];h=l+(o*104|0)+28|0;q=+g[h>>2];f=l+(o*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[l+(o*104|0)+36>>2]=0.0;f=l+(o*104|0)+72|0;t=+g[f>>2];h=l+(o*104|0)+76|0;s=+g[h>>2];d=l+(o*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[l+(o*104|0)+84>>2]=0.0;l=c[l+(o*104|0)+96>>2]|0;d=hh(a+928|0,l)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if((f|0)>0){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);g[l>>2]=i-m;g[l+4>>2]=j-m;g[l+8>>2]=k-m;g[l+12>>2]=0.0;g[l+16>>2]=m+i;g[l+20>>2]=m+j;g[l+24>>2]=m+k;g[l+28>>2]=0.0;lf(a+928|0,d,l);o=o+1|0}while((o|0)!=(n|0))}Bg(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+Sb[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+892>>2]=+g[d>>2]-r;g[a+896>>2]=t;g[a+900>>2]=s;g[a+904>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+908>>2]=r+ +g[d+16>>2];g[a+912>>2]=s;g[a+916>>2]=t;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;n=c[o+32>>2]|0;yb[c[(c[n>>2]|0)+16>>2]&31](n,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}f=c[a+732>>2]|0;if((f|0)<=0){eg(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=a+1164|0;n=b+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];o=a+1180|0;n=b+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];a=a+1196|0;b=b+48|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}d=c[a+740>>2]|0;e=0;do{n=c[d+(e*52|0)+8>>2]|0;o=c[d+(e*52|0)+12>>2]|0;r=+g[n+8>>2]-+g[o+8>>2];s=+g[n+12>>2]-+g[o+12>>2];t=+g[n+16>>2]-+g[o+16>>2];t=+O(+(r*r+s*s+t*t));g[d+(e*52|0)+16>>2]=t;g[d+(e*52|0)+28>>2]=t*t;e=e+1|0}while((e|0)!=(f|0));d=c[a+740>>2]|0;e=0;do{g[d+(e*52|0)+24>>2]=(+g[(c[d+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[d+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[d+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0));eg(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=a+1164|0;n=b+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];o=a+1180|0;n=b+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];a=a+1196|0;b=b+48|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){E=0;i=F;return E|0}E=c[b>>2]|0;if(!(Zb[c[(c[d>>2]|0)+8>>2]&31](d,c[E+188>>2]|0)|0)){E=1;i=F;return E|0}b=c[E+192>>2]|0;D=c[a+216>>2]|0;if((c[b+4>>2]|0)!=32){c[F+32>>2]=0;c[F+32+4>>2]=b;c[F+32+8>>2]=E;c[F+32+12>>2]=E+4;c[F+32+16>>2]=-1;c[F+32+20>>2]=-1;bd(a+68|0,a+132|0,F+32|0,D);E=1;i=F;return E|0}if((E|0)==0?1:(c[E+236>>2]|0)!=8){E=1;i=F;return E|0}if(c[E+752>>2]|0?(c[E+988>>2]|0)==0:0)gg(E);A=+g[a+180>>2]-+g[a+116>>2];B=+g[a+184>>2]-+g[a+120>>2];C=+g[a+188>>2]-+g[a+124>>2];b=c[E+988>>2]|0;if(!b){q=c[E+752>>2]|0;if((q|0)>0){p=c[E+760>>2]|0;f=1.0;d=0;r=0;b=-1;l=1065353216;h=0;do{I=c[p+(r*44|0)+8>>2]|0;H=c[p+(r*44|0)+12>>2]|0;G=c[p+(r*44|0)+16>>2]|0;e=+Mh(a+116|0,A,B,C,+g[I+8>>2],+g[I+12>>2],+g[I+16>>2],+g[H+8>>2],+g[H+12>>2],+g[H+16>>2],+g[G+8>>2],+g[G+12>>2],+g[G+16>>2],f);if(e>0.0){f=e;d=d+1|0;b=r;l=(g[k>>2]=e,c[k>>2]|0);h=3}r=r+1|0}while((r|0)!=(q|0))}else{d=0;b=-1;l=1065353216;h=0}}else{c[F+32>>2]=3220;c[F+32+4>>2]=c[a+116>>2];c[F+32+4+4>>2]=c[a+116+4>>2];c[F+32+4+8>>2]=c[a+116+8>>2];c[F+32+4+12>>2]=c[a+116+12>>2];g[F+32+36>>2]=A;g[F+32+40>>2]=B;g[F+32+44>>2]=C;g[F+32+48>>2]=0.0;c[F+32+20>>2]=c[a+180>>2];c[F+32+20+4>>2]=c[a+180+4>>2];c[F+32+20+8>>2]=c[a+180+8>>2];c[F+32+20+12>>2]=c[a+180+12>>2];c[F+32+52>>2]=1065353216;c[F+32+56>>2]=0;c[F+32+60>>2]=0;ff(b,a+116|0,a+180|0,F+32|0);b=c[F+32+56>>2]|0;if(!b){d=0;b=-1;l=1065353216;h=0}else{d=1;b=(b-(c[E+760>>2]|0)|0)/44|0;l=c[F+32+52>>2]|0;h=3}}r=c[E+772>>2]|0;if((r|0)>0){q=c[E+780>>2]|0;f=(c[k>>2]=l,+g[k>>2]);p=0;do{I=c[q+(p*104|0)+8>>2]|0;x=+g[I+8>>2];y=+g[I+12>>2];z=+g[I+16>>2];I=c[q+(p*104|0)+12>>2]|0;o=+g[I+8>>2];s=+g[I+12>>2];t=+g[I+16>>2];I=c[q+(p*104|0)+16>>2]|0;u=+g[I+8>>2];v=+g[I+12>>2];w=+g[I+16>>2];e=+Mh(a+116|0,A,B,C,x,y,z,o,s,t,u,v,w,f);if(e>0.0){f=e;d=d+1|0;b=p;l=(g[k>>2]=e,c[k>>2]|0);h=4}I=c[q+(p*104|0)+20>>2]|0;j=+g[I+8>>2];m=+g[I+12>>2];n=+g[I+16>>2];e=+Mh(a+116|0,A,B,C,x,y,z,o,s,t,j,m,n,f);if(e>0.0){f=e;d=d+1|0;b=p;l=(g[k>>2]=e,c[k>>2]|0);h=4}e=+Mh(a+116|0,A,B,C,o,s,t,u,v,w,j,m,n,f);if(e>0.0){f=e;d=d+1|0;b=p;l=(g[k>>2]=e,c[k>>2]|0);h=4}e=+Mh(a+116|0,A,B,C,x,y,z,u,v,w,j,m,n,f);if(e>0.0){f=e;d=d+1|0;b=p;l=(g[k>>2]=e,c[k>>2]|0);h=4}p=p+1|0}while((p|0)!=(r|0))}if(!d){I=1;i=F;return I|0}if(!((c[k>>2]=l,+g[k>>2])<=+g[D+4>>2])){I=1;i=F;return I|0}c[F+32>>2]=0;c[F+32+4>>2]=b;m=+g[a+180>>2]-+g[a+116>>2];n=+g[a+184>>2]-+g[a+120>>2];o=+g[a+188>>2]-+g[a+124>>2];e=1.0/+O(+(m*m+n*n+o*o));if((h|0)==3){d=c[E+748+12>>2]|0;e=+g[d+(b*44|0)+20>>2];j=+g[d+(b*44|0)+24>>2];f=+g[d+(b*44|0)+28>>2];if(m*e+n*j+o*f>0.0){m=-e;j=-j;f=-f;e=0.0}else{m=e;e=+g[d+(b*44|0)+32>>2]}}else{m=-(m*e);j=-(n*e);f=-(o*e);e=0.0}c[F>>2]=E;c[F+4>>2]=F+32;g[F+8>>2]=m;g[F+12>>2]=j;g[F+16>>2]=f;g[F+20>>2]=e;c[F+24>>2]=l;+_b[c[(c[D>>2]|0)+12>>2]&15](D,F,1);I=1;i=F;return I|0}function Rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=i;i=i+400|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(k=(_(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+k>>0]|0):0){c[5802]=(c[5802]|0)+1;i=m;return}c[m+344+4>>2]=35;c[m+344+8>>2]=0;c[m+344+12>>2]=1065353216;c[m+344+16>>2]=1065353216;c[m+344+20>>2]=1065353216;g[m+344+24>>2]=0.0;c[m+344>>2]=3436;c[m+344+52>>2]=f;g[m+344+44>>2]=0.0;c[m+288+4>>2]=35;c[m+288+8>>2]=0;c[m+288+12>>2]=1065353216;c[m+288+16>>2]=1065353216;c[m+288+20>>2]=1065353216;g[m+288+24>>2]=0.0;c[m+288>>2]=3436;c[m+288+52>>2]=d;g[m+288+44>>2]=0.0;if((a[22456]|0)==0?Wa(22456)|0:0){if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456)}if((a[22456]|0)==0?Wa(22456)|0:0){if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456)}o=+g[f+232>>2]-+g[d+232>>2];n=+g[f+236>>2]-+g[d+236>>2];g[m>>2]=+g[f+228>>2]-+g[d+228>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(!(!(Jd(m+344|0,22840,m+288|0,22840,m,m+232|0)|0)?!(Pc(m+344|0,22840,m+288|0,22840,m,m+232|0,0)|0):0))h=18;if((h|0)==18?(k=m+16+4|0,a[m+16+152>>0]=0,c[k>>2]=0,c[k+4>>2]=0,c[k+8>>2]=0,c[k+12>>2]=0,c[k+16>>2]=0,c[k+20>>2]=0,c[m+16>>2]=3256,jd(b,m+232|0,f,0,0,d,0,0,m+16|0)|0):0){c[6435]=(c[6435]|0)+1;d=yc(235)|0;if(!d)k=0;else{c[(d+4+15&-16)+-4>>2]=d;k=d+4+15&-16}d=k+152|0;Qn(k|0,0,156)|0;c[k>>2]=3256;e=k+4|0;f=m+16+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=k+104|0;c[e>>2]=c[m+16+104>>2];c[e+4>>2]=c[m+16+104+4>>2];c[e+8>>2]=c[m+16+104+8>>2];c[e+12>>2]=c[m+16+104+12>>2];e=k+120|0;c[e>>2]=c[m+16+120>>2];c[e+4>>2]=c[m+16+120+4>>2];c[e+8>>2]=c[m+16+120+8>>2];c[e+12>>2]=c[m+16+120+12>>2];e=k+136|0;c[e>>2]=c[m+16+136>>2];c[e+4>>2]=c[m+16+136+4>>2];c[e+8>>2]=c[m+16+136+8>>2];c[e+12>>2]=c[m+16+136+12>>2];a[d>>0]=a[m+16+152>>0]|0;e=k+156|0;f=m+16+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;j=k;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(l=d|0?d<<1:1,(d|0)<(l|0)):0){if(!l)f=0;else{c[6435]=(c[6435]|0)+1;d=yc((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=l}c[(c[h+860>>2]|0)+(d<<2)>>2]=j;c[h+852>>2]=d+1;j=c[b+24>>2]|0;l=c[b+28>>2]|0;n=+g[j+348>>2];o=+g[l+348>>2];b=k+64|0;g[b>>2]=+g[b>>2]*(n>o?n:o);b=k+68|0;g[b>>2]=+g[b>>2]*(+g[j+360>>2]+ +g[l+360>>2])*.5}i=m;return}function Sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0;if(a[b+165>>0]|0){f=c[b+88>>2]|0;a:do if((f|0)>0&e){h=c[b+96>>2]|0;m=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];l=+g[b+168>>2];e=0;while(1){r=+g[h+(e<<4)>>2]-m;q=+g[h+(e<<4)+4>>2]-j;p=+g[h+(e<<4)+8>>2]-k;if(r*r+q*q+p*p<=l)break;e=e+1|0;if((e|0)>=(f|0))break a}return e|0}while(0);o=(c[b+32>>2]|0)+12|0;c[o>>2]=(c[o>>2]|0)+1;if((f|0)==(c[b+92>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+88>>2]|0}if((f|0)>0){h=0;do{o=e+(h<<4)|0;n=(c[b+96>>2]|0)+(h<<4)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+96>>2]|0;if(f|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=e;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=f;o=(c[b+96>>2]|0)+(e<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}h=c[b+108>>2]|0;b:do if((h|0)>0&e){e=c[b+116>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];i=0;while(1){p=+g[e+(i<<2)>>2]-j;q=+g[e+(i+1<<2)>>2]-k;r=+g[e+(i+2<<2)>>2]-l;f=i+3|0;if(p*p+q*q+r*r<=m)break;if((f|0)<(h|0))i=f;else break b}d=(i|0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((h|0)==(e|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0}i=c[b+116>>2]|0;if((h|0)<=0)if(!i)f=b+120|0;else o=34;else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));o=34}if((o|0)==34){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;f=c[b+108>>2]|0;h=n}else f=h}else{f=h;h=e}c[(c[b+116>>2]|0)+(f<<2)>>2]=c[d>>2];e=f+1|0;c[b+108>>2]=e;if((e|0)==(h|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0}i=c[b+116>>2]|0;if((h|0)<=0)if(!i)f=b+120|0;else o=48;else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));o=48}if((o|0)==48){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;e=c[b+108>>2]|0;h=n}else e=h}c[(c[b+116>>2]|0)+(e<<2)>>2]=c[d+4>>2];e=e+1|0;c[b+108>>2]=e;if((e|0)==(h|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0}i=c[b+116>>2]|0;if((h|0)<=0)if(!i)f=b+120|0;else o=62;else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));o=62}if((o|0)==62){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;e=c[b+108>>2]|0}else e=h}o=c[b+116>>2]|0;c[o+(e<<2)>>2]=c[d+8>>2];d=e+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=o;d=((d|0)/3|0)+-1|0;return d|0}function Td(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;k=i;i=i+16|0;if(!(a[b+1308>>0]|0)){i=k;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;sd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Ab[c[(c[b>>2]|0)+44>>2]&255](b);e=+g[b+1284>>2];f=+g[b+1288>>2];h=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){l=(a[b+1300>>0]|0)==0;j=c[(l?b+1160|0:b+1096|0)>>2]|0;d=c[(l?b+1144|0:b+1080|0)>>2]|0;c[k>>2]=c[(l?b+1128|0:b+1064|0)>>2];c[k+4>>2]=d;c[k+8>>2]=j;g[k+12>>2]=0.0;Lh(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,k,e,f,h,e,f,h)}if(+g[b+700>>2]>=+g[b+684>>2]){d=(a[b+1300>>0]|0)==0;l=c[(d?b+1164|0:b+1100|0)>>2]|0;j=c[(d?b+1148|0:b+1084|0)>>2]|0;c[k>>2]=c[(d?b+1132|0:b+1068|0)>>2];c[k+4>>2]=j;c[k+8>>2]=l;g[k+12>>2]=0.0;Lh(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,k,e,f,h,e,f,h)}if(+g[b+704>>2]>=+g[b+688>>2]){d=(a[b+1300>>0]|0)==0;l=c[(d?b+1168|0:b+1104|0)>>2]|0;j=c[(d?b+1152|0:b+1088|0)>>2]|0;c[k>>2]=c[(d?b+1136|0:b+1072|0)>>2];c[k+4>>2]=j;c[k+8>>2]=l;g[k+12>>2]=0.0;Lh(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,k,e,f,h,e,f,h)}j=0;do{e=+g[b+868+(j<<6)>>2];f=+g[b+868+(j<<6)+4>>2];h=+ik(+g[b+1192+(j<<2)>>2],e,f);g[b+868+(j<<6)+52>>2]=h;do if(!(e>f)){if(e>h){c[b+868+(j<<6)+56>>2]=1;d=b+868+(j<<6)+48|0;g[d>>2]=h-e;if(h-e>3.1415927410125732){g[d>>2]=h-e+-6.2831854820251465;d=19;break}if(!(h-e<-3.1415927410125732)){d=19;break}g[d>>2]=h-e+6.2831854820251465;d=19;break}d=b+868+(j<<6)+56|0;if(!(f>2]=0;d=18;break}c[d>>2]=2;d=b+868+(j<<6)+48|0;g[d>>2]=h-f;if(h-f>3.1415927410125732){g[d>>2]=h-f+-6.2831854820251465;d=19;break}if(h-f<-3.1415927410125732){g[d>>2]=h-f+6.2831854820251465;d=19}else d=19}else{c[b+868+(j<<6)+56>>2]=0;d=18}while(0);if((d|0)==18?(d=0,a[b+868+(j<<6)+44>>0]|0):0)d=19;if((d|0)==19){K=b+1208+(j<<4)|0;c[k>>2]=c[K>>2];c[k+4>>2]=c[K+4>>2];c[k+8>>2]=c[K+8>>2];c[k+12>>2]=c[K+12>>2];K=b+428+(j*84|0)|0;d=c[b+28>>2]|0;J=+g[d+4>>2];I=+g[d+20>>2];H=+g[d+36>>2];F=+g[d+8>>2];E=+g[d+24>>2];D=+g[d+40>>2];B=+g[d+12>>2];A=+g[d+28>>2];z=+g[d+44>>2];l=c[b+32>>2]|0;x=+g[l+4>>2];w=+g[l+20>>2];v=+g[l+36>>2];t=+g[l+8>>2];s=+g[l+24>>2];r=+g[l+40>>2];p=+g[l+12>>2];n=+g[l+28>>2];e=+g[l+44>>2];c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;o=+g[k>>2];m=+g[k+4>>2];f=+g[k+8>>2];g[b+428+(j*84|0)+16>>2]=J*o+I*m+H*f;g[b+428+(j*84|0)+20>>2]=F*o+E*m+D*f;g[b+428+(j*84|0)+24>>2]=B*o+A*m+z*f;g[b+428+(j*84|0)+28>>2]=0.0;g[b+428+(j*84|0)+32>>2]=x*-o+w*-m+v*-f;g[b+428+(j*84|0)+36>>2]=t*-o+s*-m+r*-f;g[b+428+(j*84|0)+40>>2]=p*-o+n*-m+e*-f;g[b+428+(j*84|0)+44>>2]=0.0;G=(J*o+I*m+H*f)*+g[d+396>>2];C=(F*o+E*m+D*f)*+g[d+400>>2];y=(B*o+A*m+z*f)*+g[d+404>>2];g[b+428+(j*84|0)+48>>2]=G;g[b+428+(j*84|0)+52>>2]=C;g[b+428+(j*84|0)+56>>2]=y;g[b+428+(j*84|0)+60>>2]=0.0;u=(x*-o+w*-m+v*-f)*+g[l+396>>2];q=(t*-o+s*-m+r*-f)*+g[l+400>>2];h=(p*-o+n*-m+e*-f)*+g[l+404>>2];g[b+428+(j*84|0)+64>>2]=u;g[b+428+(j*84|0)+68>>2]=q;g[b+428+(j*84|0)+72>>2]=h;g[b+428+(j*84|0)+76>>2]=0.0;g[b+428+(j*84|0)+80>>2]=(J*o+I*m+H*f)*G+(F*o+E*m+D*f)*C+(B*o+A*m+z*f)*y+((x*-o+w*-m+v*-f)*u+(t*-o+s*-m+r*-f)*q+(p*-o+n*-m+e*-f)*h)}j=j+1|0}while((j|0)!=3);i=k;return}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;p=i;i=i+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[p+16>>2]=c[d+16>>2];c[p+16+4>>2]=c[d+16+4>>2];c[p+16+8>>2]=c[d+16+8>>2];c[p+16+12>>2]=c[d+16+12>>2];c[p+32>>2]=c[d+32>>2];c[p+32+4>>2]=c[d+32+4>>2];c[p+32+8>>2]=c[d+32+8>>2];c[p+32+12>>2]=c[d+32+12>>2];c[p+48>>2]=c[d+48>>2];c[p+48+4>>2]=c[d+48+4>>2];c[p+48+8>>2]=c[d+48+8>>2];c[p+48+12>>2]=c[d+48+12>>2];n=c[e+4>>2]|0;o=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);mc[c[(c[e>>2]|0)+8>>2]&127](e,d,p+112|0,p+96|0);f=+g[p+112>>2];if(+g[b+32>>2]>f)g[b+32>>2]=f;f=+g[p+96>>2];if(+g[b+48>>2]>2]=f;f=+g[p+112+4>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+96+4>>2];if(+g[b+52>>2]>2]=f;f=+g[p+112+8>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+96+8>>2];if(+g[b+56>>2]>2]=f;l=c[b+64>>2]|0;if(!l){l=b+16|0;k=0}else{c[p+64>>2]=c[p+112>>2];c[p+64+4>>2]=c[p+112+4>>2];c[p+64+8>>2]=c[p+112+8>>2];c[p+64+12>>2]=c[p+112+12>>2];c[p+64+16>>2]=c[p+96>>2];c[p+64+16+4>>2]=c[p+96+4>>2];c[p+64+16+8>>2]=c[p+96+8>>2];c[p+64+16+12>>2]=c[p+96+12>>2];k=c[b+16>>2]|0;d=c[l+4>>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;j=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0))}else c[l+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=0;c[d>>2]=c[p+64>>2];c[d+4>>2]=c[p+64+4>>2];c[d+8>>2]=c[p+64+8>>2];c[d+12>>2]=c[p+64+12>>2];c[d+16>>2]=c[p+64+16>>2];c[d+20>>2]=c[p+64+20>>2];c[d+24>>2]=c[p+64+24>>2];c[d+28>>2]=c[p+64+28>>2];lf(l,c[l>>2]|0,d);c[l+12>>2]=(c[l+12>>2]|0)+1;l=b+16|0;k=d}d=c[l>>2]|0;if((d|0)==(c[b+20>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m)j=0;else{c[6435]=(c[6435]|0)+1;d=yc((m*80|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[l>>2]|0}if((d|0)>0){h=0;do{q=j+(h*80|0)|0;r=c[b+24>>2]|0;s=r+(h*80|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=j+(h*80|0)+16|0;s=r+(h*80|0)+16|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=j+(h*80|0)+32|0;s=r+(h*80|0)+32|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=j+(h*80|0)+48|0;s=r+(h*80|0)+48|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=j+(h*80|0)+64|0;r=r+(h*80|0)+64|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=j;c[b+20>>2]=m;d=c[l>>2]|0}s=c[b+24>>2]|0;r=s+(d*80|0)|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=s+(d*80|0)+16|0;c[r>>2]=c[p+16>>2];c[r+4>>2]=c[p+16+4>>2];c[r+8>>2]=c[p+16+8>>2];c[r+12>>2]=c[p+16+12>>2];r=s+(d*80|0)+32|0;c[r>>2]=c[p+32>>2];c[r+4>>2]=c[p+32+4>>2];c[r+8>>2]=c[p+32+8>>2];c[r+12>>2]=c[p+32+12>>2];r=s+(d*80|0)+48|0;c[r>>2]=c[p+48>>2];c[r+4>>2]=c[p+48+4>>2];c[r+8>>2]=c[p+48+8>>2];c[r+12>>2]=c[p+48+12>>2];s=s+(d*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=n;g[s+8>>2]=o;c[s+12>>2]=k;c[l>>2]=(c[l>>2]|0)+1;i=p;return}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;while(1){p=(b+d|0)/2|0;m=c[a+12>>2]|0;n=c[m+(p<<4)>>2]|0;o=c[m+(p<<4)+4>>2]|0;p=c[m+(p<<4)+8>>2]|0;e=b;f=d;while(1){a:do if(!n)while(1){j=c[m+(e<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[m+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!o)i=-1;else i=c[o+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(o|0))break a;if((c[m+(e<<4)+8>>2]|0)>>>0<=p>>>0)break a}while(0);e=e+1|0}else{l=c[n+12>>2]|0;if(!o)while(1){i=c[m+(e<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[m+(e<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>-1;if(g|(i|0)==(n|0)^1)if((i|0)==(n|0)&g)break;else break a;if(j|0)break a;if((c[m+(e<<4)+8>>2]|0)>>>0<=p>>>0)break a}while(0);e=e+1|0}k=c[o+12>>2]|0;while(1){i=c[m+(e<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[m+(e<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>(k|0);if(g|(i|0)==(n|0)^1)if((i|0)==(n|0)&g)break;else break a;if((j|0)!=(o|0))break a;if((c[m+(e<<4)+8>>2]|0)>>>0<=p>>>0)break a}while(0);e=e+1|0}}while(0);b:do if(!n)while(1){j=c[m+(f<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;if(!o)h=-1;else h=c[o+12>>2]|0;k=c[m+(f<<4)+4>>2]|0;if(!k)i=-1;else i=c[k+12>>2]|0;do if((g|0)>=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break b;if((o|0)!=(k|0))break b;if(p>>>0<=(c[m+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}else{l=c[n+12>>2]|0;if(!o)while(1){i=c[m+(f<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[m+(f<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((l|0)<=(g|0)){g=(h|0)<-1;if(g|(n|0)==(i|0)^1)if((n|0)==(i|0)&g)break;else break b;if(j|0)break b;if(p>>>0<=(c[m+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}k=c[o+12>>2]|0;while(1){i=c[m+(f<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[m+(f<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((l|0)<=(g|0)){g=(k|0)>(h|0);if(g|(n|0)==(i|0)^1)if((n|0)==(i|0)&g)break;else break b;if((o|0)!=(j|0))break b;if(p>>>0<=(c[m+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}}while(0);if((e|0)<=(f|0)){h=m+(e<<4)|0;i=c[h>>2]|0;j=c[m+(e<<4)+4>>2]|0;k=c[m+(e<<4)+8>>2]|0;l=c[m+(e<<4)+12>>2]|0;m=m+(f<<4)|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];m=c[a+12>>2]|0;c[m+(f<<4)>>2]=i;c[m+(f<<4)+4>>2]=j;c[m+(f<<4)+8>>2]=k;c[m+(f<<4)+12>>2]=l;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))Vd(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+16|0;li(11054);C=c[a+712>>2]|0;if((C|0)>0){c[6435]=(c[6435]|0)+1;d=yc((C<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}d=0;do{B=h+(d<<4)|0;d=d+1|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0}while((d|0)!=(C|0));f=c[a+712>>2]|0;if((f|0)>0){c[6435]=(c[6435]|0)+1;d=yc((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Qn(d|0,0,f<<2|0)|0;B=h;A=d}else{B=h;A=0}}else{B=0;A=0}s=c[a+1112>>2]|0;if(b){if((s|0)>0){h=c[a+1120>>2]|0;j=0;do{d=c[h+(j<<2)>>2]|0;f=c[d+312>>2]|0;if(f|0){g[d+276>>2]=1.0/+(f|0)*+g[d+276>>2];g[d+280>>2]=1.0/+(f|0)*+g[d+280>>2];g[d+284>>2]=1.0/+(f|0)*+g[d+284>>2];g[d+292>>2]=+g[d+292>>2]*(1.0/+(f|0));g[d+296>>2]=1.0/+(f|0)*+g[d+296>>2];g[d+300>>2]=1.0/+(f|0)*+g[d+300>>2]}j=j+1|0}while((j|0)!=(s|0));j=13}}else j=13;if((j|0)==13?(s|0)>0:0){l=c[a+1120>>2]|0;if(b){b=0;do{d=c[l+(b<<2)>>2]|0;if((c[d+312>>2]|0)>0?(y=+g[a+452>>2],t=+g[d+276>>2]*y,u=y*+g[d+280>>2],v=y*+g[d+284>>2],w=y*+g[d+292>>2],x=y*+g[d+296>>2],y=y*+g[d+300>>2],z=c[d+24>>2]|0,(z|0)>0):0){f=c[d+32>>2]|0;h=c[a+720>>2]|0;j=c[d+12>>2]|0;k=0;do{r=c[f+(k<<2)>>2]|0;q=+g[j+(k<<2)>>2];p=+g[r+8>>2]-+g[d+228>>2];o=+g[r+12>>2]-+g[d+232>>2];n=+g[r+16>>2]-+g[d+236>>2];E=B+(((r-h|0)/104|0)<<4)|0;g[E>>2]=+g[E>>2]+q*(t+(x*n-y*o));E=B+(((r-h|0)/104|0)<<4)+4|0;g[E>>2]=+g[E>>2]+q*(u+(y*p-w*n));E=B+(((r-h|0)/104|0)<<4)+8|0;g[E>>2]=q*(v+(w*o-x*p))+ +g[E>>2];r=A+(((r-h|0)/104|0)<<2)|0;g[r>>2]=q+ +g[r>>2];k=k+1|0}while((k|0)!=(z|0))}b=b+1|0}while((b|0)!=(s|0))}else{b=0;do{d=c[l+(b<<2)>>2]|0;if((c[d+308>>2]|0)>0?(q=+g[a+452>>2],e=+g[d+244>>2]*q,m=q*+g[d+248>>2],n=q*+g[d+252>>2],o=q*+g[d+260>>2],p=q*+g[d+264>>2],q=q*+g[d+268>>2],r=c[d+24>>2]|0,(r|0)>0):0){f=c[d+32>>2]|0;h=c[a+720>>2]|0;j=c[d+12>>2]|0;k=0;do{E=c[f+(k<<2)>>2]|0;y=+g[j+(k<<2)>>2];x=+g[E+8>>2]-+g[d+228>>2];w=+g[E+12>>2]-+g[d+232>>2];v=+g[E+16>>2]-+g[d+236>>2];z=B+(((E-h|0)/104|0)<<4)|0;g[z>>2]=+g[z>>2]+y*(e+(p*v-q*w));z=B+(((E-h|0)/104|0)<<4)+4|0;g[z>>2]=+g[z>>2]+y*(m+(q*x-o*v));z=B+(((E-h|0)/104|0)<<4)+8|0;g[z>>2]=y*(n+(o*w-p*x))+ +g[z>>2];E=A+(((E-h|0)/104|0)<<2)|0;g[E>>2]=y+ +g[E>>2];k=k+1|0}while((k|0)!=(r|0))}b=b+1|0}while((b|0)!=(s|0))}}if((C|0)>0){d=0;do{e=+g[A+(d<<2)>>2];if(e>0.0){E=c[a+720>>2]|0;x=1.0/e*+g[B+(d<<4)+4>>2];y=1.0/e*+g[B+(d<<4)+8>>2];z=E+(d*104|0)+8|0;g[z>>2]=1.0/e*+g[B+(d<<4)>>2]+ +g[z>>2];z=E+(d*104|0)+12|0;g[z>>2]=x+ +g[z>>2];E=E+(d*104|0)+16|0;g[E>>2]=y+ +g[E>>2]}d=d+1|0}while((d|0)!=(C|0))}if(A|0){c[6436]=(c[6436]|0)+1;hd(c[A+-4>>2]|0)}if(B|0){c[6436]=(c[6436]|0)+1;hd(c[B+-4>>2]|0)}d=c[2357]|0;E=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=E;if(E|0){i=D;return}do if(c[d+4>>2]|0){tb(D|0,0)|0;E=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[D+4>>2]|0)-(c[E+4>>2]|0)+(((c[D>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=D;return}}while(0);c[2357]=c[d+20>>2];i=D;return}function Xd(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;C=i;i=i+304|0;B=+g[e+48>>2]-+g[d+48>>2];z=+g[e+52>>2]-+g[d+52>>2];A=+g[e+56>>2]-+g[d+56>>2];Gf(d,e,C+288|0,C+240|0);v=+g[C+240>>2];t=+g[C+288>>2]*v;u=v*+g[C+288+4>>2];v=v*+g[C+288+8>>2];g[C+208>>2]=t;g[C+208+4>>2]=u;g[C+208+8>>2]=v;g[C+208+12>>2]=0.0;w=+g[h+48>>2]-+g[f+48>>2];x=+g[h+52>>2]-+g[f+52>>2];y=+g[h+56>>2]-+g[f+56>>2];Gf(f,h,C+288|0,C+240|0);r=+g[C+240>>2];p=+g[C+288>>2]*r;q=r*+g[C+288+4>>2];r=r*+g[C+288+8>>2];g[C+192>>2]=p;g[C+192+4>>2]=q;g[C+192+8>>2]=r;g[C+192+12>>2]=0.0;e=c[b+12>>2]|0;s=+Sb[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)m=0.0;else m=+Sb[c[(c[e>>2]|0)+16>>2]&15](e);s=s*+O(+(t*t+u*u+v*v))+m*+O(+(p*p+q*q+r*r));if(s+ +O(+((w-B)*(w-B)+(x-z)*(x-z)+(y-A)*(y-A)))==0.0){j=0;i=C;return j|0}c[C+240>>2]=9160;g[C+240+36>>2]=999999984306749440.0;a[C+240+40>>0]=0;Ld(b,d,f,C+240|0);h=(a[C+240+40>>0]|0)==0;c[C+288>>2]=c[C+240+20>>2];c[C+288+4>>2]=c[C+240+20+4>>2];c[C+288+8>>2]=c[C+240+20+8>>2];c[C+288+12>>2]=c[C+240+20+12>>2];a:do if(!h?(o=c[C+240+4>>2]|0,l=c[C+240+8>>2]|0,n=c[C+240+12>>2]|0,v=(w-B)*(c[k>>2]=o,+g[k>>2]),v=v+(x-z)*(c[k>>2]=l,+g[k>>2]),!(s+(v+(y-A)*(c[k>>2]=n,+g[k>>2]))<=1.1920928955078125e-07)):0){m=+g[C+240+16>>2];p=+g[C+240+36>>2]+ +g[j+172>>2];b:do if(p>1.0000000474974513e-03){q=p;r=0.0;h=0;while(1){e=c[j+168>>2]|0;if(e|0){D=c[(c[e>>2]|0)+20>>2]|0;c[C+224>>2]=1065353216;c[C+224+4>>2]=1065353216;c[C+224+8>>2]=1065353216;g[C+224+12>>2]=0.0;Fb[D&7](e,C+288|0,.20000000298023224,C+224|0)}m=(w-B)*(c[k>>2]=o,+g[k>>2]);m=m+(x-z)*(c[k>>2]=l,+g[k>>2]);m=s+(m+(y-A)*(c[k>>2]=n,+g[k>>2]));if(m<=1.1920928955078125e-07){l=0;break a}p=r+q/m;if(!(!(p<=r)&(!(p<0.0)&!(p>1.0)))){l=0;break a}Zg(d,B,z,A,C+208|0,p,C+112|0);Zg(f,w,x,y,C+192|0,p,C+48|0);l=c[j+168>>2]|0;if(l|0){D=c[(c[l>>2]|0)+20>>2]|0;c[C+176>>2]=1065353216;c[C+176+4>>2]=0;c[C+176+8>>2]=0;g[C+176+12>>2]=0.0;Fb[D&7](l,C+112+48|0,.20000000298023224,C+176|0)}zb[c[c[j>>2]>>2]&31](j,p);c[C>>2]=9160;g[C+36>>2]=999999984306749440.0;a[C+40>>0]=0;Ld(b,C+112|0,C+48|0,C);if(!(a[C+40>>0]|0)){l=15;break}m=+g[C+36>>2];q=+g[j+172>>2];c[C+288>>2]=c[C+20>>2];c[C+288+4>>2]=c[C+20+4>>2];c[C+288+8>>2]=c[C+20+8>>2];c[C+288+12>>2]=c[C+20+12>>2];e=h+1|0;if((h|0)>63){l=16;break}n=c[C+12>>2]|0;l=c[C+8>>2]|0;o=c[C+4>>2]|0;q=m+q;if(!(q>1.0000000474974513e-03)){m=+g[C+16>>2];break b}else{r=p;h=e}}if((l|0)==15)ic[c[(c[j>>2]|0)+8>>2]&127](j,-1,h);else if((l|0)==16)ic[c[(c[j>>2]|0)+8>>2]&127](j,-2,e);l=0;break a}else p=0.0;while(0);g[j+164>>2]=p;c[j+132>>2]=o;c[j+136>>2]=l;c[j+140>>2]=n;g[j+144>>2]=m;c[j+148>>2]=c[C+288>>2];c[j+148+4>>2]=c[C+288+4>>2];c[j+148+8>>2]=c[C+288+8>>2];c[j+148+12>>2]=c[C+288+12>>2];l=1}else l=0;while(0);D=l;i=C;return D|0}function Yd(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];q=+g[a+568>>2];r=+g[a+560>>2];s=+g[a+564>>2];p=+g[a+556>>2];d=-p-r*0.0-s*0.0;e=(s+q*0.0-p*0.0)*-s+(q*(q+r*0.0-s*0.0)+d*-p)-(q*0.0+p*0.0-r)*-r;f=(q*0.0+p*0.0-r)*-p+(q*(s+q*0.0-p*0.0)+d*-r)-(q+r*0.0-s*0.0)*-s;d=(q+r*0.0-s*0.0)*-r+(d*-s+q*(q*0.0+p*0.0-r))-(s+q*0.0-p*0.0)*-p;if(d*0.0+(f*0.0+e)<-.9999998807907104){j=-0.0;l=1.0;d=0.0;e=0.0}else{B=+O(+((d*0.0+(f*0.0+e)+1.0)*2.0));j=(d*0.0-f*0.0)*(1.0/B);l=(e*0.0-d)*(1.0/B);d=(f-e*0.0)*(1.0/B);e=B*.5}z=1.0/+O(+(e*e+(j*j+l*l+d*d)));j=j*z;n=(g[k>>2]=j,c[k>>2]|0);w=l*z;t=d*z;v=(g[k>>2]=t,c[k>>2]|0);d=e*z;u=(g[k>>2]=d,c[k>>2]|0);e=1.0/+O(+((d*q-p*-j-r*-w-s*-t)*(d*q-p*-j-r*-w-s*-t)+((q*-t+d*s+r*-j-p*-w)*(q*-t+d*s+r*-j-p*-w)+((p*d+q*-j+s*-w-r*-t)*(p*d+q*-j+s*-w-r*-t)+(p*-t+(q*-w+d*r)-s*-j)*(p*-t+(q*-w+d*r)-s*-j)))));z=(p*d+q*-j+s*-w-r*-t)*e;i=(g[k>>2]=z,c[k>>2]|0);A=e*(p*-t+(q*-w+d*r)-s*-j);b=(g[k>>2]=A,c[k>>2]|0);B=e*(q*-t+d*s+r*-j-p*-w);h=(g[k>>2]=B,c[k>>2]|0);p=e*(d*q-p*-j-r*-w-s*-t);e=+g[a+444>>2];m=(g[k>>2]=e,c[k>>2]|0);if(e>=.05000000074505806?(x=+g[a+448>>2],x>=.05000000074505806):0){d=d<-1.0?-1.0:d;d=+T(+(d>1.0?1.0:d))*2.0;if(d>1.1920928955078125e-07){f=1.0/+O(+(t*t+(j*j+w*w)));if(+N(+(w*f))>1.1920928955078125e-07){x=+O(+((t*f*t*f/(w*f*w*f)+1.0)/(1.0/(x*x)+t*f*t*f/(w*f*w*f)/(e*e))));j=j*f;l=w*f;f=t*f;m=(g[k>>2]=x,c[k>>2]|0)}else{j=j*f;l=w*f;f=t*f}}else{j=0.0;l=0.0;f=0.0;m=0}if(+N(+d)>1.1920928955078125e-07){e=(c[k>>2]=m,+g[k>>2]);if(!(d>e)){if(d<-e)d=-e}else d=e;x=d*.5;w=+R(+x)/+O(+(j*j+l*l+f*f));x=+Q(+x);y=(g[k>>2]=j*w,c[k>>2]|0);v=(g[k>>2]=f*w,c[k>>2]|0);w=l*w;u=(g[k>>2]=x,c[k>>2]|0)}else y=n}else y=n;d=+g[a+452>>2];if(d>=.05000000074505806){e=p<-1.0?-1.0:p;e=+T(+(e>1.0?1.0:e))*2.0;if(e>3.1415927410125732){o=(g[k>>2]=-z,c[k>>2]|0);n=(g[k>>2]=-A,c[k>>2]|0);e=-p<-1.0?-1.0:-p;m=(g[k>>2]=-B,c[k>>2]|0);e=+T(+(e>1.0?1.0:e))*2.0}else{o=i;n=b;m=h}f=(c[k>>2]=o,+g[k>>2]);j=(c[k>>2]=n,+g[k>>2]);l=(c[k>>2]=m,+g[k>>2]);if(e>1.1920928955078125e-07){B=1.0/+O(+(f*f+j*j+l*l));o=(g[k>>2]=f*B,c[k>>2]|0);n=(g[k>>2]=j*B,c[k>>2]|0);m=(g[k>>2]=l*B,c[k>>2]|0)}if(+N(+e)>1.1920928955078125e-07){if(!(e>d))if(e<-d)d=-d;else d=e;x=(c[k>>2]=o,+g[k>>2]);z=(c[k>>2]=n,+g[k>>2]);A=(c[k>>2]=m,+g[k>>2]);d=d*.5;B=+R(+d)/+O(+(A*A+(z*z+x*x)));d=+Q(+d);i=(g[k>>2]=x*B,c[k>>2]|0);b=(g[k>>2]=z*B,c[k>>2]|0);h=(g[k>>2]=A*B,c[k>>2]|0)}else d=p}else d=p;s=(c[k>>2]=u,+g[k>>2]);x=(c[k>>2]=i,+g[k>>2]);t=(c[k>>2]=y,+g[k>>2]);B=(c[k>>2]=h,+g[k>>2]);A=(c[k>>2]=v,+g[k>>2]);z=(c[k>>2]=b,+g[k>>2]);g[a+556>>2]=w*B+(s*x+t*d)-A*z;g[a+560>>2]=A*x+(s*z+w*d)-t*B;g[a+564>>2]=t*z+(s*B+A*d)-w*x;g[a+568>>2]=s*d-t*x-w*z-A*B;return}function Zd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=5224;c[6435]=(c[6435]|0)+1;e=yc(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g[e+308>>2]=9.999999747378752e-05;f=e+332|0;a[f>>0]=a[f>>0]&-16;c[b+24>>2]=e;f=(c[d+20>>2]|0)==0;c[6435]=(c[6435]|0)+1;e=yc(23)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}if(f){c[e>>2]=9072;c[b+28>>2]=e;f=b+28|0}else{c[e>>2]=9120;c[b+28>>2]=e;f=b+28|0}c[6435]=(c[6435]|0)+1;e=yc(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[f>>2]|0;a[e+4>>0]=0;c[e>>2]=6032;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5256;c[b+36>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5276;c[b+40>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5296;c[b+44>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5316;c[b+48>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5336;c[b+52>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5356;c[b+56>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5376;c[b+60>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5396;c[b+76>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5396;c[b+80>>2]=e;a[e+4>>0]=1;c[6435]=(c[6435]|0)+1;e=yc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5416;c[b+72>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5436;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[6435]=(c[6435]|0)+1;e=yc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5436;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[6435]=(c[6435]|0)+1;e=yc(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;f=k+4|0;c[f>>2]=e;c[6435]=(c[6435]|0)+1;e=yc((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(_(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[6435]=(c[6435]|0)+1;e=yc(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;f=k+4|0;c[f>>2]=e;e=_(e,l)|0;c[6435]=(c[6435]|0)+1;e=yc(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(_(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function _d(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;D=i;i=i+80|0;B=+g[e+4>>2];C=+g[e+20>>2];o=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];s=+g[e+12>>2];t=+g[e+28>>2];u=+g[e+44>>2];v=-+g[e+52>>2];w=-+g[e+56>>2];x=-+g[e+60>>2];l=c[b+720>>2]|0;y=+g[l+(d*104|0)+8>>2];z=+g[l+(d*104|0)+12>>2];A=+g[l+(d*104|0)+16>>2];a:do if(f){f=c[b+268>>2]|0;b:do if((f|0)>0){k=c[b+276>>2]|0;j=0;while(1){if((c[k+(j<<2)>>2]|0)==(e|0))break;j=j+1|0;if((j|0)>=(f|0))break b}if((j|0)!=(f|0)){f=l;break a}}while(0);if((f|0)==(c[b+272>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)k=0;else{c[6435]=(c[6435]|0)+1;f=yc((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[b+268>>2]|0}if((f|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+276>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}j=c[b+276>>2]|0;if(j){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=k;c[b+272>>2]=m}c[(c[b+276>>2]|0)+(f<<2)>>2]=e;c[b+268>>2]=f+1;f=c[b+720>>2]|0}else f=l;while(0);l=f+(d*104|0)|0;f=f+(d*104|0)+100|0;a[f>>0]=a[f>>0]|1;f=c[b+792>>2]|0;if((f|0)==(c[b+796>>2]|0)?(n=f|0?f<<1:1,(f|0)<(n|0)):0){if(!n)k=0;else{c[6435]=(c[6435]|0)+1;f=yc(n*96|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[b+792>>2]|0}if((f|0)>0){j=0;do{d=k+(j*96|0)|0;m=c[b+800>>2]|0;E=m+(j*96|0)|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];c[d+16>>2]=c[E+16>>2];c[d+20>>2]=c[E+20>>2];c[d+24>>2]=c[E+24>>2];d=k+(j*96|0)+28|0;E=m+(j*96|0)+28|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=k+(j*96|0)+44|0;E=m+(j*96|0)+44|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=k+(j*96|0)+60|0;E=m+(j*96|0)+60|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=k+(j*96|0)+76|0;m=m+(j*96|0)+76|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[d+16>>2]=c[m+16>>2];j=j+1|0}while((j|0)!=(f|0))}f=c[b+800>>2]|0;if(f|0){if(a[b+804>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=k;c[b+796>>2]=n;f=c[b+792>>2]|0}E=c[b+800>>2]|0;c[E+(f*96|0)>>2]=l;g[E+(f*96|0)+4>>2]=B*v+C*w+o*x+(B*y+C*z+o*A);g[E+(f*96|0)+8>>2]=p*v+q*w+r*x+(p*y+q*z+r*A);g[E+(f*96|0)+12>>2]=s*v+t*w+u*x+(s*y+t*z+u*A);g[E+(f*96|0)+16>>2]=0.0;c[E+(f*96|0)+20>>2]=e;g[E+(f*96|0)+24>>2]=h;e=E+(f*96|0)+28|0;c[e>>2]=c[D+56>>2];c[e+4>>2]=c[D+56+4>>2];c[e+8>>2]=c[D+56+8>>2];c[e+12>>2]=c[D+56+12>>2];e=E+(f*96|0)+44|0;c[e>>2]=c[D+40>>2];c[e+4>>2]=c[D+40+4>>2];c[e+8>>2]=c[D+40+8>>2];c[e+12>>2]=c[D+40+12>>2];e=E+(f*96|0)+60|0;c[e>>2]=c[D+24>>2];c[e+4>>2]=c[D+24+4>>2];c[e+8>>2]=c[D+24+8>>2];c[e+12>>2]=c[D+24+12>>2];E=E+(f*96|0)+76|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];c[E+16>>2]=c[D+16>>2];c[b+792>>2]=(c[b+792>>2]|0)+1;i=D;return}function $d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;E=i;i=i+64|0;A=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];D=+g[b+56>>2]-+g[b+120>>2];B=A*+g[b+64>>2]+h*+g[b+80>>2]+D*+g[b+96>>2];C=A*+g[b+68>>2]+h*+g[b+84>>2]+D*+g[b+100>>2];D=A*+g[b+72>>2]+h*+g[b+88>>2]+D*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+28>>2]*+g[z+12>>2];A=h+ +g[a+12>>2];p=+g[e+72>>2];q=+g[e+56>>2];r=+g[e+76>>2];s=+g[e+60>>2];t=+g[e+80>>2];u=+g[e+64>>2];v=+g[e+88>>2];w=+g[e+92>>2];x=+g[e+96>>2];k=(r-s)*(x-u)-(t-u)*(w-s);m=(t-u)*(v-q)-(p-q)*(x-u);o=(p-q)*(w-s)-(r-s)*(v-q);n=1.0/+O(+(o*o+(k*k+m*m)));j=(B-q)*n*k+(C-s)*n*m+n*o*(D-u);if(j<0.0){y=-j;l=-(n*k);j=-(n*m);k=-(n*o)}else{y=j;l=n*k;j=n*m;k=n*o}if(!(y0.0&(o>0.0&t>0.0))?!(x<=0.0&(o<=0.0&t<=0.0)):0){if((Eb[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0){i=E;return}s=0.0;r=0.0;q=0.0;e=0;z=0;do{F=c[a+8>>2]|0;mc[c[(c[F>>2]|0)+104>>2]&127](F,z,E+48|0,E+32|0);m=+g[E+48>>2];w=+g[E+48+4>>2];u=+g[E+48+8>>2];n=+g[E+32>>2]-m;x=+g[E+32+4>>2]-w;v=+g[E+32+8>>2]-u;do if((B-m)*n+(C-w)*x+(D-u)*v>0.0)if((B-m)*n+(C-w)*x+(D-u)*v>2]|0}while((z|0)<(Eb[c[(c[F>>2]|0)+100>>2]&127](F)|0));if(!(e&1)){i=E;return}else p=A*A}else{p=A*A;s=B-y*l;r=D-y*k;q=C-y*j}n=B-s;o=C-q;m=D-r;if(!(n*n+o*o+m*m1.1920928955078125e-07){j=+O(+(n*n+o*o+m*m));h=h-j;l=n*(1.0/j);k=m*(1.0/j);j=o*(1.0/j)}h=-h;if(f){x=+g[b+64>>2];y=+g[b+68>>2];A=+g[b+72>>2];B=x*l+y*j+A*k;o=+g[b+80>>2];p=+g[b+84>>2];t=+g[b+88>>2];C=l*o+j*p+k*t;u=+g[b+96>>2];v=+g[b+100>>2];w=+g[b+104>>2];D=l*u+j*v+k*w;g[E+48>>2]=-B;g[E+48+4>>2]=-C;g[E+48+8>>2]=-D;g[E+48+12>>2]=0.0;C=s*o+q*p+r*t+ +g[b+116>>2]+C*h;D=s*u+q*v+r*w+ +g[b+120>>2]+D*h;g[E+32>>2]=s*x+q*y+r*A+ +g[b+112>>2]+B*h;g[E+32+4>>2]=C;g[E+32+8>>2]=D;g[E+32+12>>2]=0.0;hc[c[(c[d>>2]|0)+16>>2]&15](d,E+48|0,E+32|0,h);i=E;return}else{F=c[(c[d>>2]|0)+16>>2]|0;y=+g[b+64>>2];A=+g[b+68>>2];B=+g[b+72>>2];u=+g[b+80>>2];v=+g[b+84>>2];C=+g[b+88>>2];w=+g[b+96>>2];x=+g[b+100>>2];D=+g[b+104>>2];g[E+16>>2]=y*l+A*j+B*k;g[E+16+4>>2]=l*u+j*v+k*C;g[E+16+8>>2]=l*w+j*x+k*D;g[E+16+12>>2]=0.0;C=s*u+q*v+r*C+ +g[b+116>>2];D=s*w+q*x+r*D+ +g[b+120>>2];g[E>>2]=s*y+q*A+r*B+ +g[b+112>>2];g[E+4>>2]=C;g[E+8>>2]=D;g[E+12>>2]=0.0;hc[F&15](d,E+16|0,E,h);i=E;return}}function ae(b){b=b|0;var d=0.0,e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;r=i;i=i+80|0;if((Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(q=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[q>>2]|0)+48>>2]&127](q)|0)&8|0):0)?(e=c[b+24>>2]|0,e=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0,c[r+64>>2]=1065353216,c[r+64+4>>2]=1065353216,c[r+64+8>>2]=0,g[r+64+12>>2]=0.0,(e|0)>0):0){j=0;do{f=c[b+24>>2]|0;f=Zb[c[(c[f>>2]|0)+40>>2]&31](f,j)|0;h=c[f+748>>2]|0;if((h|0)>0){k=0;do{q=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Bb[c[(c[q>>2]|0)+32>>2]&0](q,f+4+(k*184|0)+32|0,f+4+(k*184|0)+64|0,+g[f+4+(k*184|0)+80>>2],c[f+4+(k*184|0)+148>>2]|0,r+64|0);k=k+1|0}while((k|0)!=(h|0))}j=j+1|0}while((j|0)!=(e|0))}if(!(Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){i=r;return}q=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((Eb[c[(c[q>>2]|0)+48>>2]&127](q)|0)&3)){i=r;return}if((c[b+8>>2]|0)<=0){i=r;return}h=r+64+4|0;j=r+64+8|0;k=r+64+12|0;q=0;do{f=c[(c[b+16>>2]|0)+(q<<2)>>2]|0;if(!(c[f+204>>2]&32)){if(Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(e=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&1|0):0){c[r+64>>2]=1065353216;c[h>>2]=1065353216;c[j>>2]=1065353216;g[k>>2]=0.0;switch(c[f+216>>2]|0){case 1:{c[r+64>>2]=1065353216;c[h>>2]=1065353216;c[j>>2]=1065353216;g[k>>2]=0.0;break}case 2:{c[r+64>>2]=0;c[h>>2]=1065353216;c[j>>2]=0;g[k>>2]=0.0;break}case 3:{c[r+64>>2]=0;c[h>>2]=1065353216;c[j>>2]=1065353216;g[k>>2]=0.0;break}case 4:{c[r+64>>2]=1065353216;c[h>>2]=0;c[j>>2]=0;g[k>>2]=0.0;break}case 5:{c[r+64>>2]=1065353216;c[h>>2]=1065353216;c[j>>2]=0;g[k>>2]=0.0;break}default:{c[r+64>>2]=1065353216;c[h>>2]=0;c[j>>2]=0;g[k>>2]=0.0}}mc[c[(c[b>>2]|0)+28>>2]&127](b,f+4|0,c[f+192>>2]|0,r+64|0)}e=c[b+72>>2]|0;if(e|0?(Eb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){c[r+32>>2]=1065353216;c[r+32+4>>2]=0;c[r+32+8>>2]=0;g[r+32+12>>2]=0.0;e=c[f+192>>2]|0;mc[c[(c[e>>2]|0)+8>>2]&127](e,f+4|0,r+64|0,r+48|0);g[r+64>>2]=+g[r+64>>2]+-.019999999552965164;g[r+64+4>>2]=+g[r+64+4>>2]+-.019999999552965164;g[r+64+8>>2]=+g[r+64+8>>2]+-.019999999552965164;g[r+48>>2]=+g[r+48>>2]+.019999999552965164;g[r+48+4>>2]=+g[r+48+4>>2]+.019999999552965164;g[r+48+8>>2]=+g[r+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[f+236>>2]|0)==2:0)?(c[f+204>>2]&3|0)==0:0){e=c[f+192>>2]|0;mc[c[(c[e>>2]|0)+8>>2]&127](e,f+68|0,r+16|0,r);d=+g[r+16>>2]+-.019999999552965164;g[r+16>>2]=d;l=+g[r+16+4>>2]+-.019999999552965164;g[r+16+4>>2]=l;m=+g[r+16+8>>2]+-.019999999552965164;g[r+16+8>>2]=m;n=+g[r>>2]+.019999999552965164;g[r>>2]=n;o=+g[r+4>>2]+.019999999552965164;g[r+4>>2]=o;p=+g[r+8>>2]+.019999999552965164;g[r+8>>2]=p;if(d<+g[r+64>>2])g[r+64>>2]=d;if(l<+g[r+64+4>>2])g[r+64+4>>2]=l;if(m<+g[r+64+8>>2])g[r+64+8>>2]=m;d=+g[r+16+12>>2];if(d<+g[r+64+12>>2])g[r+64+12>>2]=d;if(+g[r+48>>2]>2]=n;if(+g[r+48+4>>2]>2]=o;if(+g[r+48+8>>2]>2]=p;d=+g[r+12>>2];if(!(+g[r+48+12>>2]>2]=d}while(0);f=c[b+72>>2]|0;mc[c[(c[f>>2]|0)+52>>2]&127](f,r+64|0,r+48|0,r+32|0)}}q=q+1|0}while((q|0)<(c[b+8>>2]|0));i=r;return}function be(b,d,e,f,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0;if((j|0)<2|(k|0)<2){n=0;return n|0}y=_(k,j)|0;c[6435]=(c[6435]|0)+1;b=yc(y>>>0>268435455?18:(y<<4|3)+16|0)|0;if(!b)t=0;else{c[(b+4+15&-16)+-4>>2]=b;t=b+4+15&-16}o=y>>>0>1073741823?-1:y<<2;o=(o|0)==0?1:o;while(1){q=yc(o)|0;if(q|0)break;b=c[6564]|0;c[6564]=b+0;if(!b){p=8;break}jc[b&3]()}if((p|0)==8){n=Ya(4)|0;c[n>>2]=9640;pb(n|0,2800,251)}if((k|0)>0?(j|0)>0:0){p=0;do{z=+(p|0)/+(k+-1|0);r=+g[e>>2];r=r+z*(+g[h>>2]-r);s=+g[e+4>>2];s=s+z*(+g[h+4>>2]-s);u=+g[e+8>>2];u=u+z*(+g[h+8>>2]-u);v=+g[f>>2];w=+g[f+4>>2];x=+g[f+8>>2];b=_(p,j)|0;v=v+z*(+g[i>>2]-v)-r;w=w+z*(+g[i+4>>2]-w)-s;x=x+z*(+g[i+8>>2]-x)-u;o=0;do{z=+(o|0)/+(j+-1|0);A=o+b|0;g[t+(A<<4)>>2]=r+v*z;g[t+(A<<4)+4>>2]=s+w*z;g[t+(A<<4)+8>>2]=u+x*z;g[t+(A<<4)+12>>2]=0.0;g[q+(A<<2)>>2]=1.0;o=o+1|0}while((o|0)!=(j|0));p=p+1|0}while((p|0)!=(k|0))}c[6435]=(c[6435]|0)+1;b=yc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Kc(b,d,y,t,q);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){A=_(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){A=j+-1+(_(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){g[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){A=_((k+-1|0)/2|0,j)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){A=j+-1+(_((k+-1|0)/2|0,j)|0)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){A=(_(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&256|0){A=(_((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(t|0){c[6436]=(c[6436]|0)+1;hd(c[t+-4>>2]|0)}hd(q);if((k|0)<=0){A=b;return A|0}y=j+-1|0;d=0;o=0;while(1){p=d;d=d+1|0;a:do if((j|0)>0){t=_(p,j)|0;i=_(d,j)|0;s=1.0/+(k+-1|0)*+(k+-1-p|0);r=1.0/+(k+-1|0)*+(k+-2-p|0);if((d|0)<(k|0)){f=0;h=o}else{if((j|0)>1){q=1;p=0}else break;while(1){Rf(b,p+t|0,q+t|0,0,0);p=q+1|0;if((p|0)==(j|0))break a;else{A=q;q=p;p=A}}}while(1){p=f+1|0;q=f+t|0;e=f+i|0;if((f|0)==(j+-1|0))break;Rf(b,q,p+t|0,0,0);Rf(b,q,e,0,0);Zf(b,q,e,p+i|0,0);if(!n)Zf(b,p+i|0,p+t|0,q,0);else{z=1.0/+(j+-1|0)*+(f|0);g[n+(h<<2)>>2]=z;g[n+(h+1<<2)>>2]=s;g[n+(h+2<<2)>>2]=z;g[n+(h+3<<2)>>2]=r;x=1.0/+(j+-1|0)*+(p|0);g[n+(h+4<<2)>>2]=x;g[n+(h+5<<2)>>2]=r;Zf(b,p+i|0,p+t|0,q,0);g[n+(h+6<<2)>>2]=x;g[n+(h+7<<2)>>2]=r;g[n+(h+8<<2)>>2]=x;g[n+(h+9<<2)>>2]=s;g[n+(h+10<<2)>>2]=z;g[n+(h+11<<2)>>2]=s}if(m)Rf(b,q,p+i|0,0,0);f=p;h=h+12|0}Rf(b,y,e,0,0);o=(j*12|0)+-12+o|0}while(0);if((d|0)==(k|0))break;else y=y+j|0}return b|0}function ce(b,d,e,f,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+288|0;c[w+208>>2]=c[d>>2];c[w+208+4>>2]=c[d+4>>2];c[w+208+8>>2]=c[d+8>>2];c[w+208+12>>2]=c[d+12>>2];o=w+208+16|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];e=w+208+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];r=c[k>>2]|0;t=c[k+4>>2]|0;u=c[k+8>>2]|0;v=c[k+16>>2]|0;q=c[k+12>>2]|0;p=c[k+20>>2]|0;c[w>>2]=c[w+208>>2];c[w+4>>2]=c[w+208+4>>2];c[w+8>>2]=c[w+208+8>>2];c[w+12>>2]=c[w+208+12>>2];c[w+16>>2]=c[o>>2];c[w+16+4>>2]=c[o+4>>2];c[w+16+8>>2]=c[o+8>>2];c[w+16+12>>2]=c[o+12>>2];c[w+32>>2]=c[e>>2];c[w+32+4>>2]=c[e+4>>2];c[w+32+8>>2]=c[e+8>>2];c[w+32+12>>2]=c[e+12>>2];e=c[b+136>>2]|0;if((e|0)==(c[b+140>>2]|0)?(s=e|0?e<<1:1,(e|0)<(s|0)):0){if(!s)d=0;else{c[6435]=(c[6435]|0)+1;d=yc((s*284|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+136>>2]|0}if((e|0)>0){k=0;do{f=c[b+144>>2]|0;m=d+(k*284|0)|0;n=f+(k*284|0)|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(k*284|0)+92|0;n=f+(k*284|0)+92|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(k*284|0)+108|0;n=f+(k*284|0)+108|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(k*284|0)+124|0;n=f+(k*284|0)+124|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(k*284|0)+140|0;n=f+(k*284|0)+140|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(k*284|0)+156|0;n=f+(k*284|0)+156|0;o=m+128|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k=k+1|0}while((k|0)!=(e|0))}e=c[b+144>>2]|0;if(e|0){if(a[b+148>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=d;c[b+140>>2]=s;e=c[b+136>>2]|0}d=c[b+144>>2]|0;m=d+(e*284|0)|0;n=w+48|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(e*284|0)+92|0;c[m>>2]=c[w+192>>2];c[m+4>>2]=c[w+192+4>>2];c[m+8>>2]=c[w+192+8>>2];c[m+12>>2]=c[w+192+12>>2];m=d+(e*284|0)+108|0;c[m>>2]=c[w+176>>2];c[m+4>>2]=c[w+176+4>>2];c[m+8>>2]=c[w+176+8>>2];c[m+12>>2]=c[w+176+12>>2];m=d+(e*284|0)+124|0;c[m>>2]=c[w+160>>2];c[m+4>>2]=c[w+160+4>>2];c[m+8>>2]=c[w+160+8>>2];c[m+12>>2]=c[w+160+12>>2];m=d+(e*284|0)+140|0;c[m>>2]=c[w+144>>2];c[m+4>>2]=c[w+144+4>>2];c[m+8>>2]=c[w+144+8>>2];c[m+12>>2]=c[w+144+12>>2];d=d+(e*284|0)+156|0;m=d;n=w;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g[d+48>>2]=h;c[d+52>>2]=q;g[d+56>>2]=j;c[d+60>>2]=r;c[d+64>>2]=t;c[d+68>>2]=u;c[d+72>>2]=v;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=p;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=l&1;m=d+105|0;n=w+256|0;o=m+23|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));l=c[b+136>>2]|0;c[b+136>>2]=l+1;l=(c[b+144>>2]|0)+(l*284|0)|0;Tg(c[b+116>>2]|0,l,0);Ae(c[b+116>>2]|0,c[b+144>>2]|0,(c[b+136>>2]|0)+-1|0,0);i=w;return l|0}function de(a,d,f,h,j){a=a|0;d=d|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];D=c[a+60>>2]|0;E=c[d+12>>2]&65535;Bj(a,I+6|0,+g[f>>2],+g[f+4>>2],+g[f+8>>2],0);Bj(a,I,+g[h>>2],+g[h+4>>2],+g[h+8>>2],1);H=0;do{t=b[D+(E<<6)+48+(H<<1)>>1]|0;w=b[D+(E<<6)+54+(H<<1)>>1]|0;q=b[I+6+(H<<1)>>1]|0;l=a+68+(H<<2)|0;s=c[l>>2]|0;m=(q&65535)-(e[s+((t&65535)<<2)>>1]|0)|0;r=b[I+(H<<1)>>1]|0;y=(r&65535)-(e[s+((w&65535)<<2)>>1]|0)|0;b[s+((t&65535)<<2)>>1]=q;b[s+((w&65535)<<2)>>1]=r;if((m|0)<0)wh(a,H,t);a:do if((y|0)>0?(z=c[l>>2]|0,A=c[a+60>>2]|0,B=e[z+((w&65535)<<2)+2>>1]|0,C=b[z+((w&65535)<<2)+6>>1]|0,C<<16>>16):0){n=1<>1]|0;if((e[s>>1]|0)<(p&65535))break a;q=c[a+60>>2]|0;k=k&65535;if(!(p&1)){if(((((e[A+(B<<6)+54+(n<<1)>>1]|0)>=(e[q+(k<<6)+48+(n<<1)>>1]|0)?(e[q+(k<<6)+54+(n<<1)>>1]|0)>=(e[A+(B<<6)+48+(n<<1)>>1]|0):0)?(e[A+(B<<6)+54+((1<>1]|0)>=(e[q+(k<<6)+48+((1<>1]|0):0)?(e[q+(k<<6)+54+((1<>1]|0)>=(e[A+(B<<6)+48+((1<>1]|0):0)?(G=c[a+92>>2]|0,F=q+((e[s+2>>1]|0)<<6)|0,Ob[c[(c[G>>2]|0)+8>>2]&63](G,F,q+(k<<6)|0)|0,G=c[a+96>>2]|0,G|0):0)Ob[c[(c[G>>2]|0)+8>>2]&63](G,F,q+(k<<6)|0)|0;q=q+(k<<6)+48+(H<<1)|0;b[q>>1]=(b[q>>1]|0)+-1<<16>>16}else{q=q+(k<<6)+54+(H<<1)|0;b[q>>1]=(b[q>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+1<<16>>16;k=e[s>>1]|e[s+2>>1]<<16;q=e[r>>1]|e[r+2>>1]<<16;b[s>>1]=q;b[s+2>>1]=q>>>16;b[r>>1]=k;b[r+2>>1]=k>>>16;k=b[s+10>>1]|0}while(k<<16>>16!=0)}while(0);b:do if((m|0)>0?(u=c[l>>2]|0,v=b[u+((t&65535)<<2)+6>>1]|0,v<<16>>16):0){p=(c[a+60>>2]|0)+((e[u+((t&65535)<<2)+2>>1]|0)<<6)+48+(H<<1)|0;q=1<>1]|0;if((e[o>>1]|0)<(k&65535))break b;m=c[a+60>>2]|0;l=l&65535;if(!(k&1)){t=m+(l<<6)+48+(H<<1)|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{k=e[o+2>>1]|0;if(((((e[m+(k<<6)+54+(q<<1)>>1]|0)>=(e[m+(l<<6)+48+(q<<1)>>1]|0)?(e[m+(l<<6)+54+(q<<1)>>1]|0)>=(e[m+(k<<6)+48+(q<<1)>>1]|0):0)?(e[m+(k<<6)+54+((1<>1]|0)>=(e[m+(l<<6)+48+((1<>1]|0):0)?(e[m+(l<<6)+54+((1<>1]|0)>=(e[m+(k<<6)+48+((1<>1]|0):0)?(x=c[a+92>>2]|0,Ib[c[(c[x>>2]|0)+12>>2]&31](x,m+(k<<6)|0,m+(l<<6)|0,j)|0,x=c[a+96>>2]|0,x|0):0)Ib[c[(c[x>>2]|0)+12>>2]&31](x,m+(k<<6)|0,m+(l<<6)|0,j)|0;t=m+(l<<6)+54+(H<<1)|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}b[p>>1]=(b[p>>1]|0)+1<<16>>16;l=e[o>>1]|e[o+2>>1]<<16;t=e[n>>1]|e[n+2>>1]<<16;b[o>>1]=t;b[o+2>>1]=t>>>16;b[n>>1]=l;b[n+2>>1]=l>>>16;l=b[o+10>>1]|0}while(l<<16>>16!=0)}while(0);if((y|0)<0)uh(a,H,w,j);H=H+1|0}while((H|0)!=3);k=c[a+108>>2]|0;if(!k){i=I;return}yb[c[(c[k>>2]|0)+16>>2]&31](k,c[d+60>>2]|0,f,h,j);i=I;return}function ee(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0;s=i;i=i+144|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){d=0.0;k=0.0;n=0.0;o=0.0;l=0.0;m=0.0}else{r=+g[f+336>>2];n=+g[b+172>>2];o=+g[f+340>>2];p=+g[b+168>>2];m=+g[b+164>>2];q=+g[f+332>>2];d=r*n-o*p;k=+g[f+316>>2];n=o*m-n*q;o=+g[f+320>>2];l=+g[f+324>>2];m=p*q-r*m}}else{r=+g[f+332>>2];n=+g[b+172>>2];o=+g[f+336>>2];p=+g[b+168>>2];m=+g[b+164>>2];q=+g[f+328>>2];d=r*n-o*p;k=+g[f+312>>2];n=o*m-n*q;o=+g[f+316>>2];l=+g[f+320>>2];m=p*q-r*m}p=k+d;r=o+n;q=l+m;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){d=0.0;k=0.0;n=0.0;o=0.0;l=0.0;m=0.0}else{t=+g[f+336>>2];n=+g[b+188>>2];o=+g[f+340>>2];v=+g[b+184>>2];m=+g[b+180>>2];u=+g[f+332>>2];d=t*n-o*v;k=+g[f+316>>2];n=o*m-n*u;o=+g[f+320>>2];l=+g[f+324>>2];m=v*u-t*m}}else{v=+g[f+332>>2];n=+g[b+188>>2];o=+g[f+336>>2];t=+g[b+184>>2];m=+g[b+180>>2];u=+g[f+328>>2];d=v*n-o*t;k=+g[f+312>>2];n=o*m-n*u;o=+g[f+316>>2];l=+g[f+320>>2];m=t*u-v*m}p=p-(k+d);n=r-(o+n);d=q-(l+m);k=+g[b+196>>2];l=+g[b+200>>2];m=+g[b+204>>2];a[s+108+32>>0]=1;c[s+108+16>>2]=0;c[s+108+16+4>>2]=0;c[s+108+16+8>>2]=0;c[s+108+16+12>>2]=0;c[s+108>>2]=c[b+72>>2];c[s+108+4>>2]=c[b+72+4>>2];c[s+108+8>>2]=c[b+72+8>>2];c[s+108+12>>2]=c[b+72+12>>2];if(k*p+n*l+d*m<0.0){t=+g[b+212>>2];u=+g[s+108>>2]+((k*p+n*l+d*m)*k+(p-(k*p+n*l+d*m)*k)*t);g[s+108>>2]=u;v=(k*p+n*l+d*m)*l+t*(n-(k*p+n*l+d*m)*l)+ +g[s+108+4>>2];g[s+108+4>>2]=v;l=(k*p+n*l+d*m)*m+t*(d-(k*p+n*l+d*m)*m)+ +g[s+108+8>>2];g[s+108+8>>2]=l;f=s+108+4|0;h=s+108+8|0;j=s+108|0;d=u;k=v}else{f=s+108+4|0;h=s+108+8|0;j=s+108|0;d=+g[s+108>>2];k=+g[s+108+4>>2];l=+g[s+108+8>>2]}m=(+g[b+104>>2]*d+ +g[b+108>>2]*k+ +g[b+112>>2]*l)*e;n=(d*+g[b+120>>2]+k*+g[b+124>>2]+l*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+k*+g[b+140>>2]+l*+g[b+144>>2])*e;g[j>>2]=m;g[f>>2]=n;g[h>>2]=d;g[s+108+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=s;h=s+108|0;j=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(j|0));v=-+g[s+4>>2];u=-+g[s+8>>2];g[s>>2]=-+g[s>>2];g[s+4>>2]=v;g[s+8>>2]=u;g[s+12>>2]=0.0;u=-+g[s+20>>2];v=-+g[s+24>>2];g[s+16>>2]=-+g[s+16>>2];g[s+20>>2]=u;g[s+24>>2]=v;g[s+28>>2]=0.0;Xh(b+4|0,s,b+164|0);Xh(b+16|0,s+108|0,b+180|0);i=s;return}if(!(m==m&n==n&(d==d&0.0==0.0))){i=s;return}v=+O(+(m*m+n*n+d*d));if(v<+g[f+368>>2]){i=s;return}h=c[s+108+32>>2]|0;v=+g[f+372>>2];g[s+72+12>>2]=0.0;g[s+72+28>>2]=0.0;c[s+72+32>>2]=h;g[s+72>>2]=-(m*v);g[s+72+4>>2]=-(n*v);g[s+72+8>>2]=-(d*v);g[s+72+16>>2]=v*-0.0;g[s+72+20>>2]=v*-0.0;g[s+72+24>>2]=v*-0.0;Xh(b+4|0,s+72|0,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=s+36|0;h=s+108|0;j=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(j|0));g[s+36>>2]=d*+g[s+36>>2];g[s+36+4>>2]=d*+g[s+36+4>>2];g[s+36+8>>2]=d*+g[s+36+8>>2];g[s+36+16>>2]=d*+g[s+36+16>>2];g[s+36+20>>2]=d*+g[s+36+20>>2];g[s+36+24>>2]=d*+g[s+36+24>>2];Xh(b+16|0,s+36|0,b+180|0);i=s;return}function fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0;A=i;i=i+192|0;x=c[b+4>>2]|0;if(+g[x+752>>2]>2]|0;w=(c[b+8>>2]|0)+8|0;y=c[w>>2]|0;l=+g[e>>2];n=+g[d>>2]*f+l;h=+g[e+4>>2];o=+g[d+4>>2]*f+h;j=+g[e+8>>2];r=+g[d+8>>2]*f+j;v=(c[b+12>>2]|0)+8|0;p=c[v>>2]|0;m=+g[p+52>>2];if((z|0)!=(y|0)){k=o-+g[p+56>>2];u=r-+g[p+60>>2];B=l-+g[y+52>>2];l=h-+g[y+56>>2];h=j-+g[y+60>>2];s=(n-m)*+g[p+4>>2]+k*+g[p+20>>2]+u*+g[p+36>>2];t=(n-m)*+g[p+8>>2]+k*+g[p+24>>2]+u*+g[p+40>>2];u=(n-m)*+g[p+12>>2]+k*+g[p+28>>2]+u*+g[p+44>>2];j=B*+g[y+4>>2]+l*+g[y+20>>2]+h*+g[y+36>>2];k=B*+g[y+8>>2]+l*+g[y+24>>2]+h*+g[y+40>>2];h=B*+g[y+12>>2]+l*+g[y+28>>2]+h*+g[y+44>>2]}else{C=n-+g[z+52>>2];k=o-+g[z+56>>2];u=r-+g[z+60>>2];B=h-+g[p+56>>2];h=j-+g[p+60>>2];s=C*+g[z+4>>2]+k*+g[z+20>>2]+u*+g[z+36>>2];t=C*+g[z+8>>2]+k*+g[z+24>>2]+u*+g[z+40>>2];u=C*+g[z+12>>2]+k*+g[z+28>>2]+u*+g[z+44>>2];j=(l-m)*+g[p+4>>2]+B*+g[p+20>>2]+h*+g[p+36>>2];k=(l-m)*+g[p+8>>2]+B*+g[p+24>>2]+h*+g[p+40>>2];h=(l-m)*+g[p+12>>2]+B*+g[p+28>>2]+h*+g[p+44>>2]}g[A>>2]=s;g[A+4>>2]=t;g[A+8>>2]=u;g[A+12>>2]=0.0;g[A+16>>2]=j;g[A+20>>2]=k;g[A+24>>2]=h;g[A+28>>2]=0.0;c[A+64>>2]=c[d>>2];c[A+64+4>>2]=c[d+4>>2];c[A+64+8>>2]=c[d+8>>2];c[A+64+12>>2]=c[d+12>>2];g[A+80>>2]=f;g[A+84>>2]=0.0;g[A+88>>2]=0.0;g[A+92>>2]=0.0;c[A+112>>2]=0;a[A+116>>0]=0;c[A+120>>2]=0;c[A+120+4>>2]=0;c[A+120+8>>2]=0;c[A+120+12>>2]=0;c[A+120+16>>2]=0;c[A+120+20>>2]=0;c[A+120+24>>2]=0;c[A+120+28>>2]=0;g[A+48>>2]=n;g[A+52>>2]=o;g[A+56>>2]=r;g[A+60>>2]=0.0;c[A+32>>2]=c[e>>2];c[A+32+4>>2]=c[e+4>>2];c[A+32+8>>2]=c[e+8>>2];c[A+32+12>>2]=c[e+12>>2];h=+g[x+752>>2];e=c[x+748>>2]|0;if((e|0)>0){q=0;p=-1;l=h*h;while(1){h=+g[x+4+(q*184|0)>>2]-s;j=+g[x+4+(q*184|0)+4>>2]-t;k=+g[x+4+(q*184|0)+8>>2]-u;d=h*h+j*j+k*k>2]|0;w=c[v>>2]|0;h=+g[q+224>>2]*+g[w+224>>2];h=h<-10.0?-10.0:h;g[A+84>>2]=h>10.0?10.0:h;g[A+92>>2]=+g[q+228>>2]*+g[w+228>>2];h=+g[q+232>>2]*+g[w+232>>2];h=h<-10.0?-10.0:h;g[A+88>>2]=h>10.0?10.0:h;h=+g[A+72>>2];w=+N(+h)>.7071067690849304;l=+g[A+68>>2];if(w){C=1.0/+O(+(h*h+l*l));n=+g[A+64>>2];m=-(C*l*n);n=n*-(C*h);o=-(C*h);j=(h*h+l*l)*C;k=0.0;h=C*l}else{j=+g[A+64>>2];k=1.0/+O(+(j*j+l*l));m=h*-(l*k);n=(j*j+l*l)*k;o=k*j;j=-(k*j*h);k=-(l*k);h=0.0}g[A+152>>2]=k;g[A+156>>2]=o;g[A+160>>2]=h;g[A+168>>2]=j;g[A+172>>2]=m;g[A+176>>2]=n;v=c[b+20>>2]|0;q=c[b+16>>2]|0;w=c[b+28>>2]|0;b=c[b+24>>2]|0;c[A+96>>2]=(z|0)!=(y|0)?v:q;c[A+100>>2]=(z|0)!=(y|0)?q:v;c[A+104>>2]=(z|0)!=(y|0)?w:b;c[A+108>>2]=(z|0)!=(y|0)?b:w;if((p|0)>-1){b=x+4+(p*184|0)+148|0;z=c[b>>2]|0;e=x+4+(p*184|0)+120|0;d=c[e>>2]|0;v=x+4+(p*184|0)+124|0;q=c[v>>2]|0;y=x+4+(p*184|0)+128|0;w=c[y>>2]|0;D=x+4+(p*184|0)+112|0;E=c[D>>2]|0;_m(x+4+(p*184|0)|0,A|0,184)|0;c[D>>2]=E;c[e>>2]=d;c[v>>2]=q;c[y>>2]=w;c[b>>2]=z}else _e(x,A)|0;i=A;return}function ge(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){o=c[b+8>>2]|0;+$b[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}n=c[b+16>>2]|0;a:do if((n|0)>0){m=c[b+12>>2]|0;i=0;while(1){l=m+(i<<2)|0;k=c[l>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0)){o=l;break a}i=i+1|0;if((i|0)>=(n|0)){o=0;break}}}else{i=0;o=0}while(0);if((i|0)<(n|0)){m=c[b+12>>2]|0;j=0;do{l=c[m+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=((k|0)==(h|0)&1)+j|0;i=i+1|0}while((i|0)!=(n|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){n=c[b+8>>2]|0;+$b[c[(c[n>>2]|0)+12>>2]&3](n,d,e,f,g,o,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){i=c[b+32>>2]|0;j=c[b+36>>2]|0;n=0;do{m=d+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l)i=0;else{c[6435]=(c[6435]|0)+1;i=yc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+32>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0);j=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=i;c[b+36>>2]=l;i=j;j=l}else i=j}c[(c[b+40>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+32>>2]=i;n=n+1|0}while((n|0)!=(e|0))}if((g|0)>0){i=c[b+52>>2]|0;j=c[b+56>>2]|0;n=0;do{m=f+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l)i=0;else{c[6435]=(c[6435]|0)+1;i=yc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0);j=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=i;c[b+56>>2]=l;i=j;j=l}else i=j}c[(c[b+60>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+52>>2]=i;n=n+1|0}while((n|0)!=(g|0))}if((h|0)>0){i=c[b+72>>2]|0;j=c[b+76>>2]|0;n=0;do{m=o+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l){k=0;i=j}else{c[6435]=(c[6435]|0)+1;i=yc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+72>>2]|0}if((i|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+80>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[b+80>>2]|0;if(j){if(a[b+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+72>>2]=i;n=n+1|0}while((n|0)!=(h|0))}else i=c[b+72>>2]|0;if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;nh(b);return}function he(d,e,f,h,j){d=d|0;e=e|0;f=+f;h=+h;j=+j;var k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;q=i;i=i+240|0;o=+g[d+96>>2]+h;p=+g[d+100>>2]+j;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=o;g[d+120>>2]=p;g[d+124>>2]=0.0;c[q+168>>2]=1065353216;c[q+168+4>>2]=0;c[q+168+4+4>>2]=0;c[q+168+4+8>>2]=0;c[q+168+4+12>>2]=0;c[q+168+20>>2]=1065353216;c[q+168+24>>2]=0;c[q+168+24+4>>2]=0;c[q+168+24+8>>2]=0;c[q+168+24+12>>2]=0;c[q+168+40>>2]=1065353216;k=q+168+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[q+104>>2]=1065353216;c[q+104+4>>2]=0;c[q+104+4+4>>2]=0;c[q+104+4+8>>2]=0;c[q+104+4+12>>2]=0;c[q+104+20>>2]=1065353216;c[q+104+24>>2]=0;c[q+104+24+4>>2]=0;c[q+104+24+8>>2]=0;c[q+104+24+12>>2]=0;c[q+104+40>>2]=1065353216;k=q+104+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;p=1.0;k=10;while(1){if((k|0)<=0){k=14;break}k=k+-1|0;c[q+168+48>>2]=c[d+92>>2];c[q+168+48+4>>2]=c[d+92+4>>2];c[q+168+48+8>>2]=c[d+92+8>>2];c[q+168+48+12>>2]=c[d+92+12>>2];c[q+104+48>>2]=c[d+112>>2];c[q+104+48+4>>2]=c[d+112+4>>2];c[q+104+48+8>>2]=c[d+112+8>>2];c[q+104+48+12>>2]=c[d+112+12>>2];n=+g[d+92>>2]-+g[d+112>>2];o=+g[d+96>>2]-+g[d+116>>2];f=+g[d+100>>2]-+g[d+120>>2];r=c[d+8>>2]|0;g[q+4>>2]=1.0;b[q+8>>1]=1;b[q+10>>1]=-1;c[q+76>>2]=0;c[q+12>>2]=0;c[q+12+4>>2]=0;c[q+12+8>>2]=0;c[q+12+12>>2]=0;c[q+12+16>>2]=0;c[q+12+20>>2]=0;c[q+12+24>>2]=0;c[q+12+28>>2]=0;c[q>>2]=4936;c[q+80>>2]=r;g[q+84>>2]=n;g[q+88>>2]=o;g[q+92>>2]=f;g[q+96>>2]=0.0;g[q+100>>2]=0.0;r=c[(c[r+188>>2]|0)+4>>2]|0;b[q+8>>1]=r;b[q+10>>1]=r>>>16;r=c[d+12>>2]|0;f=+Sb[c[(c[r>>2]|0)+48>>2]&15](r);r=c[d+12>>2]|0;zb[c[(c[r>>2]|0)+44>>2]&31](r,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))Kd(e,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);else wd(c[d+8>>2]|0,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);r=c[d+12>>2]|0;zb[c[(c[r>>2]|0)+44>>2]&31](r,f);o=+g[q+4>>2];p=p-o;if(o<1.0){h=+g[d+112>>2];m=+g[d+92>>2];j=+g[d+116>>2];n=+g[d+96>>2];l=+g[d+120>>2];o=+g[d+100>>2];f=+O(+((h-m)*(h-m)+(j-n)*(j-n)+(l-o)*(l-o)));if(f>1.1920928955078125e-07){v=+g[q+44>>2];t=+g[q+48>>2];x=+g[q+52>>2];w=((h-m)*(1.0/f)*v+(j-n)*(1.0/f)*t+(l-o)*(1.0/f)*x)*2.0;u=(h-m)*(1.0/f)-v*w;s=(j-n)*(1.0/f)-t*w;w=(l-o)*(1.0/f)-x*w;l=1.0/+O(+(w*w+(u*u+s*s)));c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];h=f*(l*u-v*(x*l*w+(v*l*u+t*l*s)))+ +g[d+112>>2];g[d+112>>2]=h;j=f*(l*s-t*(x*l*w+(v*l*u+t*l*s)))+ +g[d+116>>2];g[d+116>>2]=j;l=f*(l*w-x*(x*l*w+(v*l*u+t*l*s)))+ +g[d+120>>2];g[d+120>>2]=l;f=j}else f=j;j=h-m;h=f-n;f=l-o;if(!(j*j+h*h+f*f>1.1920928955078125e-07)){k=11;break}x=1.0/+O(+(j*j+h*h+f*f));if(+g[d+76>>2]*j*x+h*x*+g[d+80>>2]+f*x*+g[d+84>>2]<=0.0){k=11;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(p>.009999999776482582)){k=14;break}}if((k|0)==11){i=q;return}else if((k|0)==14){i=q;return}}function ie(d,f,h,j){d=d|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;w=i;i=i+80|0;v=c[d+48>>2]|0;c[w>>2]=6864;c[w+4>>2]=v;c[w+8>>2]=f;v=c[d+52>>2]|0;if(!(a[v+60>>0]|0)){f=c[v+56>>2]|0;if((f|0)>0){d=f;m=0;p=c[v+96>>2]|0;f=0;while(1){f=f+1|0;if(!(+g[h>>2]>+g[p+16>>2])?!(+g[j>>2]<+g[p>>2]):0)k=1;else k=0;if(!(!(+g[h+8>>2]>+g[p+24>>2])?!(+g[j+8>>2]<+g[p+8>>2]):0))k=0;if(!(+g[h+4>>2]>+g[p+20>>2])?!(+g[j+4>>2]<+g[p+4>>2]):0){l=c[p+32>>2]|0;if(k&(l|0)==-1){ic[c[(c[w>>2]|0)+8>>2]&127](w,c[p+36>>2]|0,c[p+40>>2]|0);d=c[v+56>>2]|0;o=43}else{n=(l|0)==-1;o=42}}else{l=c[p+32>>2]|0;k=0;n=(l|0)==-1;o=42}if((o|0)==42){o=0;if(n|k)o=43;else{m=l+m|0;k=p+(l<<6)|0}}if((o|0)==43){m=m+1|0;k=p+64|0}if((m|0)<(d|0))p=k;else break}}else f=0;if((c[6167]|0)>=(f|0)){i=w;return}c[6167]=f;i=w;return}D=+g[h>>2];H=+g[h+4>>2];z=+g[h+8>>2];G=+g[v+4>>2];D=D>2];H=H>2];z=z>2];A=+g[v+24>>2];E=+g[v+28>>2];F=+g[v+36>>2];x=+g[v+40>>2];B=+g[v+44>>2];u=~~(((I>1]=u;s=~~(((E>1]=t;b[w+66+4>>1]=s;H=+g[j>>2];z=+g[j+4>>2];D=+g[j+8>>2];H=H>1]=r;j=(~~(((E>1]=q;b[w+60+4>>1]=j;switch(c[v+144>>2]|0){case 0:{o=c[v+56>>2]|0;if((o|0)>0){d=0;k=c[v+136>>2]|0;f=0;do{f=f+1|0;l=((r&65535)>=(e[k>>1]|0)?(u&65535)<=(e[k+6>>1]|0):0)&(s&65535)<=(e[k+10>>1]|0)&(j&65535)>=(e[k+4>>1]|0)&(t&65535)<=(e[k+8>>1]|0)&(q&65535)>=(e[k+2>>1]|0);m=k+12|0;n=c[m>>2]|0;if((n|0)>-1&l)ic[c[(c[w>>2]|0)+8>>2]&127](w,n>>21,n&2097151);if(l|(n|0)>-1){d=d+1|0;k=k+16|0}else{v=c[m>>2]|0;d=d-v|0;k=k+(0-v<<4)|0}}while((d|0)<(o|0))}else f=0;if((c[6167]|0)<(f|0))c[6167]=f;break}case 1:{if((c[v+152>>2]|0)>0){h=0;do{f=c[v+160>>2]|0;if(((r&65535)>=(e[f+(h<<5)>>1]|0)?(u&65535)<=(e[f+(h<<5)+6>>1]|0):0)&(s&65535)<=(e[f+(h<<5)+10>>1]|0)&(j&65535)>=(e[f+(h<<5)+4>>1]|0)&(t&65535)<=(e[f+(h<<5)+8>>1]|0)&(q&65535)>=(e[f+(h<<5)+2>>1]|0)){p=c[f+(h<<5)+12>>2]|0;o=c[f+(h<<5)+16>>2]|0;if((o|0)>0){d=p;k=(c[v+136>>2]|0)+(p<<4)|0;f=0;do{f=f+1|0;l=((r&65535)>=(e[k>>1]|0)?(u&65535)<=(e[k+6>>1]|0):0)&(s&65535)<=(e[k+10>>1]|0)&(j&65535)>=(e[k+4>>1]|0)&(t&65535)<=(e[k+8>>1]|0)&(q&65535)>=(e[k+2>>1]|0);m=k+12|0;n=c[m>>2]|0;if((n|0)>-1&l)ic[c[(c[w>>2]|0)+8>>2]&127](w,n>>21,n&2097151);if(l|(n|0)>-1){d=d+1|0;k=k+16|0}else{n=c[m>>2]|0;d=d-n|0;k=k+(0-n<<4)|0}}while((d|0)<(o+p|0))}else f=0;if((c[6167]|0)<(f|0))c[6167]=f}h=h+1|0}while((h|0)<(c[v+152>>2]|0))}break}case 2:{Lk(c[v+136>>2]|0,w,w+66|0,w+60|0);break}default:{}}i=w;return}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.800000011920929;g[b+132>>2]=0.0;g[b+120>>2]=1.0;c[b+136>>2]=1;g[b+140>>2]=-.03999999910593033;g[b+144>>2]=.10000000149011612;g[b+148>>2]=0.0;g[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;g[b+168>>2]=100.0;g[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=4144;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=f;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!f){c[6435]=(c[6435]|0)+1;f=yc(215)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=4756;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;a[f+160>>0]=1;c[f+156>>2]=0;c[f+148>>2]=0;c[f+152>>2]=0;a[f+180>>0]=1;c[f+176>>2]=0;c[f+168>>2]=0;c[f+172>>2]=0;c[f+192>>2]=0;c[b+200>>2]=f;a[b+273>>0]=1}else a[b+273>>0]=0;c[6435]=(c[6435]|0)+1;f=yc(87)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=5456;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+64>>0]=1;c[b+204>>2]=f;a[b+272>>0]=1;c[6435]=(c[6435]|0)+1;f=yc(107)|0;if(!f){e=0;h=c[b+200>>2]|0;c[e>>2]=4356;f=e+4|0;c[f>>2]=0;f=e+8|0;c[f>>2]=h;f=e+12|0;c[f>>2]=0;f=e+16|0;c[f>>2]=0;f=e+20|0;c[f>>2]=0;f=e+24|0;c[f>>2]=d;d=e+44|0;a[d>>0]=1;d=e+40|0;c[d>>2]=0;d=e+32|0;c[d>>2]=0;d=e+36|0;c[d>>2]=0;d=e+64|0;a[d>>0]=1;d=e+60|0;c[d>>2]=0;d=e+52|0;c[d>>2]=0;d=e+56|0;c[d>>2]=0;d=e+84|0;a[d>>0]=1;d=e+80|0;c[d>>2]=0;d=e+72|0;c[d>>2]=0;d=e+76|0;c[d>>2]=0;c[b+196>>2]=e;return}c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16;f=c[b+200>>2]|0;c[h>>2]=4356;e=h+4|0;c[e>>2]=0;e=h+8|0;c[e>>2]=f;e=h+12|0;c[e>>2]=0;e=h+16|0;c[e>>2]=0;e=h+20|0;c[e>>2]=0;e=h+24|0;c[e>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function ke(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=i;i=i+96|0;s=c[b+12>>2]|0;mc[c[(c[s>>2]|0)+8>>2]&127](s,(c[b+8>>2]|0)+4|0,u+80|0,u+64|0);s=c[d+68>>2]|0;yb[c[(c[s>>2]|0)+16>>2]&31](s,c[(c[b+8>>2]|0)+188>>2]|0,u+80|0,u+64|0,c[d+24>>2]|0);s=c[d+24>>2]|0;mc[c[(c[s>>2]|0)+32>>2]&127](s,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,s);s=c[b+8>>2]|0;c[b+92>>2]=c[s+52>>2];c[b+92+4>>2]=c[s+52+4>>2];c[b+92+8>>2]=c[s+52+8>>2];c[b+92+12>>2]=c[s+52+12>>2];s=c[s+284>>2]|0;if((Eb[c[(c[s>>2]|0)+36>>2]&127](s)|0)>0){s=0;h=0.0;d=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){f=c[b+140>>2]|0;if(f|0){if(a[b+144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0;r=c[c[e+(s<<4)>>2]>>2]|0;f=c[c[e+(s<<4)+4>>2]>>2]|0;if(!((r|0)!=0?(c[r+204>>2]&4|0)!=0:0))t=14;do if((t|0)==14){t=0;if(f|0?c[f+204>>2]&4|0:0)break;e=c[e+(s<<4)+8>>2]|0;if(e|0)Cb[c[(c[e>>2]|0)+16>>2]&127](e,b+128|0);q=c[b+132>>2]|0;if((q|0)>0){o=c[b+140>>2]|0;p=c[b+8>>2]|0;r=0;do{m=c[o+(r<<2)>>2]|0;n=(c[m+740>>2]|0)==(p|0)?-1.0:1.0;e=c[m+748>>2]|0;if((e|0)>0){l=0;do{k=+g[m+4+(l*184|0)+80>>2];if(k<0.0){j=m+4+(l*184|0)+64|0;if(k>2];f=m+4+(l*184|0)+72|0;h=n*+g[f>>2];g[b+152>>2]=n*+g[j>>2];g[b+156>>2]=v;g[b+160>>2]=h;g[b+164>>2]=0.0;e=c[m+748>>2]|0;h=k}else{d=m+4+(l*184|0)+68|0;f=m+4+(l*184|0)+72|0}w=k*n*+g[d>>2]*.20000000298023224;v=k*n*+g[f>>2]*.20000000298023224;g[b+92>>2]=k*n*+g[j>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=w+ +g[b+96>>2];g[b+100>>2]=v+ +g[b+100>>2];d=1}l=l+1|0}while((l|0)<(e|0))}r=r+1|0}while((r|0)!=(q|0))}}while(0);s=s+1|0;r=c[(c[b+8>>2]|0)+284>>2]|0}while((s|0)<(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0))}else d=0;t=c[b+8>>2]|0;c[u>>2]=c[t+4>>2];c[u+4>>2]=c[t+4+4>>2];c[u+8>>2]=c[t+4+8>>2];c[u+12>>2]=c[t+4+12>>2];c[u+16>>2]=c[t+20>>2];c[u+16+4>>2]=c[t+20+4>>2];c[u+16+8>>2]=c[t+20+8>>2];c[u+16+12>>2]=c[t+20+12>>2];c[u+32>>2]=c[t+36>>2];c[u+32+4>>2]=c[t+36+4>>2];c[u+32+8>>2]=c[t+36+8>>2];c[u+32+12>>2]=c[t+36+12>>2];c[u+48>>2]=c[b+92>>2];c[u+48+4>>2]=c[b+92+4>>2];c[u+48+8>>2]=c[b+92+8>>2];c[u+48+12>>2]=c[b+92+12>>2];c[t+260>>2]=(c[t+260>>2]|0)+1;c[t+4>>2]=c[u>>2];c[t+4+4>>2]=c[u+4>>2];c[t+4+8>>2]=c[u+8>>2];c[t+4+12>>2]=c[u+12>>2];c[t+20>>2]=c[u+16>>2];c[t+20+4>>2]=c[u+16+4>>2];c[t+20+8>>2]=c[u+16+8>>2];c[t+20+12>>2]=c[u+16+12>>2];c[t+36>>2]=c[u+32>>2];c[t+36+4>>2]=c[u+32+4>>2];c[t+36+8>>2]=c[u+32+8>>2];c[t+36+12>>2]=c[u+32+12>>2];c[t+52>>2]=c[u+48>>2];c[t+52+4>>2]=c[u+48+4>>2];c[t+52+8>>2]=c[u+48+8>>2];c[t+52+12>>2]=c[u+48+12>>2];i=u;return d|0}function le(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0;s=i;i=i+48|0;c[s+16>>2]=c[e>>2];c[s+16+4>>2]=c[e+4>>2];c[s+16+8>>2]=c[e+8>>2];c[s+16+12>>2]=c[e+12>>2];c[s+16+16>>2]=c[f>>2];c[s+16+16+4>>2]=c[f+4>>2];c[s+16+16+8>>2]=c[f+8>>2];c[s+16+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;hh(b+64|0,h)|0;j=c[b+68>>2]|0;if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[6435]=(c[6435]|0)+1;h=yc(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=h;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[s+16>>2];c[h+4>>2]=c[s+16+4>>2];c[h+8>>2]=c[s+16+8>>2];c[h+12>>2]=c[s+16+12>>2];c[h+16>>2]=c[s+16+16>>2];c[h+20>>2]=c[s+16+20>>2];c[h+24>>2]=c[s+16+24>>2];c[h+28>>2]=c[s+16+28>>2];lf(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;k=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;r=c[d+48>>2]|0;if(((((+g[r>>2]<=+g[s+16+16>>2]?+g[r+16>>2]>=+g[s+16>>2]:0)?+g[r+4>>2]<=+g[s+16+20>>2]:0)?+g[r+20>>2]>=+g[s+16+4>>2]:0)?+g[r+8>>2]<=+g[s+16+24>>2]:0)?+g[r+24>>2]>=+g[s+16+8>>2]:0){l=+g[d+16>>2];t=+g[e>>2]-l;m=+g[d+20>>2];o=+g[e+4>>2]-m;n=+g[d+24>>2];p=+g[e+8>>2]-n;u=+g[b+140>>2];l=(+g[d+32>>2]-l)*.5*u;m=(+g[d+36>>2]-m)*.5*u;n=u*(+g[d+40>>2]-n)*.5;g[s>>2]=l;g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=0.0;if(t<0.0)g[s>>2]=-l;if(o<0.0)g[s+4>>2]=-m;if(p<0.0)g[s+8>>2]=-n;if(jh(b+4|0,r,s+16|0,s,.05000000074505806)|0){c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}else h=0;k=h;break}h=hh(b+4|0,r)|0;a:do if(h){k=c[b+12>>2]|0;if((k|0)<=-1){h=c[b+4>>2]|0;break}if((k|0)>0){q=0;while(1){j=c[h+32>>2]|0;q=q+1|0;if(!j)break a;if((q|0)>=(k|0)){h=j;break}else h=j}}}else h=0;while(0);c[r>>2]=c[s+16>>2];c[r+4>>2]=c[s+16+4>>2];c[r+8>>2]=c[s+16+8>>2];c[r+12>>2]=c[s+16+12>>2];c[r+16>>2]=c[s+16+16>>2];c[r+20>>2]=c[s+16+20>>2];c[r+24>>2]=c[s+16+24>>2];c[r+28>>2]=c[s+16+28>>2];lf(b+4|0,h,r);c[b+172>>2]=(c[b+172>>2]|0)+1;k=1}while(0);h=c[d+52>>2]|0;j=c[d+56>>2]|0;if(!h)c[b+124+(c[d+60>>2]<<2)>>2]=j;else c[h+56>>2]=j;h=c[d+56>>2]|0;if(h|0)c[h+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];h=c[b+144>>2]|0;c[d+60>>2]=h;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(h<<2)>>2];j=c[b+124+(h<<2)>>2]|0;if(j|0)c[j+52>>2]=d;c[b+124+(h<<2)>>2]=d;if(!k){i=s;return}a[b+194>>0]=1;if(a[b+193>>0]|0){i=s;return}c[s>>2]=8904;c[s+4>>2]=b;we(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,s);we(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,s);i=s;return}function me(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+352|0;e=c[d+36>>2]|0;c[m+288+4>>2]=35;c[m+288+8>>2]=0;c[m+288+12>>2]=1065353216;c[m+288+16>>2]=1065353216;c[m+288+20>>2]=1065353216;g[m+288+24>>2]=0.0;c[m+288>>2]=3436;c[m+288+52>>2]=e;g[m+288+44>>2]=0.0;k=c[b+28>>2]|0;d=c[k+4>>2]|0;if(c[(c[k+8>>2]|0)+204>>2]&3|0?a[e+376>>0]|0:0){i=m;return}if((a[22456]|0)==0?Wa(22456)|0:0){if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456)}f=c[(c[b+28>>2]|0)+12>>2]|0;c[m>>2]=1065353216;c[m+4>>2]=0;c[m+8>>2]=0;g[m+12>>2]=0.0;if(!(!(Jd(m+288|0,22840,d,f,m,m+232|0)|0)?!(Pc(m+288|0,22840,d,f,m,m+232|0,0)|0):0)){k=m+16+4|0;a[m+16+152>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[m+16>>2]=3256;k=c[(c[b+28>>2]|0)+8>>2]|0;do if(jd(b,m+232|0,e,0,0,0,(c[k+236>>2]&2|0)==0?0:k,k,m+16|0)|0){c[6435]=(c[6435]|0)+1;d=yc(235)|0;if(!d)k=0;else{c[(d+4+15&-16)+-4>>2]=d;k=d+4+15&-16}d=k+152|0;Qn(k|0,0,156)|0;c[k>>2]=3256;e=k+4|0;f=m+16+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=k+104|0;c[e>>2]=c[m+16+104>>2];c[e+4>>2]=c[m+16+104+4>>2];c[e+8>>2]=c[m+16+104+8>>2];c[e+12>>2]=c[m+16+104+12>>2];e=k+120|0;c[e>>2]=c[m+16+120>>2];c[e+4>>2]=c[m+16+120+4>>2];c[e+8>>2]=c[m+16+120+8>>2];c[e+12>>2]=c[m+16+120+12>>2];e=k+136|0;c[e>>2]=c[m+16+136>>2];c[e+4>>2]=c[m+16+136+4>>2];c[e+8>>2]=c[m+16+136+8>>2];c[e+12>>2]=c[m+16+136+12>>2];a[d>>0]=a[m+16+152>>0]|0;e=k+156|0;f=m+16+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;j=k;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(l=d|0?d<<1:1,(d|0)<(l|0)):0){if(!l)f=0;else{c[6435]=(c[6435]|0)+1;d=yc((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=l}c[(c[h+860>>2]|0)+(d<<2)>>2]=j;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=k+64|0;g[b>>2]=+g[d+340>>2]*+g[b>>2];b=k+68|0;g[b>>2]=+g[d+352>>2]*+g[b>>2];break}else{b=k+64|0;g[b>>2]=+g[d+344>>2]*+g[b>>2];b=k+68|0;g[b>>2]=+g[d+356>>2]*+g[b>>2];break}}while(0)}i=m;return}function ne(b,d,e,f,h,i,j,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4704;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];p=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];do if(!(m*p+n*q+o*r>=.9999998807907104))if(!(m*p+n*q+o*r<=-.9999998807907104)){e=(g[k>>2]=o*q-n*r,c[k>>2]|0);f=(g[k>>2]=m*r-o*p,c[k>>2]|0);l=(g[k>>2]=n*p-m*q,c[k>>2]|0);u=(g[k>>2]=r*(m*r-o*p)-q*(n*p-m*q),c[k>>2]|0);v=(g[k>>2]=p*(n*p-m*q)-r*(o*q-n*r),c[k>>2]|0);t=(g[k>>2]=q*(o*q-n*r)-p*(m*r-o*p),c[k>>2]|0);break}else{u=c[d+12>>2]|0;v=c[d+28>>2]|0;t=c[d+44>>2]|0;e=c[d+8>>2]|0;l=c[d+40>>2]|0;f=c[d+24>>2]|0;break}else{u=(g[k>>2]=-+g[d+12>>2],c[k>>2]|0);v=(g[k>>2]=-+g[d+28>>2],c[k>>2]|0);t=(g[k>>2]=-+g[d+44>>2],c[k>>2]|0);e=c[d+8>>2]|0;l=c[d+40>>2]|0;f=c[d+24>>2]|0}while(0);c[b+552>>2]=u;c[b+556>>2]=e;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;c[b+568>>2]=v;c[b+572>>2]=f;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;c[b+584>>2]=t;c[b+588>>2]=l;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;o=+g[i+4>>2];q=+g[j+8>>2];m=+g[i+8>>2];r=+g[j+4>>2];s=+g[j>>2];n=+g[i>>2];do if(q*m+(o*r+s*n)<-.9999998807907104)if(+N(+m)>.7071067690849304){n=1.0/+O(+(o*o+m*m));e=0;p=0.0;m=-(m*n);f=(g[k>>2]=o*n,c[k>>2]|0);break}else{m=1.0/+O(+(o*o+n*n));e=(g[k>>2]=-(o*m),c[k>>2]|0);p=0.0;m=n*m;f=0;break}else{w=+O(+((q*m+(o*r+s*n)+1.0)*2.0));e=(g[k>>2]=(o*q-m*r)*(1.0/w),c[k>>2]|0);p=w*.5;m=(m*s-q*n)*(1.0/w);f=(g[k>>2]=(r*n-o*s)*(1.0/w),c[k>>2]|0)}while(0);o=(c[k>>2]=u,+g[k>>2]);A=(c[k>>2]=t,+g[k>>2]);z=(c[k>>2]=f,+g[k>>2]);w=(c[k>>2]=v,+g[k>>2]);B=o*p+A*m-w*z;n=(c[k>>2]=e,+g[k>>2]);x=w*p+o*z-A*n;y=A*p+w*n-o*m;A=-(o*n)-w*m-A*z;m=-m;w=x*-z+(p*B+A*-n)-y*m;o=y*-n+(p*x+A*m)-B*-z;p=B*m+(A*-z+p*y)-x*-n;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=w;g[b+620>>2]=r*p-q*o;c[b+624>>2]=c[j>>2];g[b+628>>2]=0.0;g[b+632>>2]=o;g[b+636>>2]=q*w-s*p;c[b+640>>2]=c[j+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=p;g[b+652>>2]=s*o-r*w;c[b+656>>2]=c[j+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=a[b+740>>0]|0?-1.0:1.0;return}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=i;i=i+144|0;if((c[a+16>>2]|0)<=0){o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;Ab[b&255](a);i=p;return}j=p+16+16|0;k=p+16+32|0;l=p+16+48|0;o=0;do{n=c[a+24>>2]|0;m=n+(o*80|0)|0;c[p+16>>2]=c[m>>2];c[p+16+4>>2]=c[m+4>>2];c[p+16+8>>2]=c[m+8>>2];c[p+16+12>>2]=c[m+12>>2];m=n+(o*80|0)+16|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];m=n+(o*80|0)+32|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];m=n+(o*80|0)+48|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];n=c[n+(o*80|0)+64>>2]|0;n=Eb[c[(c[n>>2]|0)+28>>2]&127](n)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];q=+g[p+4>>2]*+g[b+4>>2]/+g[a+80>>2];r=+g[p+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[p>>2]=+g[p>>2]*+g[b>>2]/+g[a+76>>2];g[p+4>>2]=q;g[p+8>>2]=r;g[p+12>>2]=0.0;n=c[(c[a+24>>2]|0)+(o*80|0)+64>>2]|0;Cb[c[(c[n>>2]|0)+24>>2]&127](n,p);r=+g[p+16+52>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[p+16+56>>2]*+g[b+8>>2]/+g[a+84>>2];g[p+16+48>>2]=+g[l>>2]*+g[b>>2]/+g[a+76>>2];g[p+16+52>>2]=r;g[p+16+56>>2]=q;g[p+16+60>>2]=0.0;n=c[a+24>>2]|0;m=n+(o*80|0)|0;c[m>>2]=c[p+16>>2];c[m+4>>2]=c[p+16+4>>2];c[m+8>>2]=c[p+16+8>>2];c[m+12>>2]=c[p+16+12>>2];m=n+(o*80|0)+16|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];m=n+(o*80|0)+32|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];n=n+(o*80|0)+48|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];if(c[a+64>>2]|0){m=c[(c[a+24>>2]|0)+(o*80|0)+64>>2]|0;mc[c[(c[m>>2]|0)+8>>2]&127](m,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+80+4>>2]=c[p+128+4>>2];c[p+80+8>>2]=c[p+128+8>>2];c[p+80+12>>2]=c[p+128+12>>2];c[p+80+16>>2]=c[p+112>>2];c[p+80+16+4>>2]=c[p+112+4>>2];c[p+80+16+8>>2]=c[p+112+8>>2];c[p+80+16+12>>2]=c[p+112+12>>2];m=c[a+64>>2]|0;n=c[(c[a+24>>2]|0)+(o*80|0)+76>>2]|0;d=hh(m,n)|0;a:do if(d){f=c[m+8>>2]|0;if((f|0)<=-1){d=c[m>>2]|0;break}if((f|0)>0){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);c[n>>2]=c[p+80>>2];c[n+4>>2]=c[p+80+4>>2];c[n+8>>2]=c[p+80+8>>2];c[n+12>>2]=c[p+80+12>>2];c[n+16>>2]=c[p+80+16>>2];c[n+20>>2]=c[p+80+20>>2];c[n+24>>2]=c[p+80+24>>2];c[n+28>>2]=c[p+80+28>>2];lf(m,d,n)}o=o+1|0}while((o|0)<(c[a+16>>2]|0));o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;Ab[b&255](a);i=p;return}function pe(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=8520;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[6435]=(c[6435]|0)+1;j=yc(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Ri(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[6435]=(c[6435]|0)+1;j=yc(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j>>2]=8584;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[6435]=(c[6435]|0)+1;j=yc(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Zh(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;f=(i&65535)+1&65535;c[6435]=(c[6435]|0)+1;j=yc(f<<6|19)|0;if(!j)h=0;else{c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16}if(f|0){j=h+(f<<6)|0;k=h;do{c[k>>2]=0;c[k+8>>2]=0;k=k+64|0}while((k|0)!=(j|0))}c[d+60>>2]=h;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(f>>>0>1){j=1;k=1;do{b[h+(j<<6)+48>>1]=j+1;k=k+1<<16>>16;j=k&65535}while(j>>>0>>0)}b[h+(f+-1<<6)+48>>1]=0;c[6435]=(c[6435]|0)+1;j=yc((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[6435]=(c[6435]|0)+1;j=yc((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[6435]=(c[6435]|0)+1;j=yc((f<<3|3)+16|0)|0;if(!j){h=0;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8660;return}c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8660;return}function qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;Il();c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=23268;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4376;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;w=+g[b+112>>2];C=+g[d+4>>2];v=+g[b+128>>2];B=+g[d+8>>2];u=+g[b+144>>2];A=+g[d+12>>2];t=+g[b+116>>2];s=+g[b+132>>2];r=+g[b+148>>2];q=+g[b+120>>2];o=+g[b+136>>2];m=+g[b+152>>2];z=+g[d+20>>2];y=+g[d+24>>2];x=+g[d+28>>2];p=+g[d+36>>2];n=+g[d+40>>2];l=+g[d+44>>2];E=+g[b+160>>2];D=+g[b+164>>2];i=+g[b+168>>2];k=+g[d+52>>2]+(C*E+B*D+A*i);j=z*E+y*D+x*i+ +g[d+56>>2];i=p*E+n*D+l*i+ +g[d+60>>2];g[b+48>>2]=w*C+v*B+u*A;g[b+52>>2]=C*t+B*s+A*r;g[b+56>>2]=C*q+B*o+A*m;g[b+60>>2]=0.0;g[b+64>>2]=w*z+v*y+u*x;g[b+68>>2]=t*z+s*y+r*x;g[b+72>>2]=q*z+o*y+m*x;g[b+76>>2]=0.0;g[b+80>>2]=w*p+v*n+u*l;g[b+84>>2]=t*p+s*n+r*l;g[b+88>>2]=q*p+o*n+m*l;g[b+92>>2]=0.0;g[b+96>>2]=k;g[b+100>>2]=j;g[b+104>>2]=i;g[b+108>>2]=0.0;sd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function re(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=i;i=i+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U>2];G=+g[f+20>>2];H=+g[f+36>>2];I=+g[f+8>>2];J=+g[f+24>>2];K=+g[f+40>>2];L=+g[f+12>>2];M=+g[f+28>>2];N=+g[f+44>>2];k=-+g[f+52>>2];l=-+g[f+56>>2];m=-+g[f+60>>2];O=+g[h+4>>2];P=+g[h+20>>2];Q=+g[h+36>>2];R=+g[h+8>>2];S=+g[h+24>>2];T=+g[h+40>>2];U=+g[h+12>>2];V=+g[h+28>>2];p=+g[h+44>>2];u=+g[h+52>>2];t=+g[h+56>>2];s=+g[h+60>>2];q=F*k+G*l+H*m+(F*u+G*t+H*s);r=I*k+J*l+K*m+(I*u+J*t+K*s);s=L*k+M*l+N*m+(L*u+M*t+N*s);t=+g[h+68>>2];u=+g[h+84>>2];v=+g[h+100>>2];w=+g[h+72>>2];x=+g[h+88>>2];y=+g[h+104>>2];z=+g[h+76>>2];A=+g[h+92>>2];B=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];E=+g[h+124>>2];C=F*k+G*l+H*m+(F*n+G*o+H*E);D=I*k+J*l+K*m+(I*n+J*o+K*E);E=L*k+M*l+N*m+(L*n+M*o+N*E);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;i=W;return +X}g[W+224>>2]=q;g[W+224+4>>2]=r;g[W+224+8>>2]=s;g[W+224+12>>2]=0.0;if(C>2]=C;j=C}else j=q;if(D>2]=D;k=D}else k=r;if(E>2]=E;l=E}else l=s;g[W+208>>2]=q;g[W+208+4>>2]=r;g[W+208+8>>2]=s;g[W+208+12>>2]=0.0;if(q>2]=C;m=C}else m=q;if(r>2]=D;n=D}else n=r;if(s>2]=E;o=E}else o=s;Y=+g[h+248>>2];g[W+224>>2]=j-Y;g[W+224+4>>2]=k-Y;g[W+224+8>>2]=l-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=3688;g[W+4>>2]=F*O+G*P+H*Q;g[W+8>>2]=F*R+G*S+H*T;g[W+12>>2]=F*U+G*V+H*p;g[W+16>>2]=0.0;g[W+20>>2]=I*O+J*P+K*Q;g[W+24>>2]=I*R+J*S+K*T;g[W+28>>2]=I*U+J*V+K*p;g[W+32>>2]=0.0;g[W+36>>2]=L*O+M*P+N*Q;g[W+40>>2]=L*R+M*S+N*T;g[W+44>>2]=L*U+M*V+N*p;g[W+48>>2]=0.0;g[W+52>>2]=q;g[W+56>>2]=r;g[W+60>>2]=s;g[W+64>>2]=0.0;g[W+68>>2]=F*t+G*u+H*v;g[W+72>>2]=F*w+G*x+H*y;g[W+76>>2]=F*z+G*A+H*B;g[W+80>>2]=0.0;g[W+84>>2]=I*t+J*u+K*v;g[W+88>>2]=I*w+J*x+K*y;g[W+92>>2]=I*z+J*A+K*B;g[W+96>>2]=0.0;g[W+100>>2]=L*t+M*u+N*v;g[W+104>>2]=L*w+M*x+N*y;g[W+108>>2]=L*z+M*A+N*B;g[W+112>>2]=0.0;g[W+116>>2]=C;g[W+120>>2]=D;g[W+124>>2]=E;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(mc[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;i=W;return +Y}Y=1.0;i=W;return +Y}function se(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=i;i=i+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U>2];G=+g[f+20>>2];H=+g[f+36>>2];I=+g[f+8>>2];J=+g[f+24>>2];K=+g[f+40>>2];L=+g[f+12>>2];M=+g[f+28>>2];N=+g[f+44>>2];k=-+g[f+52>>2];l=-+g[f+56>>2];m=-+g[f+60>>2];O=+g[h+4>>2];P=+g[h+20>>2];Q=+g[h+36>>2];R=+g[h+8>>2];S=+g[h+24>>2];T=+g[h+40>>2];U=+g[h+12>>2];V=+g[h+28>>2];p=+g[h+44>>2];u=+g[h+52>>2];t=+g[h+56>>2];s=+g[h+60>>2];q=F*k+G*l+H*m+(F*u+G*t+H*s);r=I*k+J*l+K*m+(I*u+J*t+K*s);s=L*k+M*l+N*m+(L*u+M*t+N*s);t=+g[h+68>>2];u=+g[h+84>>2];v=+g[h+100>>2];w=+g[h+72>>2];x=+g[h+88>>2];y=+g[h+104>>2];z=+g[h+76>>2];A=+g[h+92>>2];B=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];E=+g[h+124>>2];C=F*k+G*l+H*m+(F*n+G*o+H*E);D=I*k+J*l+K*m+(I*n+J*o+K*E);E=L*k+M*l+N*m+(L*n+M*o+N*E);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;i=W;return +X}g[W+224>>2]=q;g[W+224+4>>2]=r;g[W+224+8>>2]=s;g[W+224+12>>2]=0.0;if(C>2]=C;j=C}else j=q;if(D>2]=D;k=D}else k=r;if(E>2]=E;l=E}else l=s;g[W+208>>2]=q;g[W+208+4>>2]=r;g[W+208+8>>2]=s;g[W+208+12>>2]=0.0;if(q>2]=C;m=C}else m=q;if(r>2]=D;n=D}else n=r;if(s>2]=E;o=E}else o=s;Y=+g[h+248>>2];g[W+224>>2]=j-Y;g[W+224+4>>2]=k-Y;g[W+224+8>>2]=l-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=5556;g[W+4>>2]=F*O+G*P+H*Q;g[W+8>>2]=F*R+G*S+H*T;g[W+12>>2]=F*U+G*V+H*p;g[W+16>>2]=0.0;g[W+20>>2]=I*O+J*P+K*Q;g[W+24>>2]=I*R+J*S+K*T;g[W+28>>2]=I*U+J*V+K*p;g[W+32>>2]=0.0;g[W+36>>2]=L*O+M*P+N*Q;g[W+40>>2]=L*R+M*S+N*T;g[W+44>>2]=L*U+M*V+N*p;g[W+48>>2]=0.0;g[W+52>>2]=q;g[W+56>>2]=r;g[W+60>>2]=s;g[W+64>>2]=0.0;g[W+68>>2]=F*t+G*u+H*v;g[W+72>>2]=F*w+G*x+H*y;g[W+76>>2]=F*z+G*A+H*B;g[W+80>>2]=0.0;g[W+84>>2]=I*t+J*u+K*v;g[W+88>>2]=I*w+J*x+K*y;g[W+92>>2]=I*z+J*A+K*B;g[W+96>>2]=0.0;g[W+100>>2]=L*t+M*u+N*v;g[W+104>>2]=L*w+M*x+N*y;g[W+108>>2]=L*z+M*A+N*B;g[W+112>>2]=0.0;g[W+116>>2]=C;g[W+120>>2]=D;g[W+124>>2]=E;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(mc[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;i=W;return +Y}Y=1.0;i=W;return +Y}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=0;do{k=m;m=m+1|0;l=(m|0)==3;j=c[b+((l?0:m)<<2)>>2]|0;k=c[b+(((k+2|0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=3}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=3;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=3;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=11}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=11;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=11;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==11){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=19}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[h+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=19;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=19;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==19){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=27}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=27;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=27;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=35}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=35;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=35;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==35){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=43}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[h+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=43;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=43;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==43){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!l);return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=Uh(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(m|0)&(f|0)==(i|0)){e=2;o=2}else{if(!((e|0)==(i|0)&(f|0)==(m|0))){g=c[h+8>>2]|0;if((f|0)==(m|0)&(g|0)==(i|0)){e=0;o=2;break}if(!((f|0)==(i|0)&(g|0)==(m|0))){if(!((g|0)!=(m|0)|(e|0)==(i|0)^1)){e=1;o=2;break}if((g|0)!=(i|0)|(e|0)==(m|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=Uh(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(i|0)&(f|0)==(l|0)){e=2;o=10}else{if(!((e|0)==(l|0)&(f|0)==(i|0))){g=c[h+8>>2]|0;if((f|0)==(i|0)&(g|0)==(l|0)){e=0;o=10;break}if(!((f|0)==(l|0)&(g|0)==(i|0))){if(!((g|0)!=(i|0)|(e|0)==(l|0)^1)){e=1;o=10;break}if((g|0)!=(l|0)|(e|0)==(i|0)^1){e=9432;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==10)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=Uh(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if((f|0)==(l|0)&(g|0)==(m|0)){f=2;o=18}else{if(!((f|0)==(m|0)&(g|0)==(l|0))){h=c[i+8>>2]|0;if((g|0)==(l|0)&(h|0)==(m|0)){f=0;o=18;break}if(!((g|0)==(m|0)&(h|0)==(l|0))){if(!((h|0)!=(l|0)|(f|0)==(m|0)^1)){f=1;o=18;break}if((h|0)!=(m|0)|(f|0)==(l|0)^1){f=9432;break}else f=1}else f=0}else f=2;f=i+12+(f<<2)|0}while(0);if((o|0)==18)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){te(c[a+12>>2]|0,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){te(c[a+12>>2]|0,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){te(c[a+12>>2]|0,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}c[e+(c[b+24>>2]<<2)>>2]=0;if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function ve(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0;v=i;i=i+176|0;if(!(a[b+527>>0]|0)){i=v;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){d=c[b+28>>2]|0;k=+g[b+348>>2];l=+g[b+352>>2];r=+g[b+356>>2];t=k*+g[d+20>>2]+l*+g[d+24>>2]+r*+g[d+28>>2]+ +g[d+56>>2];j=c[b+32>>2]|0;m=+g[b+412>>2];n=+g[b+416>>2];s=+g[b+420>>2];o=+g[j+52>>2];e=+g[j+56>>2];u=m*+g[j+20>>2]+n*+g[j+24>>2]+s*+g[j+28>>2]+e;p=m*+g[j+36>>2]+n*+g[j+40>>2]+s*+g[j+44>>2]+ +g[j+60>>2];q=k*+g[d+4>>2]+l*+g[d+8>>2]+r*+g[d+12>>2]+ +g[d+52>>2];r=k*+g[d+36>>2]+l*+g[d+40>>2]+r*+g[d+44>>2]+ +g[d+60>>2];s=m*+g[j+4>>2]+n*+g[j+8>>2]+s*+g[j+12>>2]+o;if((s-q)*(s-q)+(u-t)*(u-t)+(p-r)*(p-r)>1.1920928955078125e-07){h=1.0/+O(+((s-q)*(s-q)+(u-t)*(u-t)+(p-r)*(p-r)));g[v+128>>2]=(s-q)*h;g[v+128+4>>2]=(u-t)*h;g[v+128+8>>2]=(p-r)*h;c[v+128+12>>2]=0;k=(p-r)*h;f=(u-t)*h;h=(s-q)*h}else{c[v+128>>2]=1065353216;c[v+128+4>>2]=0;c[v+128+8>>2]=0;g[v+128+12>>2]=0.0;k=0.0;f=0.0;h=1.0}if(+N(+k)>.7071067690849304){x=k*k+f*f;w=1.0/+O(+x);m=-(w*k);k=w*f;n=-(k*h);l=h*m;f=x*w;h=k;k=0.0}else{m=h*h+f*f;l=1.0/+O(+m);x=-(f*l);f=l*h;n=k*x;l=m*l;m=f;f=-(f*k);h=0.0;k=x}g[v+128+16>>2]=k;g[v+128+20>>2]=m;g[v+128+24>>2]=h;g[v+128+32>>2]=f;g[v+128+36>>2]=n;g[v+128+40>>2]=l;f=o;d=0;while(1){y=c[b+28>>2]|0;c[v+80>>2]=c[y+4>>2];c[v+80+4>>2]=c[y+20>>2];c[v+80+8>>2]=c[y+36>>2];g[v+80+12>>2]=0.0;c[v+80+16>>2]=c[y+8>>2];c[v+80+20>>2]=c[y+24>>2];c[v+80+24>>2]=c[y+40>>2];g[v+80+28>>2]=0.0;c[v+80+32>>2]=c[y+12>>2];c[v+80+36>>2]=c[y+28>>2];c[v+80+40>>2]=c[y+44>>2];g[v+80+44>>2]=0.0;c[v+32>>2]=c[j+4>>2];c[v+32+4>>2]=c[j+20>>2];c[v+32+8>>2]=c[j+36>>2];g[v+32+12>>2]=0.0;c[v+32+16>>2]=c[j+8>>2];c[v+32+20>>2]=c[j+24>>2];c[v+32+24>>2]=c[j+40>>2];g[v+32+28>>2]=0.0;c[v+32+32>>2]=c[j+12>>2];c[v+32+36>>2]=c[j+28>>2];c[v+32+40>>2]=c[j+44>>2];g[v+32+44>>2]=0.0;w=t-+g[y+56>>2];x=r-+g[y+60>>2];g[v+16>>2]=q-+g[y+52>>2];g[v+16+4>>2]=w;g[v+16+8>>2]=x;g[v+16+12>>2]=0.0;x=p-+g[j+60>>2];g[v>>2]=s-f;g[v+4>>2]=u-e;g[v+8>>2]=x;g[v+12>>2]=0.0;y=c[b+28>>2]|0;j=c[b+32>>2]|0;Rg(b+48+(d*84|0)|0,v+80|0,v+32|0,v+16|0,v,v+128+(d<<4)|0,y+396|0,+g[y+344>>2],j+396|0,+g[j+344>>2]);d=d+1|0;if((d|0)==3)break;y=c[b+32>>2]|0;j=y;f=+g[y+52>>2];e=+g[y+56>>2]}d=b+32|0}else d=b+32|0;j=c[b+28>>2]|0;y=c[d>>2]|0;Fc(b,j+4|0,y+4|0,j+264|0,y+264|0);i=v;return}function we(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[6435]=(c[6435]|0)+1;h=yc(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+24>>2]|0;if((h|0)>0){i=0;do{l=(c[b+32>>2]|0)+(i<<3)|0;m=c[l+4>>2]|0;n=j+(i<<3)|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;i=i+1|0}while((i|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;n=c[b+32>>2]|0;c[n>>2]=d;c[n+4>>2]=e;n=1;j=124;while(1){h=n+-1|0;i=c[b+32>>2]|0;l=c[i+(h<<3)>>2]|0;m=c[i+(h<<3)+4>>2]|0;if((h|0)>(j|0)){e=c[b+24>>2]|0;if((e|0)<(e<<1|0)?(c[b+28>>2]|0)<(e<<1|0):0){if(e){c[6435]=(c[6435]|0)+1;i=yc((e<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+24>>2]|0;if((j|0)>0){d=0;do{p=(c[b+32>>2]|0)+(d<<3)|0;o=c[p+4>>2]|0;k=i+(d<<3)|0;c[k>>2]=c[p>>2];c[k+4>>2]=o;d=d+1|0}while((d|0)!=(j|0))}}else i=0;j=c[b+32>>2]|0;if(j|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=i;c[b+28>>2]=e<<1}c[b+24>>2]=e<<1;j=(e<<1)+-4|0}do if((l|0)==(m|0)){if(c[l+40>>2]|0){p=c[l+36>>2]|0;c[i+(h<<3)>>2]=p;c[i+(h<<3)+4>>2]=p;h=n+1|0;p=c[b+32>>2]|0;o=c[l+40>>2]|0;c[p+(n<<3)>>2]=o;c[p+(n<<3)+4>>2]=o;p=c[b+32>>2]|0;o=c[l+40>>2]|0;c[p+(h<<3)>>2]=c[l+36>>2];c[p+(h<<3)+4>>2]=o;h=n+2|0}}else if(((((+g[l>>2]<=+g[m+16>>2]?+g[l+16>>2]>=+g[m>>2]:0)?+g[l+4>>2]<=+g[m+20>>2]:0)?+g[l+20>>2]>=+g[m+4>>2]:0)?+g[l+8>>2]<=+g[m+24>>2]:0)?+g[l+24>>2]>=+g[m+8>>2]:0){d=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(d){p=c[m+36>>2]|0;c[i+(h<<3)>>2]=l;c[i+(h<<3)+4>>2]=p;h=c[b+32>>2]|0;p=c[m+40>>2]|0;c[h+(n<<3)>>2]=l;c[h+(n<<3)+4>>2]=p;h=n+1|0;break}else{ic[c[(c[f>>2]|0)+8>>2]&127](f,l,m);break}else{e=i+(h<<3)|0;k=c[l+36>>2]|0;if(d){p=c[m+36>>2]|0;c[e>>2]=k;c[i+(h<<3)+4>>2]=p;p=n+1|0;h=c[b+32>>2]|0;o=c[m+36>>2]|0;c[h+(n<<3)>>2]=c[l+40>>2];c[h+(n<<3)+4>>2]=o;h=n+2|0;o=c[b+32>>2]|0;k=c[m+40>>2]|0;c[o+(p<<3)>>2]=c[l+36>>2];c[o+(p<<3)+4>>2]=k;p=c[b+32>>2]|0;o=c[m+40>>2]|0;c[p+(h<<3)>>2]=c[l+40>>2];c[p+(h<<3)+4>>2]=o;h=n+3|0;break}else{c[e>>2]=k;c[i+(h<<3)+4>>2]=m;h=c[b+32>>2]|0;c[h+(n<<3)>>2]=c[l+40>>2];c[h+(n<<3)+4>>2]=m;h=n+1|0;break}}}while(0);if(!h)break;else n=h}return}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;e=c[a+64>>2]|0;if(e|0){f=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;hh(e,f)|0;d=c[e+4>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[e+4>>2]=f;c[e+12>>2]=(c[e+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;i=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;i=g;return}function ye(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((h|0)>0){k=0;b=0;do{r=c[f+(k<<2)>>2]|0;b=(r|0)>(b|0)?r:b;k=k+1|0}while((k|0)<(h*3|0))}else b=0;p=b+1|0;l=_(p,p)|0;if(!l)r=0;else{c[6435]=(c[6435]|0)+1;k=yc(l+19|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}Qn(k|0,0,l|0)|0;r=k}if((b|0)>-1){if((p|0)!=0?(c[6435]=(c[6435]|0)+1,m=yc((p<<4|3)+16|0)|0,(m|0)!=0):0){c[(m+4+15&-16)+-4>>2]=m;l=m+4+15&-16}else l=0;b=0;do{q=l+(b<<4)|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];b=b+1|0}while((b|0)!=(p|0));b=0;k=0;while(1){o=c[e+(b+1<<2)>>2]|0;q=c[e+(b+2<<2)>>2]|0;c[l+(k<<4)>>2]=c[e+(b<<2)>>2];c[l+(k<<4)+4>>2]=o;c[l+(k<<4)+8>>2]=q;g[l+(k<<4)+12>>2]=0.0;b=b+3|0;if((b|0)>=(p*3|0))break;else k=k+1|0}}else l=0;c[6435]=(c[6435]|0)+1;b=yc(1271)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}Kc(q,d,p,l,0);if((h|0)>0){o=0;do{e=c[f+(o<<2)>>2]|0;d=c[f+(o+1<<2)>>2]|0;n=c[f+(o+2<<2)>>2]|0;k=_(e,p)|0;b=r+(k+n)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[r+(e+(_(n,p)|0))>>0]=1;Rf(q,n,e,0,0)}m=_(d,p)|0;b=r+(m+e)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[r+(d+k)>>0]=1;Rf(q,e,d,0,0)}b=r+((_(n,p)|0)+d)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[r+(n+m)>>0]=1;Rf(q,d,n,0,0)}Zf(q,e,d,n,0);o=o+3|0}while((o|0)<(h*3|0))}if(j){k=c[q+732>>2]|0;if((k|0)>0){m=q+740|0;n=0;b=243703;do{e=c[m>>2]|0;d=e+(n*52|0)|0;b=(_(b,1664525)|0)+1013904223|0;o=s+16|0;p=d;f=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));o=d;p=e+(((b>>>0)%(k>>>0)|0)*52|0)|0;f=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));o=e+(((b>>>0)%(k>>>0)|0)*52|0)|0;p=s+16|0;f=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));n=n+1|0}while((n|0)!=(k|0))}else b=243703;d=c[q+752>>2]|0;if((d|0)>0){e=q+760|0;n=0;do{m=c[e>>2]|0;k=m+(n*44|0)|0;b=(_(b,1664525)|0)+1013904223|0;m=m+(((b>>>0)%(d>>>0)|0)*44|0)|0;o=s+16|0;p=k;f=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));o=k;p=m;f=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));o=m;p=s+16|0;f=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(f|0));n=n+1|0}while((n|0)!=(d|0))}}if(l|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}if(!r){i=s;return q|0}c[6436]=(c[6436]|0)+1;hd(c[r+-4>>2]|0);i=s;return q|0}function ze(a,d,f,h,j,k,l,m,n){a=a|0;d=d|0;f=f|0;h=+h;j=+j;k=+k;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;V=i;i=i+32|0;H=+g[f>>2];Q=+g[f+4>>2];S=+g[f+8>>2];J=1.0/+O(+((h-H)*(h-H)+(j-Q)*(j-Q)+(k-S)*(k-S)));N=(h-H)*J==0.0?999999984306749440.0:1.0/((h-H)*J);P=(j-Q)*J==0.0?999999984306749440.0:1.0/((j-Q)*J);R=(k-S)*J==0.0?999999984306749440.0:1.0/((k-S)*J);ea=(H>h?h:H)+ +g[l>>2];ca=(Q>j?j:Q)+ +g[l+4>>2];da=(S>k?k:S)+ +g[l+8>>2];aa=(H>2];t=(Q>2];Y=(S>2];$=+g[a+4>>2];ea=ea<$?$:ea;u=+g[a+8>>2];ca=ca>2];da=da>2];s=+g[a+24>>2];Z=+g[a+28>>2];_=+g[a+36>>2];v=+g[a+40>>2];W=+g[a+44>>2];T=~~(((ba0){p=0;q=c[a+136>>2]|0;o=0;do{o=o+1|0;r=q+6|0;w=b[q>>1]|0;x=q+10|0;y=b[q+4>>1]|0;z=q+8|0;A=b[q+2>>1]|0;B=q+12|0;C=(c[B>>2]|0)>-1;do if(((I&65535)>=(w&65535)?(T&65535)<=(e[r>>1]|0):0)&(E&65535)<=(e[x>>1]|0)&(D&65535)>=(y&65535)&(G&65535)<=(e[z>>1]|0)&(F&65535)>=(A&65535)){aa=+g[a+36>>2];ca=+g[a+40>>2];ea=+g[a+44>>2];ba=+g[a+4>>2];da=+g[a+8>>2];u=+g[a+12>>2];g[V+12>>2]=0.0;v=+(e[r>>1]|0)/aa+ba;s=+(e[z>>1]|0)/ca+da;t=+(e[x>>1]|0)/ea+u;g[V+28>>2]=0.0;g[V>>2]=+(w&65535)/aa+ba-+g[m>>2];g[V+4>>2]=+(A&65535)/ca+da-+g[m+4>>2];g[V+8>>2]=+(y&65535)/ea+u-+g[m+8>>2];g[V+16>>2]=v-+g[l>>2];g[V+20>>2]=s-+g[l+4>>2];g[V+24>>2]=t-+g[l+8>>2];t=+g[f>>2];s=N*(+g[V+((N<0.0&1)<<4)>>2]-t);t=N*(+g[V+((N<0.0^1)<<4)>>2]-t);v=+g[f+4>>2];u=P*(+g[V+((P<0.0&1)<<4)+4>>2]-v);v=P*(+g[V+((P<0.0^1)<<4)+4>>2]-v);if(!(u>t|s>v)?(K=u>s?u:s,U=v>2],L=R*(+g[V+((R<0.0&1)<<4)+8>>2]-M),M=R*(+g[V+((R<0.0^1)<<4)+8>>2]-M),!(L>U|K>M)):0){r=(M0.0?(L>K?L:K)<(k-S)*(k-S)*J+((h-H)*(h-H)*J+(j-Q)*(j-Q)*J):0;if(!(C&r)){w=9;break}w=c[B>>2]|0;ic[c[(c[d>>2]|0)+8>>2]&127](d,w>>21,w&2097151);w=10;break}r=0;w=9}else{r=0;w=9}while(0);if((w|0)==9){w=0;if(C|r)w=10;else{C=c[B>>2]|0;p=p-C|0;q=q+(0-C<<4)|0}}if((w|0)==10){p=p+1|0;q=q+16|0}}while((p|0)<(n|0))}else o=0;if((c[6167]|0)>=(o|0)){i=V;return}c[6167]=o;i=V;return}function Ae(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;Tg(a,b+(c*284|0)|0,d);m=+g[b+(c*284|0)+52>>2];h=+g[b+(c*284|0)+56>>2];q=+g[b+(c*284|0)+60>>2];G=+g[b+(c*284|0)+76>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+68>>2];w=1.0/+O(+((x*-m-z*-h)*(x*-m-z*-h)+((G*-h-x*-q)*(G*-h-x*-q)+(z*-q-G*-m)*(z*-q-G*-m))));v=(G*-h-x*-q)*w;u=w*(z*-q-G*-m);w=w*(x*-m-z*-h);e=+g[b+(c*284|0)+232>>2]*.5;k=+R(+e)/+O(+(m*m+h*h+q*q));e=+Q(+e);l=2.0/(e*e+(k*-q*k*-q+(k*-m*k*-m+k*-h*k*-h)));E=1.0-(k*-h*k*-h*l+k*-q*k*-q*l);D=k*-m*k*-h*l-e*k*-q*l;F=k*-m*k*-q*l+e*k*-h*l;B=k*-m*k*-h*l+e*k*-q*l;A=1.0-(k*-m*k*-m*l+k*-q*k*-q*l);C=k*-h*k*-q*l-e*k*-m*l;j=k*-m*k*-q*l-e*k*-h*l;e=k*-h*k*-q*l+e*k*-m*l;l=1.0-(k*-m*k*-m*l+k*-h*k*-h*l);k=+g[b+(c*284|0)+236>>2]*-.5;y=+R(+k)/+O(+(G*G+(x*x+z*z)));k=+Q(+k);r=2.0/(k*k+(G*y*G*y+(z*y*z*y+x*y*x*y)));n=1.0-(x*y*x*y*r+G*y*G*y*r);i=z*y*x*y*r-k*G*y*r;t=z*y*G*y*r+k*x*y*r;o=z*y*x*y*r+k*G*y*r;f=1.0-(z*y*z*y*r+G*y*G*y*r);s=x*y*G*y*r-k*z*y*r;p=z*y*G*y*r-k*x*y*r;k=x*y*G*y*r+k*z*y*r;r=1.0-(z*y*z*y*r+x*y*x*y*r);y=+g[b+(c*284|0)+68>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=z*(E*t+D*s+F*r)+(y*(F*p+(D*o+E*n))+x*(F*k+(E*i+D*f)));g[b+(c*284|0)+96>>2]=w*(E*t+D*s+F*r)+(v*(F*p+(D*o+E*n))+u*(F*k+(E*i+D*f)));g[b+(c*284|0)+100>>2]=(E*t+D*s+F*r)*-q+((F*p+(D*o+E*n))*-m+(F*k+(E*i+D*f))*-h);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=z*(B*t+A*s+C*r)+(y*(C*p+(A*o+B*n))+x*(C*k+(B*i+A*f)));g[b+(c*284|0)+112>>2]=w*(B*t+A*s+C*r)+(v*(C*p+(A*o+B*n))+u*(C*k+(B*i+A*f)));g[b+(c*284|0)+116>>2]=(B*t+A*s+C*r)*-q+((C*p+(A*o+B*n))*-m+(C*k+(B*i+A*f))*-h);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=z*(j*t+e*s+l*r)+(y*(l*p+(e*o+j*n))+x*(l*k+(j*i+e*f)));g[b+(c*284|0)+128>>2]=w*(j*t+e*s+l*r)+(v*(l*p+(e*o+j*n))+u*(l*k+(j*i+e*f)));g[b+(c*284|0)+132>>2]=(j*t+e*s+l*r)*-q+((l*p+(e*o+j*n))*-m+(l*k+(j*i+e*f))*-h);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=h*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];e=h*+g[b+(c*284|0)+60>>2]+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+52>>2]*h+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function Be(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;D=i;i=i+32|0;if(!d){i=D;return}q=c[b+44>>2]|0;if((q|0)<128){if((c[b+48>>2]|0)<128){c[6435]=(c[6435]|0)+1;n=yc(531)|0;if(!n)p=0;else{c[(n+4+15&-16)+-4>>2]=n;p=n+4+15&-16}n=c[b+44>>2]|0;if((n|0)>0){o=0;do{c[p+(o<<2)>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0))}n=c[b+52>>2]|0;if(n|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=p;c[b+48>>2]=128;o=b+52|0}else o=b+52|0;n=q;do{c[(c[o>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=128);y=b+48|0}else{o=b+52|0;y=b+48|0}c[b+44>>2]=128;c[c[o>>2]>>2]=d;x=1;n=126;while(1){p=x+-1|0;q=c[o>>2]|0;w=c[q+(p<<2)>>2]|0;t=+g[w+4>>2]-+g[l+4>>2];r=+g[w+8>>2]-+g[l+8>>2];g[D>>2]=+g[w>>2]-+g[l>>2];g[D+4>>2]=t;g[D+8>>2]=r;g[D+12>>2]=0.0;r=+g[w+20>>2]-+g[k+4>>2];t=+g[w+24>>2]-+g[k+8>>2];g[D+16>>2]=+g[w+16>>2]-+g[k>>2];g[D+20>>2]=r;g[D+24>>2]=t;g[D+28>>2]=0.0;v=c[h>>2]|0;t=+g[e>>2];r=+g[f>>2];s=(+g[D+(v<<4)>>2]-t)*r;t=r*(+g[D+(1-v<<4)>>2]-t);v=c[h+4>>2]|0;r=+g[e+4>>2];E=+g[f+4>>2];u=(+g[D+(v<<4)+4>>2]-r)*E;r=E*(+g[D+(1-v<<4)+4>>2]-r);do if((!(u>t|s>r)?(z=u>s?u:s,C=r>2]|0,B=+g[e+8>>2],E=+g[f+8>>2],A=(+g[D+(v<<4)+8>>2]-B)*E,B=E*(+g[D+(1-v<<4)+8>>2]-B),!(A>C|z>B)):0)?((B0.0?(A>z?A:z)>2]|0)){Cb[c[(c[m>>2]|0)+12>>2]&127](m,w);break}if((p|0)>(n|0)){v=c[b+44>>2]|0;if((v|0)<(v<<1|0)){if((c[y>>2]|0)<(v<<1|0)){if(v){c[6435]=(c[6435]|0)+1;n=yc((v<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}q=c[b+44>>2]|0;if((q|0)>0){d=0;do{c[n+(d<<2)>>2]=c[(c[o>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(q|0))}}else n=0;q=c[o>>2]|0;if(q|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[o>>2]=0}a[b+56>>0]=1;c[o>>2]=n;c[y>>2]=v<<1;q=v}else{n=q;q=v}do{c[n+(q<<2)>>2]=0;q=q+1|0;n=c[o>>2]|0}while((q|0)!=(v<<1|0))}else n=q;c[b+44>>2]=v<<1;q=n;n=(v<<1)+-2|0}c[q+(p<<2)>>2]=c[w+36>>2];c[(c[o>>2]|0)+(x<<2)>>2]=c[w+40>>2];p=x+1|0}while(0);if(!p)break;else x=p}i=D;return}function Ce(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=i;i=i+32|0;q=+g[d>>2];j=(g[k>>2]=q,c[k>>2]|0);t=q<999999984306749440.0?j:1566444395;p=+g[d+4>>2];m=(g[k>>2]=p,c[k>>2]|0);u=p<999999984306749440.0?m:1566444395;E=+g[d+8>>2];o=(g[k>>2]=E,c[k>>2]|0);w=E<999999984306749440.0?o:1566444395;s=+g[d+12>>2];y=s<0.0?s:0.0;j=q>-999999984306749440.0?j:-581039253;m=p>-999999984306749440.0?m:-581039253;o=E>-999999984306749440.0?o:-581039253;s=s>0.0?s:0.0;E=+g[d+16>>2];B=E<(c[k>>2]=t,+g[k>>2]);h=(g[k>>2]=E,c[k>>2]|0);t=B?h:t;p=+g[d+20>>2];B=p<(c[k>>2]=u,+g[k>>2]);l=(g[k>>2]=p,c[k>>2]|0);u=B?l:u;q=+g[d+24>>2];B=q<(c[k>>2]=w,+g[k>>2]);n=(g[k>>2]=q,c[k>>2]|0);w=B?n:w;r=+g[d+28>>2];y=r>2]=j,+g[k>>2])>2]=m,+g[k>>2])>2]=o,+g[k>>2])>2];B=E<(c[k>>2]=t,+g[k>>2]);h=(g[k>>2]=E,c[k>>2]|0);B=B?h:t;q=+g[d+36>>2];A=q<(c[k>>2]=u,+g[k>>2]);j=(g[k>>2]=q,c[k>>2]|0);A=A?j:u;r=+g[d+40>>2];z=r<(c[k>>2]=w,+g[k>>2]);l=(g[k>>2]=r,c[k>>2]|0);z=z?l:w;p=+g[d+44>>2];y=p>2]=x,+g[k>>2])>2]=v,+g[k>>2])>2]=m,+g[k>>2])>2]|0;h=c[t+4>>2]|0;if((h|0)==(c[t+8>>2]|0)?(C=h|0?h<<1:1,(h|0)<(C|0)):0){if(!C)o=0;else{c[6435]=(c[6435]|0)+1;h=yc(C<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[t+4>>2]|0}if((h|0)>0){j=0;do{l=o+(j<<6)|0;m=(c[t+12>>2]|0)+(j<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));j=j+1|0}while((j|0)!=(h|0))}h=c[t+12>>2]|0;if(h|0){if(a[t+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[t+12>>2]=0}a[t+16>>0]=1;c[t+12>>2]=o;c[t+8>>2]=C;h=c[t+4>>2]|0}C=c[t+12>>2]|0;c[C+(h<<6)>>2]=B;c[C+(h<<6)+4>>2]=A;c[C+(h<<6)+8>>2]=z;g[C+(h<<6)+12>>2]=y;c[C+(h<<6)+16>>2]=w;c[C+(h<<6)+20>>2]=v;c[C+(h<<6)+24>>2]=u;g[C+(h<<6)+28>>2]=p;c[C+(h<<6)+32>>2]=-1;c[C+(h<<6)+36>>2]=e;c[C+(h<<6)+40>>2]=f;f=C+(h<<6)+44|0;c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[t+4>>2]=(c[t+4>>2]|0)+1;i=D;return}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;o=i;i=i+16|0;l=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];j=+g[e>>2];k=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+228>>0]|0)){z=+g[b+100>>2];w=+g[b+116>>2];C=+g[b+132>>2];y=+g[b+104>>2];u=+g[b+120>>2];B=+g[b+136>>2];x=+g[b+108>>2];s=+g[b+124>>2];A=+g[b+140>>2];F=-+g[b+148>>2];E=-+g[b+152>>2];D=-+g[b+156>>2];J=+g[b+164>>2];I=+g[b+168>>2];r=+g[b+172>>2];H=+g[b+180>>2];G=+g[b+184>>2];q=+g[b+188>>2];v=+g[b+196>>2];t=+g[b+200>>2];p=+g[b+204>>2];r=h*(C*J+B*I+A*r)+(j*(z*J+y*I+x*r)+k*(w*J+u*I+s*r))+(J*(z*F+w*E+C*D)+(y*F+u*E+B*D)*I+(x*F+s*E+A*D)*r+ +g[b+212>>2]);q=h*(C*H+B*G+A*q)+(j*(z*H+y*G+x*q)+k*(w*H+u*G+s*q))+((z*F+w*E+C*D)*H+(y*F+u*E+B*D)*G+(x*F+s*E+A*D)*q+ +g[b+216>>2]);p=(z*F+w*E+C*D)*v+(y*F+u*E+B*D)*t+(x*F+s*E+A*D)*p+ +g[b+220>>2]+(h*(C*v+B*t+A*p)+(j*(z*v+y*t+x*p)+k*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;f=(l*f+j-r)*+g[d>>2]+(m*f+k-q)*+g[d+4>>2]+(n*f+h-p)*+g[d+8>>2];e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;hc[e&15](b,d,o,f);i=o;return}else{z=+g[b+36>>2];C=+g[b+52>>2];w=+g[b+68>>2];A=+g[b+40>>2];E=+g[b+56>>2];x=+g[b+72>>2];B=+g[b+44>>2];G=+g[b+60>>2];y=+g[b+76>>2];t=-+g[b+84>>2];u=-+g[b+88>>2];v=-+g[b+92>>2];p=+g[b+164>>2];q=+g[b+168>>2];H=+g[b+172>>2];r=+g[b+180>>2];s=+g[b+184>>2];I=+g[b+188>>2];D=+g[b+196>>2];F=+g[b+200>>2];J=+g[b+204>>2];H=(n*f+h)*(w*p+x*q+y*H)+((l*f+j)*(z*p+A*q+B*H)+(m*f+k)*(C*p+E*q+G*H))+(p*(z*t+C*u+w*v)+(A*t+E*u+x*v)*q+(B*t+G*u+y*v)*H+ +g[b+212>>2]);I=(n*f+h)*(w*r+x*s+y*I)+((l*f+j)*(z*r+A*s+B*I)+(m*f+k)*(C*r+E*s+G*I))+((z*t+C*u+w*v)*r+(A*t+E*u+x*v)*s+(B*t+G*u+y*v)*I+ +g[b+216>>2]);J=(z*t+C*u+w*v)*D+(A*t+E*u+x*v)*F+(B*t+G*u+y*v)*J+ +g[b+220>>2]+((n*f+h)*(w*D+x*F+y*J)+((l*f+j)*(z*D+A*F+B*J)+(m*f+k)*(C*D+E*F+G*J)));g[o>>2]=H+l*(l*(H-j)+m*(I-k)+n*(J-h));g[o+4>>2]=I+m*(l*(H-j)+m*(I-k)+n*(J-h));g[o+8>>2]=J+n*(l*(H-j)+m*(I-k)+n*(J-h));J=l*(H-j)+m*(I-k)+n*(J-h);e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;hc[e&15](b,d,o,J);i=o;return}}function Ee(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;if((j|0)<2|(k|0)<2){m=0;return m|0}r=_(k,j)|0;c[6435]=(c[6435]|0)+1;b=yc(r>>>0>268435455?18:(r<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}n=r>>>0>1073741823?-1:r<<2;n=(n|0)==0?1:n;while(1){p=yc(n)|0;if(p|0)break;b=c[6564]|0;c[6564]=b+0;if(!b){o=8;break}jc[b&3]()}if((o|0)==8){m=Ya(4)|0;c[m>>2]=9640;pb(m|0,2800,251)}if((k|0)>0?(j|0)>0:0){o=0;do{y=+(o|0)/+(k+-1|0);s=+g[e>>2];s=s+y*(+g[h>>2]-s);t=+g[e+4>>2];t=t+y*(+g[h+4>>2]-t);u=+g[e+8>>2];u=u+y*(+g[h+8>>2]-u);v=+g[f>>2];w=+g[f+4>>2];x=+g[f+8>>2];b=_(o,j)|0;v=v+y*(+g[i>>2]-v)-s;w=w+y*(+g[i+4>>2]-w)-t;x=x+y*(+g[i+8>>2]-x)-u;n=0;do{y=+(n|0)/+(j+-1|0);z=n+b|0;g[q+(z<<4)>>2]=s+v*y;g[q+(z<<4)+4>>2]=t+w*y;g[q+(z<<4)+8>>2]=u+x*y;g[q+(z<<4)+12>>2]=0.0;g[p+(z<<2)>>2]=1.0;n=n+1|0}while((n|0)!=(j|0));o=o+1|0}while((o|0)!=(k|0))}c[6435]=(c[6435]|0)+1;b=yc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Kc(b,d,r,q,p);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){z=_(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(z*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){z=j+-1+(_(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(z*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(q|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}hd(p);if((k|0)<=0){z=b;return z|0}q=0;while(1){a:do if((j|0)>0){r=_(q,j)|0;n=q+1|0;o=_(n,j)|0;if((n|0)<(k|0))h=0;else{o=0;while(1){p=o;o=o+1|0;if((o|0)<(j|0))Rf(b,p+r|0,o+r|0,0,0);if((o|0)==(j|0))break a}}do{p=h+r|0;i=h;h=h+1|0;do if((h|0)<(j|0)){e=h+r|0;Rf(b,p,e,0,0);Rf(b,p,i+o|0,0,0);if(!(i+q&1)){Zf(b,i+o|0,p,e,0);Zf(b,i+o|0,e,h+o|0,0);if(!m)break;Rf(b,e,i+o|0,0,0);break}else{f=h+o|0;Zf(b,p,e,f,0);Zf(b,p,f,i+o|0,0);if(!m)break;Rf(b,p,f,0,0);break}}else Rf(b,p,i+o|0,0,0);while(0)}while((h|0)!=(j|0))}else n=q+1|0;while(0);if((n|0)==(k|0))break;else q=n}return b|0}function Fe(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;o=c[b+452>>2]|0;ic[c[(c[o>>2]|0)+16>>2]&127](o,b+324|0,0);o=c[b+452>>2]|0;Eb[c[(c[o>>2]|0)+12>>2]&127](o)|0;ad(b,d);li(11792);o=c[b+328>>2]|0;if((o|0)>0){e=c[b+336>>2]|0;f=0;l=0;do{n=c[(c[e+(f<<2)>>2]|0)+384>>2]|0;l=(l|0)>(n|0)?l:n;f=f+1|0}while((f|0)!=(o|0));f=0;while(1){e=c[e+(f<<2)>>2]|0;if((c[e+852>>2]|0)>0){h=0;do{n=c[(c[e+860>>2]|0)+(h<<2)>>2]|0;Jb[c[(c[n>>2]|0)+8>>2]&15](n,+g[e+452>>2],l);h=h+1|0}while((h|0)<(c[e+852>>2]|0))}f=f+1|0;if((f|0)==(o|0))break;e=c[b+336>>2]|0}if((l|0)>0){j=0;do{k=0;do{e=c[(c[b+336>>2]|0)+(k<<2)>>2]|0;f=c[e+852>>2]|0;if((f|0)>0){h=0;do{n=c[(c[e+860>>2]|0)+(h<<2)>>2]|0;Nb[c[(c[n>>2]|0)+12>>2]&7](n,+g[e+452>>2],1.0);h=h+1|0}while((h|0)!=(f|0))}k=k+1|0}while((k|0)!=(o|0));j=j+1|0}while((j|0)!=(l|0));n=0}else n=0;do{m=c[(c[b+336>>2]|0)+(n<<2)>>2]|0;if((c[m+852>>2]|0)>0){h=0;do{e=c[(c[m+860>>2]|0)+(h<<2)>>2]|0;zb[c[(c[e>>2]|0)+16>>2]&31](e,+g[m+452>>2]);e=c[m+860>>2]|0;f=c[e+(h<<2)>>2]|0;a:do if(a[f+152>>0]|0){if(!f)l=e;else{c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);l=c[m+860>>2]|0}e=h+-1|0;f=c[m+852>>2]|0;if((f|0)>0){k=c[l+(h<<2)>>2]|0;h=0;while(1){j=l+(h<<2)|0;if((c[j>>2]|0)==(k|0))break;h=h+1|0;if((h|0)>=(f|0))break a}if((h|0)<(f|0)){c[j>>2]=c[l+(f+-1<<2)>>2];c[(c[m+860>>2]|0)+(f+-1<<2)>>2]=k;c[m+852>>2]=f+-1;f=f+-1|0}}}else{f=c[m+852>>2]|0;e=h}while(0);h=e+1|0}while((h|0)<(f|0))}n=n+1|0}while((n|0)!=(o|0))}e=c[b+452>>2]|0;zb[c[(c[e>>2]|0)+28>>2]&31](e,+g[e+12>>2]*d);e=c[2357]|0;o=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=o;do if(!o){if(c[e+4>>2]|0){tb(p|0,0)|0;o=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);if((c[b+328>>2]|0)<=0){b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Ab[o&255](b);i=p;return}e=0;do{o=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;bi(o,o);e=e+1|0}while((e|0)<(c[b+328>>2]|0));b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Ab[o&255](b);i=p;return}function Ge(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;li(14295);d=c[b+8>>2]|0;if((d|0)>0){o=0;do{n=c[(c[b+16>>2]|0)+(o<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[n+216>>2]|0){case 2:case 5:break;default:q=11}else q=11;if((q|0)==11){q=0;d=c[n+192>>2]|0;mc[c[(c[d>>2]|0)+8>>2]&127](d,n+4|0,r+48|0,r+32|0);e=+g[r+48>>2]+-.019999999552965164;g[r+48>>2]=e;f=+g[r+48+4>>2]+-.019999999552965164;g[r+48+4>>2]=f;h=+g[r+48+8>>2]+-.019999999552965164;g[r+48+8>>2]=h;j=+g[r+32>>2]+.019999999552965164;g[r+32>>2]=j;k=+g[r+32+4>>2]+.019999999552965164;g[r+32+4>>2]=k;l=+g[r+32+8>>2]+.019999999552965164;g[r+32+8>>2]=l;if(((a[b+44>>0]|0)!=0?(c[n+236>>2]|0)==2:0)?(c[n+204>>2]&3|0)==0:0){d=c[n+192>>2]|0;mc[c[(c[d>>2]|0)+8>>2]&127](d,n+68|0,r+16|0,r);f=+g[r+16>>2]+-.019999999552965164;g[r+16>>2]=f;h=+g[r+16+4>>2]+-.019999999552965164;g[r+16+4>>2]=h;j=+g[r+16+8>>2]+-.019999999552965164;g[r+16+8>>2]=j;k=+g[r>>2]+.019999999552965164;g[r>>2]=k;l=+g[r+4>>2]+.019999999552965164;g[r+4>>2]=l;m=+g[r+8>>2]+.019999999552965164;g[r+8>>2]=m;e=+g[r+48>>2];if(f>2]=f;e=f}f=+g[r+48+4>>2];if(h>2]=h;f=h}h=+g[r+48+8>>2];if(j>2]=j;h=j}j=+g[r+16+12>>2];if(j<+g[r+48+12>>2])g[r+48+12>>2]=j;j=+g[r+32>>2];if(j>2]=k;j=k}k=+g[r+32+4>>2];if(k>2]=l;k=l}l=+g[r+32+8>>2];if(l>2]=m;l=m}m=+g[r+12>>2];if(+g[r+32+12>>2]>2]=m}d=c[b+68>>2]|0;if((c[n+204>>2]&1|0)==0?(j=j-e,k=k-f,m=l-h,!(j*j+k*k+m*m<999999995904.0)):0){if((c[n+216>>2]&-2|0)!=4)c[n+216>>2]=5;if(a[14307]|0?(p=c[b+72>>2]|0,p|0):0){a[14307]=0;Cb[c[(c[p>>2]|0)+36>>2]&127](p,14308);n=c[b+72>>2]|0;Cb[c[(c[n>>2]|0)+36>>2]&127](n,14357);n=c[b+72>>2]|0;Cb[c[(c[n>>2]|0)+36>>2]&127](n,14425);n=c[b+72>>2]|0;Cb[c[(c[n>>2]|0)+36>>2]&127](n,14490)}}else yb[c[(c[d>>2]|0)+16>>2]&31](d,c[n+188>>2]|0,r+48|0,r+32|0,c[b+24>>2]|0);d=c[b+8>>2]|0}o=o+1|0}while((o|0)<(d|0))}d=c[2357]|0;q=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=q;if(q|0){i=r;return}do if(c[d+4>>2]|0){tb(r+48|0,0)|0;q=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[r+48+4>>2]|0)-(c[q+4>>2]|0)+(((c[r+48>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=r;return}}while(0);c[2357]=c[d+20>>2];i=r;return}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,j=0,k=0.0;a=i;i=i+192|0;switch(c[b+388>>2]&15|0){case 1:{c[a+160>>2]=3364;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;j=c[d+12>>2]|0;k=+g[j+48>>2];e=+g[j+52>>2];f=+g[j+56>>2];f=+O(+((k-k)*(k-k)+(e-e)*(e-e)+(f-f)*(f-f)));j=c[b+192>>2]|0;e=+Sb[c[(c[j>>2]|0)+48>>2]&15](j);j=c[d+4>>2]|0;mc[c[(c[j>>2]|0)+8>>2]&127](j,c[d+12>>2]|0,a+144|0,a+128|0);c[a+32>>2]=c[a+144>>2];c[a+32+4>>2]=c[a+144+4>>2];c[a+32+8>>2]=c[a+144+8>>2];c[a+32+12>>2]=c[a+144+12>>2];c[a+32+16>>2]=c[a+128>>2];c[a+32+16+4>>2]=c[a+128+4>>2];c[a+32+16+8>>2]=c[a+128+8>>2];c[a+32+16+12>>2]=c[a+128+12>>2];c[a+96>>2]=c[a+32>>2];c[a+96+4>>2]=c[a+32+4>>2];c[a+96+8>>2]=c[a+32+8>>2];c[a+96+12>>2]=c[a+32+12>>2];c[a+96+16>>2]=c[a+32+16>>2];c[a+96+20>>2]=c[a+32+20>>2];c[a+96+24>>2]=c[a+32+24>>2];c[a+96+28>>2]=c[a+32+28>>2];g[a+96>>2]=+g[a+96>>2]-e;g[a+96+4>>2]=+g[a+96+4>>2]-e;g[a+96+8>>2]=+g[a+96+8>>2]-e;g[a+96+16>>2]=e+ +g[a+96+16>>2];g[a+96+20>>2]=e+ +g[a+96+20>>2];g[a+96+24>>2]=e+ +g[a+96+24>>2];c[a+160+4>>2]=b;c[a+160+8>>2]=d;c[a+160+12>>2]=h;g[a+160+16>>2]=f+e;g[a+160+20>>2]=e;bg(c[b+928>>2]|0,a+96|0,a+160|0);i=a;return}case 2:{g[a+4>>2]=1.0;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a>>2]=3400;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];j=c[d+4>>2]|0;k=+Sb[c[(c[j>>2]|0)+48>>2]&15](j);j=c[b+192>>2]|0;k=k+ +Sb[c[(c[j>>2]|0)+48>>2]&15](j);g[a+12>>2]=k;f=+g[(c[d+8>>2]|0)+224>>2];g[a+160>>2]=f;c[a+16>>2]=c[(+g[b+316>>2]>2];j=c[d+4>>2]|0;mc[c[(c[j>>2]|0)+8>>2]&127](j,c[d+12>>2]|0,a+144|0,a+128|0);c[a+64>>2]=c[a+144>>2];c[a+64+4>>2]=c[a+144+4>>2];c[a+64+8>>2]=c[a+144+8>>2];c[a+64+12>>2]=c[a+144+12>>2];c[a+64+16>>2]=c[a+128>>2];c[a+64+16+4>>2]=c[a+128+4>>2];c[a+64+16+8>>2]=c[a+128+8>>2];c[a+64+16+12>>2]=c[a+128+12>>2];c[a+96>>2]=c[a+64>>2];c[a+96+4>>2]=c[a+64+4>>2];c[a+96+8>>2]=c[a+64+8>>2];c[a+96+12>>2]=c[a+64+12>>2];c[a+96+16>>2]=c[a+64+16>>2];c[a+96+20>>2]=c[a+64+20>>2];c[a+96+24>>2]=c[a+64+24>>2];c[a+96+28>>2]=c[a+64+28>>2];g[a+96>>2]=+g[a+96>>2]-k;g[a+96+4>>2]=+g[a+96+4>>2]-k;g[a+96+8>>2]=+g[a+96+8>>2]-k;g[a+96+16>>2]=k+ +g[a+96+16>>2];g[a+96+20>>2]=k+ +g[a+96+20>>2];g[a+96+24>>2]=k+ +g[a+96+24>>2];bg(c[b+1048>>2]|0,a+96|0,a);i=a;return}default:{i=a;return}}}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;o=c[a+4>>2]|0;Yb[c[(c[o>>2]|0)+16>>2]&3](o,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,b);o=(c[r+12>>2]|0)+(_(c[r+8>>2]|0,d)|0)|0;q=c[a+4>>2]|0;p=(c[r+20>>2]|0)==0;n=c[r+28>>2]|0;if((c[r>>2]|0)==3){m=c[r+16>>2]|0;l=n+(_(m,e[o+4>>1]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32+32>>2]=f;g[r+32+36>>2]=k;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;l=n+(_(m,e[o+2>>1]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32+16>>2]=f;g[r+32+20>>2]=k;g[r+32+24>>2]=j;g[r+32+28>>2]=0.0;l=n+(_(m,e[o>>1]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32>>2]=f;g[r+32+4>>2]=k;g[r+32+8>>2]=j;g[r+32+12>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;mc[p&127](q,r+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;Cb[d&127](a,b);i=r;return}else{m=c[r+16>>2]|0;l=n+(_(m,c[o+8>>2]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32+32>>2]=f;g[r+32+36>>2]=k;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;l=n+(_(m,c[o+4>>2]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32+16>>2]=f;g[r+32+20>>2]=k;g[r+32+24>>2]=j;g[r+32+28>>2]=0.0;l=n+(_(m,c[o>>2]|0)|0)|0;if(p){j=+g[l+8>>2]*+g[q+12>>2];k=+g[l+4>>2]*+g[q+8>>2];f=+g[l>>2]*+g[q+4>>2]}else{j=+h[l+16>>3]*+g[q+12>>2];k=+h[l+8>>3]*+g[q+8>>2];f=+h[l>>3]*+g[q+4>>2]}g[r+32>>2]=f;g[r+32+4>>2]=k;g[r+32+8>>2]=j;g[r+32+12>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;mc[p&127](q,r+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;Cb[d&127](a,b);i=r;return}}function Je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0;c[6435]=(c[6435]|0)+1;f=yc(1147)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Il();c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;i=f+28|0;c[i>>2]=23268;h=f+32|0;c[h>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=4596;a[f+48>>0]=0;J=f+116|0;c[J>>2]=c[d>>2];c[J+4>>2]=c[d+4>>2];c[J+8>>2]=c[d+8>>2];c[J+12>>2]=c[d+12>>2];I=f+132|0;c[I>>2]=c[d+16>>2];c[I+4>>2]=c[d+16+4>>2];c[I+8>>2]=c[d+16+8>>2];c[I+12>>2]=c[d+16+12>>2];H=f+148|0;c[H>>2]=c[d+32>>2];c[H+4>>2]=c[d+32+4>>2];c[H+8>>2]=c[d+32+8>>2];c[H+12>>2]=c[d+32+12>>2];G=f+164|0;c[G>>2]=c[d+48>>2];c[G+4>>2]=c[d+48+4>>2];c[G+8>>2]=c[d+48+8>>2];c[G+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;x=+g[J>>2];D=+g[b+4>>2];w=+g[I>>2];C=+g[b+8>>2];v=+g[H>>2];B=+g[b+12>>2];u=+g[f+120>>2];t=+g[f+136>>2];s=+g[f+152>>2];r=+g[f+124>>2];p=+g[f+140>>2];n=+g[f+156>>2];A=+g[b+20>>2];z=+g[b+24>>2];y=+g[b+28>>2];q=+g[b+36>>2];o=+g[b+40>>2];m=+g[b+44>>2];F=+g[G>>2];E=+g[f+168>>2];j=+g[f+172>>2];l=+g[b+52>>2]+(D*F+C*E+B*j);k=A*F+z*E+y*j+ +g[b+56>>2];j=q*F+o*E+m*j+ +g[b+60>>2];g[f+52>>2]=x*D+w*C+v*B;g[f+56>>2]=D*u+C*t+B*s;g[f+60>>2]=D*r+C*p+B*n;g[f+64>>2]=0.0;g[f+68>>2]=x*A+w*z+v*y;g[f+72>>2]=u*A+t*z+s*y;g[f+76>>2]=r*A+p*z+n*y;g[f+80>>2]=0.0;g[f+84>>2]=x*q+w*o+v*m;g[f+88>>2]=u*q+t*o+s*m;g[f+92>>2]=r*q+p*o+n*m;g[f+96>>2]=0.0;g[f+100>>2]=l;g[f+104>>2]=k;g[f+108>>2]=j;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;e=f+1100|0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;a[f+49>>0]=1;kd(f,(c[i>>2]|0)+4|0,(c[h>>2]|0)+4|0);return f|0}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0;d=i;i=i+96|0;l=+g[b>>2];s=+g[a+28>>2];B=+g[b+4>>2];D=+g[a+32>>2];m=+g[b+8>>2];n=+g[a+36>>2];o=+g[a+44>>2];p=+g[a+48>>2];q=+g[a+52>>2];r=+g[a+60>>2];t=+g[a+64>>2];u=+g[a+68>>2];v=+g[a+76>>2];w=+g[a+80>>2];x=+g[a+84>>2];g[d+80>>2]=l*s+B*D+m*n+v;g[d+80+4>>2]=l*o+B*p+m*q+w;g[d+80+8>>2]=l*r+B*t+m*u+x;g[d+80+12>>2]=0.0;y=+g[b+16>>2];z=+g[b+20>>2];A=+g[b+24>>2];g[d+64>>2]=y*s+z*D+A*n+v;g[d+64+4>>2]=y*o+z*p+A*q+w;g[d+64+8>>2]=y*r+z*t+A*u+x;g[d+64+12>>2]=0.0;C=+g[b+32>>2];E=+g[b+36>>2];k=+g[b+40>>2];g[d+48>>2]=C*s+E*D+k*n+v;g[d+48+4>>2]=C*o+E*p+k*q+w;g[d+48+8>>2]=C*r+E*t+k*u+x;g[d+48+12>>2]=0.0;f=(l*s+B*D+m*n+v+(y*s+z*D+A*n+v)+(C*s+E*D+k*n+v))*.3333333432674408;h=(l*o+B*p+m*q+w+(y*o+z*p+A*q+w)+(C*o+E*p+k*q+w))*.3333333432674408;j=(l*r+B*t+m*u+x+(y*r+z*t+A*u+x)+(C*r+E*t+k*u+x))*.3333333432674408;g[d+32>>2]=f;g[d+32+4>>2]=h;g[d+32+8>>2]=j;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((Eb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&16384)){e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;b=a+12|0;mc[F&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;mc[F&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;mc[e&127](a,d+48|0,d+80|0,b);i=d;return}I=+g[d+80>>2];H=y*o+z*p+A*q+w-(l*o+B*p+m*q+w);G=y*r+z*t+A*u+x-(l*r+B*t+m*u+x);w=C*o+E*p+k*q+w-(l*o+B*p+m*q+w);x=C*r+E*t+k*u+x-(l*r+B*t+m*u+x);B=G*(C*s+E*D+k*n+v-I)-(y*s+z*D+A*n+v-I)*x;E=(y*s+z*D+A*n+v-I)*w-H*(C*s+E*D+k*n+v-I);D=1.0/+O(+(E*E+((H*x-G*w)*(H*x-G*w)+B*B)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;g[d>>2]=D*(H*x-G*w)+f;g[d+4>>2]=D*B+h;g[d+8>>2]=D*E+j;g[d+12>>2]=0.0;mc[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;F=a+12|0;mc[e&127](b,d+80|0,d+64|0,F);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;mc[e&127](b,d+64|0,d+48|0,F);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;mc[b&127](a,d+48|0,d+80|0,F);i=d;return}function Le(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4376;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];f=b+680|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;sd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function Me(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;if(!b)b=0;else b=(c[b+236>>2]&2|0)==0?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(!b){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;b=a+176|0;e=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));a=a+236|0;g[a>>2]=0.0;return}else{e=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];e=b+20|0;c[a+16>>2]=c[e>>2];c[a+16+4>>2]=c[e+4>>2];c[a+16+8>>2]=c[e+8>>2];c[a+16+12>>2]=c[e+12>>2];e=b+36|0;c[a+32>>2]=c[e>>2];c[a+32+4>>2]=c[e+4>>2];c[a+32+8>>2]=c[e+8>>2];c[a+32+12>>2]=c[e+12>>2];e=b+52|0;c[a+48>>2]=c[e>>2];c[a+48+4>>2]=c[e+4>>2];c[a+48+8>>2]=c[e+8>>2];c[a+48+12>>2]=c[e+12>>2];e=b+344|0;k=+g[e>>2];l=b+348|0;j=k*+g[b+352>>2];i=k*+g[b+356>>2];g[a+128>>2]=k*+g[l>>2];g[a+132>>2]=j;g[a+136>>2]=i;g[a+140>>2]=0.0;c[a+240>>2]=b;m=b+544|0;c[a+96>>2]=c[m>>2];c[a+96+4>>2]=c[m+4>>2];c[a+96+8>>2]=c[m+8>>2];c[a+96+12>>2]=c[m+12>>2];c[a+112>>2]=c[l>>2];c[a+112+4>>2]=c[l+4>>2];c[a+112+8>>2]=c[l+8>>2];c[a+112+12>>2]=c[l+12>>2];l=b+312|0;c[a+176>>2]=c[l>>2];c[a+176+4>>2]=c[l+4>>2];c[a+176+8>>2]=c[l+8>>2];c[a+176+12>>2]=c[l+12>>2];l=b+328|0;c[a+192>>2]=c[l>>2];c[a+192+4>>2]=c[l+4>>2];c[a+192+8>>2]=c[l+8>>2];c[a+192+12>>2]=c[l+12>>2];i=+g[e>>2];j=i*+g[b+416>>2]*d;k=i*+g[b+420>>2]*d;g[a+208>>2]=i*+g[b+412>>2]*d;g[a+212>>2]=j;g[a+216>>2]=k;g[a+220>>2]=0.0;k=+g[b+428>>2];j=+g[b+432>>2];i=+g[b+436>>2];h=(k*+g[b+268>>2]+j*+g[b+284>>2]+i*+g[b+300>>2])*d;f=(k*+g[b+272>>2]+j*+g[b+288>>2]+i*+g[b+304>>2])*d;g[a+224>>2]=(+g[b+264>>2]*k+ +g[b+280>>2]*j+ +g[b+296>>2]*i)*d;g[a+228>>2]=h;g[a+232>>2]=f;a=a+236|0;g[a>>2]=0.0;return}}function Ne(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){h=c[a+88>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,48,h)|0;if((h|0)>0){g=c[a+96>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+16>>2]=c[g+(i<<6)+16>>2];c[j+20>>2]=c[g+(i<<6)+20>>2];c[j+24>>2]=c[g+(i<<6)+24>>2];c[j+28>>2]=c[g+(i<<6)+28>>2];c[j>>2]=c[g+(i<<6)>>2];c[j+4>>2]=c[g+(i<<6)+4>>2];c[j+8>>2]=c[g+(i<<6)+8>>2];c[j+12>>2]=c[g+(i<<6)+12>>2];c[j+32>>2]=c[g+(i<<6)+32>>2];c[j+36>>2]=c[g+(i<<6)+36>>2];c[j+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+48|0}}else g=c[a+96>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,k,18461,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){h=c[a+128>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[a+136>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+12>>2]=c[g+(i<<4)+12>>2];b[j+6>>1]=b[g+(i<<4)+6>>1]|0;b[j+8>>1]=b[g+(i<<4)+8>>1]|0;b[j+10>>1]=b[g+(i<<4)+10>>1]|0;b[j>>1]=b[g+(i<<4)>>1]|0;b[j+2>>1]=b[g+(i<<4)+2>>1]|0;b[j+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[a+136>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,k,18484,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 18528}k=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 18528;j=c[a+152>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=0;i=c[k+8>>2]|0;while(1){b[i+14>>1]=b[g+(h<<5)+6>>1]|0;b[i+16>>1]=b[g+(h<<5)+8>>1]|0;b[i+18>>1]=b[g+(h<<5)+10>>1]|0;b[i+8>>1]=b[g+(h<<5)>>1]|0;b[i+10>>1]=b[g+(h<<5)+2>>1]|0;b[i+12>>1]=b[g+(h<<5)+4>>1]|0;c[i>>2]=c[g+(h<<5)+12>>2];c[i+4>>2]=c[g+(h<<5)+16>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+20|0}}else g=c[a+160>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,k,18507,1497453121,g);return 18528}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;L=i;i=i+64|0;c[L+48>>2]=a;c[L+48+4>>2]=b;c[L+48+8>>2]=d;C=+g[a>>2];F=+g[b>>2];J=+g[a+4>>2];K=+g[b+4>>2];z=+g[a+8>>2];A=+g[b+8>>2];g[L>>2]=C-F;g[L+4>>2]=J-K;g[L+8>>2]=z-A;g[L+12>>2]=0.0;B=+g[d>>2];D=+g[d+4>>2];E=+g[d+8>>2];g[L+16>>2]=F-B;g[L+20>>2]=K-D;g[L+24>>2]=A-E;g[L+28>>2]=0.0;g[L+32>>2]=B-C;g[L+36>>2]=D-J;g[L+40>>2]=E-z;g[L+44>>2]=0.0;G=(J-K)*(A-E)-(z-A)*(K-D);H=(z-A)*(F-B)-(A-E)*(C-F);I=(K-D)*(C-F)-(J-K)*(F-B);if(I*I+(G*G+H*H)>0.0){o=J-K;p=z-A;q=C-F;v=C;w=J;x=z;m=0;y=-1.0;n=0;h=0;j=0}else{K=-1.0;i=L;return +K}while(1){if(v*(I*o-H*p)+w*(G*p-I*q)+(H*q-G*o)*x>0.0){u=c[4976+(m<<2)>>2]|0;M=c[L+48+(u<<2)>>2]|0;l=+g[M>>2];p=l-v;q=+g[M+4>>2];r=q-w;s=+g[M+8>>2];t=s-x;do if(p*p+r*r+t*t>0.0){o=-(v*p+w*r+x*t)/(p*p+r*r+t*t);if(o>=1.0){l=l*l+q*q+s*s;n=2;h=0;j=1065353216;break}if(!(o<=0.0)){j=(g[k>>2]=o,c[k>>2]|0);v=v+p*o;l=w+r*o;x=x+t*o;l=x*x+(v*v+l*l);n=3;h=(g[k>>2]=1.0-o,c[k>>2]|0);break}else{l=v*v+w*w+x*x;n=1;h=1065353216;j=0;break}}else l=-1.0;while(0);if(y<0.0|l>2]=(n&1|0?1<>2]=h;c[e+(u<<2)>>2]=j;g[e+(c[4976+(u<<2)>>2]<<2)>>2]=0.0}else l=y}else l=y;m=m+1|0;if((m|0)==3)break;M=c[L+48+(m<<2)>>2]|0;o=+g[L+(m<<4)+4>>2];p=+g[L+(m<<4)+8>>2];q=+g[L+(m<<4)>>2];v=+g[M>>2];w=+g[M+4>>2];x=+g[M+8>>2];y=l}if(!(l<0.0)){K=l;i=L;return +K}x=+O(+(I*I+(G*G+H*H)));y=(G*+g[a>>2]+H*+g[a+4>>2]+I*+g[a+8>>2])/(I*I+(G*G+H*H));c[f>>2]=7;v=+g[b>>2]-G*y;t=+g[b+4>>2]-H*y;w=+g[b+8>>2]-I*y;K=+O(+((t*(F-B)-v*(K-D))*(t*(F-B)-v*(K-D))+(((K-D)*w-t*(A-E))*((K-D)*w-t*(A-E))+(v*(A-E)-w*(F-B))*(v*(A-E)-w*(F-B)))))/x;g[e>>2]=K;A=+g[d>>2]-G*y;w=+g[d+4>>2]-H*y;F=+g[d+8>>2]-I*y;J=+O(+((w*(B-C)-A*(D-J))*(w*(B-C)-A*(D-J))+(((D-J)*F-w*(E-z))*((D-J)*F-w*(E-z))+(A*(E-z)-F*(B-C))*(A*(E-z)-F*(B-C)))))/x;g[e+4>>2]=J;g[e+8>>2]=1.0-(J+K);K=I*y*I*y+(G*y*G*y+H*y*H*y);i=L;return +K}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=i;i=i+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;A=c[a+28>>2]|0;I=c[A+4>>2]|0;c[d+80>>2]=I;F=c[A+20>>2]|0;c[d+80+4>>2]=F;C=c[A+36>>2]|0;c[d+80+8>>2]=C;g[d+80+12>>2]=0.0;H=c[A+8>>2]|0;c[d+80+16>>2]=H;E=c[A+24>>2]|0;c[d+80+20>>2]=E;B=c[A+40>>2]|0;c[d+80+24>>2]=B;g[d+80+28>>2]=0.0;G=c[A+12>>2]|0;c[d+80+32>>2]=G;D=c[A+28>>2]|0;c[d+80+36>>2]=D;z=c[A+44>>2]|0;c[d+80+40>>2]=z;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;y=c[f+4>>2]|0;c[d+32>>2]=y;v=c[f+20>>2]|0;c[d+32+4>>2]=v;s=c[f+36>>2]|0;c[d+32+8>>2]=s;g[d+32+12>>2]=0.0;x=c[f+8>>2]|0;c[d+32+16>>2]=x;u=c[f+24>>2]|0;c[d+32+20>>2]=u;r=c[f+40>>2]|0;c[d+32+24>>2]=r;g[d+32+28>>2]=0.0;w=c[f+12>>2]|0;c[d+32+32>>2]=w;t=c[f+28>>2]|0;c[d+32+36>>2]=t;h=c[f+44>>2]|0;c[d+32+40>>2]=h;g[d+32+44>>2]=0.0;p=+g[a+300>>2];m=p*(c[k>>2]=I,+g[k>>2]);j=+g[a+304>>2];m=m+j*(c[k>>2]=H,+g[k>>2]);l=+g[a+308>>2];m=m+l*(c[k>>2]=G,+g[k>>2]);q=p*(c[k>>2]=F,+g[k>>2]);q=q+j*(c[k>>2]=E,+g[k>>2]);q=q+l*(c[k>>2]=D,+g[k>>2]);p=p*(c[k>>2]=C,+g[k>>2]);j=p+j*(c[k>>2]=B,+g[k>>2]);p=+g[A+52>>2];o=+g[A+56>>2];n=+g[A+60>>2];n=j+l*(c[k>>2]=z,+g[k>>2])+n-n;g[d+16>>2]=m+p-p;g[d+16+4>>2]=q+o-o;g[d+16+8>>2]=n;g[d+16+12>>2]=0.0;n=+g[a+316>>2];o=n*(c[k>>2]=y,+g[k>>2]);q=+g[a+320>>2];o=o+q*(c[k>>2]=x,+g[k>>2]);p=+g[a+324>>2];o=o+p*(c[k>>2]=w,+g[k>>2]);m=n*(c[k>>2]=v,+g[k>>2]);m=m+q*(c[k>>2]=u,+g[k>>2]);m=m+p*(c[k>>2]=t,+g[k>>2]);n=n*(c[k>>2]=s,+g[k>>2]);q=n+q*(c[k>>2]=r,+g[k>>2]);n=+g[f+52>>2];l=+g[f+56>>2];j=+g[f+60>>2];j=q+p*(c[k>>2]=h,+g[k>>2])+j-j;g[d>>2]=o+n-n;g[d+4>>2]=m+l-l;g[d+8>>2]=j;g[d+12>>2]=0.0;h=c[a+28>>2]|0;f=c[a+32>>2]|0;Rg(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);i=d;return}function Qe(a,b,d,e,f,h){a=a|0;b=b|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0.0;a:while(1){B=c[h+12>>2]|0;if((b|0)>0){j=0;i=-1;do{do if(c[B+(j<<2)>>2]|0){if((i|0)!=-1?!(+g[a+(j<<4)>>2]*d+ +g[a+(j<<4)+4>>2]*e+ +g[a+(j<<4)+8>>2]*f>+g[a+(i<<4)>>2]*d+ +g[a+(i<<4)+4>>2]*e+ +g[a+(i<<4)+8>>2]*f):0)break;i=j}while(0);j=j+1|0}while((j|0)!=(b|0))}else i=-1;A=B+(i<<2)|0;if((c[A>>2]|0)==3){j=37;break}k=+O(+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d)+(d*0.0-e*0.0)*(d*0.0-e*0.0)));l=+O(+((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+(f*0.0-d*0.0)*(f*0.0-d*0.0))));if(k>l){y=(e-f*0.0)*(1.0/k);z=(d*0.0-e*0.0)*(1.0/k);w=(f*0.0-d)*(1.0/k)}else{y=(e*0.0-f)*(1.0/l);z=(d-e*0.0)*(1.0/l);w=(f*0.0-d*0.0)*(1.0/l)}r=w*f-z*e;s=z*d-y*f;t=y*e-w*d;u=(i|0)==-1;j=-1;x=0;while(1){v=+(x|0);q=+R(+(v*.01745329238474369));n=+Q(+(v*.01745329238474369));k=(y*q+r*n)*.02500000037252903+d;l=(w*q+s*n)*.02500000037252903+e;n=(z*q+t*n)*.02500000037252903+f;if((b|0)>0){o=0;m=-1;do{do if(c[B+(o<<2)>>2]|0){if((m|0)!=-1?!(k*+g[a+(o<<4)>>2]+l*+g[a+(o<<4)+4>>2]+n*+g[a+(o<<4)+8>>2]>k*+g[a+(m<<4)>>2]+l*+g[a+(m<<4)+4>>2]+n*+g[a+(m<<4)+8>>2]):0)break;m=o}while(0);o=o+1|0}while((o|0)!=(b|0))}else m=-1;if((j|0)==(i|0)&(m|0)==(i|0)){j=20;break a}b:do if(!((j|0)==-1|(j|0)==(m|0))?v+-40.0<=v:0){if((b|0)>0)q=v+-40.0;else{k=v+-40.0;while(1){if((j|0)==(i|0)&u){i=-1;j=33;break a}k=k+5.0;if(!(k<=v))break b;else j=-1}}while(1){n=q*.01745329238474369;C=+R(+n);n=+Q(+n);k=(y*C+r*n)*.02500000037252903+d;l=(w*C+s*n)*.02500000037252903+e;n=(z*C+t*n)*.02500000037252903+f;p=0;o=-1;do{do if(c[B+(p<<2)>>2]|0){if((o|0)!=-1?!(k*+g[a+(p<<4)>>2]+l*+g[a+(p<<4)+4>>2]+n*+g[a+(p<<4)+8>>2]>k*+g[a+(o<<4)>>2]+l*+g[a+(o<<4)+4>>2]+n*+g[a+(o<<4)+8>>2]):0)break;o=p}while(0);p=p+1|0}while((p|0)!=(b|0));if((j|0)==(i|0)&(o|0)==(i|0)){j=33;break a}q=q+5.0;if(!(q<=v))break;else j=o}}while(0);x=x+45|0;if((x|0)>360)break;else j=m}c[A>>2]=0}if((j|0)==20){c[A>>2]=3;B=i;return B|0}else if((j|0)==33){c[B+(i<<2)>>2]=3;B=i;return B|0}else if((j|0)==37)return i|0;return 0}function Re(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0;V=i;i=i+32|0;G=+g[d>>2];I=+g[d+4>>2];T=+g[d+8>>2];t=+g[j>>2];u=+g[j+4>>2];w=+g[j+8>>2];p=+g[k>>2];r=+g[k+4>>2];s=+g[k+8>>2];H=1.0/+O(+((e-G)*(e-G)+(f-I)*(f-I)+(h-T)*(h-T)));J=(e-G)*H==0.0?999999984306749440.0:1.0/((e-G)*H);K=(f-I)*H==0.0?999999984306749440.0:1.0/((f-I)*H);L=(h-T)*H==0.0?999999984306749440.0:1.0/((h-T)*H);M=(G>e?e:G)+t;N=(I>f?f:I)+u;P=(T>h?h:T)+w;Q=(G>2]|0;a:do if((m|0)>0){x=0;y=c[a+96>>2]|0;l=0;while(1){l=l+1|0;c[V>>2]=c[y>>2];c[V+4>>2]=c[y+4>>2];c[V+8>>2]=c[y+8>>2];c[V+12>>2]=c[y+12>>2];v=y+16|0;c[V+16>>2]=c[v>>2];c[V+16+4>>2]=c[v+4>>2];c[V+16+8>>2]=c[v+8>>2];c[V+16+12>>2]=c[v+12>>2];g[V>>2]=+g[V>>2]-p;g[V+4>>2]=+g[V+4>>2]-r;g[V+8>>2]=+g[V+8>>2]-s;g[V+16>>2]=+g[V+16>>2]-t;g[V+20>>2]=+g[V+20>>2]-u;g[V+24>>2]=+g[V+24>>2]-w;if(!(M>+g[v>>2])?!(Q<+g[y>>2]):0)n=1;else n=0;if(!(!(P>+g[y+24>>2])?!(S<+g[y+8>>2]):0))n=0;if(((!(N>+g[y+20>>2])?!(R<+g[y+4>>2]|n^1):0)?(A=+g[d>>2],z=J*(+g[V+((J<0.0&1)<<4)>>2]-A),A=J*(+g[V+((J<0.0^1)<<4)>>2]-A),C=+g[d+4>>2],B=K*(+g[V+((K<0.0&1)<<4)+4>>2]-C),C=K*(+g[V+((K<0.0^1)<<4)+4>>2]-C),!(B>A|z>C)):0)?(D=B>z?B:z,U=C>2],E=L*(+g[V+((L<0.0&1)<<4)+8>>2]-F),F=L*(+g[V+((L<0.0^1)<<4)+8>>2]-F),!(E>U|D>F)):0){n=(F0.0?(E>D?E:D)<(h-T)*(h-T)*H+((e-G)*(e-G)*H+(f-I)*(f-I)*H):0;o=c[y+32>>2]|0;if(n&(o|0)==-1){ic[c[(c[b>>2]|0)+8>>2]&127](b,c[y+36>>2]|0,c[y+40>>2]|0);m=c[a+56>>2]|0;v=17}else{q=(o|0)==-1;v=16}}else{o=c[y+32>>2]|0;n=0;q=(o|0)==-1;v=16}if((v|0)==16){v=0;if(q|n)v=17;else{q=o+x|0;n=y+(o<<6)|0}}if((v|0)==17){q=x+1|0;n=y+64|0}if((q|0)>=(m|0))break a;p=+g[k>>2];r=+g[k+4>>2];s=+g[k+8>>2];t=+g[j>>2];u=+g[j+4>>2];w=+g[j+8>>2];x=q;y=n}}else l=0;while(0);if((c[6167]|0)>=(l|0)){i=V;return}c[6167]=l;i=V;return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];w=+g[a+4>>2];q=+g[a+396>>2];v=+g[a+8>>2];o=+g[a+400>>2];u=+g[a+12>>2];m=+g[a+404>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+264>>2]=w*w*q+v*v*o+u*u*m;g[a+268>>2]=w*q*t+v*o*s+u*m*r;g[a+272>>2]=w*q*p+v*o*n+u*m*l;g[a+276>>2]=0.0;g[a+280>>2]=w*q*t+v*o*s+u*m*r;g[a+284>>2]=t*q*t+s*o*s+r*m*r;g[a+288>>2]=q*t*p+o*s*n+m*r*l;g[a+292>>2]=0.0;g[a+296>>2]=w*q*p+v*o*n+u*m*l;g[a+300>>2]=t*q*p+s*o*n+r*m*l;g[a+304>>2]=p*q*p+n*o*n+l*m*l;g[a+308>>2]=0.0;return}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=i;i=i+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;D=+g[f>>2];C=+g[f+4>>2];B=+g[f+8>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];r=+g[f+32>>2];p=+g[f+36>>2];n=+g[f+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;x=+g[e+(d*80|0)>>2];w=+g[e+(d*80|0)+16>>2];v=+g[e+(d*80|0)+32>>2];u=+g[e+(d*80|0)+4>>2];t=+g[e+(d*80|0)+20>>2];s=+g[e+(d*80|0)+36>>2];q=+g[e+(d*80|0)+8>>2];o=+g[e+(d*80|0)+24>>2];m=+g[e+(d*80|0)+40>>2];F=+g[e+(d*80|0)+48>>2];E=+g[e+(d*80|0)+52>>2];j=+g[e+(d*80|0)+56>>2];l=+g[f+48>>2]+(D*F+C*E+B*j);k=+g[f+52>>2]+(A*F+z*E+y*j);j=+g[f+56>>2]+(r*F+p*E+n*j);g[h+88>>2]=D*x+C*w+B*v;g[h+88+4>>2]=D*u+C*t+B*s;g[h+88+8>>2]=D*q+C*o+B*m;g[h+88+12>>2]=0.0;g[h+88+16>>2]=A*x+z*w+y*v;g[h+88+20>>2]=A*u+z*t+y*s;g[h+88+24>>2]=A*q+z*o+y*m;g[h+88+28>>2]=0.0;g[h+88+32>>2]=r*x+p*w+n*v;g[h+88+36>>2]=r*u+p*t+n*s;g[h+88+40>>2]=r*q+p*o+n*m;g[h+88+44>>2]=0.0;g[h+88+48>>2]=l;g[h+88+52>>2]=k;g[h+88+56>>2]=j;g[h+88+60>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);f=c[a+8>>2]|0;e=c[f+4>>2]|0;mc[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){i=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){i=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){e=c[a+12>>2]|0;e=Ib[c[(c[e>>2]|0)+8>>2]&31](e,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=e;e=c[a+4>>2]|0}f=c[a+20>>2]|0;b=c[f+8>>2]|0;if((c[b+8>>2]|0)==(c[e+8>>2]|0)){c[f+8>>2]=h;ic[c[(c[f>>2]|0)+8>>2]&127](f,-1,d)}else{b=c[f+12>>2]|0;c[f+12>>2]=h;ic[c[(c[f>>2]|0)+12>>2]&127](f,-1,d)}e=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;yb[c[(c[e>>2]|0)+8>>2]&31](e,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);e=c[a+20>>2]|0;if((c[(c[e+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0))c[e+8>>2]=b;else c[e+12>>2]=b;i=h;return}function Ue(){if(a[22576]|0)return;if(!(Wa(22576)|0))return;c[6168]=0;c[6169]=-2147483648;c[6170]=-1082130432;g[6171]=0.0;c[6172]=1060716128;c[6173]=-1090087446;c[6174]=-1092290076;g[6175]=0.0;c[6176]=-1098022214;c[6177]=-1084636126;c[6178]=-1092290076;g[6179]=0.0;c[6180]=-1083901670;c[6181]=-2147483648;c[6182]=-1092290177;g[6183]=0.0;c[6184]=-1098022214;c[6185]=1062847522;c[6186]=-1092290043;g[6187]=0.0;c[6188]=1060716128;c[6189]=1057396202;c[6190]=-1092290076;g[6191]=0.0;c[6192]=1049461434;c[6193]=-1084636126;c[6194]=1055193605;g[6195]=0.0;c[6196]=-1086767520;c[6197]=-1090087446;c[6198]=1055193572;g[6199]=0.0;c[6200]=-1086767520;c[6201]=1057396202;c[6202]=1055193572;g[6203]=0.0;c[6204]=1049461434;c[6205]=1062847522;c[6206]=1055193572;g[6207]=0.0;c[6208]=1063581978;c[6209]=0;c[6210]=1055193471;g[6211]=0.0;c[6212]=-2147483648;c[6213]=0;c[6214]=1065353216;g[6215]=0.0;c[6216]=1054458864;c[6217]=-1096927567;c[6218]=-1084636042;g[6219]=0.0;c[6220]=-1104782626;c[6221]=-1090519208;c[6222]=-1084636042;g[6223]=0.0;c[6224]=1049007812;c[6225]=-1085334679;c[6226]=-1090087228;g[6227]=0.0;c[6228]=1054458864;c[6229]=1050556081;c[6230]=-1084636042;g[6231]=0.0;c[6232]=1062847505;c[6233]=-2147483648;c[6234]=-1090087262;g[6235]=0.0;c[6236]=-1090087362;c[6237]=-2147483648;c[6238]=-1084636076;g[6239]=0.0;c[6240]=-1087361736;c[6241]=-1090519141;c[6242]=-1090087262;g[6243]=0.0;c[6244]=-1104782626;c[6245]=1056964440;c[6246]=-1084636042;g[6247]=0.0;c[6248]=-1087361736;c[6249]=1056964507;c[6250]=-1090087262;g[6251]=0.0;c[6252]=1049007812;c[6253]=1062148969;c[6254]=-1090087228;g[6255]=0.0;c[6256]=1064532105;c[6257]=1050556148;c[6258]=0;g[6259]=0.0;c[6260]=1064532105;c[6261]=-1096927500;c[6262]=0;g[6263]=0.0;c[6264]=1058437413;c[6265]=-1085334595;c[6266]=0;g[6267]=0.0;c[6268]=0;c[6269]=-1082130432;c[6270]=0;g[6271]=0.0;c[6272]=-1089046235;c[6273]=-1085334595;c[6274]=0;g[6275]=0.0;c[6276]=-1082951543;c[6277]=-1096927500;c[6278]=-2147483648;g[6279]=0.0;c[6280]=-1082951543;c[6281]=1050556148;c[6282]=-2147483648;g[6283]=0.0;c[6284]=-1089046235;c[6285]=1062149053;c[6286]=-2147483648;g[6287]=0.0;c[6288]=-2147483648;c[6289]=1065353216;c[6290]=-2147483648;g[6291]=0.0;c[6292]=1058437413;c[6293]=1062149053;c[6294]=-2147483648;g[6295]=0.0;c[6296]=1060121912;c[6297]=-1090519141;c[6298]=1057396386;g[6299]=0.0;c[6300]=-1098475836;c[6301]=-1085334679;c[6302]=1057396420;g[6303]=0.0;c[6304]=-1084636143;c[6305]=0;c[6306]=1057396386;g[6307]=0.0;c[6308]=-1098475836;c[6309]=1062148969;c[6310]=1057396420;g[6311]=0.0;c[6312]=1060121912;c[6313]=1056964507;c[6314]=1057396386;g[6315]=0.0;c[6316]=1057396286;c[6317]=0;c[6318]=1062847572;g[6319]=0.0;c[6320]=1042701022;c[6321]=-1090519208;c[6322]=1062847606;g[6323]=0.0;c[6324]=-1093024784;c[6325]=-1096927567;c[6326]=1062847606;g[6327]=0.0;c[6328]=-1093024784;c[6329]=1050556081;c[6330]=1062847606;g[6331]=0.0;c[6332]=1042701022;c[6333]=1056964440;c[6334]=1062847606;g[6335]=0.0;_a(22576);return}function Ve(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;u=a[h+16>>0]&-16;a[h+16>>0]=u;w=+g[e>>2];x=+g[d>>2];y=+g[e+4>>2];z=+g[d+4>>2];q=+g[e+8>>2];r=+g[d+8>>2];s=+g[f>>2];t=+g[f+4>>2];v=+g[f+8>>2];m=+g[b>>2];n=+g[b+4>>2];i=+g[b+8>>2];o=(w-x)*(m-x)+(y-z)*(n-z)+(q-r)*(i-r);p=(s-x)*(m-x)+(t-z)*(n-z)+(v-r)*(i-r);if(o<=0.0&p<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=u|1;g[h+20>>2]=1.0;g[h+24>>2]=0.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}k=(w-x)*(m-w)+(y-z)*(n-y)+(q-r)*(i-q);l=(s-x)*(m-w)+(t-z)*(n-y)+(v-r)*(i-q);if(!(!(k>=0.0)|!(l<=k))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=u|2;g[h+20>>2]=0.0;g[h+24>>2]=1.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}if(k<=0.0&(o>=0.0?o*l-k*p<=0.0:0)){g[h>>2]=x+(w-x)*(o/(o-k));g[h+4>>2]=z+(y-z)*(o/(o-k));g[h+8>>2]=r+(q-r)*(o/(o-k));g[h+12>>2]=0.0;a[h+16>>0]=u|3;g[h+20>>2]=1.0-o/(o-k);g[h+24>>2]=o/(o-k);g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}j=(w-x)*(m-s)+(y-z)*(n-t)+(q-r)*(i-v);i=(s-x)*(m-s)+(t-z)*(n-t)+(v-r)*(i-v);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[h+16>>0]=u|4;g[h+20>>2]=0.0;g[h+24>>2]=0.0;g[h+28>>2]=1.0;g[h+32>>2]=0.0;return}if(i<=0.0&(p>=0.0?j*p-o*i<=0.0:0)){g[h>>2]=x+(s-x)*(p/(p-i));g[h+4>>2]=z+(t-z)*(p/(p-i));g[h+8>>2]=r+(v-r)*(p/(p-i));g[h+12>>2]=0.0;a[h+16>>0]=u|5;g[h+20>>2]=1.0-p/(p-i);g[h+24>>2]=0.0;g[h+28>>2]=p/(p-i);g[h+32>>2]=0.0;return}if((k*i-j*l<=0.0?l-k>=0.0:0)?j-i>=0.0:0){z=(l-k)/(l-k+(j-i));g[h>>2]=w+(s-w)*z;g[h+4>>2]=y+(t-y)*z;g[h+8>>2]=q+(v-q)*z;g[h+12>>2]=0.0;a[h+16>>0]=u|6;g[h+20>>2]=0.0;g[h+24>>2]=1.0-z;g[h+28>>2]=z;g[h+32>>2]=0.0;return}m=1.0/(o*l-k*p+(k*i-j*l+(j*p-o*i)));n=(j*p-o*i)*m;p=(o*l-k*p)*m;g[h>>2]=(s-x)*p+((w-x)*n+x);g[h+4>>2]=(t-z)*p+((y-z)*n+z);g[h+8>>2]=(v-r)*p+((q-r)*n+r);g[h+12>>2]=0.0;a[h+16>>0]=u|7;g[h+20>>2]=1.0-n-p;g[h+24>>2]=n;g[h+28>>2]=p;g[h+32>>2]=0.0;return}function We(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((a|0)!=0&(b|0)!=0))return;c[6435]=(c[6435]|0)+1;e=yc(1043)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=a;c[e+4>>2]=b;n=1;b=128;h=128;i=e;f=124;while(1){e=n+-1|0;l=c[i+(e<<3)>>2]|0;m=c[i+(e<<3)+4>>2]|0;if((e|0)>(f|0)){f=h<<1;do if((h|0)<(f|0)&(b|0)<(f|0)){if(h){c[6435]=(c[6435]|0)+1;a=yc((h<<4|3)+16|0)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}if((h|0)>0){b=0;do{p=i+(b<<3)|0;j=c[p+4>>2]|0;k=a+(b<<3)|0;c[k>>2]=c[p>>2];c[k+4>>2]=j;b=b+1|0}while((b|0)!=(h|0))}else o=12}else{a=0;o=12}if((o|0)==12){o=0;if(!i){b=f;break}}c[6436]=(c[6436]|0)+1;hd(c[i+-4>>2]|0);b=f}else a=i;while(0);k=f;j=f+-4|0}else{k=h;a=i;j=f}do if((l|0)==(m|0)){if(c[l+40>>2]|0){p=c[l+36>>2]|0;c[a+(e<<3)>>2]=p;c[a+(e<<3)+4>>2]=p;e=n+1|0;p=c[l+40>>2]|0;c[a+(n<<3)>>2]=p;c[a+(n<<3)+4>>2]=p;p=c[l+40>>2]|0;c[a+(e<<3)>>2]=c[l+36>>2];c[a+(e<<3)+4>>2]=p;e=n+2|0}}else if(((((+g[l>>2]<=+g[m+16>>2]?+g[l+16>>2]>=+g[m>>2]:0)?+g[l+4>>2]<=+g[m+20>>2]:0)?+g[l+20>>2]>=+g[m+4>>2]:0)?+g[l+8>>2]<=+g[m+24>>2]:0)?+g[l+24>>2]>=+g[m+8>>2]:0){f=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(f){p=c[m+36>>2]|0;c[a+(e<<3)>>2]=l;c[a+(e<<3)+4>>2]=p;e=c[m+40>>2]|0;c[a+(n<<3)>>2]=l;c[a+(n<<3)+4>>2]=e;e=n+1|0;break}else{ic[c[(c[d>>2]|0)+8>>2]&127](d,l,m);break}else{h=a+(e<<3)|0;i=c[l+36>>2]|0;if(f){p=c[m+36>>2]|0;c[h>>2]=i;c[a+(e<<3)+4>>2]=p;p=n+1|0;e=c[m+36>>2]|0;c[a+(n<<3)>>2]=c[l+40>>2];c[a+(n<<3)+4>>2]=e;e=n+2|0;i=c[m+40>>2]|0;c[a+(p<<3)>>2]=c[l+36>>2];c[a+(p<<3)+4>>2]=i;p=c[m+40>>2]|0;c[a+(e<<3)>>2]=c[l+40>>2];c[a+(e<<3)+4>>2]=p;e=n+3|0;break}else{c[h>>2]=i;c[a+(e<<3)+4>>2]=m;c[a+(n<<3)>>2]=c[l+40>>2];c[a+(n<<3)+4>>2]=m;e=n+1|0;break}}}while(0);if(!e)break;else{n=e;h=k;i=a;f=j}}if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0;n=c[a+192>>2]|0;m=+Sb[c[(c[n>>2]|0)+48>>2]&15](n);n=c[a+712>>2]|0;if((n|0)>0){o=0;do{l=c[a+720>>2]|0;d=l+(o*104|0)+8|0;i=+g[b>>2]*+g[d>>2];g[d>>2]=i;d=l+(o*104|0)+12|0;j=+g[b+4>>2]*+g[d>>2];g[d>>2]=j;d=l+(o*104|0)+16|0;k=+g[b+8>>2]*+g[d>>2];g[d>>2]=k;d=l+(o*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=l+(o*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=l+(o*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];l=c[l+(o*104|0)+96>>2]|0;d=hh(a+928|0,l)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if((f|0)>0){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);g[l>>2]=i-m;g[l+4>>2]=j-m;g[l+8>>2]=k-m;g[l+12>>2]=0.0;g[l+16>>2]=m+i;g[l+20>>2]=m+j;g[l+24>>2]=m+k;g[l+28>>2]=0.0;lf(a+928|0,d,l);o=o+1|0}while((o|0)!=(n|0))}Bg(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;j=+Sb[c[(c[o>>2]|0)+48>>2]&15](o);m=+g[d+4>>2]-j;k=+g[d+8>>2]-j;g[a+892>>2]=+g[d>>2]-j;g[a+896>>2]=m;g[a+900>>2]=k;g[a+904>>2]=0.0;k=j+ +g[d+20>>2];m=j+ +g[d+24>>2];g[a+908>>2]=j+ +g[d+16>>2];g[a+912>>2]=k;g[a+916>>2]=m;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;b=c[o+32>>2]|0;yb[c[(c[b>>2]|0)+16>>2]&31](b,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}f=c[a+732>>2]|0;if((f|0)<=0){eg(a);return}d=c[a+740>>2]|0;e=0;do{b=c[d+(e*52|0)+8>>2]|0;o=c[d+(e*52|0)+12>>2]|0;j=+g[b+8>>2]-+g[o+8>>2];k=+g[b+12>>2]-+g[o+12>>2];m=+g[b+16>>2]-+g[o+16>>2];m=+O(+(j*j+k*k+m*m));g[d+(e*52|0)+16>>2]=m;g[d+(e*52|0)+28>>2]=m*m;e=e+1|0}while((e|0)!=(f|0));d=c[a+740>>2]|0;e=0;do{g[d+(e*52|0)+24>>2]=(+g[(c[d+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[d+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[d+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0));eg(a);return}function Ye(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0;w=i;i=i+192|0;u=c[(c[b+4>>2]|0)+740>>2]|0;v=c[(c[b+8>>2]|0)+8>>2]|0;o=+g[e>>2];r=+g[d>>2]*f+o;h=+g[e+4>>2];s=+g[d+4>>2]*f+h;j=+g[e+8>>2];t=+g[d+8>>2]*f+j;p=c[(c[b+12>>2]|0)+8>>2]|0;q=+g[p+52>>2];if((u|0)!=(v|0)){m=s-+g[p+56>>2];l=t-+g[p+60>>2];x=o-+g[v+52>>2];o=h-+g[v+56>>2];h=j-+g[v+60>>2];j=(r-q)*+g[p+4>>2]+m*+g[p+20>>2]+l*+g[p+36>>2];k=(r-q)*+g[p+8>>2]+m*+g[p+24>>2]+l*+g[p+40>>2];l=(r-q)*+g[p+12>>2]+m*+g[p+28>>2]+l*+g[p+44>>2];m=x*+g[v+4>>2]+o*+g[v+20>>2]+h*+g[v+36>>2];n=x*+g[v+8>>2]+o*+g[v+24>>2]+h*+g[v+40>>2];h=x*+g[v+12>>2]+o*+g[v+28>>2]+h*+g[v+44>>2]}else{n=r-+g[u+52>>2];m=s-+g[u+56>>2];l=t-+g[u+60>>2];x=h-+g[p+56>>2];h=j-+g[p+60>>2];j=n*+g[u+4>>2]+m*+g[u+20>>2]+l*+g[u+36>>2];k=n*+g[u+8>>2]+m*+g[u+24>>2]+l*+g[u+40>>2];l=n*+g[u+12>>2]+m*+g[u+28>>2]+l*+g[u+44>>2];m=(o-q)*+g[p+4>>2]+x*+g[p+20>>2]+h*+g[p+36>>2];n=(o-q)*+g[p+8>>2]+x*+g[p+24>>2]+h*+g[p+40>>2];h=(o-q)*+g[p+12>>2]+x*+g[p+28>>2]+h*+g[p+44>>2]}g[w>>2]=j;g[w+4>>2]=k;g[w+8>>2]=l;g[w+12>>2]=0.0;g[w+16>>2]=m;g[w+20>>2]=n;g[w+24>>2]=h;g[w+28>>2]=0.0;c[w+64>>2]=c[d>>2];c[w+64+4>>2]=c[d+4>>2];c[w+64+8>>2]=c[d+8>>2];c[w+64+12>>2]=c[d+12>>2];g[w+80>>2]=f;g[w+84>>2]=0.0;g[w+88>>2]=0.0;g[w+92>>2]=0.0;c[w+112>>2]=0;a[w+116>>0]=0;c[w+120>>2]=0;c[w+120+4>>2]=0;c[w+120+8>>2]=0;c[w+120+12>>2]=0;c[w+120+16>>2]=0;c[w+120+20>>2]=0;c[w+120+24>>2]=0;c[w+120+28>>2]=0;g[w+48>>2]=r;g[w+52>>2]=s;g[w+56>>2]=t;g[w+60>>2]=0.0;c[w+32>>2]=c[e>>2];c[w+32+4>>2]=c[e+4>>2];c[w+32+8>>2]=c[e+8>>2];c[w+32+12>>2]=c[e+12>>2];d=c[b+20>>2]|0;p=c[b+16>>2]|0;e=c[b+28>>2]|0;z=c[b+24>>2]|0;y=(u|0)!=(v|0)?d:p;d=(u|0)!=(v|0)?p:d;p=(u|0)!=(v|0)?e:z;e=(u|0)!=(v|0)?z:e;c[w+96>>2]=y;c[w+100>>2]=d;c[w+104>>2]=p;c[w+108>>2]=e;z=c[b+32>>2]|0;+Kb[c[(c[z>>2]|0)+12>>2]&1](z,w,c[((u|0)!=(v|0)?b+12|0:b+8|0)>>2]|0,y,p,c[((u|0)!=(v|0)?b+8|0:b+12|0)>>2]|0,d,e);i=w;return}function Ze(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=i;i=i+48|0;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=6924;c[b+48>>2]=d;c[b+4>>2]=21;if(Eb[c[(c[d>>2]|0)+40>>2]&127](d)|0)ic[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32>>2]=1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+32>>2]=+g[h+16>>2]+ +g[b+12>>2];g[h+32>>2]=-1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+4>>2]=1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16+4>>2]+ +g[b+12>>2];g[h+32+4>>2]=-1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16+4>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+8>>2]+ +g[b+12>>2];g[h+32+8>>2]=-1.0;ic[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+8>>2]-+g[b+12>>2]}c[b>>2]=6772;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!f){i=h;return}c[6435]=(c[6435]|0)+1;f=yc(191)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f+52>>2]=282;a[f+60>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;c[f+144>>2]=0;a[f+164>>0]=1;c[f+160>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+168>>2]=0;c[f+4>>2]=-8388609;c[f+8>>2]=-8388609;c[f+12>>2]=-8388609;g[f+16>>2]=0.0;c[f+20>>2]=2139095039;c[f+24>>2]=2139095039;c[f+28>>2]=2139095039;g[f+32>>2]=0.0;c[f>>2]=7980;c[b+52>>2]=f;pd(f,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;i=h;return}function _e(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;x=d;w=(x|0)<0;x=w?0:x;a=a+4+(x*184|0)|0;_m(a|0,b|0,184)|0;return x|0}y=+g[b+80>>2];v=+g[a+84>>2];u=v>2];s=t>2];w=+g[a+636>>2]<(r>31;y=+g[b>>2];if(d){e=+g[a+188>>2];i=+g[b+4>>2];l=+g[a+192>>2];m=+g[b+8>>2];n=+g[a+196>>2];p=+g[a+556>>2];s=+g[a+372>>2];q=+g[a+560>>2];r=+g[a+376>>2];v=+g[a+564>>2];j=+g[a+380>>2];h=(g[k>>2]=((y-e)*(q-r)-(i-l)*(p-s))*((y-e)*(q-r)-(i-l)*(p-s))+(((i-l)*(v-j)-(m-n)*(q-r))*((i-l)*(v-j)-(m-n)*(q-r))+((m-n)*(p-s)-(y-e)*(v-j))*((m-n)*(p-s)-(y-e)*(v-j))),c[k>>2]|0);if((d|0)==1){o=+g[a+12>>2];t=p;u=q;p=+g[a+4>>2];q=+g[a+8>>2];f=0;x=7}else{t=p;u=q;x=6}}else{e=+g[a+188>>2];l=+g[a+192>>2];n=+g[a+196>>2];i=+g[b+4>>2];m=+g[b+8>>2];s=+g[a+372>>2];t=+g[a+556>>2];r=+g[a+376>>2];u=+g[a+560>>2];j=+g[a+380>>2];v=+g[a+564>>2];h=0;x=6}if((x|0)==6){p=+g[a+4>>2];q=+g[a+8>>2];D=i-q;o=+g[a+12>>2];B=m-o;A=t-s;C=u-r;z=v-j;f=(g[k>>2]=((y-p)*C-D*A)*((y-p)*C-D*A)+((D*z-B*C)*(D*z-B*C)+(B*A-(y-p)*z)*(B*A-(y-p)*z)),c[k>>2]|0);if((d|0)==2){d=0;x=8}else x=7}if((x|0)==7){C=y-p;E=i-q;A=m-o;B=t-e;z=u-l;D=v-n;d=(g[k>>2]=(C*z-E*B)*(C*z-E*B)+((E*D-A*z)*(E*D-A*z)+(A*B-C*D)*(A*B-C*D)),c[k>>2]|0);if(w)e=0.0;else x=8}if((x|0)==8){E=y-p;A=i-q;C=m-o;D=s-e;B=r-l;e=j-n;e=(E*B-A*D)*(E*B-A*D)+((A*e-C*B)*(A*e-C*B)+(C*D-E*e)*(C*D-E*e))}E=+N(+(c[k>>2]=h,+g[k>>2]));C=+N(+(c[k>>2]=f,+g[k>>2]));A=+N(+(c[k>>2]=d,+g[k>>2]));z=+N(+e);D=E>-999999984306749440.0?E:-999999984306749440.0;B=C>D?C:D;x=z>(A>B?A:B)?3:A>B?2:C>D?1:(E>-999999984306749440.0^1)<<31>>31;w=(x|0)<0;x=w?0:x;a=a+4+(x*184|0)|0;_m(a|0,b|0,184)|0;return x|0}function $e(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (C=e,f)|0}else{if(!f){e=0;f=0;return (C=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (C=e,f)|0}do if(d){if(e|0){h=(aa(e|0)|0)-(aa(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (C=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (C=e,f)|0}if(d-1&d|0){h=(aa(d|0)|0)+33-(aa(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (C=e,f)|0}else{f=Sp(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (C=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (C=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (C=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((Sp(e|0)|0)>>>0);return (C=d,f)|0}h=(aa(e|0)|0)-(aa(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (C=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (C=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Kt(d|0|0,e|e&0|0,-1,-1)|0;l=C;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;Is(k|0,l|0,p|0,o|0)|0;n=C;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=Is(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=C;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (C=o,p)|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;l=i;i=i+128|0;a=c[a+16>>2]|0;n=+g[a+892>>2];x=+g[a+896>>2];v=+g[a+900>>2];w=+g[a+908>>2];f=+g[a+912>>2];j=+g[a+916>>2];z=+g[b>>2];m=+g[b+4>>2];p=v*+g[b+8>>2];q=+g[b+16>>2];r=+g[b+20>>2];t=v*+g[b+24>>2];u=+g[b+32>>2];o=+g[b+36>>2];s=+g[b+40>>2];y=+g[b+48>>2];k=+g[b+52>>2];h=+g[b+56>>2];g[l>>2]=n*z+x*m+p+y;g[l+4>>2]=n*q+x*r+t+k;g[l+8>>2]=n*u+x*o+v*s+h;g[l+12>>2]=0.0;g[l+16>>2]=w*z+x*m+p+y;g[l+20>>2]=w*q+x*r+t+k;g[l+24>>2]=w*u+x*o+v*s+h;g[l+28>>2]=0.0;g[l+32>>2]=w*z+f*m+p+y;g[l+36>>2]=w*q+f*r+t+k;g[l+40>>2]=w*u+f*o+v*s+h;g[l+44>>2]=0.0;g[l+48>>2]=n*z+f*m+p+y;g[l+52>>2]=n*q+f*r+t+k;g[l+56>>2]=n*u+f*o+v*s+h;g[l+60>>2]=0.0;v=+g[b>>2];u=+g[b+4>>2];t=j*+g[b+8>>2];r=+g[b+16>>2];q=+g[b+20>>2];p=j*+g[b+24>>2];m=+g[b+32>>2];g[l+64>>2]=n*v+x*u+t+y;g[l+68>>2]=n*r+x*q+p+k;g[l+72>>2]=n*m+x*o+j*s+h;g[l+76>>2]=0.0;h=+g[b+36>>2];j=j*+g[b+40>>2];s=+g[b+48>>2];o=+g[b+52>>2];k=+g[b+56>>2];g[l+80>>2]=w*v+x*u+t+s;g[l+84>>2]=w*r+x*q+p+o;g[l+88>>2]=w*m+x*h+j+k;g[l+92>>2]=0.0;g[l+96>>2]=w*v+f*u+t+s;g[l+100>>2]=w*r+f*q+p+o;g[l+104>>2]=w*m+f*h+j+k;g[l+108>>2]=0.0;g[l+112>>2]=n*v+f*u+t+s;g[l+116>>2]=n*r+f*q+p+o;g[l+120>>2]=n*m+f*h+j+k;g[l+124>>2]=0.0;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2];b=1;do{f=+g[l+(b<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[l+(b<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;j=+g[l+(b<<4)+8>>2];if(j<+g[d+8>>2])g[d+8>>2]=j;k=+g[l+(b<<4)+12>>2];if(k<+g[d+12>>2])g[d+12>>2]=k;if(+g[e>>2]>2]=f;if(+g[e+4>>2]>2]=h;if(+g[e+8>>2]>2]=j;if(+g[e+12>>2]>2]=k;b=b+1|0}while((b|0)!=8);i=l;return}function bf(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;li(12143);l=c[b+204>>2]|0;ic[c[(c[l>>2]|0)+8>>2]&127](l,b,c[b+24>>2]|0);l=c[b+308>>2]|0;if((l|0)>0){k=c[b+316>>2]|0;m=0;do{e=c[k+(m<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){h=c[d+208>>2]|0;d=c[e+208>>2]|0;j=c[(c[b+204>>2]|0)+16>>2]|0;e=c[j+(h<<3)>>2]|0;if((e|0)!=(h|0)){f=j+(h<<3)|0;do{h=j+(e<<3)|0;c[f>>2]=c[h>>2];h=c[h>>2]|0;f=j+(h<<3)|0;e=c[f>>2]|0}while((h|0)!=(e|0))}e=c[j+(d<<3)>>2]|0;if((e|0)!=(d|0)){f=j+(d<<3)|0;do{d=j+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=j+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}if((h|0)!=(d|0)){c[j+(h<<3)>>2]=d;f=j+(d<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(l|0))}l=c[b+212>>2]|0;if((l|0)>0){k=c[b+220>>2]|0;m=0;do{d=c[k+(m<<2)>>2]|0;if((a[d+20>>0]|0?(n=c[d+28>>2]|0,(c[n+204>>2]&3|0)==0):0)?(o=c[d+32>>2]|0,(c[o+204>>2]&3|0)==0):0){f=c[n+208>>2]|0;d=c[o+208>>2]|0;j=c[(c[b+204>>2]|0)+16>>2]|0;e=c[j+(f<<3)>>2]|0;if((e|0)==(f|0))h=f;else{f=j+(f<<3)|0;do{h=j+(e<<3)|0;c[f>>2]=c[h>>2];h=c[h>>2]|0;f=j+(h<<3)|0;e=c[f>>2]|0}while((h|0)!=(e|0))}e=c[j+(d<<3)>>2]|0;if((e|0)!=(d|0)){f=j+(d<<3)|0;do{d=j+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=j+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}if((h|0)!=(d|0)){c[j+(h<<3)>>2]=d;f=j+(d<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(l|0))}d=c[b+204>>2]|0;Cb[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[2357]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){i=p;return}do if(c[d+4>>2]|0){tb(p|0,0)|0;b=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[p+4>>2]|0)-(c[b+4>>2]|0)+(((c[p>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=p;return}}while(0);c[2357]=c[d+20>>2];i=p;return}function cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0;o=i;i=i+128|0;h=+g[b>>2];j=+g[b+16>>2];p=h>2];if((p+g[a+28>>2]){i=o;return}m=h>j?b:b+16|0;if(+g[(+g[m>>2]>k?m:b+32|0)>>2]<+g[a+12>>2]){i=o;return}h=+g[b+8>>2];j=+g[b+24>>2];p=h>2];if((p+g[a+36>>2]){i=o;return}m=h>j?b+8|0:b+24|0;if(+g[(+g[m>>2]>k?m:b+40|0)>>2]<+g[a+20>>2]){i=o;return}h=+g[b+4>>2];j=+g[b+20>>2];p=h>2];if((p+g[a+32>>2]){i=o;return}m=h>j?b+4|0:b+20|0;if(+g[(+g[m>>2]>k?m:b+36|0)>>2]<+g[a+16>>2]){i=o;return}m=c[a+48>>2]|0;f=c[a+4>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){i=o;return}c[o+24+8>>2]=0;c[o+24+12>>2]=1065353216;c[o+24+16>>2]=1065353216;c[o+24+20>>2]=1065353216;g[o+24+24>>2]=0.0;c[o+24+52>>2]=0;c[o+24>>2]=3736;c[o+24+4>>2]=1;c[o+24+56>>2]=c[b>>2];c[o+24+56+4>>2]=c[b+4>>2];c[o+24+56+8>>2]=c[b+8>>2];c[o+24+56+12>>2]=c[b+12>>2];c[o+24+72>>2]=c[b+16>>2];c[o+24+72+4>>2]=c[b+16+4>>2];c[o+24+72+8>>2]=c[b+16+8>>2];c[o+24+72+12>>2]=c[b+16+12>>2];c[o+24+88>>2]=c[b+32>>2];c[o+24+88+4>>2]=c[b+32+4>>2];c[o+24+88+8>>2]=c[b+32+8>>2];c[o+24+88+12>>2]=c[b+32+12>>2];c[o+24+44>>2]=c[a+56>>2];q=c[a+8>>2]|0;b=c[q+8>>2]|0;l=c[q+12>>2]|0;c[o>>2]=q;c[o+4>>2]=o+24;c[o+8>>2]=b;c[o+12>>2]=l;c[o+16>>2]=d;c[o+20>>2]=e;l=Ib[c[(c[m>>2]|0)+8>>2]&31](m,f,o,c[a+64>>2]|0)|0;f=c[a+44>>2]|0;b=c[f+8>>2]|0;if((c[b+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[f+8>>2]=o;ic[c[(c[f>>2]|0)+8>>2]&127](f,d,e)}else{b=c[f+12>>2]|0;c[f+12>>2]=o;ic[c[(c[f>>2]|0)+12>>2]&127](f,d,e)}yb[c[(c[l>>2]|0)+8>>2]&31](l,c[a+4>>2]|0,o,c[a+52>>2]|0,c[a+44>>2]|0);f=c[a+44>>2]|0;if((c[(c[f+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0))c[f+8>>2]=b;else c[f+12>>2]=b;Ab[c[c[l>>2]>>2]&255](l);Cb[c[(c[m>>2]|0)+60>>2]&127](m,l);c[o+24>>2]=7124;f=c[o+24+52>>2]|0;if(f|0?(Ab[c[c[f>>2]>>2]&255](f),n=c[o+24+52>>2]|0,n|0):0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}i=o;return}function df(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;k=i;i=i+64|0;l=(a[b+8>>0]|0)!=0;j=l?e:d;d=l?d:e;e=c[d+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){i=k;return}if((c[(c[j+4>>2]|0)+4>>2]|0)>=20){i=k;return}m=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=j;c[b+20>>2]=d;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;l=c[d+12>>2]|0;B=+g[l>>2];A=+g[l+16>>2];z=+g[l+32>>2];y=+g[l+4>>2];x=+g[l+20>>2];w=+g[l+36>>2];s=+g[l+8>>2];q=+g[l+24>>2];o=+g[l+40>>2];v=-+g[l+48>>2];u=-+g[l+52>>2];t=-+g[l+56>>2];l=c[j+12>>2]|0;K=+g[l>>2];J=+g[l+16>>2];I=+g[l+32>>2];H=+g[l+4>>2];G=+g[l+20>>2];F=+g[l+36>>2];E=+g[l+8>>2];D=+g[l+24>>2];C=+g[l+40>>2];r=+g[l+48>>2];p=+g[l+52>>2];n=+g[l+56>>2];g[k>>2]=B*K+A*J+z*I;g[k+4>>2]=B*H+A*G+z*F;g[k+8>>2]=B*E+A*D+z*C;g[k+12>>2]=0.0;g[k+16>>2]=y*K+x*J+w*I;g[k+20>>2]=y*H+x*G+w*F;g[k+24>>2]=y*E+x*D+w*C;g[k+28>>2]=0.0;g[k+32>>2]=s*K+q*J+o*I;g[k+36>>2]=s*H+q*G+o*F;g[k+40>>2]=s*E+q*D+o*C;g[k+44>>2]=0.0;g[k+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[k+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[k+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[k+60>>2]=0.0;l=c[(c[b+16>>2]|0)+4>>2]|0;mc[c[(c[l>>2]|0)+8>>2]&127](l,k,b+24|0,b+40|0);g[b+40>>2]=+g[b+40>>2]+m;g[b+44>>2]=+g[b+44>>2]+m;g[b+48>>2]=+g[b+48>>2]+m;g[b+24>>2]=+g[b+24>>2]-m;g[b+28>>2]=+g[b+28>>2]-m;g[b+32>>2]=+g[b+32>>2]-m;l=c[b+76>>2]|0;f=c[d+8>>2]|0;c[l+740>>2]=c[j+8>>2];c[l+744>>2]=f;mc[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);e=c[h+4>>2]|0;do if(c[e+748>>2]|0){j=c[e+740>>2]|0;f=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(f|0)){ef(e,j+4|0,d+4|0);break}else{ef(e,d+4|0,f+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;i=k;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[b+748>>2]|0;if((f|0)<=0)return;do{k=f;f=f+-1|0;p=+g[b+4+(f*184|0)>>2];q=+g[b+4+(f*184|0)+4>>2];h=+g[b+4+(f*184|0)+8>>2];o=p*+g[d>>2]+q*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];m=p*+g[d+16>>2]+q*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=p*+g[d+32>>2]+q*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[b+4+(f*184|0)+48>>2]=o;g[b+4+(f*184|0)+52>>2]=m;g[b+4+(f*184|0)+56>>2]=h;g[b+4+(f*184|0)+60>>2]=0.0;q=+g[b+4+(f*184|0)+16>>2];p=+g[b+4+(f*184|0)+20>>2];i=+g[b+4+(f*184|0)+24>>2];n=q*+g[e>>2]+p*+g[e+4>>2]+i*+g[e+8>>2]+ +g[e+48>>2];l=q*+g[e+16>>2]+p*+g[e+20>>2]+i*+g[e+24>>2]+ +g[e+52>>2];i=q*+g[e+32>>2]+p*+g[e+36>>2]+i*+g[e+40>>2]+ +g[e+56>>2];g[b+4+(f*184|0)+32>>2]=n;g[b+4+(f*184|0)+36>>2]=l;g[b+4+(f*184|0)+40>>2]=i;g[b+4+(f*184|0)+44>>2]=0.0;g[b+4+(f*184|0)+80>>2]=(o-n)*+g[b+4+(f*184|0)+64>>2]+(m-l)*+g[b+4+(f*184|0)+68>>2]+(h-i)*+g[b+4+(f*184|0)+72>>2];j=b+4+(f*184|0)+148|0;c[j>>2]=(c[j>>2]|0)+1}while((k|0)>1);f=c[b+748>>2]|0;if((f|0)<=0)return;e=f;j=f;while(1){k=j;j=j+-1|0;d=b+4+(j*184|0)|0;h=+g[b+4+(j*184|0)+80>>2];i=+g[b+752>>2];if(h<=i){o=+g[b+4+(j*184|0)+32>>2]-(+g[b+4+(j*184|0)+48>>2]-+g[b+4+(j*184|0)+64>>2]*h);p=+g[b+4+(j*184|0)+36>>2]-(+g[b+4+(j*184|0)+52>>2]-h*+g[b+4+(j*184|0)+68>>2]);q=+g[b+4+(j*184|0)+40>>2]-(+g[b+4+(j*184|0)+56>>2]-h*+g[b+4+(j*184|0)+72>>2]);if(o*o+p*p+q*q>i*i){f=e+-1|0;if((f|0)==(j|0))f=e;else{_m(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0}f=f+-1|0;c[b+748>>2]=f}else f=e}else{f=e+-1|0;if((f|0)==(j|0))f=e;else{_m(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0}f=f+-1|0;c[b+748>>2]=f}if((k|0)<=1)break;else e=f}return}function ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;D=i;i=i+32|0;if(!a){i=D;return}w=+g[d>>2]-+g[b>>2];x=+g[d+4>>2]-+g[b+4>>2];r=+g[d+8>>2]-+g[b+8>>2];s=1.0/+O(+(w*w+x*x+r*r));t=w*s==0.0?999999984306749440.0:1.0/(w*s);u=x*s==0.0?999999984306749440.0:1.0/(x*s);v=r*s==0.0?999999984306749440.0:1.0/(r*s);c[6435]=(c[6435]|0)+1;d=yc(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Qn(d|0,0,512)|0;c[d>>2]=a;q=1;a=128;m=128;f=126;while(1){n=q+-1|0;p=c[d+(n<<2)>>2]|0;c[D>>2]=c[p>>2];c[D+4>>2]=c[p+4>>2];c[D+8>>2]=c[p+8>>2];c[D+12>>2]=c[p+12>>2];c[D+16>>2]=c[p+16>>2];c[D+16+4>>2]=c[p+16+4>>2];c[D+16+8>>2]=c[p+16+8>>2];c[D+16+12>>2]=c[p+16+12>>2];j=+g[b>>2];h=t*(+g[D+((t<0.0&1)<<4)>>2]-j);j=t*(+g[D+((t<0.0^1)<<4)>>2]-j);l=+g[b+4>>2];k=u*(+g[D+((u<0.0&1)<<4)+4>>2]-l);l=u*(+g[D+((u<0.0^1)<<4)+4>>2]-l);do if((!(k>j|h>l)?(y=k>h?k:h,B=l>2],z=v*(+g[D+((v<0.0&1)<<4)+8>>2]-A),A=v*(+g[D+((v<0.0^1)<<4)+8>>2]-A),!(z>B|y>A)):0)?((A0.0?(z>y?z:y)>2]|0)){Cb[c[(c[e>>2]|0)+12>>2]&127](e,p);break}if((n|0)>(f|0)){o=m<<1;if((m|0)<(o|0)){do if((a|0)<(o|0)){if(m){c[6435]=(c[6435]|0)+1;a=yc((m<<3|3)+16|0)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}if((m|0)>0){f=0;do{c[a+(f<<2)>>2]=c[d+(f<<2)>>2];f=f+1|0}while((f|0)!=(m|0))}else C=17}else{a=0;C=17}if((C|0)==17){C=0;if(!d){f=o;d=a;break}}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);f=o;d=a}else f=a;while(0);Qn(d+(m<<2)|0,0,m<<2|0)|0;a=f}m=o;f=o+-2|0}c[d+(n<<2)>>2]=c[p+36>>2];c[d+(q<<2)>>2]=c[p+40>>2];n=q+1|0}while(0);if(!n)break;else q=n}if(!d){i=D;return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);i=D;return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=i;i=i+256|0;li(11671);c[f+32>>2]=4060;l=f+32+36|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[l>>2];c[f+32+116+4>>2]=c[l+4>>2];c[f+32+116+8>>2]=c[l+8>>2];c[f+32+116+12>>2]=c[l+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];k=+g[d+4>>2]-+g[b+4>>2];j=+g[d+8>>2]-+g[b+8>>2];h=1.0/+O(+(n*n+k*k+j*j));q=n*h==0.0?1000000015047466219876688.0e6:1.0/(n*h);g[f+32+4>>2]=q;p=k*h==0.0?1000000015047466219876688.0e6:1.0/(k*h);g[f+32+8>>2]=p;o=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[l>>2])+k*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+j*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Qb[e&7](a,b,d,f+32|0,f+16|0,f);b=c[2357]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){i=f;return}do if(c[b+4>>2]|0){tb(f+32|0,0)|0;m=c[6434]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[f+32+4>>2]|0)-(c[m+4>>2]|0)+(((c[f+32>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2357]|0;break}else{i=f;return}}while(0);c[2357]=c[b+20>>2];i=f;return}function hf(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0;s=i;i=i+16|0;li(12002);e=c[b+232>>2]|0;if((e|0)>0){r=0;do{q=c[(c[b+240>>2]|0)+(r<<2)>>2]|0;if(!(c[q+204>>2]&3)){n=+g[q+444>>2];f=+P(+(1.0-n),+d);j=f*+g[q+312>>2];g[q+312>>2]=j;h=f*+g[q+316>>2];g[q+316>>2]=h;f=f*+g[q+320>>2];g[q+320>>2]=f;p=+g[q+448>>2];m=+P(+(1.0-p),+d);k=m*+g[q+328>>2];g[q+328>>2]=k;l=m*+g[q+332>>2];g[q+332>>2]=l;m=m*+g[q+336>>2];g[q+336>>2]=m;do if(a[q+452>>0]|0){if(m*m+(k*k+l*l)<+g[q+464>>2]?j*j+h*h+f*f<+g[q+460>>2]:0){t=+g[q+456>>2];g[q+328>>2]=k*t;g[q+332>>2]=t*l;g[q+336>>2]=t*m;g[q+312>>2]=t*j;g[q+316>>2]=t*h;g[q+320>>2]=t*f;f=t*f;o=k*t;l=t*l;m=t*m;j=t*j;h=t*h}else o=k;k=+O(+(j*j+h*h+f*f));do if(k.004999999888241291){j=j-j*(1.0/k)*.004999999888241291;g[q+312>>2]=j;h=h-h*(1.0/k)*.004999999888241291;g[q+316>>2]=h;f=f-f*(1.0/k)*.004999999888241291;g[q+320>>2]=f;break}else{c[q+312>>2]=0;c[q+312+4>>2]=0;c[q+312+8>>2]=0;c[q+312+12>>2]=0;j=0.0;h=0.0;f=0.0;break}while(0);k=+O(+(o*o+l*l+m*m));if(k.004999999888241291){g[q+328>>2]=o-o*(1.0/k)*.004999999888241291;g[q+332>>2]=l-l*(1.0/k)*.004999999888241291;g[q+336>>2]=m-m*(1.0/k)*.004999999888241291;break}else{c[q+328>>2]=0;c[q+328+4>>2]=0;c[q+328+8>>2]=0;c[q+328+12>>2]=0;break}}while(0);Zg(q+4|0,j,h,f,q+328|0,d,q+68|0);e=c[b+232>>2]|0}r=r+1|0}while((r|0)<(e|0))}e=c[2357]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){i=s;return}do if(c[e+4>>2]|0){tb(s|0,0)|0;b=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[s+4>>2]|0)-(c[b+4>>2]|0)+(((c[s>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2357]|0;break}else{i=s;return}}while(0);c[2357]=c[e+20>>2];i=s;return}function jf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=c[a+108>>2]|0;if(g|0)ic[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);q=c[d+12>>2]|0;p=c[a+60>>2]|0;o=c[a+92>>2]|0;if(!(Eb[c[(c[o>>2]|0)+56>>2]&127](o)|0)){o=c[a+92>>2]|0;ic[c[(c[o>>2]|0)+16>>2]&127](o,p+((q&65535)<<6)|0,f)}m=e[a+56>>1]|0;g=c[a+60>>2]|0;b[g+54>>1]=(e[g+54>>1]|0)+65534;b[g+56>>1]=(e[g+56>>1]|0)+65534;b[g+58>>1]=(e[g+58>>1]|0)+65534;g=b[a+6>>1]|0;o=0;do{l=a+68+(o<<2)|0;n=c[l>>2]|0;f=e[p+((q&65535)<<6)+54+(o<<1)>>1]|0;b[n+(f<<2)>>1]=g;d=b[n+(f<<2)+6>>1]|0;if(!(d<<16>>16))f=n;else{k=(c[a+60>>2]|0)+((e[n+(f<<2)+2>>1]|0)<<6)+54+(o<<1)|0;i=n+(f<<2)|0;while(1){j=i;i=i+4|0;h=b[i>>1]|0;if((g&65535)<(h&65535))break;f=c[a+60>>2]|0;g=d&65535;if(!(h&1)){h=f+(g<<6)+48+(o<<1)|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16}else{h=f+(g<<6)+54+(o<<1)|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16}b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[j>>1]|e[j+2>>1]<<16;d=e[i>>1]|e[i+2>>1]<<16;b[j>>1]=d;b[j+2>>1]=d>>>16;b[i>>1]=g;b[i+2>>1]=g>>>16;d=b[j+10>>1]|0;if(!(d<<16>>16))break;else g=g&65535}g=b[a+6>>1]|0;f=c[l>>2]|0}d=e[p+((q&65535)<<6)+48+(o<<1)>>1]|0;b[n+(d<<2)>>1]=g;i=f+(d<<2)|0;h=b[i+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+48+(o<<1)|0;g=b[i>>1]|0;while(1){j=i;i=i+4|0;f=b[i>>1]|0;if((g&65535)<(f&65535))break;d=c[a+60>>2]|0;g=h&65535;if(!(f&1)){l=d+(g<<6)+48+(o<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16}else{l=d+(g<<6)+54+(o<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16}b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[j>>1]|e[j+2>>1]<<16;h=e[i>>1]|e[i+2>>1]<<16;b[j>>1]=h;b[j+2>>1]=h>>>16;b[i>>1]=g;b[i+2>>1]=g>>>16;h=b[j+10>>1]|0;if(!(h<<16>>16))break;else g=g&65535}g=b[a+6>>1]|0}b[n+((m<<1)+-1<<2)+2>>1]=0;b[n+((m<<1)+-1<<2)>>1]=g;o=o+1|0}while((o|0)!=3);b[(c[a+60>>2]|0)+((q&65535)<<6)+48>>1]=b[a+64>>1]|0;b[a+64>>1]=q;b[a+56>>1]=(b[a+56>>1]|0)+-1<<16>>16;return}function kf(b){b=b|0;var d=0,e=0;c[b>>2]=5224;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+32>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+36>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+40>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+44>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+48>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+56>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+60>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+76>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+80>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+72>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+88>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+88>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+84>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+28>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+28>>2]|0;if(!d)return;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}e=c[b+40>>2]|0;if(!e)o=b;else{k=+g[d>>2]+ +g[d+16>>2];i=+g[d+4>>2]+ +g[d+20>>2];j=+g[d+8>>2]+ +g[d+24>>2];do{p=c[b+36>>2]|0;n=+N(+(k-(+g[p>>2]+ +g[p+16>>2])))+ +N(+(i-(+g[p+4>>2]+ +g[p+20>>2])))+ +N(+(j-(+g[p+8>>2]+ +g[p+24>>2])));b=c[b+36+((!(n<+N(+(k-(+g[e>>2]+ +g[e+16>>2])))+ +N(+(i-(+g[e+4>>2]+ +g[e+20>>2])))+ +N(+(j-(+g[e+8>>2]+ +g[e+24>>2]))))&1)<<2)>>2]|0;e=c[b+40>>2]|0}while((e|0)!=0);o=b}p=o+32|0;e=c[p>>2]|0;b=c[a+4>>2]|0;if(!b){c[6435]=(c[6435]|0)+1;b=yc(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0))}else c[a+4>>2]=0;c[b+32>>2]=e;c[b+36>>2]=0;f=b+40|0;c[f>>2]=0;q=+g[d>>2];n=+g[o>>2];n=q>2]=n;q=+g[d+16>>2];k=+g[o+16>>2];k=q>k?q:k;g[b+16>>2]=k;q=+g[d+4>>2];m=+g[o+4>>2];m=q>2]=m;q=+g[d+20>>2];j=+g[o+20>>2];j=q>j?q:j;g[b+20>>2]=j;q=+g[d+8>>2];l=+g[o+8>>2];l=q>2]=l;q=+g[d+24>>2];i=+g[o+24>>2];i=q>i?q:i;g[b+24>>2]=i;if(!e){c[b+36>>2]=o;c[p>>2]=b;c[f>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[e+36+(((c[(c[p>>2]|0)+40>>2]|0)==(o|0)&1)<<2)>>2]=b;c[b+36>>2]=o;c[p>>2]=b;c[f>>2]=d;c[d+32>>2]=b;while(1){b=e+4|0;if(((((+g[e>>2]<=n?+g[b>>2]<=m:0)?+g[e+8>>2]<=l:0)?+g[e+16>>2]>=k:0)?+g[e+20>>2]>=j:0)?+g[e+24>>2]>=i:0){b=21;break}d=c[e+36>>2]|0;a=c[e+40>>2]|0;q=+g[d>>2];n=+g[a>>2];n=q>2]=n;q=+g[d+16>>2];k=+g[a+16>>2];k=q>k?q:k;g[e+16>>2]=k;q=+g[d+4>>2];m=+g[a+4>>2];m=q>2]=m;q=+g[d+20>>2];j=+g[a+20>>2];j=q>j?q:j;g[e+20>>2]=j;q=+g[d+8>>2];l=+g[a+8>>2];l=q>2]=l;q=+g[d+24>>2];i=+g[a+24>>2];i=q>i?q:i;g[e+24>>2]=i;e=c[e+32>>2]|0;if(!e){b=21;break}}if((b|0)==21)return}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=Zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13172}Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13172}function nf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=c[b+9288>>2]|0;if(!q){c[b>>2]=5;b=0;return b|0}i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9288>>2]|0)==(q|0))c[b+9288>>2]=c[q+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9280>>2]=q;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[q+55>>0]=0;c[q+20>>2]=d;c[q+24>>2]=e;c[q+28>>2]=f;m=+g[d+16>>2];j=+g[e+16>>2]-m;n=+g[d+20>>2];k=+g[e+20>>2]-n;o=+g[d+24>>2];l=+g[e+24>>2]-o;m=+g[f+16>>2]-m;n=+g[f+20>>2]-n;o=+g[f+24>>2]-o;g[q>>2]=k*o-l*n;g[q+4>>2]=l*m-j*o;g[q+8>>2]=j*n-k*m;g[q+12>>2]=0.0;p=+O(+((k*o-l*n)*(k*o-l*n)+(l*m-j*o)*(l*m-j*o)+(j*n-k*m)*(j*n-k*m)));do if(p>9.999999747378752e-05){if((!($k(k*o-l*n,l*m-j*o,j*n-k*m,+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],q+16|0)|0)?!($k(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],q+16|0)|0):0)?!($k(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],q+16|0)|0):0)g[q+16>>2]=(+g[d+16>>2]*+g[q>>2]+ +g[d+20>>2]*+g[q+4>>2]+ +g[d+24>>2]*+g[q+8>>2])/p;g[q>>2]=1.0/p*+g[q>>2];g[q+4>>2]=1.0/p*+g[q+4>>2];g[q+8>>2]=1.0/p*+g[q+8>>2];if(h){b=q;return b|0}if(!(+g[q+16>>2]>=-9.999999747378752e-06)){c[b>>2]=3;break}else{b=q;return b|0}}else c[b>>2]=2;while(0);i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9280>>2]|0)==(q|0))c[b+9280>>2]=c[q+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9288>>2]=q;c[b+9292>>2]=(c[b+9292>>2]|0)+1;b=0;return b|0}function of(a,b,f){a=a|0;b=b|0;f=f|0;var j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;o=c[a+4>>2]|0;Yb[c[(c[o>>2]|0)+16>>2]&3](o,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);o=(c[t+12>>2]|0)+(_(c[t+8>>2]|0,f)|0)|0;s=c[a+4>>2]|0;n=c[t>>2]|0;switch(n|0){case 3:{j=e[o+4>>1]|0;break}case 2:{j=c[o+8>>2]|0;break}default:j=d[o+2>>0]|0}r=(c[t+20>>2]|0)==0;p=c[t+28>>2]|0;q=c[t+16>>2]|0;j=p+(_(q,j)|0)|0;if(r){l=+g[j+8>>2]*+g[s+12>>2];m=+g[j+4>>2]*+g[s+8>>2];k=+g[j>>2]*+g[s+4>>2]}else{l=+h[j+16>>3]*+g[s+12>>2];m=+h[j+8>>3]*+g[s+8>>2];k=+h[j>>3]*+g[s+4>>2]}g[a+44>>2]=k;g[a+48>>2]=m;g[a+52>>2]=l;g[a+56>>2]=0.0;switch(n|0){case 3:{j=e[o+2>>1]|0;break}case 2:{j=c[o+4>>2]|0;break}default:j=d[o+1>>0]|0}j=p+(_(q,j)|0)|0;if(r){l=+g[j+8>>2]*+g[s+12>>2];m=+g[j+4>>2]*+g[s+8>>2];k=+g[j>>2]*+g[s+4>>2]}else{l=+h[j+16>>3]*+g[s+12>>2];m=+h[j+8>>3]*+g[s+8>>2];k=+h[j>>3]*+g[s+4>>2]}g[a+28>>2]=k;g[a+32>>2]=m;g[a+36>>2]=l;g[a+40>>2]=0.0;switch(n|0){case 3:{j=e[o>>1]|0;break}case 2:{j=c[o>>2]|0;break}default:j=d[o>>0]|0}j=p+(_(q,j)|0)|0;if(r){m=+g[j+8>>2]*+g[s+12>>2];l=+g[j+4>>2]*+g[s+8>>2];k=+g[j>>2]*+g[s+4>>2];r=a+12|0;g[r>>2]=k;r=a+16|0;g[r>>2]=l;r=a+20|0;g[r>>2]=m;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;mc[q&127](r,s,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;Cb[f&127](a,b);i=t;return}else{m=+h[j+16>>3]*+g[s+12>>2];l=+h[j+8>>3]*+g[s+8>>2];k=+h[j>>3]*+g[s+4>>2];r=a+12|0;g[r>>2]=k;r=a+16|0;g[r>>2]=l;r=a+20|0;g[r>>2]=m;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;mc[q&127](r,s,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;Cb[f&127](a,b);i=t;return}}function pf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[6435]=(c[6435]|0)+1;f=yc(479)|0;if(!f)s=0;else{c[(f+4+15&-16)+-4>>2]=f;s=f+4+15&-16}je(s,b,d,e);c[s>>2]=3872;a[s+340>>0]=1;c[s+336>>2]=0;c[s+328>>2]=0;c[s+332>>2]=0;k=s+352|0;g[k>>2]=1.2000000476837158;l=s+356|0;g[l>>2]=0.0;m=s+360|0;g[m>>2]=0.0;g[s+364>>2]=1.0e3;n=s+368|0;o=s+396|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[o>>2]=-1054867456;p=s+400|0;c[p>>2]=0;q=s+404|0;g[q>>2]=0.0;a[s+424>>0]=1;r=s+420|0;c[r>>2]=0;j=s+412|0;c[j>>2]=0;c[s+416>>2]=0;e=s+452|0;c[e>>2]=h;i=s+456|0;a[i>>0]=0;if(!h){c[6435]=(c[6435]|0)+1;f=yc(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=2996;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[e>>2]=f;a[i>>0]=1}c[s+344>>2]=4302;a[s+348>>0]=1;a[s+349>>0]=0;a[s+350>>0]=0;c[s+384>>2]=d;c[s+388>>2]=b;h=s+408|0;Ji(h);e=c[j>>2]|0;if((e|0)>0)i=0;else{r=s+428|0;g[r>>2]=.25;r=s+432|0;c[r>>2]=0;r=s+436|0;c[r>>2]=0;r=s+444|0;c[r>>2]=1;r=s+448|0;c[r>>2]=1;g[k>>2]=1.2000000476837158;g[l>>2]=0.0;g[m>>2]=0.0;r=s+392|0;c[r>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=-1054867456;c[p>>2]=0;g[q>>2]=0.0;Ji(h);return s|0}do{d=(c[r>>2]|0)+(i<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;hd(d)}while((f|0)!=0);i=i+1|0}while((i|0)!=(e|0));r=s+428|0;g[r>>2]=.25;r=s+432|0;c[r>>2]=0;r=s+436|0;c[r>>2]=0;r=s+444|0;c[r>>2]=1;r=s+448|0;c[r>>2]=1;g[k>>2]=1.2000000476837158;g[l>>2]=0.0;g[m>>2]=0.0;r=s+392|0;c[r>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=-1054867456;c[p>>2]=0;g[q>>2]=0.0;Ji(h);return s|0}function qf(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;f=c[b+8>>2]|0;g[f>>2]=1.0;h=c[b+24>>2]|0;g[f+(h+1<<2)>>2]=1.0;g[f+((h<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];e=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*e;m=l*+g[j+20>>2]+q*+g[j+24>>2]+e*+g[j+28>>2];e=l*+g[j+36>>2]+q*+g[j+40>>2]+e*+g[j+44>>2];f=c[b+12>>2]|0;c[f>>2]=0;g[f+4>>2]=e;g[f+8>>2]=-m;g[f+12>>2]=0.0;g[f+(h<<2)>>2]=-e;c[f+(h<<2)+4>>2]=0;g[f+(h<<2)+8>>2]=o;g[f+(h<<2)+12>>2]=0.0;g[f+(h<<1<<2)>>2]=m;g[f+(h<<1<<2)+4>>2]=-o;c[f+(h<<1<<2)+8>>2]=0;g[f+(h<<1<<2)+12>>2]=0.0;f=c[b+16>>2]|0;g[f>>2]=-1.0;g[f+(h+1<<2)>>2]=-1.0;g[f+((h<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;f=c[b+24>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(f<<2)>>2]=d;c[h+(f<<2)+4>>2]=0;g[h+(f<<2)+8>>2]=-p;g[h+(f<<2)+12>>2]=0.0;g[h+(f<<1<<2)>>2]=-n;g[h+(f<<1<<2)+4>>2]=p;c[h+(f<<1<<2)+8>>2]=0;g[h+(f<<1<<2)+12>>2]=0.0;f=c[a+332>>2]|0;l=+g[((f&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];h=c[b+24>>2]|0;i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(h<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(h<<1<<2)>>2]=l*(d+ +g[k+60>>2]-e-+g[j+60>>2]);if(f&2|0){k=c[b+24>>2]|0;j=c[b+32>>2]|0;c[j>>2]=c[a+340>>2];c[j+(k<<2)>>2]=c[a+340>>2];c[j+(k<<1<<2)>>2]=c[a+340>>2]}e=+g[a+356>>2];if(e>0.0){g[c[b+36>>2]>>2]=-e;g[c[b+40>>2]>>2]=e;d=+g[a+356>>2]}else d=e;if(d>0.0){k=c[b+24>>2]|0;g[(c[b+36>>2]|0)+(k<<2)>>2]=-e;g[(c[b+40>>2]|0)+(k<<2)>>2]=e;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}j=c[b+24>>2]<<1;g[(c[b+36>>2]|0)+(j<<2)>>2]=-e;g[(c[b+40>>2]|0)+(j<<2)>>2]=e;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d+8>>2]|0;if((f|0)>0){h=c[d+16>>2]|0;j=0;e=0;do{i=c[h+(j<<2)>>2]|0;if(!(c[i+204>>2]&3)){c[i+208>>2]=e;e=e+1|0}c[i+212>>2]=-1;g[i+244>>2]=1.0;j=j+1|0}while((j|0)!=(f|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){e=0;f=i}else{c[6435]=(c[6435]|0)+1;e=yc((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+8>>2]|0}if((f|0)>0){h=0;do{m=(c[b+16>>2]|0)+(h<<3)|0;k=c[m+4>>2]|0;l=e+(h<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;h=h+1|0}while((h|0)!=(f|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){e=c[b+16>>2]|0;f=0;do{c[e+(f<<3)>>2]=f;c[e+(f<<3)+4>>2]=1;f=f+1|0}while((f|0)!=(j|0))}e=c[d+68>>2]|0;e=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;l=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!l)return;d=Eb[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((l|0)<=0)return;k=0;do{e=c[c[d+(k<<4)>>2]>>2]|0;f=c[c[d+(k<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){i=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(i<<3)>>2]|0;if((f|0)!=(i|0)){h=j+(i<<3)|0;do{i=j+(f<<3)|0;c[h>>2]=c[i>>2];i=c[i>>2]|0;h=j+(i<<3)|0;f=c[h>>2]|0}while((i|0)!=(f|0))}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){h=j+(e<<3)|0;do{e=j+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}if((i|0)!=(e|0)){c[j+(i<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(i<<3)+4>>2]|0)}}k=k+1|0}while((k|0)!=(l|0));return}function sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(c[d+28>>2]|0)!=1:0)c[d+28>>2]=f}else{if((b|0)!=(c[d>>2]|0)){i=c[b+12>>2]|0;$n(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;$n(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;$n(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;$n(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;f=b+16+(c[b+12>>2]<<3)|0;k=0;h=0;j=b+16|0;b:while(1){if(j>>>0>=f>>>0){i=20;break}a[d+52>>0]=0;a[d+53>>0]=0;On(j,d,e,e,1,g);if(a[d+54>>0]|0){i=20;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;i=20;break b}else{i=k;h=1;break}if((c[d+24>>2]|0)==1){i=25;break b}if(!(c[b+8>>2]&2)){i=25;break b}else{i=1;h=1}}else i=k;while(0);k=i;j=j+8|0}do if((i|0)==20){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){i=25;break}else{h=4;break}}if(h)i=25;else h=4}while(0);if((i|0)==25)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function tf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0;c[6435]=(c[6435]|0)+1;i=yc(1147)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;j=i+28|0;c[j>>2]=b;b=i+32|0;c[b>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4596;a[i+48>>0]=0;d=i+52|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=i+68|0;c[d>>2]=c[e+16>>2];c[d+4>>2]=c[e+16+4>>2];c[d+8>>2]=c[e+16+8>>2];c[d+12>>2]=c[e+16+12>>2];d=i+84|0;c[d>>2]=c[e+32>>2];c[d+4>>2]=c[e+32+4>>2];c[d+8>>2]=c[e+32+8>>2];c[d+12>>2]=c[e+32+12>>2];d=i+100|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];e=i+116|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=i+132|0;c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];e=i+148|0;c[e>>2]=c[f+32>>2];c[e+4>>2]=c[f+32+4>>2];c[e+8>>2]=c[f+32+8>>2];c[e+12>>2]=c[f+32+12>>2];e=i+164|0;c[e>>2]=c[f+48>>2];c[e+4>>2]=c[f+48+4>>2];c[e+8>>2]=c[f+48+8>>2];c[e+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;h=i+1100|0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+12>>0]=0;a[i+49>>0]=1;kd(i,(c[j>>2]|0)+4|0,(c[b>>2]|0)+4|0);return i|0}function uf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6165]=(c[6165]|0)+1;g=c[d+24>>2]|0;if(!g){g=c[e+4>>2]|0;if(!((b[f+6>>1]&(g&65535))<<16>>16)){d=0;return d|0}if(!((b[f+4>>1]&(g>>>16&65535))<<16>>16)){d=0;return d|0}}else if(!(Ob[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;h=c[m+12>>2]|0;l=l?e:f;e=c[l+12>>2]|0;j=((e<<16|h)+~((e<<16|h)<<15)>>10^(e<<16|h)+~((e<<16|h)<<15))*9|0;j=(j>>6^j)+~((j>>6^j)<<11)>>16^(j>>6^j)+~((j>>6^j)<<11);k=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((j&k+-1)<<2)>>2]|0;a:do if((g|0)!=-1){f=c[d+16>>2]|0;while(1){if((c[(c[f+(g<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[f+(g<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;g=c[(c[d+64>>2]|0)+(g<<2)>>2]|0;if((g|0)==-1)break a}g=f+(g<<4)|0;if(g|0){d=g;return d|0}}while(0);i=c[d+8>>2]|0;if((i|0)==(k|0)){g=k|0?k<<1:1;if((k|0)<(g|0)){if(!g){e=0;f=k}else{c[6435]=(c[6435]|0)+1;e=yc((g<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+8>>2]|0}if((f|0)>0){h=0;do{n=c[d+16>>2]|0;c[e+(h<<4)>>2]=c[n+(h<<4)>>2];c[e+(h<<4)+4>>2]=c[n+(h<<4)+4>>2];c[e+(h<<4)+8>>2]=c[n+(h<<4)+8>>2];c[e+(h<<4)+12>>2]=c[n+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[d+16>>2]|0;if(h){if(a[d+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[d+8>>2]|0}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=e;c[d+12>>2]=g}else{f=k;g=k}}else{f=i;g=k}c[d+8>>2]=f+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){Ob[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((k|0)<(g|0)){Hf(d);g=(c[d+12>>2]|0)+-1&j}else g=j&k+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+O(+(u*u+t*t+s*s));y=+g[d>>2];x=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+O(+(y*y+x*x+w*w));B=s*r*x*v-t*r*w*v;A=u*r*w*v-s*r*y*v;z=t*r*y*v-u*r*x*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=z*j+(e*B+h*A);g[a+52>>2]=e*y*v+x*v*h+w*v*j;g[a+56>>2]=u*r*e+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=B*f+A*i+z*k;g[a+68>>2]=y*v*f+x*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=B*l+A*n+z*p;g[a+84>>2]=y*v*l+x*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=B*q+A*p+z*o;g[a+116>>2]=y*v*q+x*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=B*n+A*m+z*l;g[a+132>>2]=y*v*n+x*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=B*k+A*i+z*f;g[a+148>>2]=y*v*k+x*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;sd(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;n=i;i=i+16|0;c[6138]=(c[6138]|0)+1;if(!(c[b+4>>2]&2))f=4972;else{f=c[d+192>>2]|0;o=+cc[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[n+4>>2]=o;f=c[e+192>>2]|0;k=+cc[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[n>>2]=k;f=o>2]|0;o=+g[d+184>>2];k=+g[e+184>>2];k=o>2]|0;h=c[f+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;i=n;return b|0}c[6435]=(c[6435]|0)+1;f=yc(791)|0;if(!f)l=0;else{c[(f+4+15&-16)+-4>>2]=f;l=f+4+15&-16}}else{l=c[f+12>>2]|0;c[f+12>>2]=c[l>>2];c[f+8>>2]=h+-1}c[l>>2]=1025;c[l+116>>2]=0;a[l+120>>0]=0;f=l+124|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[l+300>>2]=0;a[l+304>>0]=0;f=l+308|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[l+484>>2]=0;a[l+488>>0]=0;f=l+492|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[l+668>>2]=0;a[l+672>>0]=0;f=l+676|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[l+740>>2]=d;c[l+744>>2]=e;c[l+748>>2]=0;c[l+752>>2]=j;g[l+756>>2]=k;d=l;f=c[b+12>>2]|0;c[l+768>>2]=f;if((f|0)==(c[b+16>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+12>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+20>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=j;c[b+16>>2]=m}c[(c[b+20>>2]|0)+(f<<2)>>2]=d;c[b+12>>2]=f+1;b=l;i=n;return b|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0;w=i;i=i+32|0;s=c[a+12>>2]|0;t=+g[s+(((e+d|0)/2|0)*24|0)>>2];u=+g[s+(((e+d|0)/2|0)*24|0)+4>>2];v=+g[s+(((e+d|0)/2|0)*24|0)+8>>2];q=+g[s+(((e+d|0)/2|0)*24|0)+16>>2];r=c[s+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=d;h=e;while(1){m=+g[b>>2];n=+g[b+4>>2];o=+g[b+8>>2];p=(t-m)*(t-m)+(u-n)*(u-n)+(v-o)*(v-o);a:while(1){j=+g[s+(f*24|0)+16>>2];do if(j!=q){if(!(j>2]-m;k=+g[s+(f*24|0)+4>>2]-n;l=+g[s+(f*24|0)+8>>2]-o;if(j*j+k*k+l*l!=p)if(j*j+k*k+l*l>2]|0)<(r|0))break;else break a}while(0);f=f+1|0}b:while(1){j=+g[s+(h*24|0)+16>>2];do if(q!=j){if(!(q>2]-m;k=+g[s+(h*24|0)+4>>2]-n;l=+g[s+(h*24|0)+8>>2]-o;if(p!=j*j+k*k+l*l)if(p>2]|0))break;else break b}while(0);h=h+-1|0}if((f|0)<=(h|0)){x=s+(f*24|0)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];s=s+(h*24|0)|0;c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];c[x+16>>2]=c[s+16>>2];c[x+20>>2]=c[s+20>>2];s=(c[a+12>>2]|0)+(h*24|0)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[s+16>>2]=c[w+16>>2];c[s+20>>2]=c[w+20>>2];f=f+1|0;h=h+-1|0}if((f|0)>(h|0))break;s=c[a+12>>2]|0}if((h|0)>(d|0))xf(a,b,d,h);if((f|0)>=(e|0)){i=w;return}xf(a,b,f,e);i=w;return}function yf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0,h=0,i=0,j=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,z=0;z=c[a+832>>2]|0;if((z|0)<=0)return;n=c[a+840>>2]|0;y=0;do{u=c[n+(y*56|0)>>2]|0;x=c[n+(y*56|0)+4>>2]|0;a=c[x+8>>2]|0;f=c[x+12>>2]|0;h=c[x+16>>2]|0;i=n+(y*56|0)+8|0;v=+g[i>>2];j=n+(y*56|0)+12|0;t=+g[j>>2];l=n+(y*56|0)+16|0;s=+g[l>>2];b=+g[a+8>>2]*v+ +g[f+8>>2]*t+ +g[h+8>>2]*s;d=+g[a+12>>2]*v+ +g[f+12>>2]*t+ +g[h+12>>2]*s;e=+g[a+16>>2]*v+ +g[f+16>>2]*t+ +g[h+16>>2]*s;m=+g[u+8>>2];o=+g[u+12>>2];p=+g[u+16>>2];q=m-+g[u+24>>2]-(b-(v*+g[a+24>>2]+t*+g[f+24>>2]+s*+g[h+24>>2]));r=o-+g[u+28>>2]-(d-(v*+g[a+28>>2]+t*+g[f+28>>2]+s*+g[h+28>>2]));s=p-+g[u+32>>2]-(e-(v*+g[a+32>>2]+t*+g[f+32>>2]+s*+g[h+32>>2]));t=+g[n+(y*56|0)+24>>2];v=+g[n+(y*56|0)+28>>2];w=+g[n+(y*56|0)+32>>2];if(q*t+r*v+s*w<0.0){e=+g[n+(y*56|0)+40>>2]-(m*t+o*v+p*w-(b*t+d*v+e*w));a=(g[k>>2]=t*e+0.0,c[k>>2]|0);f=(g[k>>2]=v*e+0.0,c[k>>2]|0);h=(g[k>>2]=w*e+0.0,c[k>>2]|0)}else{a=0;f=0;h=0}b=+g[n+(y*56|0)+44>>2];d=(c[k>>2]=a,+g[k>>2])-b*(q-t*(q*t+r*v+s*w));e=(c[k>>2]=f,+g[k>>2])-b*(r-v*(q*t+r*v+s*w));v=(c[k>>2]=h,+g[k>>2])-b*(s-w*(q*t+r*v+s*w));w=+g[n+(y*56|0)+48>>2];g[u+8>>2]=m+w*d;g[u+12>>2]=o+w*e;g[u+16>>2]=w*v+p;h=c[x+8>>2]|0;u=n+(y*56|0)+52|0;w=+g[u>>2]*+g[i>>2];g[h+8>>2]=+g[h+8>>2]-d*w;g[h+12>>2]=+g[h+12>>2]-e*w;g[h+16>>2]=+g[h+16>>2]-v*w;i=c[x+12>>2]|0;w=+g[u>>2]*+g[j>>2];g[i+8>>2]=+g[i+8>>2]-d*w;g[i+12>>2]=+g[i+12>>2]-e*w;g[i+16>>2]=+g[i+16>>2]-v*w;x=c[x+16>>2]|0;w=+g[u>>2]*+g[l>>2];g[x+8>>2]=+g[x+8>>2]-d*w;g[x+12>>2]=+g[x+12>>2]-e*w;g[x+16>>2]=+g[x+16>>2]-v*w;y=y+1|0}while((y|0)!=(z|0));return}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[6164]=(c[6164]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;f=c[j+12>>2]|0;i=((f<<16|h)+~((f<<16|h)<<15)>>10^(f<<16|h)+~((f<<16|h)<<15))*9|0;i=((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}g=c[a+16>>2]|0;d=b;while(1){if((c[(c[g+(d<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((b|0)==-1){b=0;o=24;break}else d=b}if((o|0)==24)return b|0;b=g+(d<<4)|0;if(!b){o=0;return o|0}ic[c[(c[a>>2]|0)+32>>2]&127](a,b,e);n=c[g+(d<<4)+12>>2]|0;m=b-(c[a+16>>2]|0)>>4;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(m|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(m|0))break;else g=b}b=c[d+(m<<2)>>2]|0;if((g|0)==-1)o=12;else c[f>>2]=b}else{b=c[d+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)Ib[c[(c[b>>2]|0)+12>>2]&31](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}j=c[a+16>>2]|0;h=c[(c[j+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[j+(k<<4)>>2]|0)+12>>2];h=(h+~(h<<15)>>10^h+~(h<<15))*9|0;h=((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[a+12>>2]|0)+-1;i=(c[a+44>>2]|0)+(h<<2)|0;b=c[i>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(k|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(k|0))break;else g=b}b=c[d+(k<<2)>>2]|0;if((g|0)==-1)o=22;else c[f>>2]=b}else{b=c[d+(k<<2)>>2]|0;o=22}if((o|0)==22)c[i>>2]=b;c[j+(m<<4)>>2]=c[j+(k<<4)>>2];c[j+(m<<4)+4>>2]=c[j+(k<<4)+4>>2];c[j+(m<<4)+8>>2]=c[j+(k<<4)+8>>2];c[j+(m<<4)+12>>2]=c[j+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(h<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function Af(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;z=(a[b+28>>0]|0)!=0;C=z?e:d;z=z?d:e;A=c[b+12>>2]|0;if((A|0)<=0){w=1.0;return +w}y=(c[C+192>>2]|0)+24|0;j=+g[C+4>>2];t=+g[C+8>>2];u=+g[C+12>>2];v=c[C+16>>2]|0;w=+g[C+20>>2];k=+g[C+24>>2];l=+g[C+28>>2];d=c[C+32>>2]|0;m=+g[C+36>>2];n=+g[C+40>>2];o=+g[C+44>>2];e=c[C+48>>2]|0;p=+g[C+52>>2];q=+g[C+56>>2];r=+g[C+60>>2];s=c[C+64>>2]|0;x=c[C+260>>2]|0;i=1.0;B=0;do{E=c[y>>2]|0;P=+g[E+(B*80|0)>>2];O=+g[E+(B*80|0)+16>>2];N=+g[E+(B*80|0)+32>>2];M=+g[E+(B*80|0)+4>>2];L=+g[E+(B*80|0)+20>>2];K=+g[E+(B*80|0)+36>>2];J=+g[E+(B*80|0)+8>>2];I=+g[E+(B*80|0)+24>>2];H=+g[E+(B*80|0)+40>>2];G=+g[E+(B*80|0)+48>>2];F=+g[E+(B*80|0)+52>>2];D=+g[E+(B*80|0)+56>>2];c[C+260>>2]=x+1;g[C+4>>2]=j*P+t*O+u*N;g[C+8>>2]=j*M+t*L+u*K;g[C+12>>2]=j*J+t*I+u*H;g[C+16>>2]=0.0;g[C+20>>2]=w*P+k*O+l*N;g[C+24>>2]=w*M+k*L+l*K;g[C+28>>2]=w*J+k*I+l*H;g[C+32>>2]=0.0;g[C+36>>2]=m*P+n*O+o*N;g[C+40>>2]=m*M+n*L+o*K;g[C+44>>2]=m*J+n*I+o*H;g[C+48>>2]=0.0;g[C+52>>2]=p+(j*G+t*F+u*D);g[C+56>>2]=q+(w*G+k*F+l*D);g[C+60>>2]=r+(m*G+n*F+o*D);g[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(B<<2)>>2]|0;D=+Mb[c[(c[E>>2]|0)+12>>2]&15](E,C,z,f,h);i=D>2]|0)+1|0;c[C+260>>2]=x;g[C+4>>2]=j;g[C+8>>2]=t;g[C+12>>2]=u;c[C+16>>2]=v;g[C+20>>2]=w;g[C+24>>2]=k;g[C+28>>2]=l;c[C+32>>2]=d;g[C+36>>2]=m;g[C+40>>2]=n;g[C+44>>2]=o;c[C+48>>2]=e;g[C+52>>2]=p;g[C+56>>2]=q;g[C+60>>2]=r;c[C+64>>2]=s;B=B+1|0}while((B|0)!=(A|0));return +i}function Bf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;a[p+16>>0]=1;c[p+12>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;e=c[b+8>>2]|0;if((e|0)>0){g=0;h=0;f=0;n=0;while(1){l=c[b+16>>2]|0;m=l+(n<<4)|0;if((g|0)==(f|0)){k=f|0?f<<1:1;if((f|0)<(k|0)){if(k){c[6435]=(c[6435]|0)+1;e=yc((k<<4|3)+16|0)|0;if(!e){j=0;f=g}else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16;f=g}}else j=0;if((f|0)>0){e=0;do{h=c[p+12>>2]|0;c[j+(e<<4)>>2]=c[h+(e<<4)>>2];c[j+(e<<4)+4>>2]=c[h+(e<<4)+4>>2];c[j+(e<<4)+8>>2]=c[h+(e<<4)+8>>2];c[j+(e<<4)+12>>2]=c[h+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[p+12>>2]|0;if(!e)g=f;else{c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=j;c[p+8>>2]=k;e=c[b+8>>2]|0;h=g}else{k=f;j=h;h=f}}else{k=f;j=h;h=g}c[j+(h<<4)>>2]=c[m>>2];c[j+(h<<4)+4>>2]=c[l+(n<<4)+4>>2];c[j+(h<<4)+8>>2]=c[l+(n<<4)+8>>2];c[j+(h<<4)+12>>2]=c[l+(n<<4)+12>>2];g=h+1|0;n=n+1|0;if((n|0)>=(e|0))break;else{h=j;f=k}}c[p+4>>2]=g;if((h|0)>-1){e=c[p+12>>2]|0;f=0;while(1){Ib[c[(c[b>>2]|0)+12>>2]&31](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0,d)|0;if((f|0)<(h|0))f=f+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){e=c[b+64>>2]|0;f=0;do{c[e+(f<<2)>>2]=-1;f=f+1|0}while((f|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)>0)o=24;else e=c[p+12>>2]|0;else{Vd(p,0,g+-1|0);o=24}if((o|0)==24){e=c[p+12>>2]|0;f=0;do{Ob[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}if(!e){i=p;return}c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);c[p+12>>2]=0;i=p;return}function Cf(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;z=i;i=i+16|0;q=+g[a+452>>2];x=c[a+192>>2]|0;v=+Sb[c[(c[x>>2]|0)+48>>2]&15](x);x=c[a+812>>2]|0;if((x|0)<=0){i=z;return}y=0;do{r=c[a+820>>2]|0;p=c[r+(y*104|0)>>2]|0;p=(c[p+236>>2]&2|0)==0?0:p;if(p|0){u=+g[p+332>>2];n=+g[r+(y*104|0)+84>>2];m=+g[p+336>>2];o=+g[r+(y*104|0)+80>>2];w=+g[r+(y*104|0)+76>>2];t=+g[p+328>>2];e=(g[k>>2]=q*(u*n-m*o+ +g[p+312>>2]),c[k>>2]|0);f=(g[k>>2]=q*(+g[p+316>>2]+(m*w-n*t)),c[k>>2]|0);h=(g[k>>2]=q*(o*t-u*w+ +g[p+320>>2]),c[k>>2]|0)}else{e=0;f=0;h=0}s=c[r+(y*104|0)+24>>2]|0;t=+g[s+8>>2];u=+g[s+12>>2];w=+g[s+16>>2];o=t-+g[s+24>>2]-(c[k>>2]=e,+g[k>>2]);n=u-+g[s+28>>2]-(c[k>>2]=f,+g[k>>2]);d=w-+g[s+32>>2]-(c[k>>2]=h,+g[k>>2]);j=+g[r+(y*104|0)+4>>2];l=+g[r+(y*104|0)+8>>2];m=+g[r+(y*104|0)+12>>2];if(o*j+n*l+d*m<=1.1920928955078125e-07?(C=t*j+u*l+w*m+ +g[r+(y*104|0)+20>>2],D=+g[r+(y*104|0)+96>>2],C=(C>2],B=(o-(o-j*(o*j+n*l+d*m))*D+j*C)*b,A=(n-(n-l*(o*j+n*l+d*m))*D+C*l)*b,o=(d-(d-m*(o*j+n*l+d*m))*D+C*m)*b,l=+g[r+(y*104|0)+28>>2]*B+ +g[r+(y*104|0)+32>>2]*A+ +g[r+(y*104|0)+36>>2]*o,m=B*+g[r+(y*104|0)+44>>2]+A*+g[r+(y*104|0)+48>>2]+o*+g[r+(y*104|0)+52>>2],o=B*+g[r+(y*104|0)+60>>2]+A*+g[r+(y*104|0)+64>>2]+o*+g[r+(y*104|0)+68>>2],g[z>>2]=l,g[z+4>>2]=m,g[z+8>>2]=o,g[z+12>>2]=0.0,n=+g[r+(y*104|0)+92>>2],g[s+8>>2]=t-l*n,g[s+12>>2]=u-n*m,g[s+16>>2]=w-n*o,p|0):0)gj(p,z,r+(y*104|0)+76|0);y=y+1|0}while((y|0)!=(x|0));i=z;return} -function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0;s=i;i=i+240|0;n=c[b+48>>2]|0;k=c[b+52>>2]|0;if((k|0?(h=c[k+20>>2]|0,h|0):0)?(Eb[c[(c[h>>2]|0)+48>>2]&127](h)|0)&1|0:0){c[s+144>>2]=1065353216;c[s+144+4>>2]=1065353216;c[s+144+8>>2]=0;g[s+144+12>>2]=0.0;l=c[b+8>>2]|0;r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d>>2];u=+g[d+4>>2];v=+g[d+8>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+128>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+128+4>>2]=w;g[s+128+8>>2]=x;g[s+128+12>>2]=0.0;x=+g[d+16>>2];w=+g[d+20>>2];v=+g[d+24>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+88>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+88+4>>2]=u;g[s+88+8>>2]=t;g[s+88+12>>2]=0.0;mc[q&127](r,s+128|0,s+88|0,s+144|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d+16>>2];u=+g[d+20>>2];v=+g[d+24>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+72>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+72+4>>2]=w;g[s+72+8>>2]=x;g[s+72+12>>2]=0.0;x=+g[d+32>>2];w=+g[d+36>>2];v=+g[d+40>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+56>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+56+4>>2]=u;g[s+56+8>>2]=t;g[s+56+12>>2]=0.0;mc[q&127](r,s+72|0,s+56|0,s+144|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d+32>>2];u=+g[d+36>>2];v=+g[d+40>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+16>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+16+4>>2]=w;g[s+16+8>>2]=x;g[s+16+12>>2]=0.0;x=+g[d>>2];w=+g[d+4>>2];v=+g[d+8>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+4>>2]=u;g[s+8>>2]=t;g[s+12>>2]=0.0;mc[q&127](r,s+16|0,s,s+144|0)}h=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;h=(c[b+108>>2]|0)+-1&((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11));a:do if(h>>>0<(c[b+64>>2]|0)>>>0?(m=c[(c[b+72>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0){l=c[b+132>>2]|0;k=m;while(1){if((e<<21|f|0)==(c[l+(k<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(k<<2)>>2]|0;if((h|0)==-1)break a;else k=h}h=c[b+112>>2]|0;if(h+(k<<3)|0){q=c[h+(k<<3)+4>>2]|0;r=c[b+8>>2]|0;c[q+8>>2]=c[(c[r+192>>2]|0)+8>>2];p=c[b+4>>2]|0;o=c[p+192>>2]|0;c[s+144>>2]=0;c[s+144+4>>2]=o;c[s+144+8>>2]=p;c[s+144+12>>2]=p+4;c[s+144+16>>2]=-1;c[s+144+20>>2]=-1;c[s+104>>2]=0;c[s+104+4>>2]=q;c[s+104+8>>2]=r;c[s+104+12>>2]=r+4;c[s+104+16>>2]=e;c[s+104+20>>2]=f;r=Ib[c[(c[n>>2]|0)+8>>2]&31](n,s+144|0,s+104|0,0)|0;yb[c[(c[r>>2]|0)+8>>2]&31](r,s+144|0,s+104|0,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&255](r);Cb[c[(c[n>>2]|0)+60>>2]&127](n,r);i=s;return}}while(0);C=+g[d+16>>2];F=+g[d>>2];B=+g[d+20>>2];E=+g[d+4>>2];A=+g[d+24>>2];D=+g[d+8>>2];z=+g[d+32>>2];t=+g[d+36>>2];v=+g[d+40>>2];y=(B-E)*(v-D)-(A-D)*(t-E);u=(A-D)*(z-F)-(C-F)*(v-D);x=(C-F)*(t-E)-(B-E)*(z-F);w=1.0/+O(+(x*x+(y*y+u*u)));g[s+144>>2]=F+w*y*.05999999865889549;g[s+144+4>>2]=E+w*u*.05999999865889549;g[s+144+8>>2]=w*x*.05999999865889549+D;g[s+144+12>>2]=0.0;g[s+144+16>>2]=w*y*.05999999865889549+C;g[s+144+20>>2]=w*u*.05999999865889549+B;g[s+144+24>>2]=w*x*.05999999865889549+A;g[s+144+28>>2]=0.0;g[s+144+32>>2]=w*y*.05999999865889549+z;g[s+144+36>>2]=w*u*.05999999865889549+t;g[s+144+40>>2]=w*x*.05999999865889549+v;g[s+144+44>>2]=0.0;g[s+144+48>>2]=F-w*y*.05999999865889549;g[s+144+52>>2]=E-w*u*.05999999865889549;g[s+144+56>>2]=D-w*x*.05999999865889549;g[s+144+60>>2]=0.0;g[s+144+64>>2]=C-w*y*.05999999865889549;g[s+144+68>>2]=B-w*u*.05999999865889549;g[s+144+72>>2]=A-w*x*.05999999865889549;g[s+144+76>>2]=0.0;g[s+144+80>>2]=z-w*y*.05999999865889549;g[s+144+84>>2]=t-w*u*.05999999865889549;g[s+144+88>>2]=v-w*x*.05999999865889549;g[s+144+92>>2]=0.0;c[6435]=(c[6435]|0)+1;h=yc(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}kg(h,s+144|0,6,16);r=c[b+8>>2]|0;c[h+8>>2]=c[(c[r+192>>2]|0)+8>>2];q=c[b+4>>2]|0;d=c[q+192>>2]|0;c[s+104>>2]=0;c[s+104+4>>2]=d;c[s+104+8>>2]=q;c[s+104+12>>2]=q+4;c[s+104+16>>2]=-1;c[s+104+20>>2]=-1;c[s+32>>2]=0;c[s+32+4>>2]=h;c[s+32+8>>2]=r;c[s+32+12>>2]=r+4;c[s+32+16>>2]=e;c[s+32+20>>2]=f;r=Ib[c[(c[n>>2]|0)+8>>2]&31](n,s+104|0,s+32|0,0)|0;yb[c[(c[r>>2]|0)+8>>2]&31](r,s+104|0,s+32|0,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&255](r);Cb[c[(c[n>>2]|0)+60>>2]&127](n,r);r=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;r=(r>>6^r)+~((r>>6^r)<<11)>>16^(r>>6^r)+~((r>>6^r)<<11);n=c[b+108>>2]|0;b:do if((r&n+-1)>>>0<(c[b+64>>2]|0)>>>0?(j=c[(c[b+72>>2]|0)+((r&n+-1)<<2)>>2]|0,(j|0)!=-1):0){k=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[k+(j<<2)>>2]|0))break;j=c[(c[b+92>>2]|0)+(j<<2)>>2]|0;if((j|0)==-1){o=20;break b}}b=c[b+112>>2]|0;c[b+(j<<3)>>2]=e<<21|f;c[b+(j<<3)+4>>2]=h}else o=20;while(0);if((o|0)==20){q=c[b+104>>2]|0;if((q|0)==(n|0)){m=n|0?n<<1:1;if((n|0)<(m|0)){if(!m){j=0;k=n}else{c[6435]=(c[6435]|0)+1;j=yc((m<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[b+104>>2]|0}if((k|0)>0){l=0;do{H=(c[b+112>>2]|0)+(l<<3)|0;G=c[H+4>>2]|0;d=j+(l<<3)|0;c[d>>2]=c[H>>2];c[d+4>>2]=G;l=l+1|0}while((l|0)!=(k|0))}k=c[b+112>>2]|0;if(k|0){if(a[b+116>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=j;c[b+108>>2]=m;j=c[b+104>>2]|0}else j=n}else j=q;H=c[b+112>>2]|0;c[H+(j<<3)>>2]=e<<21|f;c[H+(j<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(p=h|0?h<<1:1,(h|0)<(p|0)):0){if(!p)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=h;h=c[b+124>>2]|0}k=c[b+132>>2]|0;if((h|0)<=0)if(!k)h=b+136|0;else o=43;else{j=0;do{c[l+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));o=43}if((o|0)==43){if(a[b+136>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+132>>2]=0;h=b+136|0}a[h>>0]=1;c[b+132>>2]=l;c[b+128>>2]=p;h=c[b+124>>2]|0}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;d=c[b+108>>2]|0;if((n|0)<(d|0)){n=c[b+64>>2]|0;if((d|0)>(n|0)){if((d|0)>=(n|0)){do if((c[b+68>>2]|0)<(d|0)){if(!d){h=0;j=n}else{c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+64>>2]|0}k=c[b+72>>2]|0;if((j|0)<=0){if(!k){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d;break}}else{l=0;do{c[h+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}if(a[b+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d}else h=c[b+72>>2]|0;while(0);Qn(h+(n<<2)|0,0,d-n<<2|0)|0}c[b+64>>2]=d;m=c[b+84>>2]|0;if((d|0)>(m|0)){do if((c[b+88>>2]|0)<(d|0)){if(!d){h=0;j=m}else{c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+84>>2]|0}k=c[b+92>>2]|0;if((j|0)<=0){if(!k){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d;break}}else{l=0;do{c[h+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}if(a[b+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d}else h=c[b+92>>2]|0;while(0);Qn(h+(m<<2)|0,0,d-m<<2|0)|0}c[b+84>>2]=d;if((d|0)>0){Qn(c[b+72>>2]|0,-1,d<<2|0)|0;Qn(c[b+92>>2]|0,-1,d<<2|0)|0}if((n|0)>0){h=c[b+132>>2]|0;j=c[b+72>>2]|0;k=c[b+92>>2]|0;l=0;do{H=c[h+(l<<2)>>2]|0;H=(H+~(H<<15)>>10^H+~(H<<15))*9|0;H=j+((((H>>6^H)+~((H>>6^H)<<11)>>16^(H>>6^H)+~((H>>6^H)<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[k+(l<<2)>>2]=c[H>>2];c[H>>2]=l;l=l+1|0}while((l|0)!=(n|0))}}h=r&(c[b+108>>2]|0)+-1}else h=r&n+-1;H=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(q<<2)>>2]=c[H>>2];c[H>>2]=q}i=s;return}function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+16|0;li(12170);k=c[b+212>>2]|0;j=c[b+180>>2]|0;if((j|0)<(k|0)){if((c[b+184>>2]|0)<(k|0)){if(!k){e=0;f=j}else{c[6435]=(c[6435]|0)+1;e=yc((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+180>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[b+188>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+188>>2]|0;if(f|0){if(a[b+192>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=e;c[b+184>>2]=k;f=b+188|0}else f=b+188|0;e=j;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(k|0))}else f=b+188|0;c[b+180>>2]=k;e=0;while(1){if((e|0)>=(Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)bh(b+176|0,0,e+-1|0);if(!(Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+196>>2]|0;t=c[b+180>>2]|0;u=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=t;c[h+20>>2]=u;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;u=c[b+200>>2]|0;e=c[(c[u>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;t=c[b+24>>2]|0;t=Eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;ic[e&127](u,s,t);t=c[b+204>>2]|0;s=c[b+24>>2]|0;u=c[b+196>>2]|0;li(13882);e=c[t+28>>2]|0;if((e|0)<0){if((c[t+32>>2]|0)<0){f=c[t+36>>2]|0;if(f|0){if(a[t+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=0;c[t+32>>2]=0}do{c[(c[t+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+28>>2]=0;j=c[t+8>>2]|0;if((j|0)>0){k=c[t+16>>2]|0;m=0;do{l=k+(m<<3)|0;e=c[l>>2]|0;if((e|0)==(m|0))e=m;else{f=e;h=l;do{e=k+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=k+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}c[l>>2]=e;m=m+1|0}while((m|0)!=(j|0));if((j|0)>1){yj(t+4|0,0,j+-1|0);j=c[t+8>>2]|0}if((j|0)>0){m=c[t+16>>2]|0;f=0;while(1){n=c[m+(f<<3)>>2]|0;q=f;while(1){p=q+1|0;if((p|0)>=(j|0)){l=0;break}if((c[m+(p<<3)>>2]|0)==(n|0))q=p;else{l=1;break}}a:do if((f|0)<=(q|0)){o=c[b+16>>2]|0;e=1;k=f;while(1){h=c[o+(c[m+(k<<3)+4>>2]<<2)>>2]|0;if((c[h+208>>2]|0)==(n|0)){h=c[h+216>>2]|0;e=(h|0)!=4&(e&(h|0)!=1)}if((k|0)<(q|0))k=k+1|0;else break}if(e){e=m;while(1){e=c[o+(c[e+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]&-2|0)!=4:0)c[e+216>>2]=2;if((f|0)>=(q|0))break a;e=c[t+16>>2]|0;f=f+1|0}}else{e=m;while(1){e=c[o+(c[e+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]|0)==2:0){c[e+216>>2]=3;g[e+220>>2]=0.0}if((f|0)>=(q|0))break a;e=c[t+16>>2]|0;f=f+1|0}}}while(0);if(l)f=p;else break}}}j=Eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((j|0)>0){l=0;do{k=Zb[c[(c[s>>2]|0)+40>>2]&31](s,l)|0;f=c[k+740>>2]|0;h=c[k+744>>2]|0;if((f|0)!=0?(c[f+216>>2]|0)!=2:0)e=92;else e=90;if(((e|0)==90?(e=0,h|0):0)?(c[h+216>>2]|0)!=2:0)e=92;if((e|0)==92){e=c[f+204>>2]|0;if((e&2|0?((e&4|0)==0?(c[f+216>>2]|0)!=2:0):0)?(c[h+204>>2]&3|0)==0:0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}q=c[h+204>>2]|0;if(q&2|0?((q&4|e&3|0)==0?(c[h+216>>2]|0)!=2:0):0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}if(a[t+64>>0]|0?Ob[c[(c[s>>2]|0)+28>>2]&63](s,f,h)|0:0){e=c[t+28>>2]|0;if((e|0)==(c[t+32>>2]|0)?(r=e|0?e<<1:1,(e|0)<(r|0)):0){if(!r)h=0;else{c[6435]=(c[6435]|0)+1;e=yc((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=e;e=c[t+28>>2]|0}if((e|0)>0){f=0;do{c[h+(f<<2)>>2]=c[(c[t+36>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[t+36>>2]|0;if(f){if(a[t+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[t+28>>2]|0}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=h;c[t+32>>2]=r}c[(c[t+36>>2]|0)+(e<<2)>>2]=k;c[t+28>>2]=e+1}}l=l+1|0}while((l|0)<(j|0))}e=c[2357]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;do if(!r){if(c[e+4>>2]|0){tb(v|0,0)|0;r=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[r+4>>2]|0)+(((c[v>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);r=c[t+8>>2]|0;li(13910);if(a[t+64>>0]|0){p=c[t+28>>2]|0;if((p|0)>1)$g(t+24|0,0,p+-1|0);if((r|0)>0){n=1;f=0;q=0;while(1){e=c[t+16>>2]|0;o=c[e+(f<<3)>>2]|0;b:do if((f|0)<(r|0)){k=c[t+48>>2]|0;h=c[t+52>>2]|0;m=1;while(1){l=c[(c[b+16>>2]|0)+(c[e+(f<<3)+4>>2]<<2)>>2]|0;do if((k|0)==(h|0)){k=h|0?h<<1:1;if((h|0)>=(k|0)){e=h;break}if(!k)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[t+48>>2]|0}if((h|0)>0){j=0;do{c[e+(j<<2)>>2]=c[(c[t+56>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[t+56>>2]|0;if(j){if(a[t+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[t+48>>2]|0}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=e;c[t+52>>2]=k;e=h;h=k}else e=k;while(0);c[(c[t+56>>2]|0)+(e<<2)>>2]=l;k=e+1|0;c[t+48>>2]=k;j=c[l+216>>2]|0;j=m&((j|0)==2|(j|0)==5);f=f+1|0;if((f|0)>=(r|0)){m=f;break b}e=c[t+16>>2]|0;if((c[e+(f<<3)>>2]|0)!=(o|0)){m=f;break}else m=j}}else{m=f;j=1}while(0);if((q|0)<(p|0)){l=c[t+36>>2]|0;e=l+(q<<2)|0;h=c[e>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((f|0)==(o|0)){k=q;do{k=k+1|0;if((k|0)>=(p|0))break;h=c[l+(k<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0}while((o|0)==(f|0));h=k;f=k-q|0}else{h=n;f=0;e=0}}else{h=n;f=0;e=0}if(!j)Qb[c[(c[u>>2]|0)+8>>2]&7](u,c[t+56>>2]|0,c[t+48>>2]|0,e,f,o);q=(f|0)==0?q:h;e=c[t+48>>2]|0;if((e|0)<0){if((c[t+52>>2]|0)<0){f=c[t+56>>2]|0;if(f|0){if(a[t+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=0;c[t+52>>2]=0}do{c[(c[t+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+48>>2]=0;if((m|0)>=(r|0))break;else{n=h;f=m}}}}else{r=Eb[c[(c[s>>2]|0)+44>>2]&127](s)|0;t=Eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Qb[c[(c[u>>2]|0)+8>>2]&7](u,c[b+16>>2]|0,c[b+8>>2]|0,r,t,-1)}e=c[2357]|0;u=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=u;do if(!u){if(c[e+4>>2]|0){tb(v|0,0)|0;u=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[u+4>>2]|0)+(((c[v>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);nh(c[b+196>>2]|0);e=c[b+200>>2]|0;ic[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[2357]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){i=v;return}do if(c[e+4>>2]|0){tb(v|0,0)|0;b=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[b+4>>2]|0)+(((c[v>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2357]|0;break}else{i=v;return}}while(0);c[2357]=c[e+20>>2];i=v;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;A=i;i=i+176|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;x=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=x;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];x=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=x;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];h=+g[a+132>>2];j=+g[a+136>>2];if(e*e+h*h+j*j>0.0){d=(g[k>>2]=-e,c[k>>2]|0);b=(g[k>>2]=-h,c[k>>2]|0);f=(g[k>>2]=-j,c[k>>2]|0)}else{d=1065353216;b=0;f=0}g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;t=(c[k>>2]=d,+g[k>>2]);v=(c[k>>2]=b,+g[k>>2]);Nh(a,t,v,(c[k>>2]=f,+g[k>>2]),a+316|0);g[a+164>>2]=1.0;w=(c[a+148>>2]|0)+16|0;c[a+128>>2]=c[w>>2];c[a+128+4>>2]=c[w+4>>2];c[a+128+8>>2]=c[w+8>>2];c[a+128+12>>2]=c[w+12>>2];c[A+24+48>>2]=c[w>>2];c[A+24+48+4>>2]=c[w+4>>2];c[A+24+48+8>>2]=c[w+8>>2];c[A+24+48+12>>2]=c[w+12>>2];c[A+24+32>>2]=c[w>>2];c[A+24+32+4>>2]=c[w+4>>2];c[A+24+32+8>>2]=c[w+8>>2];c[A+24+32+12>>2]=c[w+12>>2];c[A+24+16>>2]=c[w>>2];c[A+24+16+4>>2]=c[w+4>>2];c[A+24+16+8>>2]=c[w+8>>2];c[A+24+16+12>>2]=c[w+12>>2];c[A+24>>2]=c[w>>2];c[A+24+4>>2]=c[w+4>>2];c[A+24+8>>2]=c[w+8>>2];c[A+24+12>>2]=c[w+12>>2];v=0.0;w=0;x=0;e=e*e+h*h+j*j;a:do{u=c[a+368>>2]|0;l=+g[a+128>>2];h=+g[a+132>>2];j=+g[a+136>>2];o=+O(+(l*l+h*h+j*j));if(o<9.999999747378752e-05){z=5;break}g[a+148+(u*36|0)+16+(c[a+148+(u*36|0)+32>>2]<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[a+148+(u*36|0)+(c[a+148+(u*36|0)+32>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[a+148+(u*36|0)+32>>2]|0;c[a+148+(u*36|0)+32>>2]=d+1;Nh(a,-l,-h,-j,c[a+148+(u*36|0)+(d<<2)>>2]|0);d=c[a+148+(u*36|0)+32>>2]|0;b=c[a+148+(u*36|0)+(d+-1<<2)>>2]|0;h=+g[b+16>>2];j=+g[b+20>>2];l=+g[b+24>>2];q=h-+g[A+24>>2];r=j-+g[A+24+4>>2];t=l-+g[A+24+8>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+16>>2];r=j-+g[A+24+20>>2];t=l-+g[A+24+24>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+32>>2];r=j-+g[A+24+36>>2];t=l-+g[A+24+40>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+48>>2];r=j-+g[A+24+52>>2];t=l-+g[A+24+56>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}w=w+1&3;s=A+24+(w<<4)|0;c[s>>2]=c[b+16>>2];c[s+4>>2]=c[b+16+4>>2];c[s+8>>2]=c[b+16+8>>2];c[s+12>>2]=c[b+16+12>>2];t=(+g[a+128>>2]*h+ +g[a+132>>2]*j+ +g[a+136>>2]*l)/o;v=t>v?t:v;if(o-v-o*9.999999747378752e-05<=0.0){z=9;break}c[A>>2]=0;b:do switch(d|0){case 2:{s=c[a+148+(u*36|0)>>2]|0;n=c[a+148+(u*36|0)+4>>2]|0;e=+g[n+16>>2];h=+g[s+16>>2];j=+g[n+20>>2];l=+g[s+20>>2];o=+g[n+24>>2];p=+g[s+24>>2];if(!((e-h)*(e-h)+(j-l)*(j-l)+(o-p)*(o-p)>0.0)){z=39;break a}q=-(h*(e-h)+l*(j-l)+p*(o-p))/((e-h)*(e-h)+(j-l)*(j-l)+(o-p)*(o-p));if(q>=1.0){g[A+8>>2]=0.0;g[A+8+4>>2]=1.0;c[A>>2]=2;e=e*e+j*j+o*o;break b}if(!(q<=0.0)){g[A+8+4>>2]=q;g[A+8>>2]=1.0-q;c[A>>2]=3;e=((e-h)*q+h)*((e-h)*q+h)+((j-l)*q+l)*((j-l)*q+l)+((o-p)*q+p)*((o-p)*q+p);break b}else{g[A+8>>2]=1.0;g[A+8+4>>2]=0.0;c[A>>2]=1;e=h*h+l*l+p*p;break b}}case 3:{e=+Oe((c[a+148+(u*36|0)>>2]|0)+16|0,(c[a+148+(u*36|0)+4>>2]|0)+16|0,(c[a+148+(u*36|0)+8>>2]|0)+16|0,A+8|0,A);break}case 4:{f=c[a+148+(u*36|0)>>2]|0;m=c[a+148+(u*36|0)+4>>2]|0;n=c[a+148+(u*36|0)+8>>2]|0;s=c[a+148+(u*36|0)+12>>2]|0;c[A+152>>2]=f+16;c[A+152+4>>2]=m+16;c[A+152+8>>2]=n+16;c[A+152+12>>2]=s+16;j=+g[f+16>>2];l=+g[s+16>>2];e=+g[f+20>>2];o=+g[s+20>>2];h=+g[f+24>>2];p=+g[s+24>>2];g[A+104>>2]=j-l;g[A+104+4>>2]=e-o;g[A+104+8>>2]=h-p;g[A+104+12>>2]=0.0;B=+g[m+16>>2];D=+g[m+20>>2];r=+g[m+24>>2];g[A+104+16>>2]=B-l;g[A+104+20>>2]=D-o;g[A+104+24>>2]=r-p;g[A+104+28>>2]=0.0;q=+g[n+16>>2];E=+g[n+20>>2];C=+g[n+24>>2];g[A+104+32>>2]=q-l;g[A+104+36>>2]=E-o;g[A+104+40>>2]=C-p;g[A+104+44>>2]=0.0;t=(e-o)*(r-p)*(q-l)+(h-p)*(B-l)*(E-o)-(E-o)*(r-p)*(j-l)-(e-o)*(B-l)*(C-p)+(C-p)*(j-l)*(D-o)-(q-l)*(h-p)*(D-o);if(t!=t|0.0!=0.0|t==0.0|!(t*(h*((B-q)*(e-D)-(D-E)*(j-B))+(j*((D-E)*(h-r)-(r-C)*(e-D))+e*((r-C)*(j-B)-(B-q)*(h-r))))<=0.0))e=-1.0;else{c[A+92>>2]=0;c[A+92+4>>2]=0;c[A+92+8>>2]=0;c[A+88>>2]=0;r=e-o;q=h-p;h=j-l;d=0;e=-1.0;while(1){b=c[4976+(d<<2)>>2]|0;C=+g[A+104+(b<<4)+8>>2];D=+g[A+104+(b<<4)+4>>2];E=+g[A+104+(b<<4)>>2];if(t*((r*C-q*D)*l+o*(q*E-C*h)+(D*h-r*E)*p)>0.0?(y=+Oe(c[A+152+(d<<2)>>2]|0,c[A+152+(b<<2)>>2]|0,s+16|0,A+92|0,A+88|0),e<0.0|y>2]|0;c[A>>2]=(F&2|0?1<>2]=c[A+92>>2];c[A+8+(b<<2)>>2]=c[A+92+4>>2];g[A+8+(c[4976+(b<<2)>>2]<<2)>>2]=0.0;c[A+8+12>>2]=c[A+92+8>>2];e=y}d=d+1|0;if((d|0)==3)break;r=+g[A+104+(d<<4)+4>>2];q=+g[A+104+(d<<4)+8>>2];h=+g[A+104+(d<<4)>>2];l=+g[s+16>>2];o=+g[s+20>>2];p=+g[s+24>>2]}if(e<0.0){c[A>>2]=15;l=+g[n+20>>2];E=+g[m+24>>2];D=+g[s+16>>2];h=+g[n+24>>2];C=+g[m+16>>2];o=+g[s+20>>2];j=+g[n+16>>2];B=+g[s+24>>2];q=+g[m+20>>2];g[A+8>>2]=(l*E*D+h*C*o-o*E*j-l*C*B+B*j*q-D*h*q)/t;e=+g[f+20>>2];p=+g[f+24>>2];r=+g[f+16>>2];g[A+8+4>>2]=(e*h*D+p*j*o-o*h*r-e*j*B+B*r*l-D*p*l)/t;g[A+8+8>>2]=(q*p*D+E*r*o-o*p*C-q*r*B+B*C*e-D*E*e)/t;g[A+8+12>>2]=1.0-((l*E*D+h*C*o-o*E*j-l*C*B+B*j*q-D*h*q)/t+(e*h*D+p*j*o-o*h*r-e*j*B+B*r*l-D*p*l)/t+(q*p*D+E*r*o-o*p*C-q*r*B+B*C*e-D*E*e)/t);e=0.0}}break}default:{}}while(0);if(!(e>=0.0)){z=39;break}c[a+148+((1-u|0)*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=1-u;d=c[a+148+(u*36|0)+32>>2]|0;b=c[A>>2]|0;if(d|0){n=0;do{f=a+148+(u*36|0)+(n<<2)|0;m=c[f>>2]|0;if(!(b&1<>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=m}else{c[a+148+((1-u|0)*36|0)+(c[a+148+((1-u|0)*36|0)+32>>2]<<2)>>2]=m;s=c[A+8+(n<<2)>>2]|0;F=c[a+148+((1-u|0)*36|0)+32>>2]|0;c[a+148+((1-u|0)*36|0)+32>>2]=F+1;c[a+148+((1-u|0)*36|0)+16+(F<<2)>>2]=s;F=c[f>>2]|0;C=(c[k>>2]=s,+g[k>>2]);D=C*+g[F+20>>2];E=C*+g[F+24>>2];g[a+128>>2]=+g[F+16>>2]*C+ +g[a+128>>2];g[a+132>>2]=D+ +g[a+132>>2];g[a+136>>2]=E+ +g[a+136>>2]}n=n+1|0}while((n|0)!=(d|0))}if((b|0)==15)c[a+376>>2]=1;x=x+1|0;if(x>>>0>=128){z=38;break}}while(!(c[a+376>>2]|0));if((z|0)==5)c[a+376>>2]=1;else if((z|0)==8){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}else if((z|0)==9){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}else if((z|0)==38)c[a+376>>2]=2;else if((z|0)==39){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);d=c[a+376>>2]|0;switch(d|0){case 0:{C=+g[a+128>>2];D=+g[a+132>>2];E=+g[a+136>>2];g[a+144>>2]=+O(+(C*C+D*D+E*E));i=A;return d|0}case 1:{g[a+144>>2]=0.0;i=A;return d|0}default:{i=A;return d|0}}return 0}function Vc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,P=0,Q=0.0,R=0.0,S=0.0,T=0;P=i;i=i+224|0;g[b+56>>2]=0.0;I=P+208+4|0;N=P+208+8|0;c[P+208>>2]=0;c[P+208+4>>2]=0;c[P+208+8>>2]=0;c[P+208+12>>2]=0;c[P+144>>2]=c[d>>2];c[P+144+4>>2]=c[d+4>>2];c[P+144+8>>2]=c[d+8>>2];c[P+144+12>>2]=c[d+12>>2];c[P+144+16>>2]=c[d+16>>2];c[P+144+16+4>>2]=c[d+16+4>>2];c[P+144+16+8>>2]=c[d+16+8>>2];c[P+144+16+12>>2]=c[d+16+12>>2];c[P+144+32>>2]=c[d+32>>2];c[P+144+32+4>>2]=c[d+32+4>>2];c[P+144+32+8>>2]=c[d+32+8>>2];c[P+144+32+12>>2]=c[d+32+12>>2];A=P+144+48|0;c[A>>2]=c[d+48>>2];c[A+4>>2]=c[d+48+4>>2];c[A+8>>2]=c[d+48+8>>2];c[A+12>>2]=c[d+48+12>>2];c[P+80>>2]=c[d+64>>2];c[P+80+4>>2]=c[d+64+4>>2];c[P+80+8>>2]=c[d+64+8>>2];c[P+80+12>>2]=c[d+64+12>>2];c[P+80+16>>2]=c[d+80>>2];c[P+80+16+4>>2]=c[d+80+4>>2];c[P+80+16+8>>2]=c[d+80+8>>2];c[P+80+16+12>>2]=c[d+80+12>>2];c[P+80+32>>2]=c[d+96>>2];c[P+80+32+4>>2]=c[d+96+4>>2];c[P+80+32+8>>2]=c[d+96+8>>2];c[P+80+32+12>>2]=c[d+96+12>>2];B=P+80+48|0;c[B>>2]=c[d+112>>2];c[B+4>>2]=c[d+112+4>>2];c[B+8>>2]=c[d+112+8>>2];c[B+12>>2]=c[d+112+12>>2];G=+g[A>>2];H=+g[B>>2];J=+g[P+144+52>>2];K=+g[P+80+52>>2];L=+g[P+144+56>>2];M=+g[P+80+56>>2];g[A>>2]=G-(G+H)*.5;g[P+144+52>>2]=J-(J+K)*.5;g[P+144+56>>2]=L-(L+M)*.5;g[B>>2]=H-(G+H)*.5;g[P+80+52>>2]=K-(J+K)*.5;g[P+80+56>>2]=M-(L+M)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)A=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else A=0;v=+g[b+44>>2];u=+g[b+48>>2];c[6420]=(c[6420]|0)+1;B=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;p=c[b+24>>2]|0;a[p+312>>0]=0;c[p>>2]=0;a[p+356>>0]=1;c[p+292>>2]=1566444395;c[p+296>>2]=1566444395;c[p+300>>2]=1566444395;g[p+304>>2]=0.0;c[p+336>>2]=0;c[p+336+4>>2]=0;c[p+336+8>>2]=0;c[p+336+12>>2]=0;a[p+336+16>>0]=0;a[p+332>>0]=a[p+332>>0]&-16;p=0;q=999999984306749440.0;do{o=+g[b+4>>2];n=+g[b+8>>2];k=+g[b+12>>2];l=+g[d+4>>2]*-o+ +g[d+20>>2]*-n+ +g[d+36>>2]*-k;m=+g[d+8>>2]*-o+ +g[d+24>>2]*-n+ +g[d+40>>2]*-k;g[P+64>>2]=+g[d>>2]*-o+ +g[d+16>>2]*-n+ +g[d+32>>2]*-k;g[P+64+4>>2]=l;g[P+64+8>>2]=m;g[P+64+12>>2]=0.0;m=o*+g[d+68>>2]+n*+g[d+84>>2]+k*+g[d+100>>2];l=o*+g[d+72>>2]+n*+g[d+88>>2]+k*+g[d+104>>2];g[P+48>>2]=+g[d+64>>2]*o+ +g[d+80>>2]*n+ +g[d+96>>2]*k;g[P+48+4>>2]=m;g[P+48+8>>2]=l;g[P+48+12>>2]=0.0;Gd(P+32|0,c[b+28>>2]|0,P+64|0);Gd(P+16|0,c[b+32>>2]|0,P+48|0);l=+g[P+32>>2];m=+g[P+32+4>>2];k=+g[P+32+8>>2];n=l*+g[P+144>>2]+m*+g[P+144+4>>2]+k*+g[P+144+8>>2]+ +g[P+144+48>>2];o=l*+g[P+144+16>>2]+m*+g[P+144+20>>2]+k*+g[P+144+24>>2]+ +g[P+144+52>>2];k=l*+g[P+144+32>>2]+m*+g[P+144+36>>2]+k*+g[P+144+40>>2]+ +g[P+144+56>>2];m=+g[P+16>>2];l=+g[P+16+4>>2];t=+g[P+16+8>>2];r=m*+g[P+80>>2]+l*+g[P+80+4>>2]+t*+g[P+80+8>>2]+ +g[P+80+48>>2];s=m*+g[P+80+16>>2]+l*+g[P+80+20>>2]+t*+g[P+80+24>>2]+ +g[P+80+52>>2];t=m*+g[P+80+32>>2]+l*+g[P+80+36>>2]+t*+g[P+80+40>>2]+ +g[P+80+56>>2];l=A?0.0:t;m=A?0.0:k;t=(A?0.0:k)-(A?0.0:t);k=+g[b+4>>2]*(n-r)+ +g[b+8>>2]*(o-s)+ +g[b+12>>2]*t;if(k>0.0?k*k>q*+g[d+128>>2]:0){c[b+68>>2]=10;h=0;p=1}else T=7;do if((T|0)==7){T=0;y=c[b+24>>2]|0;z=c[y>>2]|0;if((z|0)>0){j=+g[y+308>>2];x=0;h=0;do{C=n-r-+g[y+4+(h<<4)>>2];D=o-s-+g[y+4+(h<<4)+4>>2];E=t-+g[y+4+(h<<4)+8>>2];x=x|C*C+D*D+E*E<=j;h=h+1|0}while((h|0)!=(z|0))}else x=0;if((+g[y+304>>2]==0.0?t==+g[y+300>>2]:0)?o-s==+g[y+296>>2]:0)h=n-r==+g[y+292>>2];else h=0;if(x|h){c[b+68>>2]=1;h=0;p=1;break}j=q-k;if(j<=q*9.999999974752427e-07){c[b+68>>2]=!(j<=0.0)?11:2;h=0;p=1;break}g[y+292>>2]=n-r;g[y+296>>2]=o-s;g[y+300>>2]=t;g[y+304>>2]=0.0;a[y+356>>0]=1;g[y+4+(z<<4)>>2]=n-r;g[y+4+(z<<4)+4>>2]=o-s;g[y+4+(z<<4)+8>>2]=t;g[y+4+(z<<4)+12>>2]=0.0;h=c[y>>2]|0;g[y+84+(h<<4)>>2]=n;g[y+84+(h<<4)+4>>2]=o;g[y+84+(h<<4)+8>>2]=m;g[y+84+(h<<4)+12>>2]=0.0;h=c[y>>2]|0;g[y+164+(h<<4)>>2]=r;g[y+164+(h<<4)+4>>2]=s;g[y+164+(h<<4)+8>>2]=l;g[y+164+(h<<4)+12>>2]=0.0;c[y>>2]=(c[y>>2]|0)+1;h=c[b+24>>2]|0;z=Ec(h)|0;j=+g[h+276>>2];k=+g[h+280>>2];l=+g[h+284>>2];h=c[h+288>>2]|0;if(!z){c[b+68>>2]=3;h=0;p=1;break}if(j*j+k*k+l*l<9.999999974752427e-07){g[b+4>>2]=j;g[b+8>>2]=k;g[b+12>>2]=l;c[b+16>>2]=h;c[b+68>>2]=6;h=0;p=1;break}if(q-(j*j+k*k+l*l)<=q*1.1920928955078125e-07){c[b+68>>2]=12;h=0;p=1;q=j*j+k*k+l*l;break}g[b+4>>2]=j;g[b+8>>2]=k;g[b+12>>2]=l;c[b+16>>2]=h;z=c[b+64>>2]|0;c[b+64>>2]=z+1;if((z|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;h=0;q=j*j+k*k+l*l}else{h=1;q=j*j+k*k+l*l}else{h=0;q=j*j+k*k+l*l}}while(0)}while(h);u=B<<24>>24==0?u:0.0;t=(B<<24>>24==0?v:0.0)+u;do if(p){B=c[b+24>>2]|0;Ec(B)|0;j=+g[B+260>>2];l=+g[B+264>>2];n=+g[B+268>>2];c[P+208>>2]=c[b+4>>2];c[P+208+4>>2]=c[b+4+4>>2];c[P+208+8>>2]=c[b+4+8>>2];c[P+208+12>>2]=c[b+4+12>>2];k=+g[b+4>>2];m=+g[b+8>>2];o=+g[b+12>>2];if(k*k+m*m+o*o<.0001)c[b+68>>2]=5;if(k*k+m*m+o*o>1.4210854715202004e-14){E=1.0/+O(+(k*k+m*m+o*o));g[P+208>>2]=E*+g[P+208>>2];g[I>>2]=E*+g[I>>2];g[N>>2]=E*+g[N>>2];w=u/+O(+q);c[b+60>>2]=1;E=1.0/E-t;x=1;D=w*k+j;C=w*m+l;n=w*o+n;break}else{c[b+60>>2]=2;E=0.0;x=0;D=j;C=l;break}}else{E=0.0;x=0;D=0.0;C=0.0;n=0.0}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=t+E<.01;else h=0;p=x^1;do if(h|p?(F=c[b+20>>2]|0,(F|0)!=0):0){c[6419]=(c[6419]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(Db[c[(c[F>>2]|0)+8>>2]&3](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,P+144|0,P+80|0,b+4|0,P+64|0,P+48|0,f)|0){l=+g[P+48>>2];o=+g[P+64>>2];k=+g[P+48+4>>2];q=+g[P+64+4>>2];j=+g[P+48+8>>2];r=+g[P+64+8>>2];if(!((l-o)*(l-o)+(k-q)*(k-q)+(j-r)*(j-r)<=1.4210854715202004e-14)){m=(l-o)*(l-o)+(k-q)*(k-q)+(j-r)*(j-r);t=l-o;u=j-r;v=0.0;w=k-q}else{t=+g[b+4>>2];w=+g[b+8>>2];u=+g[b+12>>2];m=t*t+w*w+u*u;v=+g[b+16>>2]}if(m>1.4210854715202004e-14){s=1.0/+O(+m);m=-+O(+((o-l)*(o-l)+(q-k)*(q-k)+(r-j)*(r-j)));if(E>m|p){g[P+208>>2]=t*s;g[I>>2]=w*s;g[N>>2]=u*s;g[P+208+12>>2]=v;c[b+60>>2]=3;break}else h=8}else h=9;c[b+60>>2]=h;if(x){m=E;l=D;k=C;j=n;break}i=P;return}else{k=+g[b+4>>2];o=+g[b+8>>2];r=+g[b+12>>2];if(!(k*k+o*o+r*r>0.0)){if(x){m=E;l=D;k=C;j=n;break}i=P;return}l=+g[P+48>>2];v=+g[P+64>>2]-l;q=+g[P+48+4>>2];w=+g[P+64+4>>2]-q;s=+g[P+48+8>>2];j=+g[P+64+8>>2]-s;j=+O(+(v*v+w*w+j*j))-t;if(j>2]=c[b+4>>2];c[P+208+4>>2]=c[b+4+4>>2];c[P+208+8>>2]=c[b+4+8>>2];c[P+208+12>>2]=c[b+4+12>>2];C=+g[P+208>>2];D=+g[I>>2];E=+g[N>>2];m=1.0/+O(+(C*C+D*D+E*E));g[P+208>>2]=C*m;g[I>>2]=D*m;g[N>>2]=E*m;c[b+60>>2]=6;m=j;l=u*k+l;k=u*o+q;j=u*r+s;break}c[b+60>>2]=5;if(x){m=E;l=D;k=C;j=n;break}i=P;return}}else T=52;while(0);if((T|0)==52)if(x){m=E;l=D;k=C;j=n}else{i=P;return}if(!(m<0.0)?!(m*m<+g[d+128>>2]):0){i=P;return}if(c[b+76>>2]|0?(T=c[b+28>>2]|0,mc[c[(c[T>>2]|0)+8>>2]&127](T,P+144|0,P+64|0,P+48|0),C=(+g[P+48>>2]+ +g[P+64>>2])*.5,D=(+g[P+48+4>>2]+ +g[P+64+4>>2])*.5,E=(+g[P+48+8>>2]+ +g[P+64+8>>2])*.5,T=c[b+32>>2]|0,mc[c[(c[T>>2]|0)+8>>2]&127](T,P+80|0,P+64|0,P+48|0),Q=+g[P+208>>2],R=+g[I>>2],S=+g[N>>2],(C-(+g[P+64>>2]+ +g[P+48>>2])*.5)*Q+(D-(+g[P+64+4>>2]+ +g[P+48+4>>2])*.5)*R+(E-(+g[P+64+8>>2]+ +g[P+48+8>>2])*.5)*S<0.0):0){g[P+208>>2]=-Q;g[I>>2]=-R;g[N>>2]=-S}c[b+4>>2]=c[P+208>>2];c[b+4+4>>2]=c[P+208+4>>2];c[b+4+8>>2]=c[P+208+8>>2];c[b+4+12>>2]=c[P+208+12>>2];g[b+56>>2]=m;T=c[(c[e>>2]|0)+16>>2]|0;g[P>>2]=(G+H)*.5+l;g[P+4>>2]=(J+K)*.5+k;g[P+8>>2]=(L+M)*.5+j;g[P+12>>2]=0.0;hc[T&15](e,P+208|0,P,m);i=P;return}function Wc(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;var l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0;X=i;i=i+64|0;a[X+32+16>>0]=1;W=X+32+12|0;c[W>>2]=0;c[X+32+4>>2]=0;c[X+32+8>>2]=0;q=c[f+4>>2]|0;if((q|0)>0){c[6435]=(c[6435]|0)+1;l=yc((q<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[X+32+4>>2]|0;if((l|0)>0){m=0;do{V=o+(m<<4)|0;U=(c[W>>2]|0)+(m<<4)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[W>>2]|0;if(l|0){if(a[X+32+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[W>>2]=0}a[X+32+16>>0]=1;c[W>>2]=o;c[X+32+8>>2]=q}l=c[d+28>>2]|0;if((l|0)>0){U=c[d+36>>2]|0;A=+g[e>>2];B=+g[e+4>>2];E=+g[e+8>>2];F=+g[e+16>>2];G=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];t=+g[b>>2];u=+g[b+4>>2];v=+g[b+8>>2];V=-1;z=3402823466385288598117041.0e14;o=0;while(1){w=+g[U+(o*36|0)+20>>2];x=+g[U+(o*36|0)+24>>2];y=+g[U+(o*36|0)+28>>2];m=(w*A+x*B+y*E)*t+(w*F+x*G+y*s)*u+(w*r+x*p+y*n)*v=0){L=c[U+(V*36|0)+4>>2]|0;if((L|0)>0){M=U+(V*36|0)+12|0;N=U+(V*36|0)+20|0;O=U+(V*36|0)+24|0;P=U+(V*36|0)+28|0;t=A;x=B;w=E;v=F;u=G;K=0;J=f;f=X+32|0;while(1){I=c[M>>2]|0;l=c[I+(K<<2)>>2]|0;H=c[d+16>>2]|0;K=K+1|0;I=c[I+(((K|0)==(L|0)?0:K)<<2)>>2]|0;Z=+g[H+(l<<4)>>2];_=Z-+g[H+(I<<4)>>2];Y=+g[H+(l<<4)+4>>2];$=Y-+g[H+(I<<4)+4>>2];y=+g[H+(l<<4)+8>>2];B=y-+g[H+(I<<4)+8>>2];z=_*t+$*x+B*w;A=_*v+$*u+B*s;B=_*r+$*p+B*n;$=+g[N>>2];_=+g[O>>2];G=+g[P>>2];E=t*$+x*_+w*G;F=v*$+u*_+s*G;G=r*$+p*_+n*G;u=(Z*t+Y*x+y*w+ +g[e+48>>2])*-(A*G-B*F)+(Z*v+Y*u+y*s+ +g[e+52>>2])*-(B*E-z*G)+(Z*r+Y*p+y*n+ +g[e+56>>2])*-(z*F-A*E);I=J;H=f;l=c[I+4>>2]|0;if((l|0)>=2){o=c[I+12>>2]|0;p=+g[o+(l+-1<<4)>>2];r=+g[o+(l+-1<<4)+4>>2];s=+g[o+(l+-1<<4)+8>>2];n=p*-(A*G-B*F)+r*-(B*E-z*G)+s*-(z*F-A*E)-u;D=0;while(1){v=+g[o+(D<<4)>>2];w=+g[o+(D<<4)+4>>2];x=+g[o+(D<<4)+8>>2];C=c[o+(D<<4)+12>>2]|0;y=v*-(A*G-B*F)+w*-(B*E-z*G)+x*-(z*F-A*E)-u;do if(n<0.0)if(y<0.0){m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(Q=m|0?m<<1:1,(m|0)<(Q|0)):0){if(!Q)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((Q<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{aa=q+(o<<4)|0;ba=(c[H+12>>2]|0)+(o<<4)|0;c[aa>>2]=c[ba>>2];c[aa+4>>2]=c[ba+4>>2];c[aa+8>>2]=c[ba+8>>2];c[aa+12>>2]=c[ba+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=Q;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=v;g[ba+(m<<4)+4>>2]=w;g[ba+(m<<4)+8>>2]=x;c[ba+(m<<4)+12>>2]=C;c[H+4>>2]=(c[H+4>>2]|0)+1;break}else{n=n/(n-y);t=p+(v-p)*n;p=r+(w-r)*n;n=s+(x-s)*n;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(R=m|0?m<<1:1,(m|0)<(R|0)):0){if(!R)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((R<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=R;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;c[H+4>>2]=(c[H+4>>2]|0)+1;break}else if(y<0.0){n=n/(n-y);t=p+(v-p)*n;p=r+(w-r)*n;n=s+(x-s)*n;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(S=m|0?m<<1:1,(m|0)<(S|0)):0){if(!S)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((S<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=S;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;m=(c[H+4>>2]|0)+1|0;c[H+4>>2]=m;if((m|0)==(c[H+8>>2]|0)?(T=m|0?m<<1:1,(m|0)<(T|0)):0){if(!T)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((T<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=T;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=v;g[ba+(m<<4)+4>>2]=w;g[ba+(m<<4)+8>>2]=x;c[ba+(m<<4)+12>>2]=C;c[H+4>>2]=(c[H+4>>2]|0)+1}while(0);m=D+1|0;if((m|0)==(l|0))break;o=c[I+12>>2]|0;n=y;p=v;s=x;r=w;D=m}l=c[I+4>>2]|0}if((l|0)<0){if((c[I+8>>2]|0)<0){m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=0;c[I+8>>2]=0}do{ba=(c[I+12>>2]|0)+(l<<4)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];l=l+1|0}while((l|0)!=0)}c[I+4>>2]=0;t=+g[e>>2];x=+g[e+4>>2];w=+g[e+8>>2];v=+g[e+16>>2];u=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];if((K|0)>=(L|0)){o=N;m=O;l=P;C=e+48|0;D=e+52|0;q=e+56|0;break}else{ba=f;f=J;J=ba}}}else{o=U+(V*36|0)+20|0;m=U+(V*36|0)+24|0;l=U+(V*36|0)+28|0;C=e+48|0;D=e+52|0;q=e+56|0;t=A;x=B;w=E;v=F;u=G}Z=+g[o>>2];_=+g[m>>2];$=+g[l>>2];t=Z*t+_*x+$*w;s=Z*v+_*u+$*s;r=Z*r+_*p+$*n;p=+g[U+(V*36|0)+32>>2]-(t*+g[C>>2]+s*+g[D>>2]+r*+g[q>>2]);l=c[f+4>>2]|0;if((l|0)>0){o=0;do{m=c[f+12>>2]|0;n=p+(t*+g[m+(o<<4)>>2]+s*+g[m+(o<<4)+4>>2]+r*+g[m+(o<<4)+8>>2]);n=n<=h?h:n;if(n<=j){l=m+(o<<4)|0;c[X+16>>2]=c[l>>2];c[X+16+4>>2]=c[l+4>>2];c[X+16+8>>2]=c[l+8>>2];c[X+16+12>>2]=c[l+12>>2];hc[c[(c[k>>2]|0)+16>>2]&15](k,b,X+16|0,n);l=c[f+4>>2]|0}o=o+1|0}while((o|0)<(l|0))}}}l=c[W>>2]|0;if(!l){i=X;return}if(a[X+32+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[W>>2]=0;i=X;return}function Xc(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;w=i;i=i+176|0;if(!(a[b+738>>0]|0)){i=w;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;l=+g[b+600>>2];m=+g[b+604>>2];r=+g[b+608>>2];t=l*+g[e+20>>2]+m*+g[e+24>>2]+r*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;n=+g[b+664>>2];o=+g[b+668>>2];s=+g[b+672>>2];p=+g[f+52>>2];d=+g[f+56>>2];u=n*+g[f+20>>2]+o*+g[f+24>>2]+s*+g[f+28>>2]+d;v=n*+g[f+36>>2]+o*+g[f+40>>2]+s*+g[f+44>>2]+ +g[f+60>>2];q=l*+g[e+4>>2]+m*+g[e+8>>2]+r*+g[e+12>>2]+ +g[e+52>>2];r=l*+g[e+36>>2]+m*+g[e+40>>2]+r*+g[e+44>>2]+ +g[e+60>>2];s=n*+g[f+4>>2]+o*+g[f+8>>2]+s*+g[f+12>>2]+p;if((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)>1.1920928955078125e-07){j=1.0/+O(+((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)));g[w+128>>2]=(s-q)*j;g[w+128+4>>2]=(u-t)*j;g[w+128+8>>2]=(v-r)*j;c[w+128+12>>2]=0;n=(v-r)*j;h=(u-t)*j;j=(s-q)*j}else{c[w+128>>2]=1065353216;c[w+128+4>>2]=0;c[w+128+8>>2]=0;g[w+128+12>>2]=0.0;n=0.0;h=0.0;j=1.0}if(+N(+n)>.7071067690849304){y=n*n+h*h;x=1.0/+O(+y);l=-(x*n);n=x*h;o=-(n*j);k=j*l;m=0.0;h=y*x;j=n}else{l=j*j+h*h;k=1.0/+O(+l);m=-(h*k);h=k*j;o=n*m;k=l*k;l=h;h=-(h*n);j=0.0}g[w+128+16>>2]=m;g[w+128+20>>2]=l;g[w+128+24>>2]=j;g[w+128+32>>2]=h;g[w+128+36>>2]=o;g[w+128+40>>2]=k;h=p;e=0;while(1){z=c[b+28>>2]|0;c[w+80>>2]=c[z+4>>2];c[w+80+4>>2]=c[z+20>>2];c[w+80+8>>2]=c[z+36>>2];g[w+80+12>>2]=0.0;c[w+80+16>>2]=c[z+8>>2];c[w+80+20>>2]=c[z+24>>2];c[w+80+24>>2]=c[z+40>>2];g[w+80+28>>2]=0.0;c[w+80+32>>2]=c[z+12>>2];c[w+80+36>>2]=c[z+28>>2];c[w+80+40>>2]=c[z+44>>2];g[w+80+44>>2]=0.0;c[w+32>>2]=c[f+4>>2];c[w+32+4>>2]=c[f+20>>2];c[w+32+8>>2]=c[f+36>>2];g[w+32+12>>2]=0.0;c[w+32+16>>2]=c[f+8>>2];c[w+32+20>>2]=c[f+24>>2];c[w+32+24>>2]=c[f+40>>2];g[w+32+28>>2]=0.0;c[w+32+32>>2]=c[f+12>>2];c[w+32+36>>2]=c[f+28>>2];c[w+32+40>>2]=c[f+44>>2];g[w+32+44>>2]=0.0;x=t-+g[z+56>>2];y=r-+g[z+60>>2];g[w+16>>2]=q-+g[z+52>>2];g[w+16+4>>2]=x;g[w+16+8>>2]=y;g[w+16+12>>2]=0.0;y=v-+g[f+60>>2];g[w>>2]=s-h;g[w+4>>2]=u-d;g[w+8>>2]=y;g[w+12>>2]=0.0;z=c[b+28>>2]|0;f=c[b+32>>2]|0;Rg(b+48+(e*84|0)|0,w+80|0,w+32|0,w+16|0,w,w+128+(e<<4)|0,z+396|0,+g[z+344>>2],f+396|0,+g[f+344>>2]);e=e+1|0;if((e|0)==3)break;z=c[b+32>>2]|0;f=z;h=+g[z+52>>2];d=+g[z+56>>2]}}h=+g[b+560>>2];j=+g[b+576>>2];k=+g[b+592>>2];if(+N(+k)>.7071067690849304){p=1.0/+O(+(k*k+j*j));d=h*-(k*p);l=0.0;m=j*p;n=-(k*p);o=(k*k+j*j)*p;p=-(h*j*p)}else{p=1.0/+O(+(h*h+j*j));d=(h*h+j*j)*p;l=-(j*p);m=0.0;n=h*p;o=-(k*h*p);p=k*-(j*p)}f=c[b+28>>2]|0;I=+g[f+4>>2];H=+g[f+8>>2];u=+g[f+12>>2];R=l*I+n*H+m*u;G=+g[f+20>>2];F=+g[f+24>>2];x=+g[f+28>>2];T=l*G+n*F+m*x;E=+g[f+36>>2];s=+g[f+40>>2];C=+g[f+44>>2];W=l*E+n*s+m*C;B=o*I+p*H+d*u;K=o*G+p*F+d*x;L=o*E+p*s+d*C;e=c[b+32>>2]|0;A=+g[e+4>>2];l=+g[e+20>>2];m=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];v=+g[e+40>>2];P=+g[e+12>>2];S=+g[e+28>>2];V=+g[e+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=R*I+T*G+W*E;g[b+320>>2]=R*H+T*F+W*s;g[b+324>>2]=R*u+T*x+W*C;g[b+328>>2]=0.0;g[b+332>>2]=A*-R+l*-T+m*-W;g[b+336>>2]=q*-R+r*-T+v*-W;g[b+340>>2]=P*-R+S*-T+V*-W;g[b+344>>2]=0.0;D=(R*I+T*G+W*E)*+g[f+396>>2];J=(R*H+T*F+W*s)*+g[f+400>>2];d=(R*u+T*x+W*C)*+g[f+404>>2];g[b+348>>2]=D;g[b+352>>2]=J;g[b+356>>2]=d;g[b+360>>2]=0.0;p=(A*-R+l*-T+m*-W)*+g[e+396>>2];y=(q*-R+r*-T+v*-W)*+g[e+400>>2];X=(P*-R+S*-T+V*-W)*+g[e+404>>2];g[b+364>>2]=p;g[b+368>>2]=y;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(R*I+T*G+W*E)*D+(R*H+T*F+W*s)*J+(R*u+T*x+W*C)*d+((A*-R+l*-T+m*-W)*p+(q*-R+r*-T+v*-W)*y+(P*-R+S*-T+V*-W)*X);e=c[b+28>>2]|0;X=+g[e+4>>2];W=+g[e+20>>2];V=+g[e+36>>2];T=+g[e+8>>2];S=+g[e+24>>2];R=+g[e+40>>2];P=+g[e+12>>2];y=+g[e+28>>2];v=+g[e+44>>2];f=c[b+32>>2]|0;r=+g[f+4>>2];q=+g[f+20>>2];p=+g[f+36>>2];m=+g[f+8>>2];l=+g[f+24>>2];A=+g[f+40>>2];d=+g[f+12>>2];J=+g[f+28>>2];D=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=B*X+K*W+L*V;g[b+404>>2]=B*T+K*S+L*R;g[b+408>>2]=B*P+K*y+L*v;g[b+412>>2]=0.0;g[b+416>>2]=r*-B+q*-K+p*-L;g[b+420>>2]=m*-B+l*-K+A*-L;g[b+424>>2]=d*-B+J*-K+D*-L;g[b+428>>2]=0.0;U=(B*X+K*W+L*V)*+g[e+396>>2];Q=(B*T+K*S+L*R)*+g[e+400>>2];t=(B*P+K*y+L*v)*+g[e+404>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=t;g[b+444>>2]=0.0;n=(r*-B+q*-K+p*-L)*+g[f+396>>2];o=(m*-B+l*-K+A*-L)*+g[f+400>>2];M=(d*-B+J*-K+D*-L)*+g[f+404>>2];g[b+448>>2]=n;g[b+452>>2]=o;g[b+456>>2]=M;g[b+460>>2]=0.0;g[b+464>>2]=(B*X+K*W+L*V)*U+(B*T+K*S+L*R)*Q+(B*P+K*y+L*v)*t+((r*-B+q*-K+p*-L)*n+(m*-B+l*-K+A*-L)*o+(d*-B+J*-K+D*-L)*M);f=c[b+28>>2]|0;M=+g[f+4>>2];L=+g[f+20>>2];D=+g[f+36>>2];K=+g[f+8>>2];J=+g[f+24>>2];B=+g[f+40>>2];d=+g[f+12>>2];o=+g[f+28>>2];A=+g[f+44>>2];e=c[b+32>>2]|0;l=+g[e+4>>2];m=+g[e+20>>2];n=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];t=+g[e+12>>2];v=+g[e+28>>2];y=+g[e+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;D=(I*h+H*j+u*k)*M+(G*h+F*j+x*k)*L+(E*h+s*j+C*k)*D;B=(I*h+H*j+u*k)*K+(G*h+F*j+x*k)*J+(E*h+s*j+C*k)*B;A=(I*h+H*j+u*k)*d+(G*h+F*j+x*k)*o+(E*h+s*j+C*k)*A;g[b+484>>2]=D;g[b+488>>2]=B;g[b+492>>2]=A;g[b+496>>2]=0.0;u=-(I*h+H*j+u*k);x=-(G*h+F*j+x*k);h=-(E*h+s*j+C*k);g[b+500>>2]=l*u+m*x+n*h;g[b+504>>2]=p*u+q*x+r*h;g[b+508>>2]=t*u+v*x+y*h;g[b+512>>2]=0.0;C=D*+g[f+396>>2];j=B*+g[f+400>>2];k=A*+g[f+404>>2];g[b+516>>2]=C;g[b+520>>2]=j;g[b+524>>2]=k;g[b+528>>2]=0.0;o=(l*u+m*x+n*h)*+g[e+396>>2];s=(p*u+q*x+r*h)*+g[e+400>>2];d=(t*u+v*x+y*h)*+g[e+404>>2];g[b+532>>2]=o;g[b+536>>2]=s;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=D*C+B*j+A*k+((l*u+m*x+n*h)*o+(p*u+q*x+r*h)*s+(t*u+v*x+y*h)*d);g[b+724>>2]=0.0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;d=+kj(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=+eh(d-+g[b+688>>2],6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(d+h);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[e+4>>2]+U*+g[e+8>>2]+X*+g[e+12>>2];W=T*+g[e+20>>2]+U*+g[e+24>>2]+X*+g[e+28>>2];X=T*+g[e+36>>2]+U*+g[e+40>>2]+X*+g[e+44>>2];g[b+720>>2]=1.0/(V*(V*+g[e+264>>2]+W*+g[e+280>>2]+X*+g[e+296>>2])+W*(V*+g[e+268>>2]+W*+g[e+284>>2]+X*+g[e+300>>2])+X*(V*+g[e+272>>2]+W*+g[e+288>>2]+X*+g[e+304>>2])+(V*(V*+g[f+264>>2]+W*+g[f+280>>2]+X*+g[f+296>>2])+W*(V*+g[f+268>>2]+W*+g[f+284>>2]+X*+g[f+300>>2])+X*(V*+g[f+272>>2]+W*+g[f+288>>2]+X*+g[f+304>>2])));i=w;return}function Yc(b,d,e,f,h,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=i;i=i+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{Ue();t=+g[24672+(b<<4)>>2];u=+g[24672+(b<<4)+4>>2];v=+g[24672+(b<<4)+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(b<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(b<<4)+4>>2]=y;g[B+1248+(b<<4)+8>>2]=w;g[B+1248+(b<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(b<<4)>>2]=t*+g[j>>2]+u*+g[j+16>>2]+v*+g[j+32>>2];g[B+256+(b<<4)+4>>2]=w;g[B+256+(b<<4)+8>>2]=y;g[B+256+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=Eb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((b|0)>0){q=0;r=42;while(1){ic[c[(c[e>>2]|0)+88>>2]&127](e,q,B+176|0);w=+g[B+176>>2];y=+g[B+176+4>>2];v=+g[B+176+8>>2];u=w*+g[h+16>>2]+y*+g[h+20>>2]+v*+g[h+24>>2];t=w*+g[h+32>>2]+y*+g[h+36>>2]+v*+g[h+40>>2];g[B+176>>2]=+g[h>>2]*w+ +g[h+4>>2]*y+ +g[h+8>>2]*v;g[B+176+4>>2]=u;g[B+176+8>>2]=t;g[B+176+12>>2]=0.0;Ue();z=24672+(r<<4)|0;c[z>>2]=c[B+176>>2];c[z+4>>2]=c[B+176+4>>2];c[z+8>>2]=c[B+176+8>>2];c[z+12>>2]=c[B+176+12>>2];t=+g[B+176>>2];u=+g[B+176+4>>2];v=+g[B+176+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(r<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(r<<4)+4>>2]=y;g[B+1248+(r<<4)+8>>2]=w;g[B+1248+(r<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(r<<4)>>2]=+g[j>>2]*t+ +g[j+16>>2]*u+ +g[j+32>>2]*v;g[B+256+(r<<4)+4>>2]=w;g[B+256+(r<<4)+8>>2]=y;g[B+256+(r<<4)+12>>2]=0.0;q=q+1|0;if((q|0)==(b|0))break;else r=r+1|0}r=b+42|0}else r=42;b=Eb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((b|0)>0){q=0;s=r;while(1){ic[c[(c[f>>2]|0)+88>>2]&127](f,q,B+176|0);w=+g[B+176>>2];y=+g[B+176+4>>2];v=+g[B+176+8>>2];u=w*+g[j+16>>2]+y*+g[j+20>>2]+v*+g[j+24>>2];t=w*+g[j+32>>2]+y*+g[j+36>>2]+v*+g[j+40>>2];g[B+176>>2]=+g[j>>2]*w+ +g[j+4>>2]*y+ +g[j+8>>2]*v;g[B+176+4>>2]=u;g[B+176+8>>2]=t;g[B+176+12>>2]=0.0;Ue();z=24672+(s<<4)|0;c[z>>2]=c[B+176>>2];c[z+4>>2]=c[B+176+4>>2];c[z+8>>2]=c[B+176+8>>2];c[z+12>>2]=c[B+176+12>>2];t=+g[B+176>>2];u=+g[B+176+4>>2];v=+g[B+176+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(s<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(s<<4)+4>>2]=y;g[B+1248+(s<<4)+8>>2]=w;g[B+1248+(s<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(s<<4)>>2]=+g[j>>2]*t+ +g[j+16>>2]*u+ +g[j+32>>2]*v;g[B+256+(s<<4)+4>>2]=w;g[B+256+(s<<4)+8>>2]=y;g[B+256+(s<<4)+12>>2]=0.0;q=q+1|0;if((q|0)==(b|0))break;else s=s+1|0}r=b+r|0}mc[c[(c[e>>2]|0)+76>>2]&127](e,B+1248|0,B+3232|0,r);mc[c[(c[f>>2]|0)+76>>2]&127](f,B+256|0,B+2240|0,r);if((r|0)>0){z=0;b=0;q=0;s=0;w=0.0;u=999999984306749440.0;while(1){Ue();p=+g[24672+(z<<4)>>2];t=+g[24672+(z<<4)+4>>2];y=+g[24672+(z<<4)+12>>2];v=A?0.0:+g[24672+(z<<4)+8>>2];if(p*p+t*t+v*v>.01?(D=+g[B+3232+(z<<4)>>2],C=+g[B+3232+(z<<4)+4>>2],x=+g[B+3232+(z<<4)+8>>2],G=+g[B+2240+(z<<4)>>2],F=+g[B+2240+(z<<4)+4>>2],E=+g[B+2240+(z<<4)+8>>2],x=p*(G*+g[j>>2]+F*+g[j+4>>2]+E*+g[j+8>>2]+ +g[j+48>>2]-(D*+g[h>>2]+C*+g[h+4>>2]+x*+g[h+8>>2]+ +g[h+48>>2]))+t*(G*+g[j+16>>2]+F*+g[j+20>>2]+E*+g[j+24>>2]+ +g[j+52>>2]-(D*+g[h+16>>2]+C*+g[h+20>>2]+x*+g[h+24>>2]+ +g[h+52>>2]))+v*((A?0.0:G*+g[j+32>>2]+F*+g[j+36>>2]+E*+g[j+40>>2]+ +g[j+56>>2])-(A?0.0:D*+g[h+32>>2]+C*+g[h+36>>2]+x*+g[h+40>>2]+ +g[h+56>>2])),x>2]=p,c[k>>2]|0);q=(g[k>>2]=t,c[k>>2]|0);s=(g[k>>2]=v,c[k>>2]|0);u=x}else y=w;z=z+1|0;if((z|0)==(r|0)){z=b;r=s;break}else w=y}}else{z=0;q=0;r=0;y=0.0;u=999999984306749440.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Sb[c[(c[e>>2]|0)+48>>2]&15](e)}v=(c[k>>2]=z,+g[k>>2]);w=(c[k>>2]=q,+g[k>>2]);x=(c[k>>2]=r,+g[k>>2]);switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Sb[c[(c[f>>2]|0)+48>>2]&15](f)}if(u<0.0){l=0;i=B;return l|0}switch(c[e+4>>2]|0){case 8:{p=+g[e+28>>2]*+g[e+12>>2];break}case 0:{p=+g[e+44>>2];break}case 1:{p=+g[e+44>>2];break}case 13:{p=+g[e+44>>2];break}case 11:{p=+g[e+44>>2];break}case 10:{p=+g[e+44>>2];break}case 4:case 5:{p=+g[e+44>>2];break}default:p=+Sb[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{t=+g[f+28>>2]*+g[f+12>>2];b=8;break}case 0:{t=+g[f+44>>2];b=0;break}case 1:{t=+g[f+44>>2];b=1;break}case 13:{t=+g[f+44>>2];b=13;break}case 11:{t=+g[f+44>>2];b=11;break}case 10:{t=+g[f+44>>2];b=10;break}case 4:case 5:{t=+g[f+44>>2];break}default:{t=+Sb[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}p=u+(p+t+.5);c[B+176>>2]=9208;c[B+176+4>>2]=0;c[B+176+8>>2]=1065353216;c[B+176+12>>2]=0;g[B+176+16>>2]=0.0;c[B+176+20>>2]=0;c[B+176+24>>2]=d;c[B+176+28>>2]=e;c[B+176+32>>2]=f;c[B+176+36>>2]=c[e+4>>2];c[B+176+40>>2]=b;g[B+176+44>>2]=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);g[B+176+48>>2]=+Sb[c[(c[f>>2]|0)+48>>2]&15](f);a[B+176+52>>0]=0;c[B+176+60>>2]=-1;c[B+176+72>>2]=1;c[B+176+76>>2]=1;E=v*p+ +g[h+48>>2];F=w*p+ +g[h+52>>2];G=x*p+ +g[h+56>>2];c[B+44>>2]=c[h>>2];c[B+44+4>>2]=c[h+4>>2];c[B+44+8>>2]=c[h+8>>2];c[B+44+12>>2]=c[h+12>>2];c[B+44+16>>2]=c[h+16>>2];c[B+44+16+4>>2]=c[h+16+4>>2];c[B+44+16+8>>2]=c[h+16+8>>2];c[B+44+16+12>>2]=c[h+16+12>>2];c[B+44+32>>2]=c[h+32>>2];c[B+44+32+4>>2]=c[h+32+4>>2];c[B+44+32+8>>2]=c[h+32+8>>2];c[B+44+32+12>>2]=c[h+32+12>>2];g[B+44+48>>2]=E;g[B+44+52>>2]=F;g[B+44+56>>2]=G;g[B+44+60>>2]=0.0;c[B+44+64>>2]=c[j>>2];c[B+44+64+4>>2]=c[j+4>>2];c[B+44+64+8>>2]=c[j+8>>2];c[B+44+64+12>>2]=c[j+12>>2];c[B+44+80>>2]=c[j+16>>2];c[B+44+80+4>>2]=c[j+16+4>>2];c[B+44+80+8>>2]=c[j+16+8>>2];c[B+44+80+12>>2]=c[j+16+12>>2];c[B+44+96>>2]=c[j+32>>2];c[B+44+96+4>>2]=c[j+32+4>>2];c[B+44+96+8>>2]=c[j+32+8>>2];c[B+44+96+12>>2]=c[j+32+12>>2];c[B+44+112>>2]=c[j+48>>2];c[B+44+112+4>>2]=c[j+48+4>>2];c[B+44+112+8>>2]=c[j+48+8>>2];c[B+44+112+12>>2]=c[j+48+12>>2];g[B+44+128>>2]=999999984306749440.0;c[B>>2]=9092;a[B+40>>0]=0;g[B+176+4>>2]=-v;g[B+176+8>>2]=-w;g[B+176+12>>2]=-x;g[B+176+16>>2]=0.0;Vc(B+176|0,B+44|0,B,o,0);p=p-+g[B+36>>2];b=a[B+40>>0]|0;if(b<<24>>24){F=+g[B+24>>2]-w*p;G=+g[B+28>>2]-x*p;g[m>>2]=+g[B+20>>2]-v*p;g[m+4>>2]=F;g[m+8>>2]=G;g[m+12>>2]=0.0;c[n>>2]=c[B+20>>2];c[n+4>>2]=c[B+20+4>>2];c[n+8>>2]=c[B+20+8>>2];c[n+12>>2]=c[B+20+12>>2];c[l>>2]=z;c[l+4>>2]=q;c[l+8>>2]=r;g[l+12>>2]=y}l=b<<24>>24!=0;i=B;return l|0}function Zc(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;c[d+168>>2]=c[d+152>>2];c[f>>2]=9012;c[f+52>>2]=282;a[f+60>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;c[f+144>>2]=0;a[f+164>>0]=1;c[f+160>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+168>>2]=0;c[f+4>>2]=-8388609;c[f+8>>2]=-8388609;c[f+12>>2]=-8388609;g[f+16>>2]=0.0;c[f+20>>2]=2139095039;c[f+24>>2]=2139095039;c[f+28>>2]=2139095039;g[f+32>>2]=0.0;h=c[d+56>>2]|0;if(i){c[f+56>>2]=ow(h|0)|0;a[f+4>>0]=a[d+4+3>>0]|0;a[f+5>>0]=a[d+4+2>>0]|0;a[f+6>>0]=a[d+4+1>>0]|0;a[f+7>>0]=a[d+4>>0]|0;a[f+8>>0]=a[d+8+3>>0]|0;a[f+9>>0]=a[d+8+2>>0]|0;a[f+10>>0]=a[d+8+1>>0]|0;a[f+11>>0]=a[d+8>>0]|0;a[f+12>>0]=a[d+12+3>>0]|0;a[f+13>>0]=a[d+12+2>>0]|0;a[f+14>>0]=a[d+12+1>>0]|0;a[f+15>>0]=a[d+12>>0]|0;a[f+16>>0]=a[d+16+3>>0]|0;a[f+17>>0]=a[d+16+2>>0]|0;a[f+18>>0]=a[d+16+1>>0]|0;a[f+19>>0]=a[d+16>>0]|0;a[f+20>>0]=a[d+20+3>>0]|0;a[f+21>>0]=a[d+20+2>>0]|0;a[f+22>>0]=a[d+20+1>>0]|0;a[f+23>>0]=a[d+20>>0]|0;a[f+24>>0]=a[d+24+3>>0]|0;a[f+25>>0]=a[d+24+2>>0]|0;a[f+26>>0]=a[d+24+1>>0]|0;a[f+27>>0]=a[d+24>>0]|0;a[f+28>>0]=a[d+28+3>>0]|0;a[f+29>>0]=a[d+28+2>>0]|0;a[f+30>>0]=a[d+28+1>>0]|0;a[f+31>>0]=a[d+28>>0]|0;a[f+32>>0]=a[d+32+3>>0]|0;a[f+33>>0]=a[d+32+2>>0]|0;a[f+34>>0]=a[d+32+1>>0]|0;a[f+35>>0]=a[d+32>>0]|0;a[f+36>>0]=a[d+36+3>>0]|0;a[f+37>>0]=a[d+36+2>>0]|0;a[f+38>>0]=a[d+36+1>>0]|0;a[f+39>>0]=a[d+36>>0]|0;a[f+40>>0]=a[d+40+3>>0]|0;a[f+41>>0]=a[d+40+2>>0]|0;a[f+42>>0]=a[d+40+1>>0]|0;a[f+43>>0]=a[d+40>>0]|0;a[f+44>>0]=a[d+44+3>>0]|0;a[f+45>>0]=a[d+44+2>>0]|0;a[f+46>>0]=a[d+44+1>>0]|0;a[f+47>>0]=a[d+44>>0]|0;a[f+48>>0]=a[d+48+3>>0]|0;a[f+49>>0]=a[d+48+2>>0]|0;a[f+50>>0]=a[d+48+1>>0]|0;a[f+51>>0]=a[d+48>>0]|0;c[f+144>>2]=ow(c[d+144>>2]|0)|0;h=ow(c[d+168>>2]|0)|0}else{c[f+56>>2]=h;c[f+4>>2]=c[d+4>>2];c[f+4+4>>2]=c[d+4+4>>2];c[f+4+8>>2]=c[d+4+8>>2];c[f+4+12>>2]=c[d+4+12>>2];c[f+20>>2]=c[d+20>>2];c[f+20+4>>2]=c[d+20+4>>2];c[f+20+8>>2]=c[d+20+8>>2];c[f+20+12>>2]=c[d+20+12>>2];c[f+36>>2]=c[d+36>>2];c[f+36+4>>2]=c[d+36+4>>2];c[f+36+8>>2]=c[d+36+8>>2];c[f+36+12>>2]=c[d+36+12>>2];c[f+144>>2]=c[d+144>>2];h=c[d+168>>2]|0}c[f+168>>2]=h;a[f+60>>0]=a[d+60>>0]|0;l=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){h=c[f+96>>2]|0;if(h|0){if(a[f+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+88+4>>2]=0;c[f+88+8>>2]=0;a[f+88+12>>0]=0;c[f+96>>2]=f+172;c[f+88>>2]=l;c[f+92>>2]=l;if(i)if((l|0)>0){j=c[d+96>>2]|0;h=f+172|0;k=0;do{m=j+(k<<6)|0;o=h+(k<<6)|0;a[o>>0]=a[m+3>>0]|0;a[o+1>>0]=a[m+2>>0]|0;a[o+2>>0]=a[m+1>>0]|0;a[o+3>>0]=a[m>>0]|0;o=j+(k<<6)+4|0;m=h+(k<<6)+4|0;a[m>>0]=a[o+3>>0]|0;a[m+1>>0]=a[o+2>>0]|0;a[m+2>>0]=a[o+1>>0]|0;a[m+3>>0]=a[o>>0]|0;m=j+(k<<6)+8|0;o=h+(k<<6)+8|0;a[o>>0]=a[m+3>>0]|0;a[o+1>>0]=a[m+2>>0]|0;a[o+2>>0]=a[m+1>>0]|0;a[o+3>>0]=a[m>>0]|0;o=j+(k<<6)+12|0;h=h+(k<<6)+12|0;a[h>>0]=a[o+3>>0]|0;a[h+1>>0]=a[o+2>>0]|0;a[h+2>>0]=a[o+1>>0]|0;a[h+3>>0]=a[o>>0]|0;h=c[d+96>>2]|0;o=h+(k<<6)+16|0;m=c[f+96>>2]|0;n=m+(k<<6)+16|0;a[n>>0]=a[o+3>>0]|0;a[n+1>>0]=a[o+2>>0]|0;a[n+2>>0]=a[o+1>>0]|0;a[n+3>>0]=a[o>>0]|0;n=h+(k<<6)+20|0;o=m+(k<<6)+20|0;a[o>>0]=a[n+3>>0]|0;a[o+1>>0]=a[n+2>>0]|0;a[o+2>>0]=a[n+1>>0]|0;a[o+3>>0]=a[n>>0]|0;o=h+(k<<6)+24|0;n=m+(k<<6)+24|0;a[n>>0]=a[o+3>>0]|0;a[n+1>>0]=a[o+2>>0]|0;a[n+2>>0]=a[o+1>>0]|0;a[n+3>>0]=a[o>>0]|0;h=h+(k<<6)+28|0;m=m+(k<<6)+28|0;a[m>>0]=a[h+3>>0]|0;a[m+1>>0]=a[h+2>>0]|0;a[m+2>>0]=a[h+1>>0]|0;a[m+3>>0]=a[h>>0]|0;j=c[d+96>>2]|0;m=ow(c[j+(k<<6)+32>>2]|0)|0;h=c[f+96>>2]|0;c[h+(k<<6)+32>>2]=m;c[h+(k<<6)+36>>2]=ow(c[j+(k<<6)+36>>2]|0)|0;c[h+(k<<6)+40>>2]=ow(c[j+(k<<6)+40>>2]|0)|0;k=k+1|0}while((k|0)!=(l|0))}else h=f+172|0;else if((l|0)>0){h=f+172|0;j=c[d+96>>2]|0;k=0;do{h=h+(k<<6)|0;o=j+(k<<6)|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];h=(c[f+96>>2]|0)+(k<<6)+16|0;o=(c[d+96>>2]|0)+(k<<6)+16|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];j=c[d+96>>2]|0;h=c[f+96>>2]|0;c[h+(k<<6)+32>>2]=c[j+(k<<6)+32>>2];c[h+(k<<6)+36>>2]=c[j+(k<<6)+36>>2];c[h+(k<<6)+40>>2]=c[j+(k<<6)+40>>2];k=k+1|0}while((k|0)!=(l|0))}else h=f+172|0;if(h|0){if(a[f+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+88+4>>2]=0;c[f+88+8>>2]=0;a[f+88+12>>0]=0;h=l<<6}else{h=c[f+136>>2]|0;if(h|0){if(a[f+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+136>>2]=0}c[f+128>>2]=0;c[f+128+4>>2]=0;c[f+128+8>>2]=0;a[f+128+12>>0]=0;c[f+136>>2]=f+172;c[f+128>>2]=l;c[f+132>>2]=l;if(i){if((l|0)>0){h=c[d+136>>2]|0;j=0;do{o=e[h+(j<<4)>>1]|0;b[f+172+(j<<4)>>1]=o>>>8|o<<8;o=e[h+(j<<4)+2>>1]|0;b[f+172+(j<<4)+2>>1]=o>>>8|o<<8;o=e[h+(j<<4)+4>>1]|0;b[f+172+(j<<4)+4>>1]=o>>>8|o<<8;o=e[h+(j<<4)+6>>1]|0;b[f+172+(j<<4)+6>>1]=o>>>8|o<<8;o=e[h+(j<<4)+8>>1]|0;b[f+172+(j<<4)+8>>1]=o>>>8|o<<8;o=e[h+(j<<4)+10>>1]|0;b[f+172+(j<<4)+10>>1]=o>>>8|o<<8;c[f+172+(j<<4)+12>>2]=ow(c[h+(j<<4)+12>>2]|0)|0;j=j+1|0}while((j|0)!=(l|0))}}else if((l|0)>0){h=c[d+136>>2]|0;j=0;do{b[f+172+(j<<4)>>1]=b[h+(j<<4)>>1]|0;b[f+172+(j<<4)+2>>1]=b[h+(j<<4)+2>>1]|0;b[f+172+(j<<4)+4>>1]=b[h+(j<<4)+4>>1]|0;b[f+172+(j<<4)+6>>1]=b[h+(j<<4)+6>>1]|0;b[f+172+(j<<4)+8>>1]=b[h+(j<<4)+8>>1]|0;b[f+172+(j<<4)+10>>1]=b[h+(j<<4)+10>>1]|0;c[f+172+(j<<4)+12>>2]=c[h+(j<<4)+12>>2];j=j+1|0}while((j|0)!=(l|0))}if(c[f+136>>2]|0)c[f+136>>2]=0;c[f+128>>2]=0;c[f+128+4>>2]=0;c[f+128+8>>2]=0;a[f+128+12>>0]=0;h=l<<4}l=f+172+h|0;h=c[d+168>>2]|0;j=c[f+160>>2]|0;if(j|0){if(a[f+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[f+160>>2]=0}c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;c[f+160>>2]=l;c[f+152>>2]=h;c[f+156>>2]=h;k=c[d+168>>2]|0;if(i){if((k|0)>0){h=c[d+160>>2]|0;j=0;do{o=e[h+(j<<5)>>1]|0;b[l+(j<<5)>>1]=o>>>8|o<<8;o=e[h+(j<<5)+2>>1]|0;b[l+(j<<5)+2>>1]=o>>>8|o<<8;o=e[h+(j<<5)+4>>1]|0;b[l+(j<<5)+4>>1]=o>>>8|o<<8;o=e[h+(j<<5)+6>>1]|0;b[l+(j<<5)+6>>1]=o>>>8|o<<8;o=e[h+(j<<5)+8>>1]|0;b[l+(j<<5)+8>>1]=o>>>8|o<<8;o=e[h+(j<<5)+10>>1]|0;b[l+(j<<5)+10>>1]=o>>>8|o<<8;c[l+(j<<5)+12>>2]=ow(c[h+(j<<5)+12>>2]|0)|0;c[l+(j<<5)+16>>2]=ow(c[h+(j<<5)+16>>2]|0)|0;j=j+1|0}while((j|0)!=(k|0))}}else if((k|0)>0){h=c[d+160>>2]|0;j=0;do{b[l+(j<<5)>>1]=b[h+(j<<5)>>1]|0;b[l+(j<<5)+2>>1]=b[h+(j<<5)+2>>1]|0;b[l+(j<<5)+4>>1]=b[h+(j<<5)+4>>1]|0;b[l+(j<<5)+6>>1]=b[h+(j<<5)+6>>1]|0;b[l+(j<<5)+8>>1]=b[h+(j<<5)+8>>1]|0;b[l+(j<<5)+10>>1]=b[h+(j<<5)+10>>1]|0;c[l+(j<<5)+12>>2]=c[h+(j<<5)+12>>2];c[l+(j<<5)+16>>2]=c[h+(j<<5)+16>>2];c[l+(j<<5)+20>>2]=0;c[l+(j<<5)+24>>2]=0;c[l+(j<<5)+28>>2]=0;j=j+1|0}while((j|0)<(c[d+168>>2]|0))}if(!(c[f+160>>2]|0)){c[f>>2]=0;c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;return 1}c[f+160>>2]=0;c[f>>2]=0;c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;return 1}function _c(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0;I=i;i=i+96|0;if(!(c[b+12>>2]|0)){i=I;return}f=(a[b+16>>0]|0)!=0;L=f?e:d;f=f?d:e;j=c[L+4>>2]|0;k=c[f+4>>2]|0;L=c[L+12>>2]|0;aa=+g[L>>2];$=+g[L+16>>2];_=+g[L+32>>2];Z=+g[L+4>>2];Y=+g[L+20>>2];o=+g[L+36>>2];l=+g[L+8>>2];r=+g[L+24>>2];y=+g[L+40>>2];T=+g[L+48>>2];S=+g[L+52>>2];P=+g[L+56>>2];K=c[f+12>>2]|0;X=+g[K>>2];W=+g[K+16>>2];p=+g[K+32>>2];V=+g[K+4>>2];U=+g[K+20>>2];q=+g[K+36>>2];x=+g[K+8>>2];v=+g[K+24>>2];t=+g[K+40>>2];M=-+g[K+48>>2];E=-+g[K+52>>2];F=-+g[K+56>>2];G=+g[L>>2];H=+g[L+16>>2];D=+g[L+32>>2];B=+g[L+4>>2];A=+g[L+20>>2];z=+g[L+36>>2];w=+g[L+8>>2];u=+g[L+24>>2];s=+g[L+40>>2];L=c[(c[j>>2]|0)+64>>2]|0;n=-+g[k+48>>2];m=-+g[k+52>>2];C=-+g[k+56>>2];g[I>>2]=(aa*X+$*W+_*p)*n+(aa*V+$*U+_*q)*m+(aa*x+$*v+_*t)*C;g[I+4>>2]=(Z*X+Y*W+o*p)*n+(Z*V+Y*U+o*q)*m+(Z*x+Y*v+o*t)*C;g[I+8>>2]=(l*X+r*W+y*p)*n+(l*V+r*U+y*q)*m+(l*x+r*v+y*t)*C;g[I+12>>2]=0.0;ic[L&127](I+16|0,j,I);C=+g[I+16>>2];y=+g[I+16+4>>2];r=+g[I+16+8>>2];l=+g[k+48>>2];m=+g[k+52>>2];n=+g[k+56>>2];o=n*(T*x+S*v+P*t+(x*M+v*E+t*F)+((x*G+v*H+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r))+(l*(T*X+S*W+P*p+(X*M+W*E+p*F)+((X*G+W*H+p*D)*C+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r))+m*(T*V+S*U+P*q+(V*M+U*E+q*F)+((V*G+U*H+q*D)*C+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)))-+g[k+64>>2];p=T*X+S*W+P*p+(X*M+W*E+p*F)+((X*G+W*H+p*D)*C+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r)-l*o;q=T*V+S*U+P*q+(V*M+U*E+q*F)+((V*G+U*H+q*D)*C+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)-m*o;r=T*x+S*v+P*t+(x*M+v*E+t*F)+((x*G+v*H+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r)-n*o;L=c[f+12>>2]|0;s=+g[L>>2];t=+g[L+4>>2];u=+g[L+8>>2];v=+g[L+16>>2];w=+g[L+20>>2];x=+g[L+24>>2];y=+g[L+32>>2];z=+g[L+36>>2];A=+g[L+40>>2];B=+g[L+48>>2];C=+g[L+52>>2];D=+g[L+56>>2];L=c[b+12>>2]|0;K=o<+g[L+752>>2];c[h+4>>2]=L;if(K){L=c[f+12>>2]|0;$=l*+g[L+16>>2]+m*+g[L+20>>2]+n*+g[L+24>>2];aa=l*+g[L+32>>2]+m*+g[L+36>>2]+n*+g[L+40>>2];g[I+80>>2]=+g[L>>2]*l+ +g[L+4>>2]*m+ +g[L+8>>2]*n;g[I+80+4>>2]=$;g[I+80+8>>2]=aa;g[I+80+12>>2]=0.0;g[I+64>>2]=u*r+(s*p+t*q)+B;g[I+64+4>>2]=p*v+q*w+r*x+C;g[I+64+8>>2]=p*y+q*z+r*A+D;g[I+64+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,I+80|0,I+64|0,o)}if((c[j+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){l=+g[k+56>>2];if(+N(+l)>.7071067690849304){n=+g[k+52>>2];aa=1.0/+O(+(l*l+n*n));m=0.0;n=n*aa;l=-(l*aa)}else{aa=+g[k+48>>2];m=+g[k+52>>2];l=1.0/+O(+(aa*aa+m*m));m=-(m*l);n=0.0;l=aa*l}F=.019999999552965164/+Sb[c[(c[j>>2]|0)+16>>2]&15](j);F=(F>.39269909262657166?.39269909262657166:F)*.5;E=+R(+F)/+O(+(m*m+l*l+n*n));H=m*E;G=l*E;E=n*E;F=+Q(+F);f=c[b+20>>2]|0;if((f|0)>0){j=0;do{v=+g[k+48>>2];aa=+g[k+52>>2];B=+g[k+56>>2];z=+(j|0)*(6.2831854820251465/+(f|0))*.5;$=+R(+z)/+O(+(v*v+aa*aa+B*B));z=+Q(+z);A=E*-(aa*$)+(H*z+F*-(v*$))-G*-(B*$);x=H*-(B*$)+(G*z+F*-(aa*$))-E*-(v*$);da=G*-(v*$)+(E*z+F*-(B*$))-H*-(aa*$);D=F*z-H*-(v*$)-G*-(aa*$)-E*-(B*$);ia=B*$*x+(v*$*D+z*A)-aa*$*da;ha=v*$*da+(z*x+aa*$*D)-B*$*A;la=aa*$*A+(B*$*D+z*da)-v*$*x;da=z*D-v*$*A-aa*$*x-B*$*da;f=(a[b+16>>0]|0)!=0;ba=f?e:d;f=f?d:e;L=c[ba+4>>2]|0;K=c[f+4>>2]|0;ba=c[ba+12>>2]|0;$=+g[ba>>2];B=+g[ba+4>>2];x=+g[ba+8>>2];aa=+g[ba+16>>2];A=+g[ba+20>>2];v=+g[ba+24>>2];D=+g[ba+32>>2];z=+g[ba+36>>2];t=+g[ba+40>>2];V=+g[ba+48>>2];W=+g[ba+52>>2];X=+g[ba+56>>2];ba=c[f+12>>2]|0;P=+g[ba>>2];S=+g[ba+16>>2];p=+g[ba+32>>2];T=+g[ba+4>>2];U=+g[ba+20>>2];q=+g[ba+36>>2];w=+g[ba+8>>2];u=+g[ba+24>>2];s=+g[ba+40>>2];Y=-+g[ba+48>>2];Z=-+g[ba+52>>2];_=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));n=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=x*(ia*ca-da*n)+(B*(ia*n+da*ca)+$*(1.0-(ha*n+la*ca)));ka=x*(ha*ca+da*ga)+($*(ia*n-da*ca)+B*(1.0-(ia*ga+la*ca)));l=$*(ia*ca+da*n)+B*(ha*ca-da*ga)+x*(1.0-(ia*ga+ha*n));ma=v*(ia*ca-da*n)+(A*(ia*n+da*ca)+aa*(1.0-(ha*n+la*ca)));ja=v*(ha*ca+da*ga)+(aa*(ia*n-da*ca)+A*(1.0-(ia*ga+la*ca)));y=aa*(ia*ca+da*n)+A*(ha*ca-da*ga)+v*(1.0-(ia*ga+ha*n));oa=t*(ia*ca-da*n)+(z*(ia*n+da*ca)+D*(1.0-(ha*n+la*ca)));la=t*(ha*ca+da*ga)+(D*(ia*n-da*ca)+z*(1.0-(ia*ga+la*ca)));n=D*(ia*ca+da*n)+z*(ha*ca-da*ga)+t*(1.0-(ia*ga+ha*n));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];m=+g[ba+8>>2];r=+g[ba+24>>2];o=+g[ba+40>>2];ba=c[(c[L>>2]|0)+64>>2]|0;fa=-+g[K+48>>2];M=-+g[K+52>>2];C=-+g[K+56>>2];g[I+64>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*M+(o*oa+(m*na+r*ma))*C;g[I+64+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*M+(o*la+(m*ka+r*ja))*C;g[I+64+8>>2]=(ia*n+(ha*l+ga*y))*fa+(ea*n+(da*l+ca*y))*M+(o*n+(m*l+r*y))*C;g[I+64+12>>2]=0.0;ic[ba&127](I+80|0,L,I+64|0);C=+g[I+80>>2];y=+g[I+80+4>>2];r=+g[I+80+8>>2];l=+g[K+48>>2];m=+g[K+52>>2];n=+g[K+56>>2];o=n*(V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r))+(l*(V*P+W*S+X*p+(P*Y+S*Z+p*_)+(($*P+aa*S+D*p)*C+(B*P+A*S+z*p)*y+(x*P+v*S+t*p)*r))+m*(V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+D*q)*C+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)))-+g[K+64>>2];p=V*P+W*S+X*p+(P*Y+S*Z+p*_)+(($*P+aa*S+D*p)*C+(B*P+A*S+z*p)*y+(x*P+v*S+t*p)*r)-l*o;q=V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+D*q)*C+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)-m*o;r=V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r)-n*o;K=c[f+12>>2]|0;s=+g[K>>2];t=+g[K+4>>2];u=+g[K+8>>2];v=+g[K+16>>2];w=+g[K+20>>2];x=+g[K+24>>2];y=+g[K+32>>2];z=+g[K+36>>2];A=+g[K+40>>2];B=+g[K+48>>2];C=+g[K+52>>2];D=+g[K+56>>2];K=c[b+12>>2]|0;L=o<+g[K+752>>2];c[h+4>>2]=K;if(L){ba=c[f+12>>2]|0;na=l*+g[ba+16>>2]+m*+g[ba+20>>2]+n*+g[ba+24>>2];oa=l*+g[ba+32>>2]+m*+g[ba+36>>2]+n*+g[ba+40>>2];g[I+48>>2]=+g[ba>>2]*l+ +g[ba+4>>2]*m+ +g[ba+8>>2]*n;g[I+48+4>>2]=na;g[I+48+8>>2]=oa;g[I+48+12>>2]=0.0;g[I+32>>2]=u*r+(s*p+t*q)+B;g[I+32+4>>2]=p*v+q*w+r*x+C;g[I+32+8>>2]=p*y+q*z+r*A+D;g[I+32+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,I+48|0,I+32|0,o)}j=j+1|0;f=c[b+20>>2]|0}while((j|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(J=c[h+4>>2]|0,c[J+748>>2]|0):0){j=c[J+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0)){ef(J,j+4|0,f+4|0);break}else{ef(J,f+4|0,k+4|0);break}}while(0);i=I;return}function $c(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;H=i;i=i+192|0;li(11018);d=c[b+1112>>2]|0;if((d|0)>0){G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){j=H+144|0;k=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+12>>2]|0;f=0.0;h=0.0;e=0.0;k=0;do{D=c[d+(k<<2)>>2]|0;C=+g[j+(k<<2)>>2];f=f+ +g[D+8>>2]*C;e=e+C*+g[D+12>>2];h=h+C*+g[D+16>>2];k=k+1|0}while((k|0)!=(E|0))}else{f=0.0;h=0.0;e=0.0}r=+g[F+128>>2];t=f*r;s=e*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+52>>2]|0;e=9.999999747378752e-05;f=+g[H+144+4>>2];h=+g[H+144+8>>2];l=+g[H+144+16>>2];m=1.9999999494757503e-04;n=+g[H+144+24>>2];o=0.0;p=0.0;q=2.9999998514540493e-04;k=0;while(1){D=c[d+(k<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[j+(k<<4)>>2];A=+g[j+(k<<4)+4>>2];C=+g[j+(k<<4)+8>>2];e=x*z+e;f=x*A+f;h=x*C+h;l=y*z+l;m=y*A+m;n=y*C+n;o=B*z+o;p=B*A+p;q=B*C+q;if((k|0)==(E+-1|0))break;k=k+1|0}g[H+144>>2]=e;g[H+144+4>>2]=f;g[H+144+8>>2]=h;g[H+144+16>>2]=l;g[H+144+20>>2]=m;g[H+144+24>>2]=n;g[H+144+32>>2]=o;g[H+144+36>>2]=p;g[H+144+40>>2]=q}if((a[22520]|0)==0?Wa(22520)|0:0){g[5787]=9.999999747378752e-05;c[5788]=16;_a(22520)}md(H+144|0,H+96|0,H+48|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];A=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];C=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];B=+g[F+84>>2];l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];u=(m*K+n*J+o*A)*K+(K*p+J*q+A*r)*J+(K*s+J*t+A*C)*A;v=(m*K+n*J+o*A)*I+(K*p+J*q+A*r)*e+(K*s+J*t+A*C)*B;w=(m*K+n*J+o*A)*l+(K*p+J*q+A*r)*h+(K*s+J*t+A*C)*f;x=(m*I+n*e+o*B)*K+(p*I+q*e+r*B)*J+(s*I+t*e+C*B)*A;y=(m*I+n*e+o*B)*I+(p*I+q*e+r*B)*e+(s*I+t*e+C*B)*B;z=(m*I+n*e+o*B)*l+(p*I+q*e+r*B)*h+(s*I+t*e+C*B)*f;A=K*(m*l+n*h+o*f)+(p*l+q*h+r*f)*J+(s*l+t*h+C*f)*A;B=I*(m*l+n*h+o*f)+(p*l+q*h+r*f)*e+(s*l+t*h+C*f)*B;C=(m*l+n*h+o*f)*l+(p*l+q*h+r*f)*h+(s*l+t*h+C*f)*f;g[F+180>>2]=u;g[F+184>>2]=v;g[F+188>>2]=w;g[F+192>>2]=0.0;g[F+196>>2]=x;g[F+200>>2]=y;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=A;g[F+216>>2]=B;g[F+220>>2]=C;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;k=0;do{D=c[d+(k<<2)>>2]|0;M=+g[j+(k<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=J*N-M*I+m;g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;k=k+1|0}while((k|0)!=(E|0));d=F+332|0;D=F+316|0}else{d=F+332|0;D=F+316|0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(u*n+v*m+w*e)*N;g[F+336>>2]=(n*x+m*y+e*z)*N;g[F+340>>2]=N*(n*A+m*B+e*C);g[F+344>>2]=0.0;j=F+244|0;k=j+72|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){k=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;j=c[F+52>>2]|0;I=+g[j+(d<<4)>>2];J=+g[j+(d<<4)+4>>2];K=+g[j+(d<<4)+8>>2];L=+g[k+8>>2];M=+g[k+12>>2];N=+g[k+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*l+J*h+K*f+ +g[F+116>>2]-N);g[k+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[k+12>>2]=M;g[k+16>>2]=N;g[k+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);if(a[F+377>>0]|0){d=c[F+32>>2]|0;k=c[d>>2]|0;e=+g[k+8>>2];q=+g[k+12>>2];r=+g[k+16>>2];f=+g[k+20>>2];if((E|0)>1){j=1;o=e;p=r;n=f;m=q;l=e;h=f;f=q;e=r;do{k=c[d+(j<<2)>>2]|0;K=+g[k+8>>2];o=K>2];m=L>2];p=M>2];n=N>2]=o;g[H+4>>2]=m;g[H+8>>2]=p;g[H+12>>2]=n;g[H+16>>2]=l;g[H+20>>2]=f;g[H+24>>2]=e;g[H+28>>2]=h;d=c[F+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H>>2];c[d+4>>2]=c[H+4>>2];c[d+8>>2]=c[H+8>>2];c[d+12>>2]=c[H+12>>2];c[d+16>>2]=c[H+16>>2];c[d+20>>2]=c[H+20>>2];c[d+24>>2]=c[H+24>>2];c[d+28>>2]=c[H+28>>2];lf(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[F+348>>2]=d}else{L=+g[b+452>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H+32>>2]=+g[D>>2]*L*3.0;g[H+32+4>>2]=M;g[H+32+8>>2]=N;g[H+32+12>>2]=0.0;jh(b+1048|0,d,H,H+32|0,+g[b+464>>2])|0}}d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0))}d=c[2357]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){i=H;return}do if(c[d+4>>2]|0){tb(H+144|0,0)|0;b=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[H+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[H+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=H;return}}while(0);c[2357]=c[d+20>>2];i=H;return}function ad(d,e){d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;B=i;i=i+464|0;li(12209);f=c[d+84>>2]|0;if(f|0)zb[f&31](d,e);zb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0;li(12238);li(12263);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{s=c[d+24>>2]|0;Cb[c[(c[s>>2]|0)+16>>2]&127](s,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[2357]|0;s=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=s;do if(!s){if(c[f+4>>2]|0){tb(B+368|0,0)|0;s=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[s+4>>2]|0)+(((c[B+368>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){q=B+304+48|0;r=B+368+44|0;s=0;while(1){k=c[(c[d+240>>2]|0)+(s<<2)>>2]|0;g[k+244>>2]=1.0;b:do switch(c[k+216>>2]|0){case 2:case 5:break;default:if(((c[k+204>>2]&3|0)==0?(Zg(k+4|0,+g[k+312>>2],+g[k+316>>2],+g[k+320>>2],k+328|0,e,B+304|0),t=+g[q>>2],u=t-+g[k+52>>2],v=+g[B+304+52>>2],w=v-+g[k+56>>2],x=+g[B+304+56>>2],y=x-+g[k+60>>2],a[d+44>>0]|0):0)?(o=+g[k+252>>2],o*o!=0.0?o*o>2]|0)+4>>2]|0)<20?(c[5816]=(c[5816]|0)+1,j=c[d+68>>2]|0,j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0,p=c[d+24>>2]|0,g[B+368+4>>2]=1.0,b[B+368+8>>1]=1,b[B+368+10>>1]=-1,c[B+368>>2]=2872,c[B+368+12>>2]=c[k+52>>2],c[B+368+12+4>>2]=c[k+52+4>>2],c[B+368+12+8>>2]=c[k+52+8>>2],c[B+368+12+12>>2]=c[k+52+12>>2],c[B+368+28>>2]=c[q>>2],c[B+368+28+4>>2]=c[q+4>>2],c[B+368+28+8>>2]=c[q+8>>2],c[B+368+28+12>>2]=c[q+12>>2],c[B+368+76>>2]=0,c[B+368>>2]=4332,c[B+368+80>>2]=k,c[B+368+88>>2]=j,c[B+368+92>>2]=p,p=c[k+248>>2]|0,c[B+248+8>>2]=0,c[B+248+12>>2]=1065353216,c[B+248+16>>2]=1065353216,c[B+248+20>>2]=1065353216,g[B+248+24>>2]=0.0,c[B+248>>2]=6672,c[B+248+4>>2]=8,c[B+248+28>>2]=p,c[B+248+44>>2]=p,c[B+368+84>>2]=c[d+56>>2],p=c[(c[k+188>>2]|0)+4>>2]|0,b[B+368+8>>1]=p,b[B+368+10>>1]=p>>>16,c[B+184+48>>2]=c[q>>2],c[B+184+48+4>>2]=c[q+4>>2],c[B+184+48+8>>2]=c[q+8>>2],c[B+184+48+12>>2]=c[q+12>>2],c[B+184>>2]=c[k+4>>2],c[B+184+4>>2]=c[k+4+4>>2],c[B+184+8>>2]=c[k+4+8>>2],c[B+184+12>>2]=c[k+4+12>>2],c[B+184+16>>2]=c[k+20>>2],c[B+184+16+4>>2]=c[k+20+4>>2],c[B+184+16+8>>2]=c[k+20+8>>2],c[B+184+16+12>>2]=c[k+20+12>>2],c[B+184+32>>2]=c[k+36>>2],c[B+184+32+4>>2]=c[k+36+4>>2],c[B+184+32+8>>2]=c[k+36+8>>2],c[B+184+32+12>>2]=c[k+36+12>>2],Kd(d,B+248|0,k+4|0,B+184|0,B+368|0,0.0),z=+g[B+368+4>>2],z<1.0):0){l=z*(t-+g[k+52>>2]);m=z*(v-+g[k+56>>2]);n=z*(x-+g[k+60>>2]);o=-(m*+g[B+368+48>>2])-l*+g[r>>2]-n*+g[B+368+52>>2];p=c[d+24>>2]|0;p=Ob[c[(c[p>>2]|0)+12>>2]&63](p,k,c[B+368+76>>2]|0)|0;f=c[d+308>>2]|0;if((f|0)==(c[d+312>>2]|0)?(A=f|0?f<<1:1,(f|0)<(A|0)):0){if(!A)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((A<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[d+308>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[d+316>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[d+316>>2]|0;if(h){if(a[d+320>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=j;c[d+312>>2]=A}c[(c[d+316>>2]|0)+(f<<2)>>2]=p;c[d+308>>2]=f+1;l=l+ +g[k+52>>2];m=m+ +g[k+56>>2];n=n+ +g[k+60>>2];j=c[B+368+76>>2]|0;N=+g[j+4>>2];M=+g[j+20>>2];L=+g[j+36>>2];K=+g[j+8>>2];J=+g[j+24>>2];I=+g[j+40>>2];H=+g[j+12>>2];F=+g[j+28>>2];D=+g[j+44>>2];G=-+g[j+52>>2];E=-+g[j+56>>2];C=-+g[j+60>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;g[B+16>>2]=l*N+m*M+n*L+(N*G+M*E+L*C);g[B+20>>2]=l*K+m*J+n*I+(K*G+J*E+I*C);g[B+24>>2]=l*H+m*F+n*D+(H*G+F*E+D*C);g[B+28>>2]=0.0;c[B+64>>2]=c[r>>2];c[B+64+4>>2]=c[r+4>>2];c[B+64+8>>2]=c[r+8>>2];c[B+64+12>>2]=c[r+12>>2];g[B+80>>2]=o;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;j=_e(p,B)|0;g[p+4+(j*184|0)+92>>2]=0.0;o=+g[k+224>>2]*+g[(c[B+368+76>>2]|0)+224>>2];o=o<-10.0?-10.0:o;g[p+4+(j*184|0)+84>>2]=o>10.0?10.0:o;c[p+4+(j*184|0)+48>>2]=c[k+52>>2];c[p+4+(j*184|0)+48+4>>2]=c[k+52+4>>2];c[p+4+(j*184|0)+48+8>>2]=c[k+52+8>>2];c[p+4+(j*184|0)+48+12>>2]=c[k+52+12>>2];g[p+4+(j*184|0)+32>>2]=l;g[p+4+(j*184|0)+36>>2]=m;g[p+4+(j*184|0)+40>>2]=n;g[p+4+(j*184|0)+44>>2]=0.0}f=c[2357]|0;p=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=p;if(!p){if(c[f+4>>2]|0){tb(B+368|0,0)|0;p=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[p+4>>2]|0)+(((c[B+368>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break b;f=c[2357]|0}c[2357]=c[f+20>>2]}}}while(0);s=s+1|0;if((s|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[2357]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){tb(B+368|0,0)|0;A=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);Ab[c[(c[d>>2]|0)+44>>2]&255](d);Ab[c[(c[d>>2]|0)+148>>2]&255](d);g[d+104>>2]=e;Cb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);zb[c[(c[d>>2]|0)+144>>2]&31](d,e);li(12327);if((c[d+280>>2]|0)>0){f=0;do{A=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;kc[c[(c[A>>2]|0)+8>>2]&7](A,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[2357]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){tb(B+368|0,0)|0;A=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);zb[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)zb[f&31](d,e);f=c[2357]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){i=B;return}do if(c[f+4>>2]|0){tb(B+368|0,0)|0;d=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[B+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2357]|0;break}else{i=B;return}}while(0);c[2357]=c[f+20>>2];i=B;return}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;x=i;i=i+784|0;c[x+168+8>>2]=0;c[x+168+12>>2]=1065353216;c[x+168+16>>2]=1065353216;c[x+168+20>>2]=1065353216;g[x+168+24>>2]=0.0;c[x+168>>2]=6672;c[x+168+4>>2]=8;g[x+168+28>>2]=0.0;g[x+168+44>>2]=0.0;v=c[e+4>>2]|0;w=c[e+12>>2]|0;h=c[v+4>>2]|0;if((h|0)<20){c[x+600>>2]=3708;c[x+600+168>>2]=0;g[x+600+172>>2]=0.0;c[x+600+164>>2]=c[f+4>>2];g[x+240+308>>2]=9.999999747378752e-05;a[x+240+332>>0]=0;c[x+224>>2]=4960;c[x+224+4>>2]=x+240;c[x+224+8>>2]=x+168;c[x+224+12>>2]=v;c[x+152>>2]=9140;c[x+152+4>>2]=x+240;c[x+152+8>>2]=x+168;c[x+152+12>>2]=v;v=(c[f+16>>2]&4|0)==0?x+152|0:x+224|0;if((Tb[c[(c[v>>2]|0)+8>>2]&3](v,b,d,w,w,x+600|0)|0?(j=x+600+132|0,k=+g[j>>2],l=+g[x+600+136>>2],m=+g[x+600+140>>2],k*k+l*l+m*m>9.999999747378752e-05):0)?(n=+g[x+600+164>>2],n<+g[f+4>>2]):0){u=1.0/+O(+(k*k+l*l+m*m));g[j>>2]=k*u;g[x+600+136>>2]=l*u;g[x+600+140>>2]=m*u;c[x+120>>2]=c[e+8>>2];c[x+120+4>>2]=0;c[x+120+8>>2]=c[j>>2];c[x+120+8+4>>2]=c[j+4>>2];c[x+120+8+8>>2]=c[j+8>>2];c[x+120+8+12>>2]=c[j+12>>2];g[x+120+24>>2]=n;+_b[c[(c[f>>2]|0)+12>>2]&15](f,x+120|0,1)}i=x;return}if((h+-21|0)>>>0>=9){if((h|0)!=31){i=x;return}h=c[v+64>>2]|0;e=c[e+8>>2]|0;c[x+600>>2]=5804;c[x+600+4>>2]=e;c[x+600+8>>2]=v;c[x+600+12>>2]=w;c[x+600+16>>2]=b;c[x+600+20>>2]=d;c[x+600+24>>2]=f;if(!h){h=c[v+16>>2]|0;if((h|0)>0){j=0;do{Vf(x+600|0,j);j=j+1|0}while((j|0)<(h|0))}}else{p=+g[w+48>>2];B=+g[b+48>>2]-p;r=+g[w+52>>2];A=+g[b+52>>2]-r;t=+g[w+56>>2];z=+g[b+56>>2]-t;y=+g[w>>2];k=+g[w+16>>2];l=+g[w+32>>2];m=+g[w+4>>2];n=+g[w+20>>2];o=+g[w+36>>2];q=+g[w+8>>2];s=+g[w+24>>2];u=+g[w+40>>2];g[x+240>>2]=B*y+A*k+z*l;g[x+240+4>>2]=B*m+A*n+z*o;g[x+240+8>>2]=B*q+A*s+z*u;g[x+240+12>>2]=0.0;p=+g[d+48>>2]-p;r=+g[d+52>>2]-r;t=+g[d+56>>2]-t;g[x+224>>2]=p*y+r*k+t*l;g[x+224+4>>2]=p*m+r*n+t*o;g[x+224+8>>2]=p*q+r*s+t*u;g[x+224+12>>2]=0.0;ff(c[h>>2]|0,x+240|0,x+224|0,x+600|0)}i=x;return}E=+g[w>>2];D=+g[w+16>>2];k=+g[w+32>>2];C=+g[w+4>>2];o=+g[w+20>>2];l=+g[w+36>>2];A=+g[w+8>>2];B=+g[w+24>>2];m=+g[w+40>>2];p=-+g[w+48>>2];y=-+g[w+52>>2];z=-+g[w+56>>2];q=+g[b+48>>2];r=+g[b+52>>2];n=+g[b+56>>2];g[x+152>>2]=E*p+D*y+k*z+(E*q+D*r+k*n);g[x+152+4>>2]=C*p+o*y+l*z+(C*q+o*r+l*n);g[x+152+8>>2]=A*p+B*y+m*z+(A*q+B*r+m*n);g[x+152+12>>2]=0.0;t=+g[d+48>>2];u=+g[d+52>>2];s=+g[d+56>>2];k=E*p+D*y+k*z+(E*t+D*u+k*s);l=C*p+o*y+l*z+(C*t+o*u+l*s);m=A*p+B*y+m*z+(A*t+B*u+m*s);g[x+120>>2]=k;g[x+120+4>>2]=l;g[x+120+8>>2]=m;g[x+120+12>>2]=0.0;switch(c[v+4>>2]|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[x+4>>2]=c[x+152>>2];c[x+4+4>>2]=c[x+152+4>>2];c[x+4+8>>2]=c[x+152+8>>2];c[x+4+12>>2]=c[x+152+12>>2];c[x+20>>2]=c[x+120>>2];c[x+20+4>>2]=c[x+120+4>>2];c[x+20+8>>2]=c[x+120+8>>2];c[x+20+12>>2]=c[x+120+12>>2];c[x+36>>2]=e;g[x+40>>2]=1.0;c[x>>2]=5756;c[x+44>>2]=f;c[x+48>>2]=h;c[x+52>>2]=v;c[x+56>>2]=c[w>>2];c[x+56+4>>2]=c[w+4>>2];c[x+56+8>>2]=c[w+8>>2];c[x+56+12>>2]=c[w+12>>2];c[x+72>>2]=c[w+16>>2];c[x+72+4>>2]=c[w+16+4>>2];c[x+72+8>>2]=c[w+16+8>>2];c[x+72+12>>2]=c[w+16+12>>2];c[x+88>>2]=c[w+32>>2];c[x+88+4>>2]=c[w+32+4>>2];c[x+88+8>>2]=c[w+32+8>>2];c[x+88+12>>2]=c[w+32+12>>2];c[x+104>>2]=c[w+48>>2];c[x+104+4>>2]=c[w+48+4>>2];c[x+104+8>>2]=c[w+48+8>>2];c[x+104+12>>2]=c[w+48+12>>2];c[x+40>>2]=c[f+4>>2];h=c[v+48>>2]|0;c[x+224>>2]=6884;c[x+224+4>>2]=h;c[x+224+8>>2]=x;h=c[v+52>>2]|0;c[x+600>>2]=0;c[x+600+4>>2]=0;c[x+600+8>>2]=0;c[x+600+12>>2]=0;c[x+240>>2]=0;c[x+240+4>>2]=0;c[x+240+8>>2]=0;c[x+240+12>>2]=0;if(!(a[h+60>>0]|0))Re(h,x+224|0,x+152|0,k,l,m,x+600|0,x+240|0);else ze(h,x+224|0,x+152|0,k,l,m,x+600|0,x+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;d=c[f+16>>2]|0;c[x+600+4>>2]=c[x+152>>2];c[x+600+4+4>>2]=c[x+152+4>>2];c[x+600+4+8>>2]=c[x+152+8>>2];c[x+600+4+12>>2]=c[x+152+12>>2];c[x+600+20>>2]=c[x+120>>2];c[x+600+20+4>>2]=c[x+120+4>>2];c[x+600+20+8>>2]=c[x+120+8>>2];c[x+600+20+12>>2]=c[x+120+12>>2];c[x+600+36>>2]=d;g[x+600+40>>2]=1.0;c[x+600>>2]=5756;c[x+600+44>>2]=f;c[x+600+48>>2]=e;c[x+600+52>>2]=v;c[x+600+56>>2]=c[w>>2];c[x+600+56+4>>2]=c[w+4>>2];c[x+600+56+8>>2]=c[w+8>>2];c[x+600+56+12>>2]=c[w+12>>2];c[x+600+72>>2]=c[w+16>>2];c[x+600+72+4>>2]=c[w+16+4>>2];c[x+600+72+8>>2]=c[w+16+8>>2];c[x+600+72+12>>2]=c[w+16+12>>2];c[x+600+88>>2]=c[w+32>>2];c[x+600+88+4>>2]=c[w+32+4>>2];c[x+600+88+8>>2]=c[w+32+8>>2];c[x+600+88+12>>2]=c[w+32+12>>2];c[x+600+104>>2]=c[w+48>>2];c[x+600+104+4>>2]=c[w+48+4>>2];c[x+600+104+8>>2]=c[w+48+8>>2];c[x+600+104+12>>2]=c[w+48+12>>2];c[x+600+40>>2]=c[f+4>>2];mc[c[(c[v>>2]|0)+144>>2]&127](v,x+600|0,x+152|0,x+120|0);break}default:{H=+g[w>>2];G=+g[w+16>>2];m=+g[w+32>>2];F=+g[w+4>>2];y=+g[w+20>>2];z=+g[w+36>>2];D=+g[w+8>>2];E=+g[w+24>>2];k=+g[w+40>>2];A=-+g[w+48>>2];B=-+g[w+52>>2];C=-+g[w+56>>2];o=H*A+G*B+m*C+(H*q+G*r+m*n);p=F*A+y*B+z*C+(F*q+y*r+z*n);l=D*A+E*B+k*C+(D*q+E*r+k*n);m=H*A+G*B+m*C+(H*t+G*u+m*s);n=F*A+y*B+z*C+(F*t+y*u+z*s);k=D*A+E*B+k*C+(D*t+E*u+k*s);e=c[e+8>>2]|0;d=c[f+16>>2]|0;g[x+600+4>>2]=o;g[x+600+8>>2]=p;g[x+600+12>>2]=l;g[x+600+16>>2]=0.0;g[x+600+20>>2]=m;g[x+600+24>>2]=n;g[x+600+28>>2]=k;g[x+600+32>>2]=0.0;c[x+600+36>>2]=d;g[x+600+40>>2]=1.0;c[x+600>>2]=5780;c[x+600+44>>2]=f;c[x+600+48>>2]=e;c[x+600+52>>2]=v;c[x+600+56>>2]=c[w>>2];c[x+600+56+4>>2]=c[w+4>>2];c[x+600+56+8>>2]=c[w+8>>2];c[x+600+56+12>>2]=c[w+12>>2];c[x+600+72>>2]=c[w+16>>2];c[x+600+72+4>>2]=c[w+16+4>>2];c[x+600+72+8>>2]=c[w+16+8>>2];c[x+600+72+12>>2]=c[w+16+12>>2];c[x+600+88>>2]=c[w+32>>2];c[x+600+88+4>>2]=c[w+32+4>>2];c[x+600+88+8>>2]=c[w+32+8>>2];c[x+600+88+12>>2]=c[w+32+12>>2];c[x+600+104>>2]=c[w+48>>2];c[x+600+104+4>>2]=c[w+48+4>>2];c[x+600+104+8>>2]=c[w+48+8>>2];c[x+600+104+12>>2]=c[w+48+12>>2];c[x+600+40>>2]=c[f+4>>2];g[x+240>>2]=o;g[x+240+4>>2]=p;g[x+240+8>>2]=l;g[x+240+12>>2]=0.0;if(m>2]=m;if(n>2]=n;if(k>2]=k;g[x+224>>2]=o;g[x+224+4>>2]=p;g[x+224+8>>2]=l;g[x+224+12>>2]=0.0;if(o>2]=m;if(p>2]=n;if(l>2]=k;mc[c[(c[v>>2]|0)+64>>2]&127](v,x+600|0,x+240|0,x+224|0)}}i=x;return}function cd(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;o=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((o|0)>0){f=c[b+136>>2]|0;m=c[b+192>>2]|0;p=0;do{h=f+(p<<2)|0;i=c[h>>2]|0;p=p+1|0;m=(_(m,1664525)|0)+1013904223|0;if(p>>>0<65537){e=m>>>16^m;if(p>>>0<257)if(p>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(p>>>0<5)if(p>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;e=f+(((e>>>0)%(p>>>0)|0)<<2)|0;c[h>>2]=c[e>>2];c[e>>2]=i}while((p|0)!=(o|0));c[b+192>>2]=m}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){f=c[b+116>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(_(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;p=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[p>>2];c[p>>2]=i}while((o|0)!=(q|0));c[b+192>>2]=m}if((r|0)>0){f=c[b+156>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(_(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;q=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[q>>2];c[q>>2]=i}while((o|0)!=(r|0));c[b+192>>2]=m}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;zg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){d=bk(b,c[f+28>>2]|0,+g[l+12>>2])|0;t=bk(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;s=c[b+16>>2]|0;r=c[e>>2]|0;hc[c[(c[r>>2]|0)+24>>2]&15](r,s+(d*244|0)|0,s+(t*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[b+28>>2]|0;if((e|0)>0){f=0;do{l=c[(c[b+116>>2]|0)+(f<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;Mg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);f=f+1|0}while((f|0)!=(e|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-n;g[h+(f*152|0)+124>>2]=n;l=c[b+16>>2]|0;zg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];n=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-n;g[f+(h*152|0)+124>>2]=n;l=c[b+16>>2]|0;zg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;zg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){q=bk(b,c[f+28>>2]|0,+g[l+12>>2])|0;d=bk(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;r=c[b+16>>2]|0;p=c[e>>2]|0;hc[c[(c[p>>2]|0)+24>>2]&15](p,r+(q*244|0)|0,r+(d*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){if((o|0)<=0)return 0.0;m=0;do{f=c[(c[b+116>>2]|0)+(m<<2)>>2]|0;h=c[b+36>>2]|0;i=c[b+16>>2]|0;Mg(i+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,i+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);n=+g[h+(f*152|0)+100>>2];f=_(m,(e>>>4&1)+1|0)|0;h=c[(c[b+156>>2]|0)+(f<<2)>>2]|0;i=c[b+76>>2]|0;if(n>0.0){u=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-u;g[i+(h*152|0)+124>>2]=u;k=c[b+16>>2]|0;zg(k+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,k+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(f+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){u=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-u;g[t+(s*152|0)+124>>2]=u;k=c[b+16>>2]|0;zg(k+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,k+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}m=m+1|0}while((m|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{l=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;Mg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-u;g[h+(f*152|0)+124>>2]=u;l=c[b+16>>2]|0;zg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];u=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-u;g[f+(h*152|0)+124>>2]=u;l=c[b+16>>2]|0;zg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;r=i;i=i+80|0;j=c[b+28>>2]|0;d=c[f+64>>2]|0;a:do if((d&4|0)!=0&(j|0)>0){l=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;while(1){m=c[l+(d*152|0)+132>>2]|0;c[m+120>>2]=c[l+(d*152|0)+100>>2];c[m+124>>2]=c[h+((c[l+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0;if((d|0)==(j|0))break a}}else{e=h;d=0}while(1){m=c[l+(d*152|0)+132>>2]|0;c[m+120>>2]=c[l+(d*152|0)+100>>2];s=c[l+(d*152|0)+140>>2]|0;c[m+124>>2]=c[h+(s*152|0)+100>>2];c[m+128>>2]=c[e+((s+1|0)*152|0)+100>>2];d=d+1|0;if((d|0)==(j|0))break a;e=c[b+76>>2]|0}}while(0);e=c[b+48>>2]|0;if((e|0)>0){m=0;do{h=c[b+56>>2]|0;j=c[h+(m*152|0)+132>>2]|0;l=c[j+44>>2]|0;d=h+(m*152|0)+100|0;if(l|0){q=+g[d>>2];s=c[j+28>>2]|0;p=1.0/+g[f+12>>2];o=q*+g[h+(m*152|0)+20>>2]*+g[s+352>>2]*p;n=q*+g[h+(m*152|0)+24>>2]*+g[s+356>>2]*p;g[l>>2]=+g[l>>2]+ +g[h+(m*152|0)+16>>2]*q*+g[s+348>>2]*p;g[l+4>>2]=o+ +g[l+4>>2];g[l+8>>2]=n+ +g[l+8>>2];n=+g[d>>2];s=c[j+32>>2]|0;o=1.0/+g[f+12>>2];p=n*+g[h+(m*152|0)+52>>2]*+g[s+352>>2]*o;q=n*+g[h+(m*152|0)+56>>2]*+g[s+356>>2]*o;g[l+32>>2]=+g[l+32>>2]+ +g[h+(m*152|0)+48>>2]*n*+g[s+348>>2]*o;g[l+36>>2]=p+ +g[l+36>>2];g[l+40>>2]=q+ +g[l+40>>2];s=c[j+28>>2]|0;q=+g[d>>2];p=1.0/+g[f+12>>2];o=+g[h+(m*152|0)+4>>2]*+g[s+548>>2]*q*p;n=q*+g[h+(m*152|0)+8>>2]*+g[s+552>>2]*p;g[l+16>>2]=+g[l+16>>2]+ +g[h+(m*152|0)>>2]*+g[s+544>>2]*q*p;g[l+20>>2]=o+ +g[l+20>>2];g[l+24>>2]=n+ +g[l+24>>2];s=c[j+32>>2]|0;n=+g[d>>2];o=1.0/+g[f+12>>2];p=+g[h+(m*152|0)+36>>2]*+g[s+548>>2]*n*o;q=n*+g[h+(m*152|0)+40>>2]*+g[s+552>>2]*o;g[l+48>>2]=+g[l+48>>2]+ +g[h+(m*152|0)+32>>2]*+g[s+544>>2]*n*o;g[l+52>>2]=p+ +g[l+52>>2];g[l+56>>2]=q+ +g[l+56>>2]}s=c[d>>2]|0;c[j+36>>2]=s;q=+N(+(c[k>>2]=s,+g[k>>2]));if(q>=+g[j+16>>2])a[j+20>>0]=0;m=m+1|0}while((m|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){l=0;do{e=c[b+16>>2]|0;h=e+(l*244|0)|0;j=c[e+(l*244|0)+240>>2]|0;if(j){if(!(c[f+44>>2]|0)){h=e+(l*244|0)+176|0;o=+g[e+(l*244|0)+64>>2]+ +g[h>>2];g[h>>2]=o;h=e+(l*244|0)+180|0;p=+g[e+(l*244|0)+68>>2]+ +g[h>>2];g[h>>2]=p;h=e+(l*244|0)+184|0;n=+g[e+(l*244|0)+72>>2]+ +g[h>>2];g[h>>2]=n;h=e+(l*244|0)+192|0;g[h>>2]=+g[e+(l*244|0)+80>>2]+ +g[h>>2];h=e+(l*244|0)+196|0;g[h>>2]=+g[e+(l*244|0)+84>>2]+ +g[h>>2];h=e+(l*244|0)+200|0;g[h>>2]=+g[e+(l*244|0)+88>>2]+ +g[h>>2];h=e;d=j}else{o=+g[f+12>>2];p=+g[f+52>>2];s=e+(l*244|0)+176|0;g[s>>2]=+g[e+(l*244|0)+64>>2]+ +g[s>>2];s=e+(l*244|0)+180|0;g[s>>2]=+g[e+(l*244|0)+68>>2]+ +g[s>>2];s=e+(l*244|0)+184|0;g[s>>2]=+g[e+(l*244|0)+72>>2]+ +g[s>>2];s=e+(l*244|0)+192|0;g[s>>2]=+g[e+(l*244|0)+80>>2]+ +g[s>>2];s=e+(l*244|0)+196|0;g[s>>2]=+g[e+(l*244|0)+84>>2]+ +g[s>>2];s=e+(l*244|0)+200|0;g[s>>2]=+g[e+(l*244|0)+88>>2]+ +g[s>>2];q=+g[e+(l*244|0)+144>>2];n=+g[e+(l*244|0)+148>>2];if((((!(q!=0.0|n!=0.0)?!(+g[e+(l*244|0)+152>>2]!=0.0):0)?!(+g[e+(l*244|0)+160>>2]!=0.0):0)?!(+g[e+(l*244|0)+164>>2]!=0.0):0)?!(+g[e+(l*244|0)+168>>2]!=0.0):0)d=j;else{u=+g[e+(l*244|0)+164>>2]*p;t=+g[e+(l*244|0)+168>>2]*p;g[r>>2]=+g[e+(l*244|0)+160>>2]*p;g[r+4>>2]=u;g[r+8>>2]=t;g[r+12>>2]=0.0;Zg(h,q,n,+g[e+(l*244|0)+152>>2],r,o,r+16|0);c[h>>2]=c[r+16>>2];c[h+4>>2]=c[r+16+4>>2];c[h+8>>2]=c[r+16+8>>2];c[h+12>>2]=c[r+16+12>>2];d=e+(l*244|0)+16|0;c[d>>2]=c[r+16+16>>2];c[d+4>>2]=c[r+16+16+4>>2];c[d+8>>2]=c[r+16+16+8>>2];c[d+12>>2]=c[r+16+16+12>>2];d=e+(l*244|0)+32|0;c[d>>2]=c[r+16+32>>2];c[d+4>>2]=c[r+16+32+4>>2];c[d+8>>2]=c[r+16+32+8>>2];c[d+12>>2]=c[r+16+32+12>>2];d=e+(l*244|0)+48|0;c[d>>2]=c[r+16+48>>2];c[d+4>>2]=c[r+16+48+4>>2];c[d+8>>2]=c[r+16+48+8>>2];c[d+12>>2]=c[r+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(l*244|0)+240>>2]|0}h=e;o=+g[e+(l*244|0)+176>>2];p=+g[e+(l*244|0)+180>>2];n=+g[e+(l*244|0)+184>>2]}u=o+ +g[h+(l*244|0)+208>>2];t=p+ +g[h+(l*244|0)+212>>2];q=n+ +g[h+(l*244|0)+216>>2];m=d+260|0;c[m>>2]=(c[m>>2]|0)+1;g[d+312>>2]=u;g[d+316>>2]=t;g[d+320>>2]=q;g[d+324>>2]=0.0;m=c[b+16>>2]|0;s=c[m+(l*244|0)+240>>2]|0;q=+g[m+(l*244|0)+192>>2]+ +g[m+(l*244|0)+224>>2];t=+g[m+(l*244|0)+196>>2]+ +g[m+(l*244|0)+228>>2];u=+g[m+(l*244|0)+200>>2]+ +g[m+(l*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=q;g[s+332>>2]=t;g[s+336>>2]=u;g[s+340>>2]=0.0;if(c[f+44>>2]|0){m=c[b+16>>2]|0;s=c[m+(l*244|0)+240>>2]|0;j=m+(l*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[j>>2];c[s+4+4>>2]=c[j+4>>2];c[s+4+8>>2]=c[j+8>>2];c[s+4+12>>2]=c[j+12>>2];j=m+(l*244|0)+16|0;c[s+20>>2]=c[j>>2];c[s+20+4>>2]=c[j+4>>2];c[s+20+8>>2]=c[j+8>>2];c[s+20+12>>2]=c[j+12>>2];j=m+(l*244|0)+32|0;c[s+36>>2]=c[j>>2];c[s+36+4>>2]=c[j+4>>2];c[s+36+8>>2]=c[j+8>>2];c[s+36+12>>2]=c[j+12>>2];m=m+(l*244|0)+48|0;c[s+52>>2]=c[m>>2];c[s+52+4>>2]=c[m+4>>2];c[s+52+8>>2]=c[m+8>>2];c[s+52+12>>2]=c[m+12>>2]}c[(c[(c[b+16>>2]|0)+(l*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}l=l+1|0}while((l|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;i=r;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;i=r;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;i=r;return 0.0}function ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0;u=i;i=i+704|0;c[u+480+8>>2]=0;c[u+480+12>>2]=1065353216;c[u+480+16>>2]=1065353216;c[u+480+20>>2]=1065353216;g[u+480+24>>2]=0.0;c[u+480>>2]=6672;c[u+480+4>>2]=8;g[u+480+28>>2]=0.0;g[u+480+44>>2]=0.0;g[u+416>>2]=1.0;m=u+416+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[u+416+20>>2]=1.0;n=u+416+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[u+416+40>>2]=1.0;g[u+416+44>>2]=0.0;c[u+416+48>>2]=c[a>>2];c[u+416+48+4>>2]=c[a+4>>2];c[u+416+48+8>>2]=c[a+8>>2];c[u+416+48+12>>2]=c[a+12>>2];a=e;l=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(l|0));c[u+536>>2]=b;c[u+536+4>>2]=u+480;H=+g[d>>2];G=+g[d+16>>2];F=+g[d+32>>2];E=+g[d+4>>2];D=+g[d+20>>2];C=+g[d+36>>2];s=+g[d+8>>2];q=+g[d+24>>2];o=+g[d+40>>2];g[u+536+8>>2]=H+G*0.0+F*0.0;g[u+536+12>>2]=E+D*0.0+C*0.0;g[u+536+16>>2]=s+q*0.0+o*0.0;g[u+536+20>>2]=0.0;g[u+536+24>>2]=H*0.0+G+F*0.0;g[u+536+28>>2]=E*0.0+D+C*0.0;g[u+536+32>>2]=s*0.0+q+o*0.0;g[u+536+36>>2]=0.0;g[u+536+40>>2]=H*0.0+G*0.0+F;g[u+536+44>>2]=E*0.0+D*0.0+C;g[u+536+48>>2]=s*0.0+q*0.0+o;g[u+536+52>>2]=0.0;o=+g[u+416+48>>2]-+g[d+48>>2];q=+g[u+416+52>>2]-+g[d+52>>2];s=+g[u+416+56>>2]-+g[d+56>>2];B=+g[u+416>>2];A=+g[u+416+16>>2];z=+g[u+416+32>>2];y=+g[m>>2];x=+g[u+416+20>>2];w=+g[u+416+36>>2];v=+g[u+416+8>>2];f=+g[n>>2];h=+g[u+416+40>>2];p=+g[d+8>>2];r=+g[d+24>>2];t=+g[d+40>>2];j=o*+g[d>>2]+q*+g[d+16>>2]+s*+g[d+32>>2];k=o*+g[d+4>>2]+q*+g[d+20>>2]+s*+g[d+36>>2];g[u+536+56>>2]=H*B+G*A+F*z;g[u+536+60>>2]=H*y+G*x+F*w;g[u+536+64>>2]=H*v+G*f+F*h;g[u+536+68>>2]=0.0;g[u+536+72>>2]=B*E+A*D+z*C;g[u+536+76>>2]=y*E+x*D+w*C;g[u+536+80>>2]=v*E+f*D+h*C;g[u+536+84>>2]=0.0;g[u+536+88>>2]=B*p+A*r+z*t;g[u+536+92>>2]=y*p+x*r+w*t;g[u+536+96>>2]=v*p+f*r+h*t;g[u+536+100>>2]=0.0;g[u+536+104>>2]=j;g[u+536+108>>2]=k;g[u+536+112>>2]=o*p+q*r+s*t;g[u+536+116>>2]=0.0;c[u+536+120>>2]=80;c[u+536+124>>2]=0;a=u+32+128|0;c[u+32+364>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[u+32+376>>2]=2;c[u+32+368>>2]=0;g[u+32+144>>2]=0.0;c[u+16>>2]=1065353216;c[u+16+4>>2]=1065353216;c[u+16+8>>2]=1065353216;g[u+16+12>>2]=0.0;switch(Uc(u+32|0,u+536|0,u+16|0)|0){case 0:{a=c[u+32+372>>2]|0;if(!(c[a+32>>2]|0)){k=0.0;j=0.0;f=0.0;r=0.0;q=0.0;h=0.0}else{n=0;k=0.0;j=0.0;f=0.0;r=0.0;q=0.0;h=0.0;do{t=+g[a+16+(n<<2)>>2];l=c[u+536+120>>2]|0;I=c[u+536+124>>2]|0;m=(c[u+536>>2]|0)+(I>>1)|0;if(I&1)l=c[(c[m>>2]|0)+l>>2]|0;ic[l&127](u,m,c[a+(n<<2)>>2]|0);k=k+t*+g[u>>2];f=f+t*+g[u+4>>2];j=j+t*+g[u+8>>2];a=c[(c[u+32+372>>2]|0)+(n<<2)>>2]|0;o=-+g[a>>2];p=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+536+120>>2]|0;I=c[u+536+124>>2]|0;l=(c[u+536+4>>2]|0)+(I>>1)|0;if(I&1)a=c[(c[l>>2]|0)+a>>2]|0;G=+g[u+536+24>>2]*o+ +g[u+536+28>>2]*p+ +g[u+536+32>>2]*s;F=+g[u+536+40>>2]*o+ +g[u+536+44>>2]*p+ +g[u+536+48>>2]*s;g[u+664>>2]=+g[u+536+8>>2]*o+ +g[u+536+12>>2]*p+ +g[u+536+16>>2]*s;g[u+664+4>>2]=G;g[u+664+8>>2]=F;g[u+664+12>>2]=0.0;ic[a&127](u+680|0,l,u+664|0);F=+g[u+680>>2];G=+g[u+680+4>>2];H=+g[u+680+8>>2];r=r+t*(F*+g[u+536+56>>2]+G*+g[u+536+60>>2]+H*+g[u+536+64>>2]+ +g[u+536+104>>2]);h=h+t*(F*+g[u+536+72>>2]+G*+g[u+536+76>>2]+H*+g[u+536+80>>2]+ +g[u+536+108>>2]);q=q+t*(F*+g[u+536+88>>2]+G*+g[u+536+92>>2]+H*+g[u+536+96>>2]+ +g[u+536+112>>2]);n=n+1|0;a=c[u+32+372>>2]|0}while(n>>>0<(c[a+32>>2]|0)>>>0)}s=k*+g[d>>2]+f*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];t=k*+g[d+16>>2]+f*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];k=k*+g[d+32>>2]+f*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=s;g[e+8>>2]=t;g[e+12>>2]=k;g[e+16>>2]=0.0;o=r*+g[d>>2]+h*+g[d+4>>2]+q*+g[d+8>>2]+ +g[d+48>>2];p=r*+g[d+16>>2]+h*+g[d+20>>2]+q*+g[d+24>>2]+ +g[d+52>>2];j=r*+g[d+32>>2]+h*+g[d+36>>2]+q*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=o;g[e+24>>2]=p;g[e+28>>2]=j;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+Sb[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+480+4>>2]|0){case 8:{h=+g[u+480+28>>2]*+g[u+480+12>>2];break}case 0:{h=+g[u+480+44>>2];break}case 1:{h=+g[u+480+44>>2];break}case 13:{h=+g[u+480+44>>2];break}case 11:{h=+g[u+480+44>>2];break}case 10:{h=+g[u+480+44>>2];break}case 4:case 5:{h=+g[u+480+44>>2];break}default:h=+Sb[c[(c[u+480>>2]|0)+48>>2]&15](u+480|0)}H=f+h;G=+O(+((o-s)*(o-s)+(p-t)*(p-t)+(j-k)*(j-k)));g[e+36>>2]=(o-s)*(1.0/G);g[e+40>>2]=(p-t)*(1.0/G);g[e+44>>2]=(j-k)*(1.0/G);g[e+48>>2]=0.0;g[e+4>>2]=H*(o-s)*(1.0/G)+ +g[e+4>>2];g[e+8>>2]=H*(p-t)*(1.0/G)+ +g[e+8>>2];g[e+12>>2]=H*(j-k)*(1.0/G)+ +g[e+12>>2];H=G-H;i=u;return +H}case 1:{if(!(Pc(b,d,u+480|0,u+416|0,a,e,1)|0)){H=3402823466385288598117041.0e14;i=u;return +H}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];j=+g[e+12>>2]-+g[e+28>>2];k=+O(+(f*f+h*h+j*j));if(k>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/k);g[e+40>>2]=h*(1.0/k);g[e+44>>2]=j*(1.0/k);g[e+48>>2]=0.0}H=-k;i=u;return +H}default:{H=3402823466385288598117041.0e14;i=u;return +H}}return 0.0}function fd(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;o=i;i=i+48|0;d=c[a+24>>2]|0;if((d|0)<=0){i=o;return}n=0;do{m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+216>>2]|0){case 2:case 5:break;default:{Wd(m,0);d=c[m+732>>2]|0;if((d|0)>0){e=0;do{l=c[m+740>>2]|0;j=c[l+(e*52|0)+12>>2]|0;k=c[l+(e*52|0)+8>>2]|0;y=+g[j+24>>2]-+g[k+24>>2];x=+g[j+28>>2]-+g[k+28>>2];b=+g[j+32>>2]-+g[k+32>>2];g[l+(e*52|0)+36>>2]=y;g[l+(e*52|0)+40>>2]=x;g[l+(e*52|0)+44>>2]=b;g[l+(e*52|0)+48>>2]=0.0;g[l+(e*52|0)+32>>2]=1.0/(+g[l+(e*52|0)+24>>2]*(y*y+x*x+b*b));e=e+1|0}while((e|0)!=(d|0))}e=c[m+792>>2]|0;if((e|0)>0){b=+g[m+452>>2];f=0;do{l=c[m+800>>2]|0;d=l+(f*96|0)+20|0;h=c[d>>2]|0;B=+g[l+(f*96|0)+4>>2];A=+g[l+(f*96|0)+8>>2];y=+g[l+(f*96|0)+12>>2];z=+g[h+4>>2]*B+ +g[h+8>>2]*A+ +g[h+12>>2]*y;x=B*+g[h+20>>2]+A*+g[h+24>>2]+y*+g[h+28>>2];y=B*+g[h+36>>2]+A*+g[h+40>>2]+y*+g[h+44>>2];j=l+(f*96|0)+28|0;k=l+(f*96|0)|0;Pf(o,b,+g[(c[k>>2]|0)+88>>2],+g[h+344>>2],h+264|0,z,x,y);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];j=l+(f*96|0)+44|0;c[j>>2]=c[o+16>>2];c[j+4>>2]=c[o+16+4>>2];c[j+8>>2]=c[o+16+8>>2];c[j+12>>2]=c[o+16+12>>2];j=l+(f*96|0)+60|0;c[j>>2]=c[o+32>>2];c[j+4>>2]=c[o+32+4>>2];c[j+8>>2]=c[o+32+8>>2];c[j+12>>2]=c[o+32+12>>2];g[l+(f*96|0)+76>>2]=z;g[l+(f*96|0)+80>>2]=x;g[l+(f*96|0)+84>>2]=y;g[l+(f*96|0)+88>>2]=0.0;b=+g[m+452>>2];g[l+(f*96|0)+92>>2]=b*+g[(c[k>>2]|0)+88>>2];d=c[d>>2]|0;if(!(c[d+204>>2]&3)){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0}f=f+1|0}while((f|0)!=(e|0))}d=c[m+372>>2]|0;if((d|0)>0){e=c[m+396>>2]|0;f=0;do{if((e|0)>0){d=0;do{zb[((c[(c[m+404>>2]|0)+(d<<2)>>2]|0)==0?23:0)&31](m,1.0);d=d+1|0;e=c[m+396>>2]|0}while((d|0)<(e|0));d=c[m+372>>2]|0}f=f+1|0}while((f|0)<(d|0));d=c[m+712>>2]|0;if((d|0)>0){e=0;do{l=c[m+720>>2]|0;z=+g[m+452>>2];A=z*+g[l+(e*104|0)+44>>2]+ +g[l+(e*104|0)+28>>2];B=z*+g[l+(e*104|0)+48>>2]+ +g[l+(e*104|0)+32>>2];g[l+(e*104|0)+8>>2]=+g[l+(e*104|0)+40>>2]*z+ +g[l+(e*104|0)+24>>2];g[l+(e*104|0)+12>>2]=A;g[l+(e*104|0)+16>>2]=B;g[l+(e*104|0)+20>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}}d=c[m+376>>2]|0;if((d|0)>0){e=c[m+416>>2]|0;h=0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:d=0}Nb[d&7](m,1.0,b);f=f+1|0;e=c[m+416>>2]|0}while((f|0)<(e|0));d=c[m+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+456>>2]*(1.0-+g[m+296>>2]);d=c[m+712>>2]|0;if((d|0)>0){e=0;do{l=c[m+720>>2]|0;A=b*(+g[l+(e*104|0)+12>>2]-+g[l+(e*104|0)+28>>2]);B=b*(+g[l+(e*104|0)+16>>2]-+g[l+(e*104|0)+32>>2]);g[l+(e*104|0)+40>>2]=b*(+g[l+(e*104|0)+8>>2]-+g[l+(e*104|0)+24>>2]);g[l+(e*104|0)+44>>2]=A;g[l+(e*104|0)+48>>2]=B;l=l+(e*104|0)+52|0;e=e+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0}while((e|0)!=(d|0))}}d=c[m+380>>2]|0;if((d|0)>0){b=+g[m+292>>2]*+g[m+456>>2];e=c[m+712>>2]|0;if((e|0)>0){d=0;do{k=c[m+720>>2]|0;l=k+(d*104|0)+24|0;k=k+(d*104|0)+8|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[m+380>>2]|0;if((d|0)>0)w=42}else w=42;if((w|0)==42){w=0;e=c[m+436>>2]|0;h=0;do{if((e|0)>0){f=0;do{switch(c[(c[m+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:d=0}Nb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+436>>2]|0}while((f|0)<(e|0));d=c[m+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}d=c[m+712>>2]|0;if((d|0)>0){e=c[m+720>>2]|0;f=0;do{A=b*(+g[e+(f*104|0)+12>>2]-+g[e+(f*104|0)+28>>2]);B=b*(+g[e+(f*104|0)+16>>2]-+g[e+(f*104|0)+32>>2]);l=e+(f*104|0)+40|0;g[l>>2]=b*(+g[e+(f*104|0)+8>>2]-+g[e+(f*104|0)+24>>2])+ +g[l>>2];l=e+(f*104|0)+44|0;g[l>>2]=A+ +g[l>>2];l=e+(f*104|0)+48|0;g[l>>2]=B+ +g[l>>2];f=f+1|0}while((f|0)!=(d|0))}}d=c[m+1112>>2]|0;if((d|0)>0){e=c[m+1120>>2]|0;k=0;do{f=c[e+(k<<2)>>2]|0;if(+g[f+352>>2]>0.0?(p=c[f+24>>2]|0,(p|0)>0):0){h=c[f+32>>2]|0;l=0;do{j=c[h+(l<<2)>>2]|0;if(+g[j+88>>2]>0.0?(t=+g[j+24>>2]-+g[f+228>>2],v=+g[j+28>>2]-+g[f+232>>2],r=+g[j+32>>2]-+g[f+236>>2],s=+g[f+336>>2],B=+g[f+340>>2],u=+g[f+332>>2],q=+g[f+316>>2]+(s*r-v*B),r=+g[f+320>>2]+(t*B-r*u),s=v*u-t*s+ +g[f+324>>2],t=+g[j+40>>2],u=+g[j+44>>2],v=+g[j+48>>2],q*q+r*r+s*s<=t*t+u*u+v*v):0){B=+g[f+352>>2];g[j+40>>2]=t+(q-t)*B;g[j+44>>2]=(r-u)*B+u;g[j+48>>2]=(s-v)*B+v}l=l+1|0}while((l|0)!=(p|0))}k=k+1|0}while((k|0)!=(d|0))}Wd(m,1);d=c[a+24>>2]|0}}n=n+1|0}while((n|0)<(d|0));i=o;return}function gd(d,e){d=d|0;e=+e;var f=0,h=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0;s=i;i=i+304|0;li(12028);a:do if((c[d+232>>2]|0)>0){n=s+136+48|0;o=0;while(1){m=c[(c[d+240>>2]|0)+(o<<2)>>2]|0;g[m+244>>2]=1.0;b:do switch(c[m+216>>2]|0){case 2:case 5:break;default:if(!(c[m+204>>2]&3)){Zg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,e,s+136|0);h=+g[n>>2]-+g[m+52>>2];k=+g[s+136+52>>2]-+g[m+56>>2];l=+g[s+136+56>>2]-+g[m+60>>2];if(a[d+44>>0]|0?(t=+g[m+252>>2],t*t!=0.0?t*t>2]|0)+4>>2]|0)<20){c[5816]=(c[5816]|0)+1;f=c[d+68>>2]|0;f=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;j=c[d+24>>2]|0;g[s+200+4>>2]=1.0;b[s+200+8>>1]=1;b[s+200+10>>1]=-1;c[s+200>>2]=2872;c[s+200+12>>2]=c[m+52>>2];c[s+200+12+4>>2]=c[m+52+4>>2];c[s+200+12+8>>2]=c[m+52+8>>2];c[s+200+12+12>>2]=c[m+52+12>>2];c[s+200+28>>2]=c[n>>2];c[s+200+28+4>>2]=c[n+4>>2];c[s+200+28+8>>2]=c[n+8>>2];c[s+200+28+12>>2]=c[n+12>>2];c[s+200+76>>2]=0;c[s+200>>2]=4332;c[s+200+80>>2]=m;c[s+200+88>>2]=f;c[s+200+92>>2]=j;j=c[m+248>>2]|0;c[s+64+8>>2]=0;c[s+64+12>>2]=1065353216;c[s+64+16>>2]=1065353216;c[s+64+20>>2]=1065353216;g[s+64+24>>2]=0.0;c[s+64>>2]=6672;c[s+64+4>>2]=8;c[s+64+28>>2]=j;c[s+64+44>>2]=j;c[s+200+84>>2]=c[d+56>>2];j=c[(c[m+188>>2]|0)+4>>2]|0;b[s+200+8>>1]=j;b[s+200+10>>1]=j>>>16;c[s+48>>2]=c[n>>2];c[s+48+4>>2]=c[n+4>>2];c[s+48+8>>2]=c[n+8>>2];c[s+48+12>>2]=c[n+12>>2];c[s>>2]=c[m+4>>2];c[s+4>>2]=c[m+4+4>>2];c[s+8>>2]=c[m+4+8>>2];c[s+12>>2]=c[m+4+12>>2];c[s+16>>2]=c[m+20>>2];c[s+16+4>>2]=c[m+20+4>>2];c[s+16+8>>2]=c[m+20+8>>2];c[s+16+12>>2]=c[m+20+12>>2];c[s+32>>2]=c[m+36>>2];c[s+32+4>>2]=c[m+36+4>>2];c[s+32+8>>2]=c[m+36+8>>2];c[s+32+12>>2]=c[m+36+12>>2];Kd(d,s+64|0,m+4|0,s,s+200|0,0.0);h=+g[s+200+4>>2];if(h<1.0){g[m+244>>2]=h;Zg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,h*e,s+136|0);g[m+244>>2]=0.0;Se(m,s+136|0);f=4}else f=0;if(!f)p=12}else p=12;if((p|0)==12){p=0;f=0}j=c[2357]|0;u=(c[j+16>>2]|0)+-1|0;c[j+16>>2]=u;do if(!u){if(c[j+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[j+8>>2]=+g[j+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[j+12>>2]|0)|0)>>>0)/1.0e3;if(c[j+16>>2]|0)break;j=c[2357]|0}c[2357]=c[j+20>>2]}while(0);if(f|0)break b}Se(m,s+136|0)}}while(0);o=o+1|0;if((o|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){li(12105);if((c[d+308>>2]|0)>0){p=0;do{o=c[(c[d+316>>2]|0)+(p<<2)>>2]|0;m=c[o+740>>2]|0;m=(c[m+236>>2]&2|0)==0?0:m;n=c[o+744>>2]|0;n=(c[n+236>>2]&2|0)==0?0:n;f=c[o+748>>2]|0;if((f|0)>0)if(!m){j=0;do{h=+g[57]*+g[n+228>>2];if(h>0.0?(q=+g[o+4+(j*184|0)+120>>2],q!=0.0):0){l=h*+g[o+4+(j*184|0)+64>>2]*q;e=h*+g[o+4+(j*184|0)+68>>2]*q;t=h*+g[o+4+(j*184|0)+72>>2]*q;h=+g[o+4+(j*184|0)+36>>2]-+g[n+56>>2];k=+g[o+4+(j*184|0)+40>>2]-+g[n+60>>2];g[s>>2]=+g[o+4+(j*184|0)+32>>2]-+g[n+52>>2];g[s+4>>2]=h;g[s+8>>2]=k;g[s+12>>2]=0.0;g[s+120>>2]=l;g[s+120+4>>2]=e;g[s+120+8>>2]=t;g[s+120+12>>2]=0.0;gj(n,s+120|0,s);f=c[o+748>>2]|0}j=j+1|0}while((j|0)<(f|0))}else{j=0;do{h=+g[m+228>>2]*+g[n+228>>2];if(h>0.0?(r=+g[o+4+(j*184|0)+120>>2],r!=0.0):0){l=h*+g[o+4+(j*184|0)+64>>2]*r;e=h*+g[o+4+(j*184|0)+68>>2]*r;t=h*+g[o+4+(j*184|0)+72>>2]*r;g[s+200>>2]=-l;g[s+200+4>>2]=-e;g[s+200+8>>2]=-t;g[s+200+12>>2]=0.0;k=+g[o+4+(j*184|0)+52>>2]-+g[m+56>>2];h=+g[o+4+(j*184|0)+56>>2]-+g[m+60>>2];g[s+64>>2]=+g[o+4+(j*184|0)+48>>2]-+g[m+52>>2];g[s+64+4>>2]=k;g[s+64+8>>2]=h;g[s+64+12>>2]=0.0;h=+g[o+4+(j*184|0)+36>>2]-+g[n+56>>2];k=+g[o+4+(j*184|0)+40>>2]-+g[n+60>>2];g[s>>2]=+g[o+4+(j*184|0)+32>>2]-+g[n+52>>2];g[s+4>>2]=h;g[s+8>>2]=k;g[s+12>>2]=0.0;gj(m,s+200|0,s+64|0);g[s+120>>2]=l;g[s+120+4>>2]=e;g[s+120+8>>2]=t;g[s+120+12>>2]=0.0;gj(n,s+120|0,s);f=c[o+748>>2]|0}j=j+1|0}while((j|0)<(f|0))}p=p+1|0}while((p|0)<(c[d+308>>2]|0))}f=c[2357]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(!u){if(c[f+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}}while(0);f=c[2357]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(u|0){i=s;return}do if(c[f+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2357]|0;break}else{i=s;return}}while(0);c[2357]=c[f+20>>2];i=s;return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;h=c[6442]|0;if((a+-8|0)>>>0>>0)Va();b=c[a+-4>>2]|0;if((b&3|0)==1)Va();n=a+-8+(b&-8)|0;do if(!(b&1)){e=c[a+-8>>2]|0;if(!(b&3))return;k=a+-8+(0-e)|0;j=e+(b&-8)|0;if(k>>>0>>0)Va();if((k|0)==(c[6443]|0)){a=c[n+4>>2]|0;if((a&3|0)!=3){q=k;f=j;break}c[6440]=j;c[n+4>>2]=a&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}if(e>>>0<256){a=c[k+8>>2]|0;b=c[k+12>>2]|0;if((a|0)!=(25792+(e>>>3<<1<<2)|0)){if(a>>>0>>0)Va();if((c[a+12>>2]|0)!=(k|0))Va()}if((b|0)==(a|0)){c[6438]=c[6438]&~(1<<(e>>>3));q=k;f=j;break}if((b|0)!=(25792+(e>>>3<<1<<2)|0)){if(b>>>0>>0)Va();if((c[b+8>>2]|0)!=(k|0))Va();else d=b+8|0}else d=b+8|0;c[a+12>>2]=b;c[d>>2]=a;q=k;f=j;break}g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){i=0;break}else e=k+16|0}else e=k+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}if(e>>>0>>0)Va();else{c[e>>2]=0;i=a;break}}else{b=c[k+8>>2]|0;if(b>>>0>>0)Va();if((c[b+12>>2]|0)!=(k|0))Va();if((c[a+8>>2]|0)==(k|0)){c[b+12>>2]=a;c[a+8>>2]=b;i=a;break}else Va()}while(0);if(g){a=c[k+28>>2]|0;if((k|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=i;if(!i){c[6439]=c[6439]&~(1<>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(k|0))c[g+16>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}b=c[6442]|0;if(i>>>0>>0)Va();c[i+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0>>0)Va();else{c[i+16>>2]=a;c[a+24>>2]=i;break}while(0);a=c[k+16+4>>2]|0;if(a)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=a+-8|0;f=b&-8}while(0);if(q>>>0>=n>>>0)Va();d=c[n+4>>2]|0;if(!(d&1))Va();if(!(d&2)){if((n|0)==(c[6444]|0)){p=(c[6441]|0)+f|0;c[6441]=p;c[6444]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6443]|0))return;c[6443]=0;c[6440]=0;return}if((n|0)==(c[6443]|0)){p=(c[6440]|0)+f|0;c[6440]=p;c[6443]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(d&-8)+f|0;do if(d>>>0>=256){g=c[n+24>>2]|0;a=c[n+12>>2]|0;do if((a|0)==(n|0)){a=c[n+16+4>>2]|0;if(!a){a=c[n+16>>2]|0;if(!a){m=0;break}else e=n+16|0}else e=n+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}if(e>>>0<(c[6442]|0)>>>0)Va();else{c[e>>2]=0;m=a;break}}else{b=c[n+8>>2]|0;if(b>>>0<(c[6442]|0)>>>0)Va();if((c[b+12>>2]|0)!=(n|0))Va();if((c[a+8>>2]|0)==(n|0)){c[b+12>>2]=a;c[a+8>>2]=b;m=a;break}else Va()}while(0);if(g|0){a=c[n+28>>2]|0;if((n|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=m;if(!m){c[6439]=c[6439]&~(1<>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(n|0))c[g+16>>2]=m;else c[g+20>>2]=m;if(!m)break}b=c[6442]|0;if(m>>>0>>0)Va();c[m+24>>2]=g;a=c[n+16>>2]|0;do if(a|0)if(a>>>0>>0)Va();else{c[m+16>>2]=a;c[a+24>>2]=m;break}while(0);a=c[n+16+4>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}}else{a=c[n+8>>2]|0;b=c[n+12>>2]|0;if((a|0)!=(25792+(d>>>3<<1<<2)|0)){if(a>>>0<(c[6442]|0)>>>0)Va();if((c[a+12>>2]|0)!=(n|0))Va()}if((b|0)==(a|0)){c[6438]=c[6438]&~(1<<(d>>>3));break}if((b|0)!=(25792+(d>>>3<<1<<2)|0)){if(b>>>0<(c[6442]|0)>>>0)Va();if((c[b+8>>2]|0)!=(n|0))Va();else l=b+8|0}else l=b+8|0;c[a+12>>2]=b;c[l>>2]=a}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[6443]|0)){c[6440]=f;return}}else{c[n+4>>2]=d&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}b=f>>>3;if(f>>>0<256){a=c[6438]|0;if(a&1<>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{o=25792+(b<<1<<2)+8|0;p=a}}else{c[6438]=a|1<>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=25792+(b<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)d=31;else{d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6439]|0;b=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=127;break}else{d=d<<1;e=a}}if((a|0)==127)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[6442]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else Va()}}else{c[6439]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6446]|0)+-1|0;c[6446]=q;if(!q)a=26208;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6446]=-1;return}function id(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0;s=i;i=i+112|0;q=c[b+716>>2]|0;if((q|0)==(c[b+712>>2]|0)){a:do if(q){k=c[b+720>>2]|0;if((q|0)>0){h=k;j=0;while(1){f=c[h+(j*104|0)+96>>2]|0;if(f|0)c[f+36>>2]=j;f=j+1|0;if((f|0)==(q|0))break a;h=c[b+720>>2]|0;j=f}}}else k=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){j=0;do{h=(c[b+760>>2]|0)+(j*44|0)+8|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(j*44|0)+12|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(j*44|0)+16|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=c[(c[b+760>>2]|0)+(j*44|0)+40>>2]|0;if(h|0)c[h+36>>2]=j;j=j+1|0}while((j|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;j=0;do{o=h+(j*96|0)|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;j=j+1|0}while((j|0)!=(f|0))}j=c[b+692>>2]|0;if((j|0)>0){f=c[b+700>>2]|0;l=0;do{if((c[f+(l*60|0)+24>>2]|0)>0){h=0;do{f=f+(l*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-k|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(l*60|0)+24>>2]|0))}l=l+1|0}while((l|0)!=(j|0))}if((q|0)<(q<<1|1|0)){c[6435]=(c[6435]|0)+1;f=yc(((q<<1|1)*104|3)+16|0)|0;if(!f)j=0;else{c[(f+4+15&-16)+-4>>2]=f;j=f+4+15&-16}f=c[b+712>>2]|0;if((f|0)>0){h=0;do{l=j+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=l+104|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=q<<1|1;j=c[b+712>>2]|0}else j=q;b:do if(j){k=c[b+720>>2]|0;if((j|0)>0){l=k;f=0;while(1){h=c[l+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=l+(f*104|0);f=f+1|0;if((f|0)==(j|0)){l=k;break b}l=c[b+720>>2]|0}}else l=k}else l=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{q=(c[b+740>>2]|0)+(h*52|0)+8|0;c[q>>2]=l+((c[q>>2]|0)*104|0);q=(c[b+740>>2]|0)+(h*52|0)+12|0;c[q>>2]=l+((c[q>>2]|0)*104|0);h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){k=0;do{h=(c[b+760>>2]|0)+(k*44|0)+8|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(k*44|0)+12|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(k*44|0)+16|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=c[b+760>>2]|0;j=c[h+(k*44|0)+40>>2]|0;if(j|0)c[j+36>>2]=h+(k*44|0);k=k+1|0}while((k|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;j=0;do{c[h+(j*96|0)>>2]=l+((c[h+(j*96|0)>>2]|0)*104|0);j=j+1|0}while((j|0)!=(f|0))}j=c[b+692>>2]|0;if((j|0)>0){f=c[b+700>>2]|0;k=0;do{if((c[f+(k*60|0)+24>>2]|0)>0){h=0;do{f=f+(k*60|0)+28+(h<<2)|0;c[f>>2]=l+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(k*60|0)+24>>2]|0))}k=k+1|0}while((k|0)!=(j|0))}}l=c[b+192>>2]|0;p=+Sb[c[(c[l>>2]|0)+48>>2]&15](l);l=s;o=l+100|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((r*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+712>>2]|0}if((f|0)>0){h=0;do{l=j+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=l+104|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=r;f=c[b+712>>2]|0}l=c[b+720>>2]|0;c[l+(f*104|0)>>2]=0;l=l+(f*104|0)+4|0;k=s;o=l+100|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;j=c[b+720>>2]|0;l=j+(h*104|0)|0;o=l+104|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));c[j+(h*104|0)+8>>2]=c[d>>2];c[j+(h*104|0)+8+4>>2]=c[d+4>>2];c[j+(h*104|0)+8+8>>2]=c[d+8>>2];c[j+(h*104|0)+8+12>>2]=c[d+12>>2];Bp(j+(h*104|0)+24|0,d|0,16)|0;g[j+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[j+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[j+(h*104|0)+8>>2];m=+g[j+(h*104|0)+12>>2];n=+g[j+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=j+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;lf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=j+(h*104|0)+96|0;c[b>>2]=d;i=s;return}c[6435]=(c[6435]|0)+1;f=yc(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}l=f;o=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=j+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;lf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=j+(h*104|0)+96|0;c[b>>2]=d;i=s;return}function jd(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;G=i;i=i+32|0;c[G+16>>2]=j;c[G+16+4>>2]=k;c[G+16+8>>2]=l;c[G>>2]=e;c[G+4>>2]=f;c[G+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;i=G;return m|0}E=+g[d+36>>2];F=+g[d+40>>2];w=+g[d+44>>2];h=c[d+48>>2]|0;x=1.0/+O(+(E*E+F*F+w*w));l=ri(G)|0;y=+g[d+4>>2]-+g[l+48>>2];z=+g[d+8>>2]-+g[l+52>>2];A=+g[d+12>>2]-+g[l+56>>2];l=ri(G+16|0)|0;B=+g[d+20>>2]-+g[l+48>>2];C=+g[d+24>>2]-+g[l+52>>2];D=+g[d+28>>2]-+g[l+56>>2];if(!f)if(!e){n=0.0;o=0.0;r=0.0;s=0.0;p=0.0;q=0.0}else{q=+g[e+336>>2];r=+g[e+340>>2];v=+g[e+332>>2];n=A*q-z*r;o=+g[e+316>>2];r=y*r-A*v;s=+g[e+320>>2];p=+g[e+324>>2];q=z*v-y*q}else{q=+g[f+332>>2];r=+g[f+336>>2];v=+g[f+328>>2];n=A*q-z*r;o=+g[f+312>>2];r=y*r-A*v;s=+g[f+316>>2];p=+g[f+320>>2];q=z*v-y*q}v=o+n;u=s+r;t=p+q;if(!k)if(!j){p=0.0;q=0.0;r=0.0;s=0.0;n=0.0;o=0.0}else{o=+g[j+336>>2];r=+g[j+340>>2];H=+g[j+332>>2];p=D*o-C*r;q=+g[j+316>>2];r=B*r-D*H;s=+g[j+320>>2];n=+g[j+324>>2];o=C*H-B*o}else{o=+g[k+332>>2];r=+g[k+336>>2];H=+g[k+328>>2];p=D*o-C*r;q=+g[k+312>>2];r=B*r-D*H;s=+g[k+316>>2];n=+g[k+320>>2];o=C*H-B*o}q=v-(q+p);u=u-(s+r);t=t-(n+o);v=w*x*t+(F*x*u+E*x*q);H=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[G>>2];c[m+4+4>>2]=c[G+4>>2];c[m+4+8>>2]=c[G+8>>2];c[m+16>>2]=c[G+16>>2];c[m+16+4>>2]=c[G+16+4>>2];c[m+16+8>>2]=c[G+16+8>>2];d=ri(G)|0;s=y*+g[d+4>>2]+z*+g[d+20>>2]+A*+g[d+36>>2];r=y*+g[d+8>>2]+z*+g[d+24>>2]+A*+g[d+40>>2];g[m+28>>2]=y*+g[d>>2]+z*+g[d+16>>2]+A*+g[d+32>>2];g[m+32>>2]=s;g[m+36>>2]=r;g[m+40>>2]=0.0;d=ri(G+16|0)|0;r=B*+g[d+4>>2]+C*+g[d+20>>2]+D*+g[d+36>>2];s=B*+g[d+8>>2]+C*+g[d+24>>2]+D*+g[d+40>>2];g[m+44>>2]=B*+g[d>>2]+C*+g[d+16>>2]+D*+g[d+32>>2];g[m+48>>2]=r;g[m+52>>2]=s;g[m+56>>2]=0.0;g[m+164>>2]=y;g[m+168>>2]=z;g[m+172>>2]=A;g[m+176>>2]=0.0;g[m+180>>2]=B;g[m+184>>2]=C;g[m+188>>2]=D;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=E*x*H;g[m+76>>2]=F*x*H;g[m+80>>2]=w*x*H;g[m+84>>2]=0.0;g[m+196>>2]=E*x;g[m+200>>2]=F*x;g[m+204>>2]=w*x;c[m+208>>2]=h;a[m+152>>0]=0;H=+g[b+16>>2];g[m+212>>2]=(t-w*x*v)*(t-w*x*v)+((q-E*x*v)*(q-E*x*v)+(u-F*x*v)*(u-F*x*v))>2]|0;if(!h){h=c[G>>2]|0;if(!h)o=0.0;else o=+g[h+128>>2]}else o=+g[h+344>>2];if((a[22504]|0)==0?Wa(22504)|0:0){h=23084;l=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(l|0));_a(22504)}h=c[G+4>>2]|0;if(!h){e=c[G>>2]|0;e=(e|0)==0?23084:e+180|0}else e=h+264|0;h=c[G+16+4>>2]|0;if(!h){h=c[G+16>>2]|0;if(!h)n=0.0;else n=+g[h+128>>2]}else n=+g[h+344>>2];if((a[22504]|0)==0?Wa(22504)|0:0){h=23084;l=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(l|0));_a(22504)}h=c[G+16+4>>2]|0;if(!h){h=c[G+16>>2]|0;h=(h|0)==0?23084:h+180|0}else h=h+264|0;V=+g[m+172>>2];M=+g[m+168>>2];L=+g[m+164>>2];U=+g[e>>2];T=+g[e+16>>2];S=+g[e+32>>2];R=+g[e+4>>2];Q=+g[e+20>>2];P=+g[e+36>>2];N=+g[e+8>>2];K=+g[e+24>>2];J=+g[e+40>>2];B=+g[m+188>>2];v=+g[m+184>>2];w=+g[m+180>>2];I=+g[h>>2];p=+g[h+16>>2];q=+g[h+32>>2];r=+g[h+4>>2];s=+g[h+20>>2];t=+g[h+36>>2];u=+g[h+8>>2];H=+g[h+24>>2];x=+g[h+40>>2];D=o-((U*0.0+T*-V+M*S)*0.0+V*(R*0.0+Q*-V+M*P)+(N*0.0+K*-V+M*J)*-M)+(n-((I*0.0+p*-B+v*q)*0.0+B*(r*0.0+s*-B+v*t)+(u*0.0+H*-B+v*x)*-v));F=0.0-((U*0.0+T*-V+M*S)*-V+(R*0.0+Q*-V+M*P)*0.0+L*(N*0.0+K*-V+M*J))+(0.0-((I*0.0+p*-B+v*q)*-B+(r*0.0+s*-B+v*t)*0.0+w*(u*0.0+H*-B+v*x)));y=0.0-(M*(U*0.0+T*-V+M*S)+(R*0.0+Q*-V+M*P)*-L+(N*0.0+K*-V+M*J)*0.0)+(0.0-(v*(I*0.0+p*-B+v*q)+(r*0.0+s*-B+v*t)*-w+(u*0.0+H*-B+v*x)*0.0));E=0.0-((V*U+T*0.0+S*-L)*0.0+V*(V*R+Q*0.0+P*-L)+(V*N+K*0.0+J*-L)*-M)+(0.0-((B*I+p*0.0+q*-w)*0.0+B*(B*r+s*0.0+t*-w)+(B*u+H*0.0+x*-w)*-v));C=o-((V*U+T*0.0+S*-L)*-V+(V*R+Q*0.0+P*-L)*0.0+L*(V*N+K*0.0+J*-L))+(n-((B*I+p*0.0+q*-w)*-B+(B*r+s*0.0+t*-w)*0.0+w*(B*u+H*0.0+x*-w)));z=0.0-(M*(V*U+T*0.0+S*-L)+(V*R+Q*0.0+P*-L)*-L+(V*N+K*0.0+J*-L)*0.0)+(0.0-(v*(B*I+p*0.0+q*-w)+(B*r+s*0.0+t*-w)*-w+(B*u+H*0.0+x*-w)*0.0));A=0.0-((U*-M+L*T+S*0.0)*0.0+V*(R*-M+L*Q+P*0.0)+(N*-M+L*K+J*0.0)*-M)+(0.0-((I*-v+w*p+q*0.0)*0.0+B*(r*-v+w*s+t*0.0)+(u*-v+w*H+x*0.0)*-v));B=0.0-((U*-M+L*T+S*0.0)*-V+(R*-M+L*Q+P*0.0)*0.0+L*(N*-M+L*K+J*0.0))+(0.0-((I*-v+w*p+q*0.0)*-B+(r*-v+w*s+t*0.0)*0.0+w*(u*-v+w*H+x*0.0)));x=o-(M*(U*-M+L*T+S*0.0)+(R*-M+L*Q+P*0.0)*-L+(N*-M+L*K+J*0.0)*0.0)+(n-(v*(I*-v+w*p+q*0.0)+(r*-v+w*s+t*0.0)*-w+(u*-v+w*H+x*0.0)*0.0));H=1.0/(y*(B*E-C*A)+(D*(C*x-z*B)+F*(z*A-x*E)));g[m+104>>2]=(C*x-z*B)*H;g[m+108>>2]=(B*y-x*F)*H;g[m+112>>2]=(z*F-C*y)*H;g[m+116>>2]=0.0;g[m+120>>2]=(z*A-x*E)*H;g[m+124>>2]=(x*D-A*y)*H;g[m+128>>2]=(E*y-z*D)*H;g[m+132>>2]=0.0;g[m+136>>2]=(B*E-C*A)*H;g[m+140>>2]=(A*F-B*D)*H;g[m+144>>2]=(C*D-E*F)*H;g[m+148>>2]=0.0;m=1;i=G;return m|0}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){w=+g[b+116>>2];i=+g[e>>2];x=+g[b+132>>2];C=+g[e+4>>2];y=+g[b+148>>2];D=+g[e+8>>2];l=+g[b+120>>2];n=+g[b+136>>2];p=+g[b+152>>2];q=+g[b+124>>2];s=+g[b+140>>2];t=+g[b+156>>2];j=+g[e+16>>2];m=+g[e+20>>2];o=+g[e+24>>2];r=+g[e+32>>2];z=+g[e+36>>2];A=+g[e+40>>2];h=+g[b+164>>2];f=+g[b+168>>2];v=+g[b+172>>2];u=+g[e+48>>2]+(i*h+C*f+D*v);B=j*h+m*f+o*v+ +g[e+52>>2];v=r*h+z*f+A*v+ +g[e+56>>2];g[b+824>>2]=w*i+x*C+y*D;g[b+828>>2]=i*l+C*n+D*p;g[b+832>>2]=i*q+C*s+D*t;g[b+836>>2]=0.0;g[b+840>>2]=w*j+x*m+y*o;g[b+844>>2]=l*j+n*m+p*o;g[b+848>>2]=q*j+s*m+t*o;g[b+852>>2]=0.0;g[b+856>>2]=w*r+x*z+y*A;g[b+860>>2]=l*r+n*z+p*A;g[b+864>>2]=q*r+s*z+t*A;g[b+868>>2]=0.0;g[b+872>>2]=u;g[b+876>>2]=B;g[b+880>>2]=v;g[b+884>>2]=0.0;v=+g[b+52>>2];B=+g[d>>2];u=+g[b+68>>2];A=+g[d+4>>2];t=+g[b+84>>2];z=+g[d+8>>2];s=+g[b+56>>2];r=+g[b+72>>2];q=+g[b+88>>2];p=+g[b+60>>2];n=+g[b+76>>2];l=+g[b+92>>2];y=+g[d+16>>2];x=+g[d+20>>2];w=+g[d+24>>2];o=+g[d+32>>2];m=+g[d+36>>2];j=+g[d+40>>2];D=+g[b+100>>2];C=+g[b+104>>2];i=+g[b+108>>2];f=+g[d+48>>2]+(B*D+A*C+z*i);h=y*D+x*C+w*i+ +g[d+52>>2];i=o*D+m*C+j*i+ +g[d+56>>2];g[b+888>>2]=v*B+u*A+t*z;g[b+892>>2]=B*s+A*r+z*q;g[b+896>>2]=B*p+A*n+z*l;g[b+900>>2]=0.0;g[b+904>>2]=v*y+u*x+t*w;g[b+908>>2]=s*y+r*x+q*w;g[b+912>>2]=p*y+n*x+l*w;g[b+916>>2]=0.0;g[b+920>>2]=v*o+u*m+t*j;g[b+924>>2]=s*o+r*m+q*j;g[b+928>>2]=p*o+n*m+l*j;g[b+932>>2]=0.0;g[b+936>>2]=f;g[b+940>>2]=h;g[b+944>>2]=i;g[b+948>>2]=0.0;d=b+856|0;e=b+840|0}else{o=+g[b+52>>2];D=+g[d>>2];n=+g[b+68>>2];h=+g[d+4>>2];m=+g[b+84>>2];f=+g[d+8>>2];z=+g[b+56>>2];x=+g[b+72>>2];v=+g[b+88>>2];u=+g[b+60>>2];s=+g[b+76>>2];r=+g[b+92>>2];A=+g[d+16>>2];y=+g[d+20>>2];w=+g[d+24>>2];t=+g[d+32>>2];l=+g[d+36>>2];j=+g[d+40>>2];C=+g[b+100>>2];B=+g[b+104>>2];p=+g[b+108>>2];q=+g[d+48>>2]+(D*C+h*B+f*p);i=A*C+y*B+w*p+ +g[d+52>>2];p=t*C+l*B+j*p+ +g[d+56>>2];g[b+824>>2]=o*D+n*h+m*f;g[b+828>>2]=D*z+h*x+f*v;g[b+832>>2]=D*u+h*s+f*r;g[b+836>>2]=0.0;g[b+840>>2]=o*A+n*y+m*w;g[b+844>>2]=z*A+x*y+v*w;g[b+848>>2]=u*A+s*y+r*w;g[b+852>>2]=0.0;g[b+856>>2]=o*t+n*l+m*j;g[b+860>>2]=z*t+x*l+v*j;g[b+864>>2]=u*t+s*l+r*j;g[b+868>>2]=0.0;g[b+872>>2]=q;g[b+876>>2]=i;g[b+880>>2]=p;g[b+884>>2]=0.0;p=+g[b+116>>2];i=+g[e>>2];q=+g[b+132>>2];j=+g[e+4>>2];r=+g[b+148>>2];l=+g[e+8>>2];s=+g[b+120>>2];t=+g[b+136>>2];u=+g[b+152>>2];v=+g[b+124>>2];x=+g[b+140>>2];z=+g[b+156>>2];m=+g[e+16>>2];n=+g[e+20>>2];o=+g[e+24>>2];w=+g[e+32>>2];y=+g[e+36>>2];A=+g[e+40>>2];f=+g[b+164>>2];h=+g[b+168>>2];D=+g[b+172>>2];B=+g[e+48>>2]+(i*f+j*h+l*D);C=m*f+n*h+o*D+ +g[e+52>>2];D=w*f+y*h+A*D+ +g[e+56>>2];g[b+888>>2]=p*i+q*j+r*l;g[b+892>>2]=i*s+j*t+l*u;g[b+896>>2]=i*v+j*x+l*z;g[b+900>>2]=0.0;g[b+904>>2]=p*m+q*n+r*o;g[b+908>>2]=s*m+t*n+u*o;g[b+912>>2]=v*m+x*n+z*o;g[b+916>>2]=0.0;g[b+920>>2]=p*w+q*y+r*A;g[b+924>>2]=s*w+t*y+u*A;g[b+928>>2]=v*w+x*y+z*A;g[b+932>>2]=0.0;g[b+936>>2]=B;g[b+940>>2]=C;g[b+944>>2]=D;g[b+948>>2]=0.0;d=b+856|0;e=b+840|0}c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];F=c[b+824>>2]|0;E=c[e>>2]|0;e=c[d>>2]|0;c[b+952>>2]=F;c[b+956>>2]=E;c[b+960>>2]=e;g[b+964>>2]=0.0;f=(c[k>>2]=F,+g[k>>2]);h=(c[k>>2]=E,+g[k>>2]);i=(c[k>>2]=e,+g[k>>2]);if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){u=+g[b+968>>2];A=u-+g[b+984>>2];v=+g[b+972>>2];C=v-+g[b+988>>2];w=+g[b+976>>2];D=w-+g[b+992>>2];g[b+1016>>2]=A;g[b+1020>>2]=C;g[b+1024>>2]=D;g[b+1028>>2]=0.0;B=f*A;x=h*C;x=B+x;B=i*D;B=x+B;x=f*B;y=h*B;z=i*B;x=u+x;y=v+y;z=w+z;F=b+1e3|0;g[F>>2]=x;F=b+1004|0;g[F>>2]=y;F=b+1008|0;g[F>>2]=z;F=b+1012|0;g[F>>2]=0.0;F=b+1032|0;g[F>>2]=B;F=b+828|0;E=b+844|0;e=b+860|0;B=+g[F>>2];z=+g[E>>2];y=+g[e>>2];B=B*A;z=z*C;z=B+z;y=y*D;y=z+y;e=b+1036|0;g[e>>2]=y;e=b+832|0;E=b+848|0;F=b+864|0;y=+g[e>>2];z=+g[E>>2];B=+g[F>>2];A=y*A;C=z*C;C=A+C;D=B*D;D=C+D;F=b+1040|0;g[F>>2]=D;return}u=+g[b+968>>2];A=+g[b+984>>2]-u;v=+g[b+972>>2];C=+g[b+988>>2]-v;w=+g[b+976>>2];D=+g[b+992>>2]-w;g[b+1016>>2]=A;g[b+1020>>2]=C;g[b+1024>>2]=D;g[b+1028>>2]=0.0;B=f*A;x=h*C;x=B+x;B=i*D;B=x+B;x=f*B;y=h*B;z=i*B;x=u+x;y=v+y;z=w+z;F=b+1e3|0;g[F>>2]=x;F=b+1004|0;g[F>>2]=y;F=b+1008|0;g[F>>2]=z;F=b+1012|0;g[F>>2]=0.0;F=b+1032|0;g[F>>2]=B;F=b+828|0;E=b+844|0;e=b+860|0;B=+g[F>>2];z=+g[E>>2];y=+g[e>>2];B=B*A;z=z*C;z=B+z;y=y*D;y=z+y;e=b+1036|0;g[e>>2]=y;e=b+832|0;E=b+848|0;F=b+864|0;y=+g[e>>2];z=+g[E>>2];B=+g[F>>2];A=y*A;C=z*C;C=A+C;D=B*D;D=C+D;F=b+1040|0;g[F>>2]=D;return}function ld(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;s=i;i=i+224|0;q=(a[b+28>>0]|0)!=0;p=q?e:d;q=q?d:e;r=c[p+4>>2]|0;if((c[r+68>>2]|0)!=(c[b+40>>2]|0)){j=c[b+12>>2]|0;if((j|0)>0){l=0;do{k=c[(c[b+20>>2]|0)+(l<<2)>>2]|0;if(k|0){Ab[c[c[k>>2]>>2]&255](k);n=c[b+4>>2]|0;Cb[c[(c[n>>2]|0)+60>>2]&127](n,c[(c[b+20>>2]|0)+(l<<2)>>2]|0)}l=l+1|0}while((l|0)!=(j|0))}lh(b,d,e)}n=c[r+64>>2]|0;j=c[b+4>>2]|0;k=c[b+20>>2]|0;m=c[b+32>>2]|0;c[s+192>>2]=6192;c[s+192+4>>2]=p;c[s+192+8>>2]=q;c[s+192+12>>2]=j;c[s+192+16>>2]=f;c[s+192+20>>2]=h;c[s+192+24>>2]=k;c[s+192+28>>2]=m;a[s+128+16>>0]=1;m=s+128+12|0;c[m>>2]=0;c[s+128+4>>2]=0;c[s+128+8>>2]=0;j=c[b+12>>2]|0;if((j|0)>0){d=k;f=0;while(1){k=c[d+(f<<2)>>2]|0;if(k){Cb[c[(c[k>>2]|0)+16>>2]&127](k,s+128|0);j=c[s+128+4>>2]|0;if((j|0)>0){l=0;do{e=c[(c[m>>2]|0)+(l<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;j=c[e+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0))ef(e,j+4|0,d+4|0);else ef(e,d+4|0,k+4|0);c[h+4>>2]=0;j=c[s+128+4>>2]|0}l=l+1|0}while((l|0)<(j|0))}if((j|0)<0){if((c[s+128+8>>2]|0)<0){k=c[m>>2]|0;if(k|0){if(a[s+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[m>>2]=0}a[s+128+16>>0]=1;c[m>>2]=0;c[s+128+8>>2]=0}do{c[(c[m>>2]|0)+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=0)}c[s+128+4>>2]=0;j=c[b+12>>2]|0}k=f+1|0;if((k|0)>=(j|0))break;d=c[b+20>>2]|0;f=k}j=c[m>>2]|0;if(j|0){if(a[s+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[m>>2]=0}}if(!n){k=c[b+12>>2]|0;if((k|0)>0){j=0;do{Te(s+192|0,c[(c[r+24>>2]|0)+(j*80|0)+64>>2]|0,j);j=j+1|0}while((j|0)<(k|0));o=38}}else{o=c[p+12>>2]|0;H=+g[o>>2];G=+g[o+16>>2];F=+g[o+32>>2];E=+g[o+4>>2];D=+g[o+20>>2];C=+g[o+36>>2];y=+g[o+8>>2];w=+g[o+24>>2];u=+g[o+40>>2];B=-+g[o+48>>2];A=-+g[o+52>>2];z=-+g[o+56>>2];o=c[q+12>>2]|0;Q=+g[o>>2];P=+g[o+16>>2];O=+g[o+32>>2];N=+g[o+4>>2];M=+g[o+20>>2];L=+g[o+36>>2];K=+g[o+8>>2];J=+g[o+24>>2];I=+g[o+40>>2];x=+g[o+48>>2];v=+g[o+52>>2];t=+g[o+56>>2];g[s+48>>2]=H*Q+G*P+F*O;g[s+48+4>>2]=H*N+G*M+F*L;g[s+48+8>>2]=H*K+G*J+F*I;g[s+48+12>>2]=0.0;g[s+48+16>>2]=E*Q+D*P+C*O;g[s+48+20>>2]=E*N+D*M+C*L;g[s+48+24>>2]=E*K+D*J+C*I;g[s+48+28>>2]=0.0;g[s+48+32>>2]=y*Q+w*P+u*O;g[s+48+36>>2]=y*N+w*M+u*L;g[s+48+40>>2]=y*K+w*J+u*I;g[s+48+44>>2]=0.0;g[s+48+48>>2]=H*B+G*A+F*z+(H*x+G*v+F*t);g[s+48+52>>2]=E*B+D*A+C*z+(E*x+D*v+C*t);g[s+48+56>>2]=y*B+w*A+u*z+(y*x+w*v+u*t);g[s+48+60>>2]=0.0;o=c[q+4>>2]|0;mc[c[(c[o>>2]|0)+8>>2]&127](o,s+48|0,s+128|0,s+112|0);c[s+16>>2]=c[s+128>>2];c[s+16+4>>2]=c[s+128+4>>2];c[s+16+8>>2]=c[s+128+8>>2];c[s+16+12>>2]=c[s+128+12>>2];c[s+16+16>>2]=c[s+112>>2];c[s+16+16+4>>2]=c[s+112+4>>2];c[s+16+16+8>>2]=c[s+112+8>>2];c[s+16+16+12>>2]=c[s+112+12>>2];bg(c[n>>2]|0,s+16|0,s+192|0);o=38}if((o|0)==38)k=c[b+12>>2]|0;if((k|0)<=0){i=s;return}d=0;do{do if(c[(c[b+20>>2]|0)+(d<<2)>>2]|0){n=c[r+24>>2]|0;o=c[n+(d*80|0)+64>>2]|0;h=c[p+12>>2]|0;w=+g[h>>2];x=+g[h+4>>2];y=+g[h+8>>2];z=+g[h+16>>2];A=+g[h+20>>2];B=+g[h+24>>2];I=+g[h+32>>2];K=+g[h+36>>2];M=+g[h+40>>2];C=+g[n+(d*80|0)>>2];D=+g[n+(d*80|0)+16>>2];E=+g[n+(d*80|0)+32>>2];F=+g[n+(d*80|0)+4>>2];G=+g[n+(d*80|0)+20>>2];H=+g[n+(d*80|0)+36>>2];J=+g[n+(d*80|0)+8>>2];L=+g[n+(d*80|0)+24>>2];N=+g[n+(d*80|0)+40>>2];u=+g[n+(d*80|0)+48>>2];v=+g[n+(d*80|0)+52>>2];Q=+g[n+(d*80|0)+56>>2];O=+g[h+48>>2]+(w*u+x*v+y*Q);P=+g[h+52>>2]+(z*u+A*v+B*Q);Q=+g[h+56>>2]+(I*u+K*v+M*Q);g[s+128>>2]=w*C+x*D+y*E;g[s+128+4>>2]=w*F+x*G+y*H;g[s+128+8>>2]=w*J+x*L+y*N;g[s+128+12>>2]=0.0;g[s+128+16>>2]=z*C+A*D+B*E;g[s+128+20>>2]=z*F+A*G+B*H;g[s+128+24>>2]=z*J+A*L+B*N;g[s+128+28>>2]=0.0;g[s+128+32>>2]=I*C+K*D+M*E;g[s+128+36>>2]=I*F+K*G+M*H;g[s+128+40>>2]=I*J+K*L+M*N;g[s+128+44>>2]=0.0;g[s+128+48>>2]=O;g[s+128+52>>2]=P;g[s+128+56>>2]=Q;g[s+128+60>>2]=0.0;mc[c[(c[o>>2]|0)+8>>2]&127](o,s+128|0,s+112|0,s+48|0);o=c[q+4>>2]|0;mc[c[(c[o>>2]|0)+8>>2]&127](o,c[q+12>>2]|0,s+16|0,s);if(!(+g[s+112>>2]>+g[s>>2])?!(+g[s+48>>2]<+g[s+16>>2]):0)j=1;else j=0;if(!(!(+g[s+112+8>>2]>+g[s+8>>2])?!(+g[s+48+8>>2]<+g[s+16+8>>2]):0))j=0;if(!(+g[s+112+4>>2]>+g[s+4>>2])?!(+g[s+48+4>>2]<+g[s+16+4>>2]|j^1):0)break;o=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;Ab[c[c[o>>2]>>2]&255](o);o=c[b+4>>2]|0;Cb[c[(c[o>>2]|0)+60>>2]&127](o,c[(c[b+20>>2]|0)+(d<<2)>>2]|0);c[(c[b+20>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(k|0));i=s;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];o=+g[a+20>>2];v=+g[a+40>>2];m=+g[a+24>>2];p=+g[a+36>>2];r=+g[a+32>>2];n=+g[a+16>>2];s=+g[a>>2];q=+g[a+4>>2];t=+g[a+8>>2];u=1.0/((o*v-m*p)*s+q*(m*r-v*n)+(p*n-o*r)*t);g[d>>2]=(o*v-m*p)*u;g[d+4>>2]=(p*t-v*q)*u;g[d+8>>2]=(m*q-o*t)*u;g[d+12>>2]=0.0;g[d+16>>2]=(m*r-v*n)*u;g[d+20>>2]=(v*s-r*t)*u;g[d+24>>2]=(n*t-m*s)*u;g[d+28>>2]=0.0;g[d+32>>2]=(p*n-o*r)*u;g[d+36>>2]=(r*q-p*s)*u;g[d+40>>2]=(o*s-n*q)*u;g[d+44>>2]=0.0;a:do if(!(c[5788]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{C=(r*q-p*s)*u;D=(m*q-o*t)*u;E=(n*t-m*s)*u;F=(o*s-n*q)*u;G=(o*v-m*p)*u;B=(m*r-v*n)*u;A=(p*n-o*r)*u;z=(p*t-v*q)*u;y=(v*s-r*t)*u;e=0;while(1){n=+N(+G);m=+N(+B);L=+N(+A);W=+N(+z);M=+N(+y);K=+N(+C);Q=+N(+D);O=+N(+E);w=+N(+F);R=n+m+L>W+M+K?n+m+L:W+M+K;M=n+W+Q>m+M+O?n+W+Q:m+M+O;m=+g[b>>2];W=+N(+m);n=+g[b+16>>2];T=+N(+n);o=+g[b+32>>2];I=+N(+o);p=+g[b+4>>2];V=+N(+p);q=+g[b+20>>2];S=+N(+q);r=+g[b+36>>2];H=+N(+r);s=+g[b+8>>2];U=+N(+s);t=+g[b+24>>2];J=+N(+t);u=+g[b+40>>2];x=+N(+u);v=W+T+I>V+S+H?W+T+I:V+S+H;v=v>U+J+x?v:U+J+x;J=W+V+U>T+S+J?W+V+U:T+S+J;w=(R>Q+O+w?R:Q+O+w)*(M>L+K+w?M:L+K+w);x=v*(J>I+H+x?J:I+H+x);if(+N(+w)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}if(+N(+x)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+P(+(w/x),.25);M=(m*(W+-2.0)+G*(1.0/W))*.5;Q=(p*(W+-2.0)+1.0/W*B)*.5;S=(s*(W+-2.0)+1.0/W*A)*.5;O=(n*(W+-2.0)+1.0/W*z)*.5;R=(q*(W+-2.0)+1.0/W*y)*.5;T=(t*(W+-2.0)+1.0/W*C)*.5;U=(o*(W+-2.0)+1.0/W*D)*.5;V=(r*(W+-2.0)+1.0/W*E)*.5;W=(u*(W+-2.0)+1.0/W*F)*.5;g[b>>2]=m+M;g[b+4>>2]=p+Q;g[b+8>>2]=s+S;g[b+12>>2]=0.0;g[b+16>>2]=n+O;g[b+20>>2]=q+R;g[b+24>>2]=t+T;g[b+28>>2]=0.0;g[b+32>>2]=o+U;g[b+36>>2]=r+V;g[b+40>>2]=u+W;g[b+44>>2]=0.0;L=1.0/(((u+W)*(q+R)-(t+T)*(r+V))*(m+M)+(p+Q)*((t+T)*(o+U)-(u+W)*(n+O))+((r+V)*(n+O)-(q+R)*(o+U))*(s+S));G=((u+W)*(q+R)-(t+T)*(r+V))*L;z=((r+V)*(s+S)-(u+W)*(p+Q))*L;D=((t+T)*(p+Q)-(q+R)*(s+S))*L;B=((t+T)*(o+U)-(u+W)*(n+O))*L;y=((u+W)*(m+M)-(o+U)*(s+S))*L;E=((n+O)*(s+S)-(t+T)*(m+M))*L;A=((r+V)*(n+O)-(q+R)*(o+U))*L;C=((o+U)*(p+Q)-(r+V)*(m+M))*L;F=((q+R)*(m+M)-(n+O)*(p+Q))*L;g[d>>2]=G;g[d+4>>2]=z;g[d+8>>2]=D;g[d+12>>2]=0.0;g[d+16>>2]=B;g[d+20>>2]=y;g[d+24>>2]=E;g[d+28>>2]=0.0;g[d+32>>2]=A;g[d+36>>2]=C;g[d+40>>2]=F;g[d+44>>2]=0.0;U=+N(+M)+ +N(+O)+ +N(+U);V=+N(+Q)+ +N(+R)+ +N(+V);W=+N(+S)+ +N(+T)+ +N(+W);V=U>V?U:V;if((V>W?V:W)<=v*+g[5787])break;e=e+1|0;if(e>>>0>=(c[5788]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}K=+g[b>>2];M=+g[b+16>>2];Q=+g[b+32>>2];F=+g[b+4>>2];H=+g[b+20>>2];J=+g[b+36>>2];A=+g[b+8>>2];C=+g[b+24>>2];E=+g[b+40>>2];L=+g[a>>2];O=+g[a+16>>2];R=+g[a+32>>2];G=+g[a+4>>2];I=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*G+C*I+E*T+(F*B+H*D+J*W);S=F*L+H*O+J*R+(K*G+M*I+Q*T);U=A*L+C*O+E*R+(K*B+M*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=F*G+H*I+J*T+(F*G+H*I+J*T);R=K*L+M*O+Q*R+(K*L+M*O+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);K=+g[k>>2];M=+g[b+16>>2];Q=+g[b+32>>2];F=+g[l>>2];H=+g[e>>2];J=+g[f>>2];A=+g[h>>2];C=+g[i>>2];E=+g[j>>2];L=+g[a>>2];O=+g[a+16>>2];R=+g[a+32>>2];G=+g[a+4>>2];I=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*G+C*I+E*T+(F*B+H*D+J*W);S=F*L+H*O+J*R+(K*G+M*I+Q*T);U=A*L+C*O+E*R+(K*B+M*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=F*G+H*I+J*T+(F*G+H*I+J*T);R=K*L+M*O+Q*R+(K*L+M*O+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function nd(a,b,f,j){a=a|0;b=b|0;f=f|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;o=i;i=i+80|0;f=Eb[c[(c[a>>2]|0)+28>>2]&127](a)|0;k=+g[a+4>>2];l=+g[a+8>>2];m=+g[a+12>>2];if((f|0)<=0){i=o;return}n=0;do{Yb[c[(c[a>>2]|0)+16>>2]&3](a,o+76|0,o+52|0,o+64|0,o+56|0,o+72|0,o+68|0,o+48|0,o+60|0,n);a:do switch(c[o+64>>2]|0){case 0:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)j=0;else break a;do{r=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;t=c[o+76>>2]|0;s=c[o+56>>2]|0;u=t+(_(s,c[r>>2]|0)|0)|0;q=l*+g[u+4>>2];p=m*+g[u+8>>2];g[o>>2]=k*+g[u>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;u=t+(_(s,c[r+4>>2]|0)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+16>>2]=k*+g[u>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=t+(_(s,c[r+8>>2]|0)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+32>>2]=k*+g[r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(e[t>>1]|0,u)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=k*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(e[t+2>>1]|0,u)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=k*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(e[t+4>>1]|0,u)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=k*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(d[t>>0]|0,u)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=k*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(d[t+1>>0]|0,u)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=k*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(d[t+2>>0]|0,u)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=k*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}default:break a}break}case 1:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)j=0;else break a;do{u=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(_(t,c[u>>2]|0)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(t,c[u+4>>2]|0)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(t,c[u+8>>2]|0)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(e[t>>1]|0,u)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(e[t+2>>1]|0,u)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(e[t+4>>1]|0,u)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(d[t>>0]|0,u)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(d[t+1>>0]|0,u)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(d[t+2>>0]|0,u)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}default:break a}break}default:{}}while(0);Cb[c[(c[a>>2]|0)+24>>2]&127](a,n);n=n+1|0}while((n|0)!=(f|0));i=o;return}function od(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0;fa=i;i=i+128|0;K=c[b+4>>2]|0;a[K+312>>0]=0;c[K>>2]=0;a[K+356>>0]=1;c[K+292>>2]=1566444395;c[K+296>>2]=1566444395;c[K+300>>2]=1566444395;g[K+304>>2]=0.0;c[K+336>>2]=0;c[K+336+4>>2]=0;c[K+336+8>>2]=0;c[K+336+12>>2]=0;a[K+336+16>>0]=0;a[K+332>>0]=a[K+332>>0]&-16;m=+g[d+48>>2];n=+g[d+52>>2];o=+g[d+56>>2];p=+g[f+48>>2];u=+g[f+52>>2];v=+g[f+56>>2];L=+g[d>>2];M=+g[d+4>>2];N=+g[d+8>>2];P=+g[d+16>>2];Q=+g[d+20>>2];R=+g[d+24>>2];S=+g[d+32>>2];T=+g[d+36>>2];U=+g[d+40>>2];V=+g[f>>2];W=+g[f+4>>2];X=+g[f+8>>2];Y=+g[f+16>>2];Z=+g[f+20>>2];_=+g[f+24>>2];$=+g[f+32>>2];aa=+g[f+36>>2];ba=+g[f+40>>2];ca=+g[e+48>>2]-m-(+g[h+48>>2]-p);da=+g[e+52>>2]-n-(+g[h+52>>2]-u);ea=+g[e+56>>2]-o-(+g[h+56>>2]-v);K=c[b+8>>2]|0;B=c[(c[K>>2]|0)+64>>2]|0;g[fa+96>>2]=L*-ca+P*-da+S*-ea;g[fa+96+4>>2]=M*-ca+Q*-da+T*-ea;g[fa+96+8>>2]=N*-ca+R*-da+U*-ea;g[fa+96+12>>2]=0.0;ic[B&127](fa+112|0,K,fa+96|0);I=+g[fa+112>>2];J=+g[fa+112+4>>2];H=+g[fa+112+8>>2];w=I*+g[d>>2]+J*+g[d+4>>2]+H*+g[d+8>>2]+ +g[d+48>>2];z=I*+g[d+16>>2]+J*+g[d+20>>2]+H*+g[d+24>>2]+ +g[d+52>>2];H=I*+g[d+32>>2]+J*+g[d+36>>2]+H*+g[d+40>>2]+ +g[d+56>>2];K=c[b+12>>2]|0;B=c[(c[K>>2]|0)+64>>2]|0;J=ca*+g[f+4>>2]+da*+g[f+20>>2]+ea*+g[f+36>>2];I=ca*+g[f+8>>2]+da*+g[f+24>>2]+ea*+g[f+40>>2];g[fa+64>>2]=ca*+g[f>>2]+da*+g[f+16>>2]+ea*+g[f+32>>2];g[fa+64+4>>2]=J;g[fa+64+8>>2]=I;g[fa+64+12>>2]=0.0;ic[B&127](fa+80|0,K,fa+64|0);I=+g[fa+80>>2];J=+g[fa+80+4>>2];x=+g[fa+80+8>>2];w=w-(I*+g[f>>2]+J*+g[f+4>>2]+x*+g[f+8>>2]+ +g[f+48>>2]);z=z-(I*+g[f+16>>2]+J*+g[f+20>>2]+x*+g[f+24>>2]+ +g[f+52>>2]);x=H-(I*+g[f+32>>2]+J*+g[f+36>>2]+x*+g[f+40>>2]+ +g[f+56>>2]);a:do if(w*w+z*z+x*x>9.999999747378752e-05){D=m;m=0.0;K=32;s=0;t=0;r=0;l=0;A=0;while(1){if(!K)break a;K=K+-1|0;q=c[b+8>>2]|0;y=c[(c[q>>2]|0)+64>>2]|0;G=-w;ga=-z;C=-x;g[fa+32>>2]=L*G+P*ga+S*C;g[fa+32+4>>2]=M*G+Q*ga+T*C;g[fa+32+8>>2]=N*G+R*ga+U*C;g[fa+32+12>>2]=0.0;ic[y&127](fa+48|0,q,fa+32|0);C=+g[fa+48>>2];ga=+g[fa+48+4>>2];G=+g[fa+48+8>>2];E=D+(L*C+M*ga+N*G);F=n+(P*C+Q*ga+R*G);G=o+(S*C+T*ga+U*G);q=c[b+12>>2]|0;y=c[(c[q>>2]|0)+64>>2]|0;g[fa>>2]=V*w+Y*z+$*x;g[fa+4>>2]=W*w+Z*z+aa*x;g[fa+8>>2]=X*w+_*z+ba*x;g[fa+12>>2]=0.0;ic[y&127](fa+16|0,q,fa);ga=+g[fa+16>>2];C=+g[fa+16+4>>2];J=+g[fa+16+8>>2];H=p+(V*ga+W*C+X*J);I=u+(Y*ga+Z*C+_*J);J=v+($*ga+aa*C+ba*J);C=w*(E-H)+z*(F-I)+x*(G-J);q=(g[k>>2]=w,c[k>>2]|0);y=(g[k>>2]=z,c[k>>2]|0);B=(g[k>>2]=x,c[k>>2]|0);if(m>1.0){l=0;q=24;break}if(C>0.0){n=ca*w+da*z+ea*x;if(n>=-1.4210854715202004e-14){l=0;q=24;break}m=m-C/n;C=(1.0-m)*+g[d+48>>2]+m*+g[e+48>>2];n=(1.0-m)*+g[d+52>>2]+m*+g[e+52>>2];o=(1.0-m)*+g[d+56>>2]+m*+g[e+56>>2];p=(1.0-m)*+g[f+48>>2]+m*+g[h+48>>2];u=(1.0-m)*+g[f+52>>2]+m*+g[h+52>>2];v=(1.0-m)*+g[f+56>>2]+m*+g[h+56>>2];s=q;t=A;r=y;l=B}else C=D;A=c[b+4>>2]|0;B=c[A>>2]|0;if((B|0)>0){w=+g[A+308>>2];y=0;q=0;do{z=E-H-+g[A+4+(q<<4)>>2];D=F-I-+g[A+4+(q<<4)+4>>2];ga=G-J-+g[A+4+(q<<4)+8>>2];y=y|z*z+D*D+ga*ga<=w;q=q+1|0}while((q|0)!=(B|0))}else y=0;if((+g[A+304>>2]==0.0?G-J==+g[A+300>>2]:0)?F-I==+g[A+296>>2]:0)q=E-H==+g[A+292>>2];else q=0;if(!(y|q)){g[A+292>>2]=E-H;g[A+296>>2]=F-I;g[A+300>>2]=G-J;g[A+304>>2]=0.0;a[A+356>>0]=1;g[A+4+(B<<4)>>2]=E-H;g[A+4+(B<<4)+4>>2]=F-I;g[A+4+(B<<4)+8>>2]=G-J;g[A+4+(B<<4)+12>>2]=0.0;B=c[A>>2]|0;g[A+84+(B<<4)>>2]=E;g[A+84+(B<<4)+4>>2]=F;g[A+84+(B<<4)+8>>2]=G;g[A+84+(B<<4)+12>>2]=0.0;B=c[A>>2]|0;g[A+164+(B<<4)>>2]=H;g[A+164+(B<<4)+4>>2]=I;g[A+164+(B<<4)+8>>2]=J;g[A+164+(B<<4)+12>>2]=0.0;c[A>>2]=(c[A>>2]|0)+1;A=c[b+4>>2]|0}B=Ec(A)|0;w=+g[A+276>>2];z=+g[A+280>>2];x=+g[A+284>>2];if(!B)break a;if(!(w*w+z*z+x*x>9.999999747378752e-05))break a;else{D=C;A=c[A+288>>2]|0}}if((q|0)==24){i=fa;return l|0}}else{m=0.0;s=0;t=0;r=0;l=0}while(0);g[j+164>>2]=m;m=(c[k>>2]=s,+g[k>>2]);n=(c[k>>2]=r,+g[k>>2]);p=(c[k>>2]=l,+g[k>>2]);if(!(m*m+n*n+p*p>=1.4210854715202004e-14)){c[j+132>>2]=0;c[j+132+4>>2]=0;c[j+132+8>>2]=0;c[j+132+12>>2]=0;o=0.0;n=0.0;m=0.0}else{ga=1.0/+O(+(m*m+n*n+p*p));g[j+132>>2]=m*ga;g[j+136>>2]=n*ga;g[j+140>>2]=p*ga;c[j+144>>2]=t;o=m*ga;n=n*ga;m=p*ga}if(ca*o+da*n+ea*m>=-+g[j+172>>2]){b=0;i=fa;return b|0}b=c[b+4>>2]|0;Ec(b)|0;Bp(j+148|0,b+260|0,16)|0;b=1;i=fa;return b|0}function pd(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;A=i;i=i+160|0;a[d+60>>0]=f&1;if(f){r=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;s=+g[h+8>>2]+-1.0;g[d+4>>2]=r;g[d+8>>2]=u;g[d+12>>2]=s;g[d+16>>2]=0.0;v=+g[j>>2]+1.0;x=+g[j+4>>2]+1.0;y=+g[j+8>>2]+1.0;g[d+20>>2]=v;g[d+24>>2]=x;g[d+28>>2]=y;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(v-r);g[d+40>>2]=65533.0/(x-u);g[d+44>>2]=65533.0/(y-s);g[d+48>>2]=0.0;a[d+60>>0]=1;k=r+ +(~~((r-r)*(65533.0/(v-r)))&65534)/(65533.0/(v-r))+-1.0;l=u+ +(~~((u-u)*(65533.0/(x-u)))&65534)/(65533.0/(x-u))+-1.0;p=s+ +(~~((s-s)*(65533.0/(y-s)))&65534)/(65533.0/(y-s))+-1.0;if(k>2]=k;z=k}else z=r;if(l>2]=l;w=l}else w=u;if(p>2]=p;t=p}else t=s;p=z+ +((~~((v-z)*(65533.0/(v-r))+1.0)&65535|1)&65535)/(65533.0/(v-r))+1.0;l=w+ +((~~((x-w)*(65533.0/(x-u))+1.0)&65535|1)&65535)/(65533.0/(x-u))+1.0;k=t+ +((~~((y-t)*(65533.0/(y-s))+1.0)&65535|1)&65535)/(65533.0/(y-s))+1.0;if(v>2]=p;else p=v;if(x>2]=l;else l=x;if(y>2]=k;else k=y;g[d+36>>2]=65533.0/(p-z);g[d+40>>2]=65533.0/(l-w);g[d+44>>2]=65533.0/(k-t);g[d+48>>2]=0.0;c[A+144>>2]=8020;c[A+144+4>>2]=d+104;c[A+144+8>>2]=d;mc[c[(c[e>>2]|0)+8>>2]&127](e,A+144|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[A+128>>2]=0;c[A+128+4>>2]=0;c[A+128+8>>2]=0;c[A+128+12>>2]=0;m=c[d+128>>2]|0;if((m|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;j=m}else{c[6435]=(c[6435]|0)+1;h=yc(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){e=0;do{q=h+(e<<4)|0;o=(c[d+136>>2]|0)+(e<<4)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];e=e+1|0}while((e|0)!=(j|0))}j=c[d+136>>2]|0;if(j|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;j=d+136|0}else j=d+136|0;h=m;do{q=(c[j>>2]|0)+(h<<4)|0;c[q>>2]=c[A+128>>2];c[q+4>>2]=c[A+128+4>>2];c[q+8>>2]=c[A+128+8>>2];c[q+12>>2]=c[A+128+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[A+144>>2]=8040;c[A+144+4>>2]=d+64;c[A+112>>2]=-581039253;c[A+112+4>>2]=-581039253;c[A+112+8>>2]=-581039253;g[A+112+12>>2]=0.0;c[A+96>>2]=1566444395;c[A+96+4>>2]=1566444395;c[A+96+8>>2]=1566444395;g[A+96+12>>2]=0.0;mc[c[(c[e>>2]|0)+8>>2]&127](e,A+144|0,A+112|0,A+96|0);f=c[d+68>>2]|0;m=A+32|0;o=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));q=c[d+88>>2]|0;if((q|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;j=q}else{c[6435]=(c[6435]|0)+1;h=yc(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){e=0;do{m=h+(e<<6)|0;n=(c[d+96>>2]|0)+(e<<6)|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));e=e+1|0}while((e|0)!=(j|0))}j=c[d+96>>2]|0;if(j|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;j=d+96|0}else j=d+96|0;h=q;do{m=(c[j>>2]|0)+(h<<6)|0;n=A+32|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;Lc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6435]=(c[6435]|0)+1;f=yc(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}f=c[d+152>>2]|0;if((f|0)>0){h=0;do{q=e+(h<<5)|0;o=(c[d+160>>2]|0)+(h<<5)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;j=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;j=1;f=c[d+160>>2]|0}c[d+152>>2]=j;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];c[f+8>>2]=c[A+8>>2];c[f+12>>2]=c[A+12>>2];c[f+16>>2]=c[A+16>>2];c[f+20>>2]=c[A+20>>2];c[f+24>>2]=c[A+24>>2];c[f+28>>2]=c[A+28>>2];q=c[h>>2]|0;o=c[d+136>>2]|0;b[q>>1]=b[o>>1]|0;b[q+2>>1]=b[o+2>>1]|0;b[q+4>>1]=b[o+4>>1]|0;b[q+6>>1]=b[o+6>>1]|0;b[q+8>>1]=b[o+8>>1]|0;b[q+10>>1]=b[o+10>>1]|0;c[q+12>>2]=0;o=c[o+12>>2]|0;c[q+16>>2]=(o|0)>-1?1:0-o|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;i=A;return}if(a[d+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;i=A;return}function qd(b,d,e,f,h,i,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=N|0?N<<1:1,(N|0)<(t|0)):0){if(!t){p=0;q=N}else{c[6435]=(c[6435]|0)+1;p=yc((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[b+68>>2]|0}if((q|0)>0){r=0;do{_m(p+(r*152|0)|0,(c[b+76>>2]|0)+(r*152|0)|0,152)|0;r=r+1|0}while((r|0)!=(q|0))}q=c[b+76>>2]|0;if(q|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=p;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;r=c[b+16>>2]|0;p=c[r+(e*244|0)+240>>2]|0;t=c[r+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;L=(c[k>>2]=q,+g[k>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];K=+g[j+4>>2];D=+g[M+(N*152|0)+24>>2];H=+g[j+8>>2];I=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];J=+g[j>>2];g[M+(N*152|0)>>2]=K*D-H*I;g[M+(N*152|0)+4>>2]=H*E-D*J;g[M+(N*152|0)+8>>2]=I*J-K*E;g[M+(N*152|0)+12>>2]=0.0;v=((K*D-H*I)*+g[p+264>>2]+(H*E-D*J)*+g[p+268>>2]+(I*J-K*E)*+g[p+272>>2])*+g[p+544>>2];s=((K*D-H*I)*+g[p+280>>2]+(H*E-D*J)*+g[p+284>>2]+(I*J-K*E)*+g[p+288>>2])*+g[p+548>>2];u=((K*D-H*I)*+g[p+296>>2]+(H*E-D*J)*+g[p+300>>2]+(I*J-K*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=s;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=I;B=D;C=K*D-H*I;D=H*E-D*J;E=I*J-K*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;s=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){K=-+g[d>>2];P=-+g[d+4>>2];J=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=K;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=J;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*J-R*P;g[M+(N*152|0)+36>>2]=R*K-Q*J;g[M+(N*152|0)+40>>2]=Q*P-O*K;g[M+(N*152|0)+44>>2]=0.0;w=((O*J-R*P)*+g[t+264>>2]+(R*K-Q*J)*+g[t+268>>2]+(Q*P-O*K)*+g[t+272>>2])*+g[t+544>>2];x=((O*J-R*P)*+g[t+280>>2]+(R*K-Q*J)*+g[t+284>>2]+(Q*P-O*K)*+g[t+288>>2])*+g[t+548>>2];y=((O*J-R*P)*+g[t+296>>2]+(R*K-Q*J)*+g[t+300>>2]+(Q*P-O*K)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;F=K;G=P;H=J;I=O*J-R*P;J=R*K-Q*J;K=Q*P-O*K}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}if(p|0){P=+g[j+8>>2];Q=+g[j+4>>2];R=+g[j>>2];u=+g[p+344>>2]+((s*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-s*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;s=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];s=+g[t+344>>2]+((O*s-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*s)*+g[d+8>>2])}else s=0.0;x=m/(u+s);g[M+(N*152|0)+108>>2]=x;if(p|0){u=+g[r+(e*244|0)+192>>2];v=+g[r+(e*244|0)+196>>2];w=+g[r+(e*244|0)+200>>2];s=(+g[r+(e*244|0)+176>>2]+ +g[r+(e*244|0)+208>>2])*z+(+g[r+(e*244|0)+180>>2]+ +g[r+(e*244|0)+212>>2])*A+(+g[r+(e*244|0)+184>>2]+ +g[r+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;s=z*0.0+A*0.0+B*0.0}s=s+(u*C+v*D+w*E);if(t|0){O=+g[r+(f*244|0)+192>>2];P=+g[r+(f*244|0)+196>>2];R=+g[r+(f*244|0)+200>>2];Q=(+g[r+(f*244|0)+176>>2]+ +g[r+(f*244|0)+208>>2])*F+(+g[r+(f*244|0)+180>>2]+ +g[r+(f*244|0)+212>>2])*G+(+g[r+(f*244|0)+184>>2]+ +g[r+(f*244|0)+216>>2])*H;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{O=0.0;P=0.0;R=0.0;Q=F*0.0+G*0.0+H*0.0;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function rd(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;C=i;i=i+64|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{Ae(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0))}f=c[b+116>>2]|0;t=+g[f+312>>2];u=+g[f+316>>2];h=+g[f+320>>2];h=+O(+(t*t+u*u+h*h))*3.5999999046325684;g[b+112>>2]=h;B=c[b+128>>2]|0;if(+g[f+4+(B<<2)>>2]*+g[f+312>>2]+ +g[f+20+(B<<2)>>2]*+g[f+316>>2]+ +g[f+36+(B<<2)>>2]*+g[f+320>>2]<0.0)g[b+112>>2]=-h;if((e|0)>0){B=0;do{A=c[b+144>>2]|0;p=A+(B*284|0)|0;Tg(f,p,0);o=A+(B*284|0)+204|0;e=A+(B*284|0)+212|0;h=+g[o>>2]+ +g[e>>2];q=A+(B*284|0)+52|0;v=A+(B*284|0)+56|0;w=A+(B*284|0)+60|0;D=A+(B*284|0)+36|0;x=A+(B*284|0)+16|0;t=h*+g[v>>2]+ +g[A+(B*284|0)+40>>2];u=h*+g[w>>2]+ +g[A+(B*284|0)+44>>2];g[A+(B*284|0)+16>>2]=+g[q>>2]*h+ +g[D>>2];y=A+(B*284|0)+20|0;g[y>>2]=t;z=A+(B*284|0)+24|0;g[z>>2]=u;g[A+(B*284|0)+28>>2]=0.0;g[C+32>>2]=-1.0;f=c[b+100>>2]|0;D=Ib[c[(c[f>>2]|0)+8>>2]&31](f,D,x,C)|0;f=A+(B*284|0)+88|0;c[f>>2]=0;do if(D){h=h*+g[C+32>>2];c[p>>2]=c[C+16>>2];c[p+4>>2]=c[C+16+4>>2];c[p+8>>2]=c[C+16+8>>2];c[p+12>>2]=c[C+16+12>>2];a[A+(B*284|0)+84>>0]=1;if((a[22552]|0)==0?Wa(22552)|0:0){c[C+40>>2]=0;c[C+40+4>>2]=0;c[C+40+8>>2]=0;c[C+40+12>>2]=0;og(23888,0.0,0,0,C+40|0);_a(22552)}c[6023]=c[6023]|1;g[6058]=0.0;j=+g[6068]*0.0;k=+g[6069]*0.0;g[6063]=+g[6067]*0.0;g[6064]=j;g[6065]=k;g[6066]=0.0;c[6071]=0;c[6072]=0;c[6073]=0;c[6074]=0;k=+g[6060]*0.0;j=+g[6061]*0.0;g[6112]=+g[6059]*0.0;g[6113]=k;g[6114]=j;g[6115]=0.0;c[f>>2]=23888;h=h-+g[e>>2];e=A+(B*284|0)+32|0;g[e>>2]=h;j=+g[o>>2];k=+g[A+(B*284|0)+208>>2]*.009999999776482582;if(h>2]=j-k;h=j-k}if(h>j+k)g[e>>2]=j+k;c[x>>2]=c[C>>2];c[x+4>>2]=c[C+4>>2];c[x+8>>2]=c[C+8>>2];c[x+12>>2]=c[C+12>>2];s=+g[p>>2];t=+g[A+(B*284|0)+4>>2];u=+g[A+(B*284|0)+8>>2];r=s*+g[q>>2]+t*+g[v>>2]+u*+g[w>>2];e=c[b+116>>2]|0;n=+g[x>>2]-+g[e+52>>2];m=+g[y>>2]-+g[e+56>>2];h=+g[z>>2]-+g[e+60>>2];j=+g[e+332>>2];k=+g[e+336>>2];l=+g[e+328>>2];if(!(r>=-.10000000149011612)){g[A+(B*284|0)+272>>2]=-1.0/r*(s*(j*h-m*k+ +g[e+312>>2])+t*(n*k-h*l+ +g[e+316>>2])+u*(m*l-n*j+ +g[e+320>>2]));g[A+(B*284|0)+268>>2]=-1.0/r;break}else{g[A+(B*284|0)+272>>2]=0.0;g[A+(B*284|0)+268>>2]=10.0;break}}else{c[A+(B*284|0)+32>>2]=c[o>>2];g[A+(B*284|0)+272>>2]=0.0;t=-+g[v>>2];u=-+g[w>>2];g[p>>2]=-+g[q>>2];g[A+(B*284|0)+4>>2]=t;g[A+(B*284|0)+8>>2]=u;g[A+(B*284|0)+12>>2]=0.0;g[A+(B*284|0)+268>>2]=1.0}while(0);B=B+1|0;e=c[b+136>>2]|0;f=c[b+116>>2]|0}while((B|0)<(e|0));j=1.0/+g[f+344>>2];if((e|0)>0){f=0;do{e=c[b+144>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=j*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{B=c[b+144>>2]|0;s=+g[B+(e*284|0)+276>>2];u=+g[B+(e*284|0)+248>>2];s=s>u?u:s;u=s*+g[B+(e*284|0)+4>>2]*d;t=s*+g[B+(e*284|0)+8>>2]*d;g[C+40>>2]=+g[B+(e*284|0)>>2]*s*d;g[C+40+4>>2]=u;g[C+40+8>>2]=t;g[C+40+12>>2]=0.0;D=c[b+116>>2]|0;t=+g[B+(e*284|0)+20>>2]-+g[D+56>>2];u=+g[B+(e*284|0)+24>>2]-+g[D+60>>2];g[C>>2]=+g[B+(e*284|0)+16>>2]-+g[D+52>>2];g[C+4>>2]=t;g[C+8>>2]=u;g[C+12>>2]=0.0;gj(D,C+40|0,C);e=e+1|0}while((e|0)<(c[b+136>>2]|0))}}}zb[c[(c[b>>2]|0)+20>>2]&31](b,d);f=c[b+136>>2]|0;if((f|0)<=0){i=C;return}o=c[b+144>>2]|0;p=c[b+116>>2]|0;q=0;do{h=+g[o+(q*284|0)+36>>2]-+g[p+52>>2];j=+g[o+(q*284|0)+40>>2]-+g[p+56>>2];k=+g[o+(q*284|0)+44>>2]-+g[p+60>>2];l=+g[p+332>>2];m=+g[p+336>>2];n=+g[p+328>>2];if(!(a[o+(q*284|0)+84>>0]|0)){e=o+(q*284|0)+240|0;h=+g[e>>2];D=o+(q*284|0)+236|0;g[D>>2]=h+ +g[D>>2]}else{e=c[b+128>>2]|0;F=+g[p+4+(e<<2)>>2];r=+g[p+20+(e<<2)>>2];t=+g[p+36+(e<<2)>>2];E=+g[o+(q*284|0)>>2];s=+g[o+(q*284|0)+4>>2];u=+g[o+(q*284|0)+8>>2];h=((j*n-h*l+ +g[p+320>>2])*(t-u*(F*E+r*s+t*u))+((l*k-j*m+ +g[p+312>>2])*(F-E*(F*E+r*s+t*u))+(h*m-k*n+ +g[p+316>>2])*(r-s*(F*E+r*s+t*u))))*d/+g[o+(q*284|0)+212>>2];e=o+(q*284|0)+240|0;g[e>>2]=h;D=o+(q*284|0)+236|0;g[D>>2]=+g[D>>2]+h}g[e>>2]=h*.9900000095367432;q=q+1|0}while((q|0)!=(f|0));i=C;return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;C=+g[b+48>>2];i=+g[d>>2];D=+g[b+64>>2];j=+g[d+4>>2];E=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];y=+g[b+72>>2];z=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];x=+g[d+32>>2];F=+g[d+36>>2];G=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];B=+g[b+104>>2];A=+g[d+48>>2]+(i*k+j*h+p*B);f=v*k+u*h+t*B+ +g[d+52>>2];B=x*k+F*h+G*B+ +g[d+56>>2];g[b+1064>>2]=C*i+D*j+E*p;g[b+1068>>2]=i*s+j*r+p*q;g[b+1072>>2]=i*w+j*y+p*z;g[b+1076>>2]=0.0;g[b+1080>>2]=C*v+D*u+E*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+y*u+z*t;g[b+1092>>2]=0.0;g[b+1096>>2]=C*x+D*F+E*G;g[b+1100>>2]=s*x+r*F+q*G;g[b+1104>>2]=w*x+y*F+z*G;g[b+1108>>2]=0.0;g[b+1112>>2]=A;g[b+1116>>2]=f;g[b+1120>>2]=B;g[b+1124>>2]=0.0;B=+g[b+112>>2];f=+g[e>>2];A=+g[b+128>>2];G=+g[e+4>>2];z=+g[b+144>>2];F=+g[e+8>>2];y=+g[b+116>>2];x=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];E=+g[e+16>>2];D=+g[e+20>>2];C=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(f*p+G*j+F*i);k=E*p+D*j+C*i+ +g[e+52>>2];i=t*p+u*j+v*i+ +g[e+56>>2];g[b+1128>>2]=B*f+A*G+z*F;g[b+1132>>2]=f*y+G*x+F*w;g[b+1136>>2]=f*q+G*r+F*s;g[b+1140>>2]=0.0;g[b+1144>>2]=B*E+A*D+z*C;g[b+1148>>2]=y*E+x*D+w*C;g[b+1152>>2]=q*E+r*D+s*C;g[b+1156>>2]=0.0;g[b+1160>>2]=B*t+A*u+z*v;g[b+1164>>2]=y*t+x*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=h;g[b+1180>>2]=k;g[b+1184>>2]=i;g[b+1188>>2]=0.0;h=h-+g[b+1112>>2];k=k-+g[b+1116>>2];i=i-+g[b+1120>>2];w=+g[b+1084>>2];x=+g[b+1104>>2];y=+g[b+1088>>2];z=+g[b+1100>>2];A=+g[b+1096>>2];B=+g[b+1080>>2];C=+g[b+1064>>2];D=+g[b+1068>>2];E=+g[b+1072>>2];F=1.0/((w*x-y*z)*C+D*(y*A-x*B)+(z*B-w*A)*E);G=(z*B-w*A)*F;f=i*(y*D-w*E)*F+(h*(w*x-y*z)*F+k*(z*E-x*D)*F);j=i*(B*E-y*C)*F+(h*(y*A-x*B)*F+k*(x*C-A*E)*F);k=i*(w*C-B*D)*F+(h*G+k*(A*D-z*C)*F);g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;g[b+824>>2]=f-h;break}if(i>2]=1;g[b+824>>2]=f-i;break}else{c[b+856>>2]=0;g[b+824>>2]=0.0;break}}else{c[b+856>>2]=0;g[b+824>>2]=0.0}while(0);g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;g[b+828>>2]=j-f;break}if(h>2]=1;g[b+828>>2]=j-h;break}else{c[b+860>>2]=0;g[b+828>>2]=0.0;break}}else{c[b+860>>2]=0;g[b+828>>2]=0.0}while(0);g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;g[b+832>>2]=k-f;break}if(h>2]=1;g[b+832>>2]=k-h;break}else{c[b+864>>2]=0;g[b+832>>2]=0.0;break}}else{c[b+864>>2]=0;g[b+832>>2]=0.0}while(0);h=+g[b+1128>>2];i=+g[b+1144>>2];j=+g[b+1160>>2];k=+g[b+1132>>2];l=+g[b+1148>>2];m=+g[b+1164>>2];n=(w*x-y*z)*F*k+(z*E-x*D)*F*l+(y*D-w*E)*F*m;o=k*(y*A-x*B)*F+(x*C-A*E)*F*l+(B*E-y*C)*F*m;p=j*(w*C-B*D)*F+(h*G+i*(A*D-z*C)*F);f=G*+g[b+1136>>2]+(A*D-z*C)*F*+g[b+1152>>2]+(w*C-B*D)*F*(q*t+r*u+s*v);do if(p<1.0)if(p>-1.0){g[b+1192>>2]=+W(+-(k*G+(A*D-z*C)*F*l+(w*C-B*D)*F*m),+f);G=p<-1.0?-1.0:p;g[b+1196>>2]=+U(+(G>1.0?1.0:G));g[b+1200>>2]=+W(+-(j*(B*E-y*C)*F+(h*(y*A-x*B)*F+i*(x*C-A*E)*F)),+(j*(y*D-w*E)*F+(h*(w*x-y*z)*F+i*(z*E-x*D)*F)));break}else{g[b+1192>>2]=-+W(+n,+o);g[b+1196>>2]=-1.5707963705062866;g[b+1200>>2]=0.0;break}else{g[b+1192>>2]=+W(+n,+o);g[b+1196>>2]=1.5707963705062866;g[b+1200>>2]=0.0}while(0);g[b+1236>>2]=0.0;z=x*(h*x-j*E)-y*(i*E-h*y);A=E*(i*E-h*y)-x*(j*y-i*x);B=y*(j*y-i*x)-E*(h*x-j*E);g[b+1220>>2]=0.0;C=i*(i*E-h*y)-j*(h*x-j*E);D=j*(j*y-i*x)-h*(i*E-h*y);F=h*(h*x-j*E)-i*(j*y-i*x);g[b+1252>>2]=0.0;G=1.0/+O(+(z*z+A*A+B*B));g[b+1208>>2]=z*G;g[b+1212>>2]=A*G;g[b+1216>>2]=B*G;G=1.0/+O(+((j*y-i*x)*(j*y-i*x)+(h*x-j*E)*(h*x-j*E)+(i*E-h*y)*(i*E-h*y)));g[b+1224>>2]=(j*y-i*x)*G;g[b+1228>>2]=(h*x-j*E)*G;g[b+1232>>2]=(i*E-h*y)*G;G=1.0/+O(+(C*C+D*D+F*F));g[b+1240>>2]=C*G;g[b+1244>>2]=D*G;g[b+1248>>2]=F*G;if(!(a[b+1301>>0]|0))return;F=+g[(c[b+28>>2]|0)+344>>2];G=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(F<1.1920928955078125e-07|G<1.1920928955078125e-07)&1;G=F+G>0.0?G/(F+G):.5;g[b+1272>>2]=G;g[b+1276>>2]=1.0-G;return}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;e=c[b+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;if((c[f+236>>2]|0)==1){Cb[c[(c[f>>2]|0)+24>>2]&127](f,d);e=c[b+8>>2]|0}g=g+1|0}while((g|0)<(e|0))}a[x+16>>0]=1;c[x+12>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+36>>0]=1;c[x+32>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;a[x+56>>0]=1;c[x+52>>2]=0;c[x+44>>2]=0;c[x+48>>2]=0;a[x+76>>0]=1;c[x+72>>2]=0;c[x+64>>2]=0;c[x+68>>2]=0;if((e|0)<=0){pj(x);i=x;return}j=0;k=0;g=0;f=0;r=0;while(1){q=c[(c[(c[b+16>>2]|0)+(r<<2)>>2]|0)+192>>2]|0;p=(q+~(q<<15)>>10^q+~(q<<15))*9|0;p=(p>>6^p)+~((p>>6^p)<<11)>>16^(p>>6^p)+~((p>>6^p)<<11);o=p&j+-1;l=o>>>0>>0;a:do if(l){h=c[g+(o<<2)>>2]|0;if((h|0)!=-1){m=c[x+72>>2]|0;while(1){if((q|0)==(c[m+(h<<3)>>2]|0)){n=13;break}k=c[f+(h<<2)>>2]|0;if((k|0)==-1)break;else h=k}if((n|0)==13?(n=0,(c[x+52>>2]|0)+(h<<2)|0):0)break;if(!l){n=20;break}}e=c[g+(o<<2)>>2]|0;if((e|0)!=-1){h=c[x+72>>2]|0;while(1){if((q|0)==(c[h+(e<<3)>>2]|0))break;e=c[f+(e<<2)>>2]|0;if((e|0)==-1){n=20;break a}}c[(c[x+52>>2]|0)+(e<<2)>>2]=q;e=j;n=82}else n=20}else n=20;while(0);if((n|0)==20){l=c[x+44>>2]|0;if((l|0)==(j|0)){e=j|0?j<<1:1;if((j|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,w=yc((e<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;g=w+4+15&-16}else g=0;if((j|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[x+52>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}f=c[x+52>>2]|0;if(f|0){if(a[x+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[x+52>>2]=0}a[x+56>>0]=1;c[x+52>>2]=g;c[x+48>>2]=e;f=j}else{f=j;e=j}}else{f=l;e=j}c[(c[x+52>>2]|0)+(f<<2)>>2]=q;c[x+44>>2]=f+1;f=c[x+64>>2]|0;if((f|0)==(c[x+68>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if((s|0)!=0?(c[6435]=(c[6435]|0)+1,t=yc((s<<3|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;g=t+4+15&-16}else g=0;if((f|0)>0){e=0;do{k=(c[x+72>>2]|0)+(e<<3)|0;m=c[k+4>>2]|0;n=g+(e<<3)|0;c[n>>2]=c[k>>2];c[n+4>>2]=m;e=e+1|0}while((e|0)!=(f|0))}e=c[x+72>>2]|0;if(e|0){if(a[x+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[x+72>>2]=0}a[x+76>>0]=1;c[x+72>>2]=g;c[x+68>>2]=s;f=c[x+64>>2]|0;e=c[x+48>>2]|0}n=(c[x+72>>2]|0)+(f<<3)|0;c[n>>2]=q;c[n+4>>2]=0;c[x+64>>2]=f+1;if((j|0)<(e|0)){k=c[x+4>>2]|0;do if((e|0)>(k|0)){if((e|0)>=(k|0)){do if((c[x+8>>2]|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,u=yc((e<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;f=u+4+15&-16}else f=0;g=c[x+12>>2]|0;if((k|0)<=0){if(!g){a[x+16>>0]=1;c[x+12>>2]=f;c[x+8>>2]=e;break}}else{h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}if(a[x+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}a[x+16>>0]=1;c[x+12>>2]=f;c[x+8>>2]=e}else f=c[x+12>>2]|0;while(0);Qn(f+(k<<2)|0,0,e-k<<2|0)|0}c[x+4>>2]=e;j=c[x+24>>2]|0;if((e|0)>(j|0)){do if((c[x+28>>2]|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,v=yc((e<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;f=v+4+15&-16}else f=0;g=c[x+32>>2]|0;if((j|0)<=0){if(!g){a[x+36>>0]=1;c[x+32>>2]=f;c[x+28>>2]=e;break}}else{h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}if(a[x+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}a[x+36>>0]=1;c[x+32>>2]=f;c[x+28>>2]=e}else f=c[x+32>>2]|0;while(0);Qn(f+(j<<2)|0,0,e-j<<2|0)|0}c[x+24>>2]=e;if((e|0)>0){o=e<<2;Qn(c[x+12>>2]|0,-1,o|0)|0;Qn(c[x+32>>2]|0,-1,o|0)|0}if((k|0)<=0){e=c[x+48>>2]|0;break}f=c[x+72>>2]|0;g=c[x+12>>2]|0;h=c[x+32>>2]|0;e=c[x+48>>2]|0;j=0;do{o=c[f+(j<<3)>>2]|0;o=(o+~(o<<15)>>10^o+~(o<<15))*9|0;o=g+((((o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11))&e+-1)<<2)|0;c[h+(j<<2)>>2]=c[o>>2];c[o>>2]=j;j=j+1|0}while((j|0)!=(k|0))}while(0);f=e;e=p&e+-1}else{f=e;e=o}g=c[x+12>>2]|0;e=g+(e<<2)|0;n=c[x+32>>2]|0;c[n+(l<<2)>>2]=c[e>>2];c[e>>2]=l;e=f;f=n;n=82}if((n|0)==82){n=0;Cb[c[(c[q>>2]|0)+60>>2]&127](q,d);j=e;e=c[b+8>>2]|0}h=r+1|0;if((h|0)>=(e|0))break;k=c[x+4>>2]|0;r=h}pj(x);i=x;return}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;ig(b+4|0,((_(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){p=((_(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;ig(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)<0?0:p}e=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=e;e=c[b+124+(e<<2)>>2]|0;if(e|0){do{l=e+56|0;m=e;e=c[l>>2]|0;k=c[m+52>>2]|0;j=e;if(!k)c[b+124+(c[m+60>>2]<<2)>>2]=j;else c[k+56>>2]=j;j=c[l>>2]|0;if(j|0)c[j+52>>2]=c[m+52>>2];c[m+52>>2]=0;c[l>>2]=c[b+132>>2];j=c[b+132>>2]|0;if(j|0)c[j+52>>2]=m;c[b+132>>2]=m;j=c[m+48>>2]|0;hh(b+4|0,j)|0;k=c[b+8>>2]|0;if(k|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+8>>2]=j;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r>>2]=c[m+16>>2];c[r+4>>2]=c[m+16+4>>2];c[r+8>>2]=c[m+16+8>>2];c[r+12>>2]=c[m+16+12>>2];c[r+16>>2]=c[m+32>>2];c[r+16+4>>2]=c[m+32+4>>2];c[r+16+8>>2]=c[m+32+8>>2];c[r+16+12>>2]=c[m+32+12>>2];j=c[b+68>>2]|0;if(!j){c[6435]=(c[6435]|0)+1;j=yc(63)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j;l=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0))}else c[b+68>>2]=0;c[j+32>>2]=0;c[j+36>>2]=m;c[j+40>>2]=0;c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];lf(b+64|0,c[b+64>>2]|0,j);k=(c[b+76>>2]|0)+1|0;c[b+76>>2]=k;c[m+48>>2]=j;c[m+60>>2]=2}while((e|0)!=0);c[b+164>>2]=k;a[b+194>>0]=1}c[r>>2]=8904;c[r+4>>2]=b;if(a[b+193>>0]|0?(we(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),a[b+193>>0]|0):0){p=c[b+4>>2]|0;we(b+4|0,p,p,r)}if(a[b+194>>0]|0?(n=c[b+136>>2]|0,n=Eb[c[(c[n>>2]|0)+28>>2]&127](n)|0,f=c[n+4>>2]|0,(f|0)>0):0){e=(_(c[b+156>>2]|0,f)|0)/100|0;p=c[b+160>>2]|0;e=(p|0)>(e|0)?p:e;e=(f|0)<(e|0)?f:e;if((e|0)>0){j=0;do{l=((c[b+184>>2]|0)+j|0)%(f|0)|0;o=c[n+12>>2]|0;k=c[o+(l<<4)>>2]|0;l=c[o+(l<<4)+4>>2]|0;o=c[k+48>>2]|0;p=c[l+48>>2]|0;if(!(((((+g[o>>2]<=+g[p+16>>2]?+g[o+16>>2]>=+g[p>>2]:0)?+g[o+4>>2]<=+g[p+20>>2]:0)?+g[o+20>>2]>=+g[p+4>>2]:0)?+g[o+8>>2]<=+g[p+24>>2]:0)?+g[o+24>>2]>=+g[p+8>>2]:0)){f=c[b+136>>2]|0;Ib[c[(c[f>>2]|0)+12>>2]&31](f,k,l,d)|0;f=c[n+4>>2]|0;j=j+-1|0;e=e+-1|0}j=j+1|0}while((j|0)<(e|0));if((f|0)>0)q=37;else e=0}else q=37;if((q|0)==37)e=((c[b+184>>2]|0)+e|0)%(f|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)h=0.0;else h=+(e>>>0)/+(f>>>0);g[b+176>>2]=h;c[b+172>>2]=e>>>1;c[b+168>>2]=f>>>1;p=c[b+136>>2]|0;if(!(Eb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){i=r;return}p=c[b+136>>2]|0;p=Eb[c[(c[p>>2]|0)+28>>2]&127](p)|0;e=c[p+4>>2]|0;if((e|0)>1){Vd(p,0,e+-1|0);j=0;k=0;l=0;f=0;q=44}else{j=0;o=0;n=0;f=0}while(1){if((q|0)==44){q=0;e=c[p+4>>2]|0;o=k;n=l}if((j|0)>=(e|0))break;m=c[p+12>>2]|0;k=m+(j<<4)|0;l=c[k>>2]|0;m=m+(j<<4)+4|0;e=c[m>>2]|0;if(!((l|0)==(n|0)&(e|0)==(f|0))){f=c[l+48>>2]|0;n=c[e+48>>2]|0;if(((((+g[f>>2]<=+g[n+16>>2]?+g[f+16>>2]>=+g[n>>2]:0)?+g[f+4>>2]<=+g[n+20>>2]:0)?+g[f+20>>2]>=+g[n+4>>2]:0)?+g[f+8>>2]<=+g[n+24>>2]:0)?+g[f+24>>2]>=+g[n+8>>2]:0){f=e;e=o}else q=53}else{e=f;q=53}if((q|0)==53){f=c[b+136>>2]|0;ic[c[(c[f>>2]|0)+32>>2]&127](f,k,d);c[k>>2]=0;c[m>>2]=0;f=e;e=o+1|0}j=j+1|0;k=e;q=44}if((e|0)>1){Vd(p,0,e+-1|0);k=c[p+4>>2]|0}else k=e;l=k-o|0;if((o|0)<0){if((c[p+8>>2]|0)<(l|0)){if((k|0)!=(o|0)){c[6435]=(c[6435]|0)+1;e=yc((l<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[p+4>>2]|0;if((f|0)>0){j=0;do{q=c[p+12>>2]|0;c[e+(j<<4)>>2]=c[q+(j<<4)>>2];c[e+(j<<4)+4>>2]=c[q+(j<<4)+4>>2];c[e+(j<<4)+8>>2]=c[q+(j<<4)+8>>2];c[e+(j<<4)+12>>2]=c[q+(j<<4)+12>>2];j=j+1|0}while((j|0)!=(f|0));f=p+12|0}else f=p+12|0}else{e=0;f=p+12|0}j=c[f>>2]|0;if(j|0){if(a[p+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[f>>2]=0}a[p+16>>0]=1;c[f>>2]=e;c[p+8>>2]=l}else f=p+12|0;e=k;do{q=(c[f>>2]|0)+(e<<4)|0;e=e+1|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0}while((e|0)!=(l|0))}c[p+4>>2]=l;i=r;return}function vd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;o=c[b+28>>2]|0;h=c[b+32>>2]|0;Fc(b,o+4|0,h+4|0,o+264|0,h+264|0);q=c[d+8>>2]|0;g[q>>2]=1.0;p=c[d+24>>2]|0;g[q+(p+1<<2)>>2]=1.0;g[q+((p<<1)+2<<2)>>2]=1.0;l=+g[b+348>>2];u=+g[b+352>>2];n=+g[b+356>>2];s=+g[o+4>>2]*l+ +g[o+8>>2]*u+ +g[o+12>>2]*n;m=l*+g[o+20>>2]+u*+g[o+24>>2]+n*+g[o+28>>2];n=l*+g[o+36>>2]+u*+g[o+40>>2]+n*+g[o+44>>2];q=c[d+12>>2]|0;c[q>>2]=0;g[q+4>>2]=n;g[q+8>>2]=-m;g[q+12>>2]=0.0;g[q+(p<<2)>>2]=-n;c[q+(p<<2)+4>>2]=0;g[q+(p<<2)+8>>2]=s;g[q+(p<<2)+12>>2]=0.0;g[q+(p<<1<<2)>>2]=m;g[q+(p<<1<<2)+4>>2]=-s;c[q+(p<<1<<2)+8>>2]=0;g[q+(p<<1<<2)+12>>2]=0.0;q=c[d+16>>2]|0;g[q>>2]=-1.0;g[q+(p+1<<2)>>2]=-1.0;g[q+((p<<1)+2<<2)>>2]=-1.0;u=+g[b+412>>2];l=+g[b+416>>2];k=+g[b+420>>2];t=+g[h+4>>2]*u+ +g[h+8>>2]*l+ +g[h+12>>2]*k;j=u*+g[h+20>>2]+l*+g[h+24>>2]+k*+g[h+28>>2];k=u*+g[h+36>>2]+l*+g[h+40>>2]+k*+g[h+44>>2];p=c[d+20>>2]|0;q=c[d+24>>2]|0;c[p>>2]=0;g[p+4>>2]=-k;g[p+8>>2]=j;g[p+12>>2]=0.0;g[p+(q<<2)>>2]=k;c[p+(q<<2)+4>>2]=0;g[p+(q<<2)+8>>2]=-t;g[p+(q<<2)+12>>2]=0.0;g[p+(q<<1<<2)>>2]=-j;g[p+(q<<1<<2)+4>>2]=t;c[p+(q<<1<<2)+8>>2]=0;g[p+(q<<1<<2)+12>>2]=0.0;q=c[b+592>>2]|0;l=+g[((q&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];r=c[d+24>>2]|0;i=c[d+28>>2]|0;f=c[d+36>>2]|0;e=c[d+40>>2]|0;g[i>>2]=l*(t+ +g[h+52>>2]-s-+g[o+52>>2]);g[f>>2]=-3402823466385288598117041.0e14;g[e>>2]=3402823466385288598117041.0e14;if(!(q&1)){g[i+(r<<2)>>2]=l*(j+ +g[h+56>>2]-m-+g[o+56>>2]);g[f+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;g[i+(r<<1<<2)>>2]=l*(k+ +g[h+60>>2]-n-+g[o+60>>2]);g[f+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14}else{v=c[d+32>>2]|0;c[v>>2]=c[b+596>>2];g[i+(r<<2)>>2]=l*(j+ +g[h+56>>2]-m-+g[o+56>>2]);g[f+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<2)>>2]=c[b+596>>2];g[i+(r<<1<<2)>>2]=l*(k+ +g[h+60>>2]-n-+g[o+60>>2]);g[f+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))h=r*3|0;else{h=c[d+12>>2]|0;u=+g[b+456>>2];if(+g[b+444>>2]>2]>2];y=+g[o+8>>2];x=+g[o+12>>2];D=+g[b+304>>2];C=+g[b+320>>2];B=+g[b+336>>2];l=+g[b+308>>2];n=+g[b+324>>2];t=+g[b+340>>2];w=+g[o+20>>2];j=+g[o+24>>2];k=+g[o+28>>2];m=+g[o+36>>2];s=+g[o+40>>2];u=+g[o+44>>2];g[h+(r*3<<2)>>2]=z*D+y*C+x*B;g[h+((r*3|0)+1<<2)>>2]=D*w+C*j+B*k;g[h+((r*3|0)+2<<2)>>2]=D*m+C*s+B*u;g[h+(r<<2<<2)>>2]=z*l+y*n+x*t;g[h+((r<<2|1)<<2)>>2]=l*w+n*j+t*k;g[h+((r<<2|2)<<2)>>2]=l*m+n*s+t*u;g[p+(r*3<<2)>>2]=-(z*D+y*C+x*B);g[p+((r*3|0)+1<<2)>>2]=-(D*w+C*j+B*k);g[p+((r*3|0)+2<<2)>>2]=-(D*m+C*s+B*u);g[p+(r<<2<<2)>>2]=-(z*l+y*n+x*t);g[p+((r<<2|1)<<2)>>2]=-(l*w+n*j+t*k);g[p+((r<<2|2)<<2)>>2]=-(l*m+n*s+t*u);A=+g[d>>2]*+g[b+436>>2];i=c[d+28>>2]|0;g[i+(r*3<<2)>>2]=A*((z*D+y*C+x*B)*+g[b+460>>2]+(D*w+C*j+B*k)*+g[b+464>>2]+(D*m+C*s+B*u)*+g[b+468>>2]);g[i+(r<<2<<2)>>2]=A*((z*l+y*n+x*t)*+g[b+460>>2]+(l*w+n*j+t*k)*+g[b+464>>2]+(l*m+n*s+t*u)*+g[b+468>>2]);f=c[d+36>>2]|0;g[f+(r*3<<2)>>2]=-3402823466385288598117041.0e14;e=c[d+40>>2]|0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;g[f+(r<<2<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2<<2)>>2]=3402823466385288598117041.0e14;h=(c[d+24>>2]|0)+(r<<2)|0;break}D=+g[b+436>>2];B=D*+g[b+460>>2]*D;C=D*D*+g[b+464>>2];D=D*D*+g[b+468>>2];g[h+(r*3<<2)>>2]=B;g[h+((r*3|0)+1<<2)>>2]=C;g[h+((r*3|0)+2<<2)>>2]=D;g[p+(r*3<<2)>>2]=-B;g[p+((r*3|0)+1<<2)>>2]=-C;g[p+((r*3|0)+2<<2)>>2]=-D;g[i+(r*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(q&4|0)c[(c[d+32>>2]|0)+(r*3<<2)>>2]=c[b+604>>2];g[f+(r*3<<2)>>2]=0.0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;h=r<<2}while(0);if(!(a[b+525>>0]|0))return;D=+g[b+436>>2];B=D*+g[b+476>>2]*D;C=D*D*+g[b+480>>2];D=D*D*+g[b+484>>2];p=c[d+12>>2]|0;r=c[d+20>>2]|0;g[p+(h<<2)>>2]=B;q=h+1|0;g[p+(q<<2)>>2]=C;v=h+2|0;g[p+(v<<2)>>2]=D;g[r+(h<<2)>>2]=-B;g[r+(q<<2)>>2]=-C;g[r+(v<<2)>>2]=-D;g[i+(h<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4|0)c[(c[d+32>>2]|0)+(h<<2)>>2]=c[b+604>>2];if(!(+g[b+452>>2]>0.0)){g[f+(h<<2)>>2]=-3402823466385288598117041.0e14;g[e+(h<<2)>>2]=3402823466385288598117041.0e14;return}f=f+(h<<2)|0;e=c[d+40>>2]|0;if(+g[b+508>>2]>0.0){g[f>>2]=0.0;g[e+(h<<2)>>2]=3402823466385288598117041.0e14;return}else{g[f>>2]=-3402823466385288598117041.0e14;g[e+(h<<2)>>2]=0.0;return}}function wd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var j=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;K=i;i=i+288|0;c[K+144>>2]=c[d>>2];c[K+144+4>>2]=c[d+4>>2];c[K+144+8>>2]=c[d+8>>2];c[K+144+12>>2]=c[d+12>>2];c[K+144+16>>2]=c[d+16>>2];c[K+144+16+4>>2]=c[d+16+4>>2];c[K+144+16+8>>2]=c[d+16+8>>2];c[K+144+16+12>>2]=c[d+16+12>>2];c[K+144+32>>2]=c[d+32>>2];c[K+144+32+4>>2]=c[d+32+4>>2];c[K+144+32+8>>2]=c[d+32+8>>2];c[K+144+32+12>>2]=c[d+32+12>>2];c[K+144+48>>2]=c[d+48>>2];c[K+144+48+4>>2]=c[d+48+4>>2];c[K+144+48+8>>2]=c[d+48+8>>2];c[K+144+48+12>>2]=c[d+48+12>>2];c[K+80>>2]=c[e>>2];c[K+80+4>>2]=c[e+4>>2];c[K+80+8>>2]=c[e+8>>2];c[K+80+12>>2]=c[e+12>>2];c[K+80+16>>2]=c[e+16>>2];c[K+80+16+4>>2]=c[e+16+4>>2];c[K+80+16+8>>2]=c[e+16+8>>2];c[K+80+16+12>>2]=c[e+16+12>>2];c[K+80+32>>2]=c[e+32>>2];c[K+80+32+4>>2]=c[e+32+4>>2];c[K+80+32+8>>2]=c[e+32+8>>2];c[K+80+32+12>>2]=c[e+32+12>>2];c[K+80+48>>2]=c[e+48>>2];c[K+80+48+4>>2]=c[e+48+4>>2];c[K+80+48+8>>2]=c[e+48+8>>2];c[K+80+48+12>>2]=c[e+48+12>>2];m=+g[K+80+52>>2]-+g[K+144+52>>2];O=+g[K+80+56>>2]-+g[K+144+56>>2];g[K+32>>2]=+g[K+80+48>>2]-+g[K+144+48>>2];g[K+32+4>>2]=m;g[K+32+8>>2]=O;g[K+32+12>>2]=0.0;Gf(K+144|0,K+80|0,K+224|0,K+208|0);O=+g[K+208>>2];m=O*+g[K+224+4>>2];L=O*+g[K+224+8>>2];g[K>>2]=+g[K+224>>2]*O;g[K+4>>2]=m;g[K+8>>2]=L;g[K+12>>2]=0.0;c[K+224+4>>2]=0;c[K+224+4+4>>2]=0;c[K+224+24>>2]=0;c[K+224+24+4>>2]=0;J=K+224+44|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;Wg(K+144|0,K+16|0);L=+g[K+16>>2];m=+g[K+16+4>>2];O=+g[K+16+8>>2];M=+g[K+16+12>>2];j=L*(2.0/(L*L+m*m+O*O+M*M));o=m*(2.0/(L*L+m*m+O*O+M*M));N=O*(2.0/(L*L+m*m+O*O+M*M));g[K+224>>2]=1.0-(m*o+O*N);g[K+224+4>>2]=L*o-M*N;g[K+224+8>>2]=L*N+M*o;g[K+224+12>>2]=0.0;g[K+224+16>>2]=L*o+M*N;g[K+224+20>>2]=1.0-(L*j+O*N);g[K+224+24>>2]=m*N-M*j;g[K+224+28>>2]=0.0;g[K+224+32>>2]=L*N-M*o;g[K+224+36>>2]=m*N+M*j;g[K+224+40>>2]=1.0-(L*j+m*o);g[J>>2]=0.0;rh(b,K+224|0,K+32|0,K,K+64|0,K+48|0);if((c[a+268>>2]|0)<=0){i=K;return}I=0;do{p=c[(c[a+276>>2]|0)+(I<<2)>>2]|0;if(Zb[c[(c[f>>2]|0)+8>>2]&31](f,c[p+188>>2]|0)|0?(C=c[p+192>>2]|0,mc[c[(c[C>>2]|0)+8>>2]&127](C,p+4|0,K+208|0,K+32|0),q=+g[K+208>>2]+ +g[K+64>>2],r=+g[K+208+4>>2]+ +g[K+64+4>>2],s=+g[K+208+8>>2]+ +g[K+64+8>>2],g[K+208>>2]=q,g[K+208+4>>2]=r,g[K+208+8>>2]=s,g[K+208+12>>2]=0.0,t=+g[K+32>>2]+ +g[K+48>>2],u=+g[K+32+4>>2]+ +g[K+48+4>>2],v=+g[K+32+8>>2]+ +g[K+48+8>>2],g[K+32>>2]=t,g[K+32+4>>2]=u,g[K+32+8>>2]=v,g[K+32+12>>2]=0.0,w=+g[d+48>>2]-(t+q)*.5,x=+g[d+52>>2]-(u+r)*.5,y=+g[d+56>>2]-(v+s)*.5,z=+g[e+48>>2]-(t+q)*.5,A=+g[e+52>>2]-(u+r)*.5,B=+g[e+56>>2]-(v+s)*.5,C=w<-((t-q)*.5)|(w>(t-q)*.5?8:0)|(x<-((u-r)*.5)?2:0)|(x>(u-r)*.5?16:0)|(y<-((v-s)*.5)?4:0)|(y>(v-s)*.5?32:0),D=z<-((t-q)*.5)|(z>(t-q)*.5?8:0)|(A<-((u-r)*.5)?2:0)|(A>(u-r)*.5?16:0)|(B<-((v-s)*.5)?4:0)|(B>(v-s)*.5?32:0),(C&D|0)==0):0){H=1;J=0;j=0.0;l=1065353216;o=1.0;while(1){if(!(H&C)){if((H&D|0)!=0?(E=(-w-o*(t-q)*.5)/(z-w),E<(c[k>>2]=l,+g[k>>2])):0)l=(g[k>>2]=E,c[k>>2]|0)}else{m=(-w-o*(t-q)*.5)/(z-w);if(j<=m)j=m}n=H<<1;if(!(n&C))if((n&D|0)!=0?(F=(-x-o*(u-r)*.5)/(A-x),F<(c[k>>2]=l,+g[k>>2])):0){m=j;l=(g[k>>2]=F,c[k>>2]|0)}else m=j;else{m=(-x-o*(u-r)*.5)/(A-x);if(!(j<=m))m=j}n=H<<2;if(!(n&C))if((n&D|0)!=0?(G=(-y-o*(v-s)*.5)/(B-y),G<(c[k>>2]=l,+g[k>>2])):0){j=m;l=(g[k>>2]=G,c[k>>2]|0)}else j=m;else{j=(-y-o*(v-s)*.5)/(B-y);if(!(m<=j))j=m}J=J+1|0;if((J|0)==2)break;else{H=H<<3;o=-1.0}}if(j<=(c[k>>2]=l,+g[k>>2])){J=c[p+192>>2]|0;c[K+224>>2]=0;c[K+224+4>>2]=J;c[K+224+8>>2]=p;c[K+224+12>>2]=p+4;c[K+224+16>>2]=-1;c[K+224+20>>2]=-1;Ic(b,K+144|0,K+80|0,K+224|0,f,h)}}I=I+1|0}while((I|0)<(c[a+268>>2]|0));i=K;return}function xd(d,e){d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+112|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;p=c[e+104>>2]|0;l=q+48|0;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){f=0;j=o}else{c[6435]=(c[6435]|0)+1;f=yc(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){k=0;do{l=f+(k<<6)|0;m=(c[d+96>>2]|0)+(k<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=k+1|0}while((k|0)!=(j|0))}j=c[d+96>>2]|0;if(j|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=p;j=d+96|0}else j=d+96|0;f=o;do{l=(c[j>>2]|0)+(f<<6)|0;m=q+48|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){f=c[d+96>>2]|0;j=0;k=c[e+112>>2]|0;while(1){g[f+(j<<6)+16>>2]=+h[k+32>>3];g[f+(j<<6)+20>>2]=+h[k+40>>3];g[f+(j<<6)+24>>2]=+h[k+48>>3];g[f+(j<<6)+28>>2]=+h[k+56>>3];g[f+(j<<6)>>2]=+h[k>>3];g[f+(j<<6)+4>>2]=+h[k+8>>3];g[f+(j<<6)+8>>2]=+h[k+16>>3];g[f+(j<<6)+12>>2]=+h[k+24>>3];c[f+(j<<6)+32>>2]=c[k+64>>2];c[f+(j<<6)+36>>2]=c[k+68>>2];c[f+(j<<6)+40>>2]=c[k+72>>2];j=j+1|0;if((j|0)==(p|0))break;else k=k+80|0}}m=c[e+108>>2]|0;c[q+32>>2]=0;c[q+32+4>>2]=0;c[q+32+8>>2]=0;c[q+32+12>>2]=0;l=c[d+128>>2]|0;if((l|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[6435]=(c[6435]|0)+1;f=yc((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){k=0;do{p=f+(k<<4)|0;o=(c[d+136>>2]|0)+(k<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[d+136>>2]|0;if(j|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=m;j=d+136|0}else j=d+136|0;f=l;do{p=(c[j>>2]|0)+(f<<4)|0;c[p>>2]=c[q+32>>2];c[p+4>>2]=c[q+32+4>>2];c[p+8>>2]=c[q+32+8>>2];c[p+12>>2]=c[q+32+12>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){f=c[d+136>>2]|0;j=0;k=c[e+116>>2]|0;while(1){c[f+(j<<4)+12>>2]=c[k+12>>2];b[f+(j<<4)+6>>1]=b[k+6>>1]|0;b[f+(j<<4)+8>>1]=b[k+8>>1]|0;b[f+(j<<4)+10>>1]=b[k+10>>1]|0;b[f+(j<<4)>>1]=b[k>>1]|0;b[f+(j<<4)+2>>1]=b[k+2>>1]|0;b[f+(j<<4)+4>>1]=b[k+4>>1]|0;j=j+1|0;if((j|0)==(m|0))break;else k=k+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;l=c[d+152>>2]|0;if((l|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[6435]=(c[6435]|0)+1;f=yc(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){k=0;do{p=f+(k<<5)|0;o=(c[d+160>>2]|0)+(k<<5)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=m;j=d+160|0}else j=d+160|0;f=l;do{p=(c[j>>2]|0)+(f<<5)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){i=q;return}j=c[d+160>>2]|0;k=0;f=c[e+128>>2]|0;while(1){b[j+(k<<5)+6>>1]=b[f+14>>1]|0;b[j+(k<<5)+8>>1]=b[f+16>>1]|0;b[j+(k<<5)+10>>1]=b[f+18>>1]|0;b[j+(k<<5)>>1]=b[f+8>>1]|0;b[j+(k<<5)+2>>1]=b[f+10>>1]|0;b[j+(k<<5)+4>>1]=b[f+12>>1]|0;c[j+(k<<5)+12>>2]=c[f>>2];c[j+(k<<5)+16>>2]=c[f+4>>2];k=k+1|0;if((k|0)==(m|0))break;else f=f+20|0}i=q;return}function yd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=i;i=i+16|0;m=c[a+372>>2]|0;a:do switch(c[m+32>>2]|0){case 1:{d=1;b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;o=m+32|0;g[m+16+(d<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[m+(c[o>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[o>>2]|0;c[o>>2]=d+1;e=+g[n>>2];f=+g[n+4>>2];h=+g[n+8>>2];Nh(a,e,f,h,c[m+(d<<2)>>2]|0);if(yd(a)|0)break;m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-e,-f,-h,c[m+(o<<2)>>2]|0);if(yd(a)|0)break;o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;b=b+1|0;if(b>>>0>=3)break a;m=c[a+372>>2]|0;d=c[m+32>>2]|0}o=1;i=n;return o|0}case 2:{o=c[m+4>>2]|0;b=c[m>>2]|0;e=+g[o+16>>2]-+g[b+16>>2];f=+g[o+20>>2]-+g[b+20>>2];h=+g[o+24>>2]-+g[b+24>>2];b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;j=+g[n+8>>2];k=+g[n+4>>2];l=+g[n>>2];if((f*j-h*k)*(f*j-h*k)+(h*l-e*j)*(h*l-e*j)+(e*k-f*l)*(e*k-f*l)>0.0){m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,f*j-h*k,h*l-e*j,e*k-f*l,c[m+(o<<2)>>2]|0);if(yd(a)|0)break;m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-(f*j-h*k),-(h*l-e*j),-(e*k-f*l),c[m+(o<<2)>>2]|0);if(yd(a)|0)break;o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m}b=b+1|0;if(b>>>0>=3)break a}o=1;i=n;return o|0}case 3:{o=c[m+4>>2]|0;d=c[m>>2]|0;j=+g[d+16>>2];e=+g[o+16>>2]-j;k=+g[d+20>>2];f=+g[o+20>>2]-k;l=+g[d+24>>2];h=+g[o+24>>2]-l;o=c[m+8>>2]|0;j=+g[o+16>>2]-j;k=+g[o+20>>2]-k;l=+g[o+24>>2]-l;if((f*l-h*k)*(f*l-h*k)+(h*j-e*l)*(h*j-e*l)+(e*k-f*j)*(e*k-f*j)>0.0){g[m+28>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+12>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,f*l-h*k,h*j-e*l,e*k-f*j,c[m+(o<<2)>>2]|0);if(yd(a)|0){o=1;i=n;return o|0}m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-(f*l-h*k),-(h*j-e*l),-(e*k-f*j),c[m+(o<<2)>>2]|0);if(yd(a)|0){o=1;i=n;return o|0}else{o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;break a}}break}case 4:{o=c[m>>2]|0;a=c[m+12>>2]|0;l=+g[a+16>>2];r=+g[o+16>>2]-l;p=+g[a+20>>2];e=+g[o+20>>2]-p;h=+g[a+24>>2];j=+g[o+24>>2]-h;o=c[m+4>>2]|0;f=+g[o+16>>2]-l;k=+g[o+20>>2]-p;q=+g[o+24>>2]-h;o=c[m+8>>2]|0;l=+g[o+16>>2]-l;p=+g[o+20>>2]-p;h=+g[o+24>>2]-h;if(!((0.0!=0.0?1:r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l!=r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l)|r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l==0.0)){o=1;i=n;return o|0}break}default:{}}while(0);o=0;i=n;return o|0}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0;Y=c[d+36>>2]|0;X=c[e+36>>2]|0;K=+g[Y+8>>2];L=+g[Y+12>>2];M=+g[Y+16>>2];d=c[X+8>>2]|0;R=+g[d+8>>2];S=+g[d+12>>2];T=+g[d+16>>2];e=c[X+12>>2]|0;N=+g[e+8>>2];P=+g[e+12>>2];Q=+g[e+16>>2];h=c[X+16>>2]|0;U=+g[h+8>>2];V=+g[h+12>>2];W=+g[h+16>>2];w=N-K-(R-K);D=P-L-(S-L);B=Q-M-(T-M);x=D*(W-M-(T-M))-B*(V-L-(S-L));E=B*(U-K-(R-K))-w*(W-M-(T-M));C=w*(V-L-(S-L))-D*(U-K-(R-K));do if(C*C+(x*x+E*E)>1.1920928955078125e-07?(G=1.0/+O(+(C*C+(x*x+E*E))),H=(T-M)*C*G+((R-K)*x*G+(S-L)*E*G),H*H<3402823466385288598117041.0e14):0){f=R-K-x*G*H;r=S-L-E*G*H;s=T-M-C*G*H;t=N-K-x*G*H;u=P-L-E*G*H;v=Q-M-C*G*H;if((C*(u*f-r*t)+(x*(r*v-s*u)+E*(s*t-v*f))>0.0?(y=U-K-x*G*H,z=V-L-E*G*H,A=W-M-C*G*H,C*(z*t-u*y)+(x*(u*A-v*z)+E*(v*y-A*t))>0.0):0)?C*(r*y-z*f)+(x*(z*s-A*r)+E*(A*f-s*y))>0.0:0){q=H*H;p=x*G*H;n=C*G*H;m=E*G*H;break}if(w*w+D*D+B*B>1.1920928955078125e-07?(F=-((R-K)*w+(S-L)*D+(T-M)*B)/(w*w+D*D+B*B),F=F<0.0?0.0:F>1.0?1.0:F,q=(T-M+B*F)*(T-M+B*F)+((R-K+w*F)*(R-K+w*F)+(S-L+D*F)*(S-L+D*F)),q<3402823466385288598117041.0e14):0){s=R-K+w*F;t=T-M+B*F;r=S-L+D*F}else{q=3402823466385288598117041.0e14;s=0.0;t=0.0;r=0.0}f=(U-K-(N-K))*(U-K-(N-K))+(V-L-(P-L))*(V-L-(P-L))+(W-M-(Q-M))*(W-M-(Q-M));if(f>1.1920928955078125e-07?(n=-((N-K)*(U-K-(N-K))+(P-L)*(V-L-(P-L))+(Q-M)*(W-M-(Q-M)))/f,n=n<0.0?0.0:n>1.0?1.0:n,p=N-K+(U-K-(N-K))*n,k=P-L+(V-L-(P-L))*n,n=Q-M+(W-M-(Q-M))*n,n*n+(p*p+k*k)1.1920928955078125e-07?(J=-((U-K)*(R-K-(U-K))+(V-L)*(S-L-(V-L))+(W-M)*(T-M-(W-M)))/f,J=J<0.0?0.0:J>1.0?1.0:J,I=U-K+(R-K-(U-K))*J,m=V-L+(S-L-(V-L))*J,J=W-M+(T-M-(W-M))*J,J*J+(I*I+m*m)>2];J=L-+g[Y+28>>2];u=M-+g[Y+32>>2];u=+g[b+12>>2]+ +O(+(I*I+J*J+u*u))*2.0;if(!(q>2];V=+g[d+88>>2];W=+g[e+88>>2];f=+g[h+88>>2];f=!(V<=0.0)&!(W<=0.0)&!(f<=0.0)?V*s*(1.0/(t+s+r))+W*r*(1.0/(t+s+r))+t*(1.0/(t+s+r))*f:0.0;if(!(k+f>0.0))return;W=1.0/-+O(+q);q=p*W;p=m*W;n=n*W;o=c[b+4>>2]|0;d=c[b+8>>2]|0;l=c[(+g[o+316>>2]>+g[d+316>>2]?o+316|0:d+316|0)>>2]|0;m=k/(k+f)*+g[o+332>>2];f=f/(k+f)*+g[d+332>>2];d=c[o+832>>2]|0;if((d|0)==(c[o+836>>2]|0)?(Z=d|0?d<<1:1,(d|0)<(Z|0)):0){if(!Z)j=0;else{c[6435]=(c[6435]|0)+1;d=yc((Z*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+832>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+840>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+840>>2]|0;if(d|0){if(a[o+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[o+840>>2]=0}a[o+844>>0]=1;c[o+840>>2]=j;c[o+836>>2]=Z;d=c[o+832>>2]|0}Z=c[o+840>>2]|0;c[Z+(d*56|0)>>2]=Y;c[Z+(d*56|0)+4>>2]=X;g[Z+(d*56|0)+8>>2]=s*(1.0/(t+s+r));g[Z+(d*56|0)+12>>2]=r*(1.0/(t+s+r));g[Z+(d*56|0)+16>>2]=t*(1.0/(t+s+r));g[Z+(d*56|0)+20>>2]=0.0;g[Z+(d*56|0)+24>>2]=q;g[Z+(d*56|0)+28>>2]=p;g[Z+(d*56|0)+32>>2]=n;g[Z+(d*56|0)+36>>2]=0.0;g[Z+(d*56|0)+40>>2]=u;c[Z+(d*56|0)+44>>2]=l;g[Z+(d*56|0)+48>>2]=m;g[Z+(d*56|0)+52>>2]=f;c[o+832>>2]=(c[o+832>>2]|0)+1;return}function Ad(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;n=c[e+56>>2]|0;j=o+48|0;l=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){f=0;g=m}else{c[6435]=(c[6435]|0)+1;f=yc(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+88>>2]|0}if((g|0)>0){h=0;do{j=f+(h<<6)|0;k=(c[d+96>>2]|0)+(h<<6)|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=h+1|0}while((h|0)!=(g|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{j=(c[g>>2]|0)+(f<<6)|0;k=o+48|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){f=c[d+96>>2]|0;g=0;h=c[e+64>>2]|0;while(1){c[f+(g<<6)+16>>2]=c[h+16>>2];c[f+(g<<6)+20>>2]=c[h+20>>2];c[f+(g<<6)+24>>2]=c[h+24>>2];c[f+(g<<6)+28>>2]=c[h+28>>2];c[f+(g<<6)>>2]=c[h>>2];c[f+(g<<6)+4>>2]=c[h+4>>2];c[f+(g<<6)+8>>2]=c[h+8>>2];c[f+(g<<6)+12>>2]=c[h+12>>2];c[f+(g<<6)+32>>2]=c[h+32>>2];c[f+(g<<6)+36>>2]=c[h+36>>2];c[f+(g<<6)+40>>2]=c[h+40>>2];g=g+1|0;if((g|0)==(n|0))break;else h=h+48|0}}k=c[e+60>>2]|0;c[o+32>>2]=0;c[o+32+4>>2]=0;c[o+32+8>>2]=0;c[o+32+12>>2]=0;j=c[d+128>>2]|0;if((j|0)<(k|0)){if((c[d+132>>2]|0)<(k|0)){if(!k){f=0;g=j}else{c[6435]=(c[6435]|0)+1;f=yc((k<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+128>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<4)|0;m=(c[d+136>>2]|0)+(h<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=k;g=d+136|0}else g=d+136|0;f=j;do{n=(c[g>>2]|0)+(f<<4)|0;c[n>>2]=c[o+32>>2];c[n+4>>2]=c[o+32+4>>2];c[n+8>>2]=c[o+32+8>>2];c[n+12>>2]=c[o+32+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[d+128>>2]=k;if((k|0)>0){f=c[d+136>>2]|0;g=0;h=c[e+68>>2]|0;while(1){c[f+(g<<4)+12>>2]=c[h+12>>2];b[f+(g<<4)+6>>1]=b[h+6>>1]|0;b[f+(g<<4)+8>>1]=b[h+8>>1]|0;b[f+(g<<4)+10>>1]=b[h+10>>1]|0;b[f+(g<<4)>>1]=b[h>>1]|0;b[f+(g<<4)+2>>1]=b[h+2>>1]|0;b[f+(g<<4)+4>>1]=b[h+4>>1]|0;g=g+1|0;if((g|0)==(k|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];k=c[e+80>>2]|0;j=c[d+152>>2]|0;if((j|0)<(k|0)){if((c[d+156>>2]|0)<(k|0)){if(!k){f=0;g=j}else{c[6435]=(c[6435]|0)+1;f=yc(k<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+152>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<5)|0;m=(c[d+160>>2]|0)+(h<<5)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=k;g=d+160|0}else g=d+160|0;f=j;do{n=(c[g>>2]|0)+(f<<5)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(k|0))}c[d+152>>2]=k;if((k|0)<=0){i=o;return}g=c[d+160>>2]|0;h=0;f=c[e+72>>2]|0;while(1){b[g+(h<<5)+6>>1]=b[f+14>>1]|0;b[g+(h<<5)+8>>1]=b[f+16>>1]|0;b[g+(h<<5)+10>>1]=b[f+18>>1]|0;b[g+(h<<5)>>1]=b[f+8>>1]|0;b[g+(h<<5)+2>>1]=b[f+10>>1]|0;b[g+(h<<5)+4>>1]=b[f+12>>1]|0;c[g+(h<<5)+12>>2]=c[f>>2];c[g+(h<<5)+16>>2]=c[f+4>>2];h=h+1|0;if((h|0)==(k|0))break;else f=f+20|0}i=o;return}function Bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=3180;d=c[b+192>>2]|0;if(d|0)Ab[c[(c[d>>2]|0)+4>>2]&255](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){hh(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(h);if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=18;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==18){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;pi(b+1048|0);pi(b+988|0);pi(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;d=c[b+444>>2]|0;if(d|0){if(!((a[b+448>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+444>>2]=0}a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=c[b+424>>2]|0;if(d|0){if(!((a[b+428>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+404>>2]|0;if(d|0){if(!((a[b+408>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5008;return}if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5008;return}function Cd(a,d,f,h,j,k,l,m,n){a=a|0;d=d|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;Bj(a,w+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);Bj(a,w,+g[f>>2],+g[f+4>>2],+g[f+8>>2],1);v=b[a+64>>1]|0;u=c[a+60>>2]|0;b[a+64>>1]=b[u+((v&65535)<<6)+48>>1]|0;o=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=o;c[u+((v&65535)<<6)+12>>2]=v&65535;c[u+((v&65535)<<6)>>2]=j;b[u+((v&65535)<<6)+4>>1]=k;b[u+((v&65535)<<6)+6>>1]=l;c[u+((v&65535)<<6)+8>>2]=n;q=(o&65535)<<1&65534;b[u+54>>1]=(e[u+54>>1]|0)+2;p=c[a+68>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+68>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+48>>1]=q+-1;b[u+((v&65535)<<6)+54>>1]=(o&65535)<<1;p=(c[a+60>>2]|0)+56|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+72>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+72>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6+2>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w+2>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+50>>1]=q+-1;b[u+((v&65535)<<6)+56>>1]=(o&65535)<<1;p=(c[a+60>>2]|0)+58|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+76>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+76>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6+4>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w+4>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+52>>1]=q+-1;b[u+((v&65535)<<6)+58>>1]=(o&65535)<<1;o=c[a+68>>2]|0;q=e[u+((v&65535)<<6)+48>>1]|0;p=c[a+60>>2]|0;n=b[o+(q<<2)+-4>>1]|0;if((e[o+(q<<2)>>1]|0)<(n&65535)){s=p+((e[o+(q<<2)+2>>1]|0)<<6)+48|0;r=o+(q<<2)|0;q=o+(q<<2)+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){t=p+(o<<6)+48|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=p+(o<<6)+54|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[s>>1]=(b[s>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[o>>1]|0)>=(n&65535))break;p=c[a+60>>2]|0;r=o}o=c[a+68>>2]|0}n=e[u+((v&65535)<<6)+54>>1]|0;q=o+(n<<2)|0;p=b[q+-4>>1]|0;a:do if((e[q>>1]|0)<(p&65535)){s=c[a+60>>2]|0;t=s+((e[o+(n<<2)+2>>1]|0)<<6)+54|0;n=p;r=q;p=q+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){s=s+(o<<6)+48|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}else{s=s+(o<<6)+54|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[p>>1]|e[p+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[p>>1]=o;b[p+2>>1]=o>>>16;o=r+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[o>>1]|0)>=(n&65535))break a;s=c[a+60>>2]|0;r=o}}while(0);o=c[a+72>>2]|0;q=e[u+((v&65535)<<6)+50>>1]|0;p=c[a+60>>2]|0;n=b[o+(q<<2)+-4>>1]|0;if((e[o+(q<<2)>>1]|0)<(n&65535)){s=p+((e[o+(q<<2)+2>>1]|0)<<6)+50|0;r=o+(q<<2)|0;q=o+(q<<2)+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){t=p+(o<<6)+50|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=p+(o<<6)+56|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[s>>1]=(b[s>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[o>>1]|0)>=(n&65535))break;p=c[a+60>>2]|0;r=o}o=c[a+72>>2]|0}n=e[u+((v&65535)<<6)+56>>1]|0;q=o+(n<<2)|0;p=b[q+-4>>1]|0;b:do if((e[q>>1]|0)<(p&65535)){s=c[a+60>>2]|0;t=s+((e[o+(n<<2)+2>>1]|0)<<6)+56|0;n=p;r=q;p=q+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){s=s+(o<<6)+50|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}else{s=s+(o<<6)+56|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[p>>1]|e[p+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[p>>1]=o;b[p+2>>1]=o>>>16;o=r+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[o>>1]|0)>=(n&65535))break b;s=c[a+60>>2]|0;r=o}}while(0);wh(a,2,b[u+((v&65535)<<6)+52>>1]|0);uh(a,2,b[u+((v&65535)<<6)+58>>1]|0,m);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){j=o+((v&65535)<<6)|0;i=w;return j|0}c[o+((v&65535)<<6)+60>>2]=gc[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,j,k,l,m,0)|0;j=o+((v&65535)<<6)|0;i=w;return j|0}function Dd(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;A=_(c[l+24>>2]|0,m)|0;m=a[d+44>>0]|0;z=c[d+56>>2]|0;if(!(m<<24>>24!=0|(z|0)!=0)){A=0;return A|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;B=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(A<<2)>>2]=c[n>>2];c[C+(A+1<<2)>>2]=c[n+4>>2];c[C+(A+2<<2)>>2]=c[n+8>>2];g[B+(A<<2)>>2]=-+g[n>>2];g[B+(A+1<<2)>>2]=-+g[n+4>>2];g[B+(A+2<<2)>>2]=-+g[n+8>>2];do if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){t=q-+g[e+48>>2];w=+g[b+1180>>2]-+g[e+52>>2];x=+g[b+1184>>2]-+g[e+56>>2];v=+g[n+8>>2];s=+g[n+4>>2];u=+g[n>>2];C=c[l+12>>2]|0;g[C+(A<<2)>>2]=w*v-x*s;g[C+(A+1<<2)>>2]=x*u-t*v;g[C+(A+2<<2)>>2]=t*s-w*u;u=+g[b+1176>>2]-+g[f+48>>2];w=+g[b+1180>>2]-+g[f+52>>2];s=+g[b+1184>>2]-+g[f+56>>2];t=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-(w*t-s*v);g[C+(A+1<<2)>>2]=-(s*x-u*t);g[C+(A+2<<2)>>2]=-(u*v-w*x);break}I=q-+g[f+48>>2];H=+g[b+1180>>2]-+g[f+52>>2];F=+g[b+1184>>2]-+g[f+56>>2];u=+g[n>>2];G=+g[n+4>>2];E=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];t=+g[b+1116>>2]-+g[e+52>>2];q=+g[b+1120>>2]-+g[e+56>>2];v=+g[d+52>>2]-+g[d+48>>2];J=u*(u*K+G*t+E*q)+u*v-u*(I*u+H*G+F*E);D=G*(u*K+G*t+E*q)+G*v-G*(I*u+H*G+F*E);v=E*(u*K+G*t+E*q)+E*v-E*(I*u+H*G+F*E);x=+g[b+1272>>2];w=+g[b+1276>>2];s=E*(t-G*(u*K+G*t+E*q)+x*D)-G*(q-E*(u*K+G*t+E*q)+x*v);r=u*(q-E*(u*K+G*t+E*q)+x*v)-E*(K-u*(u*K+G*t+E*q)+x*J);q=G*(K-u*(u*K+G*t+E*q)+x*J)-u*(t-G*(u*K+G*t+E*q)+x*D);t=(H-G*(I*u+H*G+F*E)-w*D)*E-(F-E*(I*u+H*G+F*E)-w*v)*G;v=(F-E*(I*u+H*G+F*E)-w*v)*u-(I-u*(I*u+H*G+F*E)-w*J)*E;u=(I-u*(I*u+H*G+F*E)-w*J)*G-(H-G*(I*u+H*G+F*E)-w*D)*u;if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){t=w*t;v=w*v;u=w*u;s=x*s;r=x*r;q=x*q}C=(c[l+12>>2]|0)+(A<<2)|0;g[C>>2]=s;g[C+4>>2]=r;g[C+8>>2]=q;C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-t;g[C+(A+1<<2)>>2]=-v;g[C+(A+2<<2)>>2]=-u}while(0);if(z|0?+g[d>>2]==+g[d+4>>2]:0){m=c[l+28>>2]|0;g[m+(A<<2)>>2]=0.0;q=0.0;e=l+28|0}else y=11;do if((y|0)==11){e=c[l+28>>2]|0;g[e+(A<<2)>>2]=0.0;if(!(m<<24>>24)){if(z|0){m=e;q=0.0;e=l+28|0;break}else m=1;return m|0}c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+28>>2];if(z|0){m=e;q=+g[e+(A<<2)>>2];e=l+28|0;break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r0.0)if(r<=t?t-q/ut?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[e+(A<<2)>>2]=q*v+ +g[e+(A<<2)>>2];g[(c[l+36>>2]|0)+(A<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(A<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[m+(A<<2)>>2]=q+(o|0?-K:K);c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(A<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}C=c[l+40>>2]|0;g[(c[l+36>>2]|0)+(A<<2)>>2]=(z|0)==1?0.0:-3402823466385288598117041.0e14;g[C+(A<<2)>>2]=(z|0)==1?3402823466385288598117041.0e14:0.0;r=+g[d+40>>2];if(!(r>0.0)){C=1;return C|0}if(o|0){J=+g[n>>2];K=+g[n+4>>2];q=+g[n+8>>2];q=+g[j>>2]*J+ +g[j+4>>2]*K+ +g[j+8>>2]*q-(J*+g[k>>2]+K*+g[k+4>>2]+q*+g[k+8>>2])}else{J=+g[n>>2];K=+g[n+4>>2];q=+g[n+8>>2];q=+g[h>>2]*J+ +g[h+4>>2]*K+ +g[h+8>>2]*q-(J*+g[i>>2]+K*+g[i+4>>2]+q*+g[i+8>>2])}if((z|0)==1){if(!(q<0.0)){C=1;return C|0}q=-(q*r);m=(c[e>>2]|0)+(A<<2)|0;if(!(+g[m>>2]>2]=q;C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}q=-(q*r);m=(c[e>>2]|0)+(A<<2)|0;if(!(+g[m>>2]>q)){C=1;return C|0}g[m>>2]=q;C=1;return C|0}return 0}function Ed(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=i;i=i+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);s=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);t=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+216>>2]=9160;g[u+216+36>>2]=999999984306749440.0;a[u+216+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;o=c[b+4>>2]|0;c[u+136>>2]=9208;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=o;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+Sb[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+Sb[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];Vc(u+136|0,u,u+216|0,0,0);p=(a[u+216+40>>0]|0)==0;q=u+216+20|0;c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];if(p){j=0;i=u;return j|0}n=+g[u+216+36>>2];l=+g[u+216+16>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;do if(n>1.0000000474974513e-03){l=0.0;p=0;while(1){if((p|0)>31){b=0;p=13;break}w=r*(c[k>>2]=o,+g[k>>2]);w=s*(c[k>>2]=m,+g[k>>2])+w;v=l;l=l-n/(t*(c[k>>2]=b,+g[k>>2])+w);if(!(!(l<=v)&(!(l<0.0)&!(l>1.0)))){b=0;p=13;break}zb[c[c[j>>2]>>2]&31](j,l);w=1.0-l;g[u+48>>2]=w*+g[d+48>>2]+l*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+l*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+l*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+l*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+l*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+l*+g[h+56>>2];Vc(u+136|0,u,u+216|0,0,0);if(!(a[u+216+40>>0]|0)){b=0;p=13;break}n=+g[u+216+36>>2];if(n<0.0){p=8;break}c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;if(!(n>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[j+164>>2]=l;f=c[u+216+8>>2]|0;e=c[u+216+12>>2]|0;h=c[u+216+16>>2]|0;c[j+132>>2]=c[u+216+4>>2];c[j+136>>2]=f;c[j+140>>2]=e;c[j+144>>2]=h;c[j+148>>2]=c[q>>2];c[j+148+4>>2]=c[q+4>>2];c[j+148+8>>2]=c[q+8>>2];c[j+148+12>>2]=c[q+12>>2];j=1;i=u;return j|0}else if((p|0)==10){n=l;l=+g[u+216+16>>2];break}else if((p|0)==13){i=u;return b|0}}else n=0.0;while(0);w=r*(c[k>>2]=o,+g[k>>2]);w=s*(c[k>>2]=m,+g[k>>2])+w;if(t*(c[k>>2]=b,+g[k>>2])+w>=-+g[j+172>>2]){j=0;i=u;return j|0}g[j+164>>2]=n;c[j+132>>2]=o;c[j+136>>2]=m;c[j+140>>2]=b;g[j+144>>2]=l;c[j+148>>2]=c[u+264>>2];c[j+148+4>>2]=c[u+264+4>>2];c[j+148+8>>2]=c[u+264+8>>2];c[j+148+12>>2]=c[u+264+12>>2];j=1;i=u;return j|0}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;m=i;i=i+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;k=c[b+36>>2]|0;j=c[d+36>>2]|0;f=c[a+8>>2]|0;K=c[(c[f+4>>2]|0)+24>>2]|0;d=c[K+(k*80|0)+64>>2]|0;b=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(j*80|0)+64>>2]|0;f=c[f+12>>2]|0;n=+g[f>>2];I=+g[f+4>>2];J=+g[f+8>>2];q=+g[f+16>>2];s=+g[f+20>>2];u=+g[f+24>>2];r=+g[f+32>>2];v=+g[f+36>>2];D=+g[f+40>>2];w=+g[K+(k*80|0)>>2];x=+g[K+(k*80|0)+16>>2];y=+g[K+(k*80|0)+32>>2];z=+g[K+(k*80|0)+4>>2];A=+g[K+(k*80|0)+20>>2];B=+g[K+(k*80|0)+36>>2];t=+g[K+(k*80|0)+8>>2];C=+g[K+(k*80|0)+24>>2];E=+g[K+(k*80|0)+40>>2];o=+g[K+(k*80|0)+48>>2];p=+g[K+(k*80|0)+52>>2];H=+g[K+(k*80|0)+56>>2];F=+g[f+48>>2]+(n*o+I*p+J*H);G=+g[f+52>>2]+(q*o+s*p+u*H);H=+g[f+56>>2]+(r*o+v*p+D*H);g[m+176>>2]=n*w+I*x+J*y;g[m+176+4>>2]=n*z+I*A+J*B;g[m+176+8>>2]=n*t+I*C+J*E;g[m+176+12>>2]=0.0;g[m+176+16>>2]=q*w+s*x+u*y;g[m+176+20>>2]=q*z+s*A+u*B;g[m+176+24>>2]=q*t+s*C+u*E;g[m+176+28>>2]=0.0;g[m+176+32>>2]=r*w+v*x+D*y;g[m+176+36>>2]=r*z+v*A+D*B;g[m+176+40>>2]=r*t+v*C+D*E;g[m+176+44>>2]=0.0;g[m+176+48>>2]=F;g[m+176+52>>2]=G;g[m+176+56>>2]=H;g[m+176+60>>2]=0.0;f=c[(c[a+12>>2]|0)+12>>2]|0;H=+g[f>>2];G=+g[f+4>>2];F=+g[f+8>>2];E=+g[f+16>>2];D=+g[f+20>>2];C=+g[f+24>>2];v=+g[f+32>>2];t=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;B=+g[b+(j*80|0)>>2];A=+g[b+(j*80|0)+16>>2];z=+g[b+(j*80|0)+32>>2];y=+g[b+(j*80|0)+4>>2];x=+g[b+(j*80|0)+20>>2];w=+g[b+(j*80|0)+36>>2];u=+g[b+(j*80|0)+8>>2];s=+g[b+(j*80|0)+24>>2];q=+g[b+(j*80|0)+40>>2];J=+g[b+(j*80|0)+48>>2];I=+g[b+(j*80|0)+52>>2];n=+g[b+(j*80|0)+56>>2];p=+g[f+48>>2]+(H*J+G*I+F*n);o=+g[f+52>>2]+(E*J+D*I+C*n);n=+g[f+56>>2]+(v*J+t*I+r*n);g[m+112>>2]=H*B+G*A+F*z;g[m+112+4>>2]=H*y+G*x+F*w;g[m+112+8>>2]=H*u+G*s+F*q;g[m+112+12>>2]=0.0;g[m+112+16>>2]=E*B+D*A+C*z;g[m+112+20>>2]=E*y+D*x+C*w;g[m+112+24>>2]=E*u+D*s+C*q;g[m+112+28>>2]=0.0;g[m+112+32>>2]=v*B+t*A+r*z;g[m+112+36>>2]=v*y+t*x+r*w;g[m+112+40>>2]=v*u+t*s+r*q;g[m+112+44>>2]=0.0;g[m+112+48>>2]=p;g[m+112+52>>2]=o;g[m+112+56>>2]=n;g[m+112+60>>2]=0.0;mc[c[(c[d>>2]|0)+8>>2]&127](d,m+176|0,m+96|0,m+80|0);mc[c[(c[e>>2]|0)+8>>2]&127](e,m+112|0,m+64|0,m+48|0);if(!(+g[m+96>>2]>+g[m+48>>2])?!(+g[m+80>>2]<+g[m+64>>2]):0)b=1;else b=0;if(!(!(+g[m+96+8>>2]>+g[m+48+8>>2])?!(+g[m+80+8>>2]<+g[m+64+8>>2]):0))b=0;if(+g[m+96+4>>2]>+g[m+48+4>>2]){i=m;return}if(+g[m+80+4>>2]<+g[m+64+4>>2]|b^1){i=m;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[m+24>>2]=f;c[m+24+4>>2]=d;c[m+24+8>>2]=b;c[m+24+12>>2]=m+176;c[m+24+16>>2]=-1;c[m+24+20>>2]=k;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=m+112;c[m+16>>2]=-1;c[m+20>>2]=j;f=c[a+28>>2]|0;c[6423]=(c[6423]|0)+1;b=((j<<16|k)+~((j<<16|k)<<15)>>10^(j<<16|k)+~((j<<16|k)<<15))*9|0;b=(c[f+12>>2]|0)+-1&((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(k|0)?(c[e+(b*12|0)+4>>2]|0)==(j|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){l=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else l=16}else l=16;while(0);if((l|0)==16){b=c[a+16>>2]|0;b=Ib[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(Ob[c[(c[K>>2]|0)+12>>2]&63](K,k,j)|0)+8>>2]=b}K=c[a+24>>2]|0;h=c[K+8>>2]|0;l=c[K+12>>2]|0;c[K+8>>2]=m+24;c[K+12>>2]=m;ic[c[(c[K>>2]|0)+8>>2]&127](K,-1,k);K=c[a+24>>2]|0;ic[c[(c[K>>2]|0)+12>>2]&127](K,-1,j);yb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=h;c[K+12>>2]=l;i=m;return}function Gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;z=i;i=i+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=z;return}case 0:{w=+g[b+28>>2];x=+g[b+28+4>>2];x=+g[d+4>>2]>=0.0?x:-x;y=+g[b+28+8>>2];y=+g[d+8>>2]>=0.0?y:-y;g[a>>2]=+g[d>>2]>=0.0?w:-w;g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}case 1:{u=+g[d>>2];v=+g[d+4>>2];y=+g[d+8>>2];x=u*+g[b+56>>2]+v*+g[b+56+4>>2]+y*+g[b+56+8>>2];w=u*+g[b+56+16>>2]+v*+g[b+56+20>>2]+y*+g[b+56+24>>2];y=u*+g[b+56+32>>2]+v*+g[b+56+36>>2]+y*+g[b+56+40>>2];d=x>2]|0;r=c[b+56+(d<<4)+8>>2]|0;c[a>>2]=c[b+56+(d<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=r;g[a+12>>2]=0.0;i=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];f=c[d+4>>2]|0;c[z+16+4>>2]=f;r=c[d+8>>2]|0;c[z+16+8>>2]=r;g[z+16+12>>2]=0.0;d=c[b+52>>2]|0;e=(c[k>>2]=r,+g[k>>2]);switch(d|0){case 2:{e=(c[k>>2]=f,+g[k>>2]);f=0;b=2;o=1;break}case 1:{f=0;b=1;o=2;break}default:{f=1;b=0;o=2}}n=+g[z+32+(f<<2)>>2];l=+g[z+32+(d<<2)>>2];m=+g[z+16+(f<<2)>>2];h=+O(+(m*m+e*e));j=+g[z+16+(b<<2)>>2];if(h!=0.0){g[z+(f<<2)>>2]=m*(n/h);g[z+(b<<2)>>2]=j<0.0?-l:l;g[z+(o<<2)>>2]=n/h*e;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2]}else{g[z+(f<<2)>>2]=n;g[z+(b<<2)>>2]=j<0.0?-l:l;g[z+(o<<2)>>2]=0.0;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2]}g[a+12>>2]=0.0;i=z;return}case 10:{e=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];o=c[b+52>>2]|0;v=+g[b+28+(o<<2)>>2];l=+g[b+28+(((o+2|0)%3|0)<<2)>>2];if(e*e+h*h+j*j<9.999999747378752e-05){y=1.0;x=0.0;w=0.0}else{w=1.0/+O(+(e*e+h*h+j*j));y=e*w;x=h*w;w=j*w}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=v;q=l*y;t=l*x;u=l*w;s=+g[b+44>>2];m=y*s;p=x*s;s=w*s;e=q+ +g[z+32>>2]-m;h=t+ +g[z+32+4>>2]-p;l=u+ +g[z+32+8>>2]-s;j=w*l+(y*e+x*h);if(j>-999999984306749440.0){b=(g[k>>2]=e,c[k>>2]|0);f=(g[k>>2]=h,c[k>>2]|0);n=j;d=(g[k>>2]=l,c[k>>2]|0)}else{n=-999999984306749440.0;b=0;d=0;f=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=-v;j=q+ +g[z+32>>2]-m;h=t+ +g[z+32+4>>2]-p;e=u+ +g[z+32+8>>2]-s;if(w*e+(y*j+x*h)>n){b=(g[k>>2]=j,c[k>>2]|0);f=(g[k>>2]=h,c[k>>2]|0);d=(g[k>>2]=e,c[k>>2]|0)}c[a>>2]=b;c[a+4>>2]=f;c[a+8>>2]=d;g[a+12>>2]=0.0;i=z;return}case 5:{r=c[b+92>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*p;m=+g[d+4>>2]*q;e=+g[d+8>>2]*n;if((o|0)>0){b=0;j=-3402823466385288598117041.0e14;f=-1;while(1){h=l*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+e*+g[r+(b<<4)+8>>2];d=h>j;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else j=d?h:j}}else f=-1;x=q*+g[r+(f<<4)+4>>2];y=n*+g[r+(f<<4)+8>>2];g[a>>2]=p*+g[r+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}case 4:{r=c[b+104>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*p;m=+g[d+4>>2]*q;e=+g[d+8>>2]*n;if((o|0)>0){b=0;j=-3402823466385288598117041.0e14;f=-1;while(1){h=l*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+e*+g[r+(b<<4)+8>>2];d=h>j;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else j=d?h:j}}else f=-1;x=q*+g[r+(f<<4)+4>>2];y=n*+g[r+(f<<4)+8>>2];g[a>>2]=p*+g[r+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}default:{ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=z;return}}}function Hd(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0.0;j=+g[e>>2];m=(g[k>>2]=j,c[k>>2]|0);r=j<999999984306749440.0?m:1566444395;i=+g[e+4>>2];o=(g[k>>2]=i,c[k>>2]|0);t=i<999999984306749440.0?o:1566444395;y=+g[e+8>>2];q=(g[k>>2]=y,c[k>>2]|0);z=y<999999984306749440.0?q:1566444395;m=j>-999999984306749440.0?m:-581039253;o=i>-999999984306749440.0?o:-581039253;q=y>-999999984306749440.0?q:-581039253;y=+g[e+16>>2];x=y<(c[k>>2]=r,+g[k>>2]);l=(g[k>>2]=y,c[k>>2]|0);r=x?l:r;i=+g[e+20>>2];x=i<(c[k>>2]=t,+g[k>>2]);n=(g[k>>2]=i,c[k>>2]|0);t=x?n:t;j=+g[e+24>>2];x=j<(c[k>>2]=z,+g[k>>2]);p=(g[k>>2]=j,c[k>>2]|0);z=x?p:z;x=(c[k>>2]=m,+g[k>>2])>2]=o,+g[k>>2])>2]=q,+g[k>>2])>2];m=y<(c[k>>2]=r,+g[k>>2]);o=(g[k>>2]=y,c[k>>2]|0);r=m?o:r;j=+g[e+36>>2];m=j<(c[k>>2]=t,+g[k>>2]);p=(g[k>>2]=j,c[k>>2]|0);m=m?p:t;i=+g[e+40>>2];l=i<(c[k>>2]=z,+g[k>>2]);n=(g[k>>2]=i,c[k>>2]|0);l=l?n:z;o=(c[k>>2]=x,+g[k>>2])>2]=s,+g[k>>2])>2]=q,+g[k>>2])>2]=o,+g[k>>2]);j=(c[k>>2]=r,+g[k>>2]);if(i-j<2.0000000949949026e-03){o=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);n=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}else n=r;i=(c[k>>2]=p,+g[k>>2]);j=(c[k>>2]=m,+g[k>>2]);if(i-j<2.0000000949949026e-03){p=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);m=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}i=(c[k>>2]=q,+g[k>>2]);j=(c[k>>2]=l,+g[k>>2]);if(i-j<2.0000000949949026e-03){q=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);l=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}r=c[d+8>>2]|0;j=+g[r+4>>2];y=(c[k>>2]=n,+g[k>>2])-j;i=+g[r+8>>2];u=(c[k>>2]=m,+g[k>>2])-i;B=+g[r+12>>2];v=+g[r+36>>2];w=+g[r+40>>2];A=+g[r+44>>2];r=~~(((c[k>>2]=l,+g[k>>2])-B)*A)&65534;j=(c[k>>2]=o,+g[k>>2])-j;i=(c[k>>2]=p,+g[k>>2])-i;q=(~~(((c[k>>2]=q,+g[k>>2])-B)*A+1.0)&65535|1)&65535;o=c[d+4>>2]|0;m=c[o+4>>2]|0;if((m|0)!=(c[o+8>>2]|0)){d=m;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}p=m|0?m<<1:1;if((m|0)>=(p|0)){d=m;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}if(!p)l=0;else{c[6435]=(c[6435]|0)+1;l=yc((p<<4|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[o+4>>2]|0}if((m|0)>0){n=0;do{d=l+(n<<4)|0;z=(c[o+12>>2]|0)+(n<<4)|0;c[d>>2]=c[z>>2];c[d+4>>2]=c[z+4>>2];c[d+8>>2]=c[z+8>>2];c[d+12>>2]=c[z+12>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[o+12>>2]|0;if(m|0){if(a[o+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=l;c[o+8>>2]=p;d=c[o+4>>2]|0;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}function Id(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=c[d+8>>2]|0;if(!i){a=0;return a|0}j=i;D=i;i=0;do{if((c[D+20>>2]|0)>(c[a+100>>2]|0)){A=c[D+12>>2]|0;w=c[A+88>>2]|0;x=w-(c[d+88>>2]|0)|0;y=c[A+92>>2]|0;z=y-(c[d+92>>2]|0)|0;A=c[A+96>>2]|0;B=A-(c[d+96>>2]|0)|0;k=vr(c[g>>2]|0,c[g+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;l=C;j=vr(c[g+8>>2]|0,c[g+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;l=Kt(j|0,C|0,k|0,l|0)|0;k=C;j=vr(c[g+16>>2]|0,c[g+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;j=Kt(l|0,k|0,j|0,C|0)|0;k=C;l=vr(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;v=C;m=vr(c[f+8>>2]|0,c[f+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;v=Kt(m|0,C|0,l|0,v|0)|0;l=C;m=vr(c[f+16>>2]|0,c[f+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;m=Kt(v|0,l|0,m|0,C|0)|0;l=C;if((k|0)>0|(k|0)==0&j>>>0>0){v=k;k=1}else{t=Is(0,0,j|0,k|0)|0;v=C;u=Mr(j|0,k|0,63)|0;j=(k|0)<0?t:0;v=(k|0)<0?v:0;k=u}if(!((l|0)>0|(l|0)==0&m>>>0>0)){u=Is(0,0,m|0,l|0)|0;n=(l|0)<0?0-k|0:k;k=(l|0)<0?u:0;l=(l|0)<0?C:0;if(!((n|0)==0&((k|0)==0&(l|0)==0))){m=k;o=8}}else{n=k;o=8}a:do if((o|0)==8){o=0;if(!i){c[h>>2]=j;c[h+4>>2]=v;c[h+8>>2]=m;c[h+8+4>>2]=l;c[h+16>>2]=n;i=D;break}k=c[h+16>>2]|0;if((n|0)==(k|0)){if(n|0){p=c[h+8>>2]|0;s=c[h+8+4>>2]|0;o=vr(p|0,0,j|0,0)|0;k=C;t=vr(s|0,0,j|0,0)|0;r=C;p=vr(p|0,0,v|0,0)|0;q=C;s=vr(s|0,0,v|0,0)|0;G=C;p=Kt(t|0,0,p|0,0)|0;t=C;G=Kt(r|0,0,s|0,G|0)|0;q=Kt(G|0,C|0,q|0,0)|0;t=Kt(q|0,C|0,t|0,0)|0;q=C;k=Kt(0,p|0,o|0,k|0)|0;o=C;p=Kt(t|0,q|0,(o>>>0

>>0|(o|0)==(p|0)&k>>>0<0)&1|0,0)|0;q=C;t=c[h>>2]|0;G=c[h+4>>2]|0;s=vr(t|0,0,m|0,0)|0;r=C;E=vr(G|0,0,m|0,0)|0;H=C;t=vr(t|0,0,l|0,0)|0;u=C;G=vr(G|0,0,l|0,0)|0;F=C;t=Kt(E|0,0,t|0,0)|0;E=C;F=Kt(H|0,0,G|0,F|0)|0;u=Kt(F|0,C|0,u|0,0)|0;E=Kt(u|0,C|0,E|0,0)|0;u=C;r=Kt(0,t|0,s|0,r|0)|0;s=C;t=Kt(E|0,u|0,(s>>>0>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=C;if(!(q>>>0>>0|(q|0)==(u|0)&p>>>0>>0))if(!(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0))if(o>>>0>>0|(o|0)==(s|0)&k>>>0>>0)k=-1;else k=(o>>>0>s>>>0|(o|0)==(s|0)&k>>>0>r>>>0)&1;else k=1;else k=-1;k=_(k,n)|0;o=18}}else{k=n-k|0;o=18}do if((o|0)==18){o=0;if((k|0)>=0)if(!k)break;else break a;else{c[h>>2]=j;c[h+4>>2]=v;c[h+8>>2]=m;c[h+8+4>>2]=l;c[h+16>>2]=n;i=D;break a}}while(0);j=(c[i+4>>2]|0)==(D|0);if((c[i>>2]|0)==(D|0))if(j){H=c[e+8>>2]|0;E=_(H,z)|0;u=c[e+4>>2]|0;E=E-(_(u,B)|0)|0;G=c[e>>2]|0;H=(_(G,B)|0)-(_(H,x)|0)|0;G=(_(u,x)|0)-(_(G,z)|0)|0;u=c[i+12>>2]|0;j=c[(c[D+8>>2]|0)+12>>2]|0;z=c[j+88>>2]|0;x=(c[u+88>>2]|0)-z|0;v=c[j+92>>2]|0;B=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(_(A-j|0,B)|0)-(_(y-v|0,u)|0)|0;j=(_(w-z|0,u)|0)-(_(A-j|0,x)|0)|0;B=(_(y-v|0,x)|0)-(_(w-z|0,B)|0)|0;E=vr(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=C;H=vr(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=C;G=vr(B|0,((B|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=Kt(E|0,F|0,G|0,C|0)|0;j=Kt(G|0,C|0,H|0,j|0)|0;H=C;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:D}while(0);j=c[d+8>>2]|0}D=c[D>>2]|0}while((D|0)!=(j|0));return i|0}function Jd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;v=i;i=i+560|0;k=h;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[v+400>>2]=a;c[v+400+4>>2]=d;o=+g[e>>2];E=+g[b>>2];n=+g[e+16>>2];j=+g[b+16>>2];m=+g[e+32>>2];F=+g[b+32>>2];w=+g[b+4>>2];G=+g[b+20>>2];x=+g[b+36>>2];t=+g[b+8>>2];r=+g[b+24>>2];p=+g[b+40>>2];D=+g[e+4>>2];C=+g[e+20>>2];B=+g[e+36>>2];A=+g[e+8>>2];z=+g[e+24>>2];y=+g[e+40>>2];g[v+400+8>>2]=o*E+n*j+m*F;g[v+400+12>>2]=o*w+n*G+m*x;g[v+400+16>>2]=o*t+n*r+m*p;g[v+400+20>>2]=0.0;g[v+400+24>>2]=E*D+j*C+F*B;g[v+400+28>>2]=w*D+G*C+x*B;g[v+400+32>>2]=t*D+r*C+p*B;g[v+400+36>>2]=0.0;g[v+400+40>>2]=E*A+j*z+F*y;g[v+400+44>>2]=w*A+G*z+x*y;g[v+400+48>>2]=t*A+r*z+p*y;g[v+400+52>>2]=0.0;p=+g[e+48>>2]-+g[b+48>>2];r=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];x=+g[b>>2];G=+g[e>>2];w=+g[b+16>>2];F=+g[e+16>>2];j=+g[b+32>>2];E=+g[e+32>>2];m=+g[b+4>>2];n=+g[b+20>>2];o=+g[b+36>>2];q=+g[b+8>>2];s=+g[b+24>>2];u=+g[b+40>>2];g[v+400+56>>2]=x*G+w*F+j*E;g[v+400+60>>2]=x*D+w*C+j*B;g[v+400+64>>2]=x*A+w*z+j*y;g[v+400+68>>2]=0.0;g[v+400+72>>2]=G*m+F*n+E*o;g[v+400+76>>2]=D*m+C*n+B*o;g[v+400+80>>2]=A*m+z*n+y*o;g[v+400+84>>2]=0.0;g[v+400+88>>2]=G*q+F*s+E*u;g[v+400+92>>2]=D*q+C*s+B*u;g[v+400+96>>2]=A*q+z*s+y*u;g[v+400+100>>2]=0.0;g[v+400+104>>2]=p*x+r*w+t*j;g[v+400+108>>2]=p*m+r*n+t*o;g[v+400+112>>2]=p*q+r*s+t*u;g[v+400+116>>2]=0.0;c[v+400+120>>2]=80;c[v+400+124>>2]=0;c[v+16+364>>2]=0;c[v+16+128>>2]=0;c[v+16+128+4>>2]=0;c[v+16+128+8>>2]=0;c[v+16+128+12>>2]=0;c[v+16+376>>2]=2;c[v+16+368>>2]=0;g[v+16+144>>2]=0.0;f=Uc(v+16|0,v+400|0,f)|0;if(f|0){c[h>>2]=(f|0)==1?1:2;b=0;i=v;return b|0}f=c[v+16+372>>2]|0;if(!(c[f+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;j=0.0}else{e=0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;j=0.0;do{u=+g[f+16+(e<<2)>>2];a=c[v+400+120>>2]|0;l=c[v+400+124>>2]|0;d=(c[v+400>>2]|0)+(l>>1)|0;if(l&1)a=c[(c[d>>2]|0)+a>>2]|0;ic[a&127](v,d,c[f+(e<<2)>>2]|0);q=q+u*+g[v>>2];o=o+u*+g[v+4>>2];p=p+u*+g[v+8>>2];f=c[(c[v+16+372>>2]|0)+(e<<2)>>2]|0;r=-+g[f>>2];s=-+g[f+4>>2];t=-+g[f+8>>2];f=c[v+400+120>>2]|0;l=c[v+400+124>>2]|0;a=(c[v+400+4>>2]|0)+(l>>1)|0;if(l&1)f=c[(c[a>>2]|0)+f>>2]|0;F=+g[v+400+24>>2]*r+ +g[v+400+28>>2]*s+ +g[v+400+32>>2]*t;E=+g[v+400+40>>2]*r+ +g[v+400+44>>2]*s+ +g[v+400+48>>2]*t;g[v+528>>2]=+g[v+400+8>>2]*r+ +g[v+400+12>>2]*s+ +g[v+400+16>>2]*t;g[v+528+4>>2]=F;g[v+528+8>>2]=E;g[v+528+12>>2]=0.0;ic[f&127](v+544|0,a,v+528|0);E=+g[v+544>>2];F=+g[v+544+4>>2];G=+g[v+544+8>>2];n=n+u*(E*+g[v+400+56>>2]+F*+g[v+400+60>>2]+G*+g[v+400+64>>2]+ +g[v+400+104>>2]);j=j+u*(E*+g[v+400+72>>2]+F*+g[v+400+76>>2]+G*+g[v+400+80>>2]+ +g[v+400+108>>2]);m=m+u*(E*+g[v+400+88>>2]+F*+g[v+400+92>>2]+G*+g[v+400+96>>2]+ +g[v+400+112>>2]);e=e+1|0;f=c[v+16+372>>2]|0}while(e>>>0<(c[f+32>>2]|0)>>>0)}D=q*+g[b+16>>2]+o*+g[b+20>>2]+p*+g[b+24>>2]+ +g[b+52>>2];E=q*+g[b+32>>2]+o*+g[b+36>>2]+p*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=q*+g[b>>2]+o*+g[b+4>>2]+p*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=D;g[h+12>>2]=E;g[h+16>>2]=0.0;E=n*+g[b+16>>2]+j*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];D=n*+g[b+32>>2]+j*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=n*+g[b>>2]+j*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=E;g[h+28>>2]=D;g[h+32>>2]=0.0;D=q-n;E=o-j;G=p-m;g[h+48>>2]=0.0;F=+O(+(D*D+E*E+G*G));g[h+52>>2]=F;F=F>9.999999747378752e-05?1.0/F:1.0;g[h+36>>2]=F*D;g[h+40>>2]=F*E;g[h+44>>2]=F*G;b=1;i=v;return b|0}function Kd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;j=i;i=i+464|0;li(15711);c[j+128>>2]=c[d>>2];c[j+128+4>>2]=c[d+4>>2];c[j+128+8>>2]=c[d+8>>2];c[j+128+12>>2]=c[d+12>>2];c[j+128+16>>2]=c[d+16>>2];c[j+128+16+4>>2]=c[d+16+4>>2];c[j+128+16+8>>2]=c[d+16+8>>2];c[j+128+16+12>>2]=c[d+16+12>>2];c[j+128+32>>2]=c[d+32>>2];c[j+128+32+4>>2]=c[d+32+4>>2];c[j+128+32+8>>2]=c[d+32+8>>2];c[j+128+32+12>>2]=c[d+32+12>>2];l=j+128+48|0;c[l>>2]=c[d+48>>2];c[l+4>>2]=c[d+48+4>>2];c[l+8>>2]=c[d+48+8>>2];c[l+12>>2]=c[d+48+12>>2];c[j+64>>2]=c[e>>2];c[j+64+4>>2]=c[e+4>>2];c[j+64+8>>2]=c[e+8>>2];c[j+64+12>>2]=c[e+12>>2];c[j+64+16>>2]=c[e+16>>2];c[j+64+16+4>>2]=c[e+16+4>>2];c[j+64+16+8>>2]=c[e+16+8>>2];c[j+64+16+12>>2]=c[e+16+12>>2];c[j+64+32>>2]=c[e+32>>2];c[j+64+32+4>>2]=c[e+32+4>>2];c[j+64+32+8>>2]=c[e+32+8>>2];c[j+64+32+12>>2]=c[e+32+12>>2];k=j+64+48|0;c[k>>2]=c[e+48>>2];c[k+4>>2]=c[e+48+4>>2];c[k+8>>2]=c[e+48+8>>2];c[k+12>>2]=c[e+48+12>>2];Gf(j+128|0,j+64|0,j+256|0,j+192|0);t=+g[j+192>>2];m=t*+g[j+256+4>>2];r=t*+g[j+256+8>>2];g[j>>2]=+g[j+256>>2]*t;g[j+4>>2]=m;g[j+8>>2]=r;g[j+12>>2]=0.0;c[j+256>>2]=0;c[j+256+4>>2]=0;c[j+256+8>>2]=0;c[j+256+12>>2]=0;c[j+192+4>>2]=0;c[j+192+4+4>>2]=0;c[j+192+24>>2]=0;c[j+192+24+4>>2]=0;s=j+192+44|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;Wg(j+128|0,j+16|0);r=+g[j+16>>2];m=+g[j+16+4>>2];t=+g[j+16+8>>2];q=+g[j+16+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[j+192>>2]=1.0-(m*n+t*p);g[j+192+4>>2]=r*n-q*p;g[j+192+8>>2]=r*p+q*n;g[j+192+12>>2]=0.0;g[j+192+16>>2]=r*n+q*p;g[j+192+20>>2]=1.0-(r*o+t*p);g[j+192+24>>2]=m*p-q*o;g[j+192+28>>2]=0.0;g[j+192+32>>2]=r*p-q*n;g[j+192+36>>2]=m*p+q*o;g[j+192+40>>2]=1.0-(r*o+m*n);g[s>>2]=0.0;rh(b,j+192|0,j+256|0,j,j+48|0,j+32|0);c[j+256>>2]=5936;c[j+256+36>>2]=c[d>>2];c[j+256+36+4>>2]=c[d+4>>2];c[j+256+36+8>>2]=c[d+8>>2];c[j+256+36+12>>2]=c[d+12>>2];c[j+256+52>>2]=c[d+16>>2];c[j+256+52+4>>2]=c[d+16+4>>2];c[j+256+52+8>>2]=c[d+16+8>>2];c[j+256+52+12>>2]=c[d+16+12>>2];c[j+256+68>>2]=c[d+32>>2];c[j+256+68+4>>2]=c[d+32+4>>2];c[j+256+68+8>>2]=c[d+32+8>>2];c[j+256+68+12>>2]=c[d+32+12>>2];s=j+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[j+256+100>>2]=c[e>>2];c[j+256+100+4>>2]=c[e+4>>2];c[j+256+100+8>>2]=c[e+8>>2];c[j+256+100+12>>2]=c[e+12>>2];c[j+256+116>>2]=c[e+16>>2];c[j+256+116+4>>2]=c[e+16+4>>2];c[j+256+116+8>>2]=c[e+16+8>>2];c[j+256+116+12>>2]=c[e+16+12>>2];c[j+256+132>>2]=c[e+32>>2];c[j+256+132+4>>2]=c[e+32+4>>2];c[j+256+132+8>>2]=c[e+32+8>>2];c[j+256+132+12>>2]=c[e+32+12>>2];d=j+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[j+256+180>>2]=a;c[j+256+184>>2]=f;g[j+256+188>>2]=h;c[j+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[j+256+152>>2]-+g[j+256+88>>2];o=+g[j+256+156>>2]-+g[j+256+92>>2];h=1.0/+O(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[j+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[j+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[j+256+12>>2]=p;c[j+256+20>>2]=r<0.0&1;c[j+256+24>>2]=q<0.0&1;c[j+256+28>>2]=p<0.0&1;g[j+256+32>>2]=o*o*h+(n*n*h+m*m*h);b=c[a+68>>2]|0;Qb[c[(c[b>>2]|0)+24>>2]&7](b,l,k,j+256|0,j+48|0,j+32|0);b=c[2357]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){i=j;return}do if(c[b+4>>2]|0){tb(j+256|0,0)|0;s=c[6434]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[j+256+4>>2]|0)-(c[s+4>>2]|0)+(((c[j+256>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2357]|0;break}else{i=j;return}}while(0);c[2357]=c[b+20>>2];i=j;return} -function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0;Fa=i;i=i+592|0;c[Fa+48>>2]=c[b>>2];c[Fa>>2]=c[b+64>>2];E=Fa+48+4|0;c[E>>2]=c[b+4>>2];c[Fa+4>>2]=c[b+68>>2];c[Fa+48+8>>2]=c[b+8>>2];c[Fa+8>>2]=c[b+72>>2];c[Fa+48+16>>2]=c[b+16>>2];c[Fa+16>>2]=c[b+80>>2];c[Fa+48+20>>2]=c[b+20>>2];c[Fa+20>>2]=c[b+84>>2];c[Fa+48+24>>2]=c[b+24>>2];c[Fa+24>>2]=c[b+88>>2];c[Fa+48+32>>2]=c[b+32>>2];c[Fa+32>>2]=c[b+96>>2];c[Fa+48+36>>2]=c[b+36>>2];c[Fa+36>>2]=c[b+100>>2];c[Fa+48+40>>2]=c[b+40>>2];c[Fa+40>>2]=c[b+104>>2];Ca=c[a+4>>2]|0;ia=+g[Ca+28>>2];ja=+g[Ca+32>>2];ma=+g[Ca+36>>2];ka=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);la=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);ma=(ma+ +Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca))*2.0;Ca=c[a+8>>2]|0;qa=+g[Ca+28>>2];ra=+g[Ca+32>>2];wa=+g[Ca+36>>2];sa=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);pa=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);wa=(wa+ +Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca))*2.0;D=+g[b+112>>2]-+g[b+48>>2];M=+g[b+116>>2]-+g[b+52>>2];P=+g[b+120>>2]-+g[b+56>>2];ca=+g[Fa+48>>2];aa=+g[Fa+48+16>>2];ba=+g[Fa+48+32>>2];$=+g[E>>2];X=+g[Fa+48+20>>2];Z=+g[Fa+48+36>>2];fa=+g[Fa+48+8>>2];ha=+g[Fa+48+24>>2];na=+g[Fa+48+40>>2];g[Fa+484>>2]=(ia+ka)*2.0*.5;g[Fa+484+4>>2]=(ja+la)*2.0*.5;g[Fa+484+8>>2]=ma*.5;g[Fa+472>>2]=(qa+sa)*2.0*.5;g[Fa+472+4>>2]=(ra+pa)*2.0*.5;g[Fa+472+8>>2]=wa*.5;za=+g[Fa>>2];ta=+g[Fa+16>>2];va=+g[Fa+32>>2];ya=+g[Fa+4>>2];oa=+g[Fa+20>>2];ua=+g[Fa+36>>2];xa=+g[Fa+8>>2];Da=+g[Fa+24>>2];Ea=+g[Fa+40>>2];y=+N(+(ca*za+aa*ta+ba*va));A=+N(+(ca*ya+aa*oa+ba*ua));R=+N(+(ca*xa+aa*Da+ba*Ea));z=+N(+(za*$+ta*X+va*Z));B=+N(+(ya*$+oa*X+ua*Z));S=+N(+(xa*$+Da*X+Ea*Z));T=+N(+(za*fa+ta*ha+va*na));U=+N(+(ya*fa+oa*ha+ua*na));C=+N(+(xa*fa+Da*ha+Ea*na));h=+N(+(D*ca+M*aa+P*ba))-(wa*.5*R+((ia+ka)*2.0*.5+y*(qa+sa)*2.0*.5+A*(ra+pa)*2.0*.5));if(h>0.0){i=Fa;return}if(h>-3402823466385288598117041.0e14){n=1;l=D*ca+M*aa+P*ba<0.0&1;e=Fa+48|0}else{n=0;l=0;e=0;h=-3402823466385288598117041.0e14}j=+N(+(D*$+M*X+P*Z))-((ja+la)*2.0*.5+z*(qa+sa)*2.0*.5+B*(ra+pa)*2.0*.5+S*wa*.5);if(j>0.0){i=Fa;return}if(j>h){n=2;l=D*$+M*X+P*Z<0.0&1;e=E;h=j}j=+N(+(D*fa+M*ha+P*na))-(ma*.5+T*(qa+sa)*2.0*.5+U*(ra+pa)*2.0*.5+C*wa*.5);if(j>0.0){i=Fa;return}if(j>h){n=3;l=D*fa+M*ha+P*na<0.0&1;e=Fa+48+8|0;h=j}j=+N(+(D*za+M*ta+P*va))-((qa+sa)*2.0*.5+(y*(ia+ka)*2.0*.5+z*(ja+la)*2.0*.5+T*ma*.5));if(j>0.0){i=Fa;return}if(j>h){n=4;l=D*za+M*ta+P*va<0.0&1;e=Fa;h=j}j=+N(+(D*ya+M*oa+P*ua))-((ra+pa)*2.0*.5+(A*(ia+ka)*2.0*.5+B*(ja+la)*2.0*.5+U*ma*.5));if(j>0.0){i=Fa;return}if(j>h){n=5;l=D*ya+M*oa+P*ua<0.0&1;e=Fa+4|0}else j=h;h=+N(+(D*xa+M*Da+P*Ea))-(wa*.5+(R*(ia+ka)*2.0*.5+S*(ja+la)*2.0*.5+C*ma*.5));if(h>0.0){i=Fa;return}if(h>j){n=6;l=D*xa+M*Da+P*Ea<0.0&1;u=Fa+8|0}else{u=e;h=j}j=(D*fa+M*ha+P*na)*(za*$+ta*X+va*Z)-(D*$+M*X+P*Z)*(za*fa+ta*ha+va*na);m=+N(+j)-((T+9.999999747378752e-06)*(ja+la)*2.0*.5+(z+9.999999747378752e-06)*ma*.5+(R+9.999999747378752e-06)*(ra+pa)*2.0*.5+(A+9.999999747378752e-06)*wa*.5);if(m>1.1920928955078125e-07){i=Fa;return}p=(za*fa+ta*ha+va*na)*(za*fa+ta*ha+va*na)+0.0;v=(za*$+ta*X+va*Z)*(za*$+ta*X+va*Z);o=+O(+(v+p));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(za*fa+ta*ha+va*na)/o,c[k>>2]|0);n=7;l=j<0.0&1;e=(g[k>>2]=(za*$+ta*X+va*Z)/o,c[k>>2]|0);u=0;h=m/o}else{a=0;f=0;e=0}j=(D*fa+M*ha+P*na)*(ya*$+oa*X+ua*Z)-(D*$+M*X+P*Z)*(ya*fa+oa*ha+ua*na);m=+N(+j)-((U+9.999999747378752e-06)*(ja+la)*2.0*.5+(B+9.999999747378752e-06)*ma*.5+(R+9.999999747378752e-06)*(qa+sa)*2.0*.5+(y+9.999999747378752e-06)*wa*.5);if(m>1.1920928955078125e-07){i=Fa;return}q=(ya*fa+oa*ha+ua*na)*(ya*fa+oa*ha+ua*na)+0.0;w=(ya*$+oa*X+ua*Z)*(ya*$+oa*X+ua*Z);o=+O(+(w+q));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(ya*fa+oa*ha+ua*na)/o,c[k>>2]|0);n=8;l=j<0.0&1;e=(g[k>>2]=(ya*$+oa*X+ua*Z)/o,c[k>>2]|0);u=0;h=m/o}j=(D*fa+M*ha+P*na)*(xa*$+Da*X+Ea*Z)-(D*$+M*X+P*Z)*(xa*fa+Da*ha+Ea*na);m=+N(+j)-((C+9.999999747378752e-06)*(ja+la)*2.0*.5+(S+9.999999747378752e-06)*ma*.5+(A+9.999999747378752e-06)*(qa+sa)*2.0*.5+(y+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(m>1.1920928955078125e-07){i=Fa;return}s=(xa*fa+Da*ha+Ea*na)*(xa*fa+Da*ha+Ea*na)+0.0;x=(xa*$+Da*X+Ea*Z)*(xa*$+Da*X+Ea*Z);o=+O(+(x+s));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(xa*fa+Da*ha+Ea*na)/o,c[k>>2]|0);n=9;l=j<0.0&1;e=(g[k>>2]=(xa*$+Da*X+Ea*Z)/o,c[k>>2]|0);u=0;h=m/o}j=(D*ca+M*aa+P*ba)*(za*fa+ta*ha+va*na)-(D*fa+M*ha+P*na)*(ca*za+aa*ta+ba*va);o=+N(+j)-((T+9.999999747378752e-06)*(ia+ka)*2.0*.5+(y+9.999999747378752e-06)*ma*.5+(S+9.999999747378752e-06)*(ra+pa)*2.0*.5+(B+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}t=(ca*za+aa*ta+ba*va)*(ca*za+aa*ta+ba*va);m=+O(+(t+p));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(za*fa+ta*ha+va*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=10;l=j<0.0&1;e=(g[k>>2]=-(ca*za+aa*ta+ba*va)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*ca+M*aa+P*ba)*(ya*fa+oa*ha+ua*na)-(D*fa+M*ha+P*na)*(ca*ya+aa*oa+ba*ua);o=+N(+j)-((U+9.999999747378752e-06)*(ia+ka)*2.0*.5+(A+9.999999747378752e-06)*ma*.5+(S+9.999999747378752e-06)*(qa+sa)*2.0*.5+(z+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}r=(ca*ya+aa*oa+ba*ua)*(ca*ya+aa*oa+ba*ua);m=+O(+(r+q));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(ya*fa+oa*ha+ua*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=11;l=j<0.0&1;e=(g[k>>2]=-(ca*ya+aa*oa+ba*ua)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*ca+M*aa+P*ba)*(xa*fa+Da*ha+Ea*na)-(D*fa+M*ha+P*na)*(ca*xa+aa*Da+ba*Ea);o=+N(+j)-((C+9.999999747378752e-06)*(ia+ka)*2.0*.5+(R+9.999999747378752e-06)*ma*.5+(B+9.999999747378752e-06)*(qa+sa)*2.0*.5+(z+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(o>1.1920928955078125e-07){i=Fa;return}p=(ca*xa+aa*Da+ba*Ea)*(ca*xa+aa*Da+ba*Ea);m=+O(+(p+s));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(xa*fa+Da*ha+Ea*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=12;l=j<0.0&1;e=(g[k>>2]=-(ca*xa+aa*Da+ba*Ea)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*$+M*X+P*Z)*(ca*za+aa*ta+ba*va)-(D*ca+M*aa+P*ba)*(za*$+ta*X+va*Z);o=+N(+j)-((z+9.999999747378752e-06)*(ia+ka)*2.0*.5+(y+9.999999747378752e-06)*(ja+la)*2.0*.5+(C+9.999999747378752e-06)*(ra+pa)*2.0*.5+(U+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}m=+O(+(t+v+0.0));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=-(za*$+ta*X+va*Z)/m,c[k>>2]|0);f=(g[k>>2]=(ca*za+aa*ta+ba*va)/m,c[k>>2]|0);n=13;l=j<0.0&1;e=(g[k>>2]=0.0/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*$+M*X+P*Z)*(ca*ya+aa*oa+ba*ua)-(D*ca+M*aa+P*ba)*(ya*$+oa*X+ua*Z);o=+N(+j)-((B+9.999999747378752e-06)*(ia+ka)*2.0*.5+(A+9.999999747378752e-06)*(ja+la)*2.0*.5+(C+9.999999747378752e-06)*(qa+sa)*2.0*.5+(T+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}m=+O(+(r+w+0.0));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=-(ya*$+oa*X+ua*Z)/m,c[k>>2]|0);f=(g[k>>2]=(ca*ya+aa*oa+ba*ua)/m,c[k>>2]|0);n=14;l=j<0.0&1;e=(g[k>>2]=0.0/m,c[k>>2]|0);u=0;h=o/m}while(0);m=(D*$+M*X+P*Z)*(ca*xa+aa*Da+ba*Ea)-(D*ca+M*aa+P*ba)*(xa*$+Da*X+Ea*Z);o=+N(+m)-((S+9.999999747378752e-06)*(ia+ka)*2.0*.5+(R+9.999999747378752e-06)*(ja+la)*2.0*.5+(U+9.999999747378752e-06)*(qa+sa)*2.0*.5+(T+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(o>1.1920928955078125e-07){i=Fa;return}j=+O(+(p+x+0.0));do if(j>1.1920928955078125e-07){if(!(o/j*1.0499999523162842>h)){Aa=55;break}a=(g[k>>2]=-(xa*$+Da*X+Ea*Z)/j,c[k>>2]|0);f=(g[k>>2]=(ca*xa+aa*Da+ba*Ea)/j,c[k>>2]|0);n=15;l=m<0.0&1;e=(g[k>>2]=0.0/j,c[k>>2]|0);h=o/j;Aa=58}else Aa=55;while(0);do if((Aa|0)==55){if(!n){i=Fa;return}if(!u){Aa=58;break}e=c[u>>2]|0;a=c[u+16>>2]|0;Ca=c[u+32>>2]|0;j=(c[k>>2]=e,+g[k>>2]);m=(c[k>>2]=a,+g[k>>2]);o=(c[k>>2]=Ca,+g[k>>2]);f=l;l=Ca;D=h}while(0);if((Aa|0)==58){ca=(c[k>>2]=a,+g[k>>2]);o=(c[k>>2]=f,+g[k>>2]);D=(c[k>>2]=e,+g[k>>2]);j=ca*+g[Fa+48>>2]+o*+g[E>>2]+D*fa;e=(g[k>>2]=j,c[k>>2]|0);m=ca*+g[Fa+48+16>>2]+o*+g[Fa+48+20>>2]+D*ha;a=(g[k>>2]=m,c[k>>2]|0);D=ca*+g[Fa+48+32>>2]+o*+g[Fa+48+36>>2]+D*na;o=D;f=l;l=(g[k>>2]=D,c[k>>2]|0);D=h}if(!f){Ba=a;Ca=l}else{e=(g[k>>2]=-j,c[k>>2]|0);Ba=(g[k>>2]=-m,c[k>>2]|0);Ca=(g[k>>2]=-o,c[k>>2]|0)}if((n|0)>6){C=(c[k>>2]=e,+g[k>>2]);B=(c[k>>2]=Ba,+g[k>>2]);A=(c[k>>2]=Ca,+g[k>>2]);j=+g[Fa+48>>2];t=+g[Fa+48+16>>2];w=+g[Fa+48+32>>2];v=(C*j+B*t+A*w>0.0?1.0:-1.0)*(ia+ka)*2.0*.5;z=+g[E>>2];y=+g[Fa+48+20>>2];h=+g[Fa+48+36>>2];s=(C*z+B*y+A*h>0.0?1.0:-1.0)*(ja+la)*2.0*.5;x=(C*fa+B*ha+A*na>0.0?1.0:-1.0)*ma*.5;z=+g[b+48>>2]+v*j+s*z+x*fa;y=+g[b+52>>2]+v*t+s*y+x*ha;x=+g[b+56>>2]+v*w+s*h+x*na;c[Fa+528>>2]=c[b+112>>2];c[Fa+528+4>>2]=c[b+112+4>>2];c[Fa+528+8>>2]=c[b+112+8>>2];h=(C*za+B*ta+A*va>0.0?-1.0:1.0)*(qa+sa)*2.0*.5;s=(C*ya+B*oa+A*ua>0.0?-1.0:1.0)*(ra+pa)*2.0*.5;w=+g[Fa+528+4>>2]+h*ta+s*oa;v=+g[Fa+528+8>>2]+h*va+s*ua;t=(C*xa+B*Da+A*Ea>0.0?-1.0:1.0)*wa*.5;s=+g[Fa+528>>2]+h*za+s*ya+t*xa;g[Fa+528>>2]=s;g[Fa+528+4>>2]=w+t*Da;g[Fa+528+8>>2]=v+t*Ea;Ca=n+-7|0;h=+g[Fa+48+(((Ca|0)/3|0)<<2)>>2];j=+g[Fa+48+(((Ca|0)/3|0)+4<<2)>>2];m=+g[Fa+48+(((Ca|0)/3|0)+8<<2)>>2];p=+g[Fa+(((Ca|0)%3|0)<<2)>>2];q=+g[Fa+(((Ca|0)%3|0)+4<<2)>>2];r=+g[Fa+(((Ca|0)%3|0)+8<<2)>>2];o=1.0-(h*p+j*q+m*r)*(h*p+j*q+m*r);if(!(o<=9.999999747378752e-05))h=(((s-z)*h+(w+t*Da-y)*j+(v+t*Ea-x)*m)*(h*p+j*q+m*r)-((s-z)*p+(w+t*Da-y)*q+(v+t*Ea-x)*r))*(1.0/o);else h=0.0;g[Fa+528>>2]=s+h*p;g[Fa+528+4>>2]=w+t*Da+h*q;g[Fa+528+8>>2]=v+t*Ea+h*r;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+456>>2]=-C;g[Fa+456+4>>2]=-B;g[Fa+456+8>>2]=-A;g[Fa+456+12>>2]=0.0;hc[Ca&15](d,Fa+456|0,Fa+528|0,D);i=Fa;return}da=(n|0)<4;fa=(c[k>>2]=e,+g[k>>2]);if(da){l=Fa+48|0;_=Fa;Q=Fa+484|0;u=Fa+472|0;ca=fa;f=Ca;e=Ba;ga=b+48|0;a=b+112|0}else{e=(g[k>>2]=-(c[k>>2]=Ba,+g[k>>2]),c[k>>2]|0);l=Fa;_=Fa+48|0;Q=Fa+472|0;u=Fa+484|0;ca=-fa;f=(g[k>>2]=-(c[k>>2]=Ca,+g[k>>2]),c[k>>2]|0);ga=b+112|0;a=b+48|0}ba=(c[k>>2]=e,+g[k>>2]);aa=(c[k>>2]=f,+g[k>>2]);h=ca*+g[_>>2]+ba*+g[_+16>>2]+aa*+g[_+32>>2];g[Fa+440>>2]=h;j=ca*+g[_+4>>2]+ba*+g[_+20>>2]+aa*+g[_+36>>2];g[Fa+440+4>>2]=j;p=ca*+g[_+8>>2]+ba*+g[_+24>>2]+aa*+g[_+40>>2];g[Fa+440+8>>2]=p;h=+N(+h);j=+N(+j);p=+N(+p);e=j>h?(j>p?1:2):h>p?0:2;V=j>h?0:h>p&1;Y=(j>h?j>p:h>p)?2:1;p=+g[u+(e<<2)>>2];h=+g[a>>2]-+g[ga>>2];j=p*+g[_+(e<<2)>>2];m=+g[a+4>>2];ea=ga+4|0;o=+g[ea>>2];if(+g[Fa+440+(e<<2)>>2]<0.0){$=h+j;Z=m-o+p*+g[_+((e|4)<<2)>>2];X=+g[a+8>>2]-+g[ga+8>>2]+p*+g[_+((e|8)<<2)>>2]}else{$=h-j;Z=m-o-p*+g[_+((e|4)<<2)>>2];X=+g[a+8>>2]-+g[ga+8>>2]-p*+g[_+((e|8)<<2)>>2]}K=(da?-1:-4)+n|0;switch(K|0){case 0:{e=1;f=2;break}case 1:{e=0;f=2;break}default:{e=0;f=1}}J=l+(e<<2)|0;T=+g[J>>2];R=+g[J+16>>2];S=+g[J+32>>2];U=$*T+Z*R+X*S;J=l+(f<<2)|0;M=+g[J>>2];A=+g[J+16>>2];B=+g[J+32>>2];P=$*M+Z*A+X*B;J=_+(V<<2)|0;D=+g[J>>2];y=+g[J+16>>2];z=+g[J+32>>2];L=_+(Y<<2)|0;C=+g[L>>2];w=+g[L+16>>2];x=+g[L+32>>2];Da=+g[u+(V<<2)>>2];Ea=+g[u+(Y<<2)>>2];za=(T*C+R*w+S*x)*Ea;Ea=(M*C+A*w+B*x)*Ea;g[Fa+408>>2]=U-(T*D+R*y+S*z)*Da-za;g[Fa+408+4>>2]=P-(M*D+A*y+B*z)*Da-Ea;g[Fa+408+8>>2]=U-(T*D+R*y+S*z)*Da+za;g[Fa+408+12>>2]=P-(M*D+A*y+B*z)*Da+Ea;g[Fa+408+16>>2]=U+(T*D+R*y+S*z)*Da+za;g[Fa+408+20>>2]=P+(M*D+A*y+B*z)*Da+Ea;g[Fa+408+24>>2]=U+(T*D+R*y+S*z)*Da-za;g[Fa+408+28>>2]=P+(M*D+A*y+B*z)*Da-Ea;c[Fa+400>>2]=c[Q+(e<<2)>>2];c[Fa+400+4>>2]=c[Q+(f<<2)>>2];I=0;f=4;b=Fa+408|0;H=Fa+336|0;a:while(1){F=Fa+400+(I<<2)|0;G=1-I|0;do if((f|0)>0){a=0;E=b;e=H;while(1){l=E+(I<<2)|0;h=+g[l>>2];j=+g[F>>2];if(j>-h){c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];a=a+1|0;if(a&8|0){f=a;e=H;break a}h=+g[l>>2];j=+g[F>>2];n=e+8|0}else n=e;u=(f|0)>1;l=E;E=E+8|0;e=u?E:b;m=+g[e+(I<<2)>>2];if(j>-h^j>-m){Ea=+g[l+(G<<2)>>2];g[n+(G<<2)>>2]=Ea+(-j-h)*((+g[e+(G<<2)>>2]-Ea)/(m-h));g[n+(I<<2)>>2]=-+g[F>>2];e=a+1|0;if(!(e&8)){a=e;e=n+8|0}else{f=e;e=H;break a}}else e=n;if(!u)break;else f=f+-1|0}e=(H|0)==(Fa+336|0)?Fa+528|0:Fa+336|0;if((a|0)<=0){f=0;break}E=a;f=0;b=H;a=e;while(1){l=b+(I<<2)|0;j=+g[l>>2];h=+g[F>>2];if(j>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];f=f+1|0;if(f&8|0)break a;h=+g[F>>2];j=+g[l>>2];a=a+8|0}u=(E|0)>1;n=b;b=b+8|0;l=u?b:H;m=+g[l+(I<<2)>>2];if(j>2];g[a+(G<<2)>>2]=Ea+(h-j)*((+g[l+(G<<2)>>2]-Ea)/(m-j));c[a+(I<<2)>>2]=c[F>>2];f=f+1|0;if(!(f&8))a=a+8|0;else break a}if(!u)break;else E=E+-1|0}}else{e=(H|0)==(Fa+336|0)?Fa+528|0:Fa+336|0;f=0}while(0);I=I+1|0;if((I|0)>=2)break;else{b=e;H=(e|0)==(Fa+336|0)?Fa+528|0:Fa+336|0}}if((e|0)!=(Fa+336|0))_m(Fa+336|0,e|0,f<<3|0)|0;if((f|0)>=1){v=1.0/((T*D+R*y+S*z)*(M*C+A*w+B*x)-(M*D+A*y+B*z)*(T*C+R*w+S*x));t=+g[Q+(K<<2)>>2];s=+g[J>>2];p=+g[L>>2];q=+g[_+((V|4)<<2)>>2];r=+g[_+((Y|4)<<2)>>2];o=+g[_+((V|8)<<2)>>2];m=+g[_+((Y|8)<<2)>>2];a=0;e=0;do{_=e<<1;h=+g[Fa+336+(_<<2)>>2];j=+g[Fa+336+((_|1)<<2)>>2];ya=(M*C+A*w+B*x)*v*(h-U)-(T*C+R*w+S*x)*v*(j-P);Ea=(T*D+R*y+S*z)*v*(j-P)-(M*D+A*y+B*z)*v*(h-U);_=a*3|0;za=$+ya*s+Ea*p;g[Fa+240+(_<<2)>>2]=za;Da=Z+ya*q+Ea*r;g[Fa+240+(_+1<<2)>>2]=Da;Ea=X+ya*o+Ea*m;g[Fa+240+(_+2<<2)>>2]=Ea;Ea=t-(ca*za+ba*Da+aa*Ea);g[Fa+208+(a<<2)>>2]=Ea;if(Ea>=0.0){_=a<<1;g[Fa+336+(_<<2)>>2]=h;g[Fa+336+((_|1)<<2)>>2]=j;a=a+1|0}e=e+1|0}while((e|0)!=(f|0));b:do if((a|0)>=1){E=(a|0)<4?a:4;E=(E|0)<1?1:E;if((a|0)<=(E|0))if(da){f=ga+8|0;j=-(c[k>>2]=Ba,+g[k>>2]);h=-(c[k>>2]=Ca,+g[k>>2]);e=0;while(1){Ca=e*3|0;g[Fa+528>>2]=+g[Fa+240+(Ca<<2)>>2]+ +g[ga>>2];g[Fa+528+4>>2]=+g[Fa+240+(Ca+1<<2)>>2]+ +g[ea>>2];g[Fa+528+8>>2]=+g[Fa+240+(Ca+2<<2)>>2]+ +g[f>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+192>>2]=-fa;g[Fa+192+4>>2]=j;g[Fa+192+8>>2]=h;g[Fa+192+12>>2]=0.0;hc[Ca&15](d,Fa+192|0,Fa+528|0,-+g[Fa+208+(e<<2)>>2]);e=e+1|0;if((e|0)==(a|0))break b}}else{f=ga+8|0;j=(c[k>>2]=Ba,+g[k>>2]);h=(c[k>>2]=Ca,+g[k>>2]);e=0;while(1){Ca=e*3|0;Ea=+g[Fa+208+(e<<2)>>2];g[Fa+528>>2]=+g[Fa+240+(Ca<<2)>>2]+ +g[ga>>2]-fa*Ea;g[Fa+528+4>>2]=+g[Fa+240+(Ca+1<<2)>>2]+ +g[ea>>2]-j*Ea;g[Fa+528+8>>2]=+g[Fa+240+(Ca+2<<2)>>2]+ +g[f>>2]-h*Ea;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+176>>2]=-fa;g[Fa+176+4>>2]=-j;g[Fa+176+8>>2]=-h;g[Fa+176+12>>2]=0.0;hc[Ca&15](d,Fa+176|0,Fa+528|0,-Ea);e=e+1|0;if((e|0)==(a|0))break b}}c:do if((a|0)>1){f=1;l=0;j=+g[Fa+208>>2];while(1){h=+g[Fa+208+(f<<2)>>2];e=h>j;l=e?f:l;f=f+1|0;if((f|0)==(a|0))break;else j=e?h:j}switch(a|0){case 1:{e=Fa+144|0;f=Fa+144|0;a=1;Aa=111;break c}case 2:{e=Fa+144|0;f=Fa+144|0;a=2;j=(+g[Fa+336>>2]+ +g[Fa+336+8>>2])*.5;h=(+g[Fa+336+4>>2]+ +g[Fa+336+12>>2])*.5;Aa=116;break c}default:{}}e=a+-1|0;h=0.0;j=0.0;r=0.0;f=0;do{_=f<<1;ya=+g[Fa+336+(_<<2)>>2];za=+g[Fa+336+(_+3<<2)>>2];Da=+g[Fa+336+(_+2<<2)>>2];Ea=+g[Fa+336+((_|1)<<2)>>2];h=h+(ya*za-Da*Ea);j=j+(ya+Da)*(ya*za-Da*Ea);r=r+(za+Ea)*(ya*za-Da*Ea);f=f+1|0}while((f|0)!=(e|0));_=a<<1;m=+g[Fa+336+(_+-2<<2)>>2];o=+g[Fa+336+4>>2];p=+g[Fa+336>>2];q=+g[Fa+336+(_+-1<<2)>>2];h=h+(m*o-p*q);if(+N(+h)>1.1920928955078125e-07)h=1.0/(h*3.0);else h=999999984306749440.0;if((a|0)>0){u=Fa+144|0;f=Fa+144|0;n=Fa+528|0;j=h*(j+(m*o-p*q)*(m+p));h=h*(r+(m*o-p*q)*(q+o));Aa=119;break}e=Fa+144|0;f=0;u=a}else{e=Fa+144|0;f=Fa+144|0;l=0;Aa=111}while(0);if((Aa|0)==111){j=+g[Fa+336>>2];h=+g[Fa+336+4>>2];Aa=116}if((Aa|0)==116){u=e;n=Fa+528|0;Aa=119}if((Aa|0)==119){e=0;do{Aa=e<<1;g[Fa+528+(e<<2)>>2]=+W(+(+g[Fa+336+((Aa|1)<<2)>>2]-h),+(+g[Fa+336+(Aa<<2)>>2]-j));e=e+1|0}while((e|0)!=(a|0));e=0;do{c[Fa+496+(e<<2)>>2]=1;e=e+1|0}while((e|0)!=(a|0));e=u;f=1;u=a}a=Fa+496+(l<<2)|0;c[a>>2]=0;c[e>>2]=l;d:do if((E|0)>1){o=+g[Fa+528+(l<<2)>>2];if(f){f=Fa+144+4|0;n=1}else{e=Fa+144+4|0;f=1;while(1){c[e>>2]=l;c[a>>2]=0;f=f+1|0;if((f|0)==(E|0))break d;else e=e+4|0}}while(1){m=6.2831854820251465/+(E|0)*+(n|0)+o;m=m>3.1415927410125732?m+-6.2831854820251465:m;c[f>>2]=l;e=l;a=0;j=1.0e9;while(1){do if(!(c[Fa+496+(a<<2)>>2]|0))h=j;else{h=+N(+(+g[Fa+528+(a<<2)>>2]-m));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h>2]=a;e=a}while(0);a=a+1|0;if((a|0)==(u|0))break;else j=h}c[Fa+496+(e<<2)>>2]=0;n=n+1|0;if((n|0)==(E|0))break;else f=f+4|0}}while(0);if((E|0)>0){f=ga+8|0;j=(c[k>>2]=Ba,+g[k>>2]);h=(c[k>>2]=Ca,+g[k>>2]);if(da){e=0;do{Ca=c[Fa+144+(e<<2)>>2]|0;g[Fa+528>>2]=+g[Fa+240+(Ca*3<<2)>>2]+ +g[ga>>2];g[Fa+528+4>>2]=+g[Fa+240+((Ca*3|0)+1<<2)>>2]+ +g[ea>>2];g[Fa+528+8>>2]=+g[Fa+240+((Ca*3|0)+2<<2)>>2]+ +g[f>>2];Ba=c[(c[d>>2]|0)+16>>2]|0;g[Fa+128>>2]=-fa;g[Fa+128+4>>2]=-j;g[Fa+128+8>>2]=-h;g[Fa+128+12>>2]=0.0;hc[Ba&15](d,Fa+128|0,Fa+528|0,-+g[Fa+208+(Ca<<2)>>2]);e=e+1|0}while((e|0)<(E|0))}else{e=0;do{Ba=c[Fa+144+(e<<2)>>2]|0;ya=+g[Fa+240+(Ba*3<<2)>>2]+ +g[ga>>2];g[Fa+528>>2]=ya;za=+g[Fa+240+((Ba*3|0)+1<<2)>>2]+ +g[ea>>2];g[Fa+528+4>>2]=za;Da=+g[Fa+240+((Ba*3|0)+2<<2)>>2]+ +g[f>>2];g[Fa+528+8>>2]=Da;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+112>>2]=-fa;g[Fa+112+4>>2]=-j;g[Fa+112+8>>2]=-h;g[Fa+112+12>>2]=0.0;Ea=+g[Fa+208+(Ba<<2)>>2];g[Fa+96>>2]=ya-fa*Ea;g[Fa+96+4>>2]=za-Ea*j;g[Fa+96+8>>2]=Da-Ea*h;g[Fa+96+12>>2]=0.0;hc[Ca&15](d,Fa+112|0,Fa+96|0,-Ea);e=e+1|0}while((e|0)<(E|0))}}}while(0)}i=Fa;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;g=c[6438]|0;if(g>>>(n>>>3)&3|0){a=25792+((g>>>(n>>>3)&1^1)+(n>>>3)<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(c[6442]|0)>>>0)Va();if((c[d+12>>2]|0)==(b|0)){c[d+12>>2]=a;c[a+8>>2]=d;break}else Va()}else c[6438]=g&~(1<<(g>>>(n>>>3)&1^1)+(n>>>3));while(0);D=(g>>>(n>>>3)&1^1)+(n>>>3)<<3;c[b+4>>2]=D|3;c[b+D+4>>2]=c[b+D+4>>2]|1;D=b+8|0;return D|0}b=c[6440]|0;if(n>>>0>b>>>0){if(g>>>(n>>>3)|0){a=g>>>(n>>>3)<<(n>>>3)&(2<<(n>>>3)|0-(2<<(n>>>3)));f=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=f>>>(f>>>5&8)>>>(f>>>(f>>>5&8)>>>2&4);e=(f>>>5&8|((a&0-a)+-1|0)>>>12&16|f>>>(f>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;f=c[25792+(e<<1<<2)+8>>2]|0;a=c[f+8>>2]|0;do if((25792+(e<<1<<2)|0)!=(a|0)){if(a>>>0<(c[6442]|0)>>>0)Va();if((c[a+12>>2]|0)==(f|0)){c[a+12>>2]=25792+(e<<1<<2);c[25792+(e<<1<<2)+8>>2]=a;h=c[6440]|0;break}else Va()}else{c[6438]=g&~(1<>2]=n|3;c[f+n+4>>2]=(e<<3)-n|1;c[f+n+((e<<3)-n)>>2]=(e<<3)-n;if(h|0){d=c[6443]|0;b=h>>>3;a=c[6438]|0;if(a&1<>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{i=25792+(b<<1<<2)+8|0;j=a}}else{c[6438]=a|1<>2]=d;c[j+12>>2]=d;c[d+8>>2]=j;c[d+12>>2]=25792+(b<<1<<2)}c[6440]=(e<<3)-n;c[6443]=f+n;D=f+8|0;return D|0}a=c[6439]|0;if(a){i=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);j=i>>>(i>>>5&8)>>>(i>>>(i>>>5&8)>>>2&4);j=c[26056+((i>>>5&8|((a&0-a)+-1|0)>>>12&16|i>>>(i>>>5&8)>>>2&4|j>>>1&2|j>>>(j>>>1&2)>>>1&1)+(j>>>(j>>>1&2)>>>(j>>>(j>>>1&2)>>>1&1))<<2)>>2]|0;i=(c[j+4>>2]&-8)-n|0;b=j;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}b=(c[a+4>>2]&-8)-n|0;D=b>>>0>>0;i=D?b:i;b=a;j=D?a:j}f=c[6442]|0;if(j>>>0>>0)Va();h=j+n|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){k=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)Va();else{c[b>>2]=0;k=a;break}}else{b=c[j+8>>2]|0;if(b>>>0>>0)Va();if((c[b+12>>2]|0)!=(j|0))Va();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;k=a;break}else Va()}while(0);do if(g|0){a=c[j+28>>2]|0;if((j|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=k;if(!k){c[6439]=c[6439]&~(1<>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(j|0))c[g+16>>2]=k;else c[g+20>>2]=k;if(!k)break}b=c[6442]|0;if(k>>>0>>0)Va();c[k+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)Va();else{c[k+16>>2]=a;c[a+24>>2]=k;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[k+20>>2]=a;c[a+24>>2]=k;break}}while(0);if(i>>>0<16){D=i+n|0;c[j+4>>2]=D|3;D=j+D+4|0;c[D>>2]=c[D>>2]|1}else{c[j+4>>2]=n|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=c[6440]|0;if(b|0){d=c[6443]|0;a=c[6438]|0;if(a&1<<(b>>>3)){a=c[25792+(b>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{l=25792+(b>>>3<<1<<2)+8|0;m=a}}else{c[6438]=a|1<<(b>>>3);l=25792+(b>>>3<<1<<2)+8|0;m=25792+(b>>>3<<1<<2)|0}c[l>>2]=d;c[m+12>>2]=d;c[d+8>>2]=m;c[d+12>>2]=25792+(b>>>3<<1<<2)}c[6440]=i;c[6443]=h}D=j+8|0;return D|0}}}else if(a>>>0<=4294967231){n=a+11&-8;i=c[6439]|0;if(i){if((a+11|0)>>>8)if(n>>>0>16777215)h=31;else{h=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);h=14-((h+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((h<<((h+520192|0)>>>16&4))+245760|0)>>>16&2)+(h<<((h+520192|0)>>>16&4)<<(((h<<((h+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;h=n>>>(h+7|0)&1|h<<1}else h=0;b=c[26056+(h<<2)>>2]|0;a:do if(!b){d=0-n|0;a=0;b=0;w=86}else{d=0-n|0;a=0;f=n<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){e=c[g+4>>2]&-8;if((e-n|0)>>>0>>0)if((e|0)==(n|0)){d=e-n|0;a=g;b=g;w=90;break a}else{d=e-n|0;b=g}e=c[g+20>>2]|0;g=c[g+16+(f>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(g|0)?a:e;e=(g|0)==0;if(e){w=86;break}else f=f<<(e&1^1)}}while(0);if((w|0)==86){if((a|0)==0&(b|0)==0){a=2<>>(l>>>12&16)>>>(l>>>(l>>>12&16)>>>5&8);a=m>>>(m>>>2&4)>>>(m>>>(m>>>2&4)>>>1&2);a=c[26056+((l>>>(l>>>12&16)>>>5&8|l>>>12&16|m>>>2&4|m>>>(m>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0}if(!a){i=d;j=b}else w=90}if((w|0)==90)while(1){w=0;m=(c[a+4>>2]&-8)-n|0;e=m>>>0>>0;d=e?m:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;w=90;continue}a=c[a+20>>2]|0;if(!a){i=d;j=b;break}else w=90}if((j|0)!=0?i>>>0<((c[6440]|0)-n|0)>>>0:0){f=c[6442]|0;if(j>>>0>>0)Va();h=j+n|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){p=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)Va();else{c[b>>2]=0;p=a;break}}else{b=c[j+8>>2]|0;if(b>>>0>>0)Va();if((c[b+12>>2]|0)!=(j|0))Va();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;p=a;break}else Va()}while(0);do if(g|0){a=c[j+28>>2]|0;if((j|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=p;if(!p){c[6439]=c[6439]&~(1<>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(j|0))c[g+16>>2]=p;else c[g+20>>2]=p;if(!p)break}b=c[6442]|0;if(p>>>0>>0)Va();c[p+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)Va();else{c[p+16>>2]=a;c[a+24>>2]=p;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[p+20>>2]=a;c[a+24>>2]=p;break}}while(0);do if(i>>>0>=16){c[j+4>>2]=n|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){a=c[6438]|0;if(a&1<>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{q=25792+(b<<1<<2)+8|0;r=a}}else{c[6438]=a|1<>2]=h;c[r+12>>2]=h;c[h+8>>2]=r;c[h+12>>2]=25792+(b<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)d=31;else{d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[h+28>>2]=d;c[h+16+4>>2]=0;c[h+16>>2]=0;a=c[6439]|0;b=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}d=i<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){w=148;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=145;break}else{d=d<<1;e=a}}if((w|0)==145)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((w|0)==148){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=e;c[h+24>>2]=0;break}else Va()}}else{D=i+n|0;c[j+4>>2]=D|3;D=j+D+4|0;c[D>>2]=c[D>>2]|1}while(0);D=j+8|0;return D|0}}}else n=-1;while(0);d=c[6440]|0;if(d>>>0>=n>>>0){a=d-n|0;b=c[6443]|0;if(a>>>0>15){D=b+n|0;c[6443]=D;c[6440]=a;c[D+4>>2]=a|1;c[D+a>>2]=a;c[b+4>>2]=n|3}else{c[6440]=0;c[6443]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}D=b+8|0;return D|0}a=c[6441]|0;if(a>>>0>n>>>0){B=a-n|0;c[6441]=B;D=c[6444]|0;C=D+n|0;c[6444]=C;c[C+4>>2]=B|1;c[D+4>>2]=n|3;D=D+8|0;return D|0}do if(!(c[6556]|0)){a=gb(30)|0;if(!(a+-1&a)){c[6558]=a;c[6557]=a;c[6559]=-1;c[6560]=-1;c[6561]=0;c[6549]=0;c[6556]=(sb(0)|0)&-16^1431655768;break}else Va()}while(0);f=n+48|0;d=c[6558]|0;g=n+47|0;h=d+g&0-d;if(h>>>0<=n>>>0){D=0;return D|0}a=c[6548]|0;if(a|0?(r=c[6546]|0,(r+h|0)>>>0<=r>>>0|(r+h|0)>>>0>a>>>0):0){D=0;return D|0}b:do if(!(c[6549]&4)){b=c[6444]|0;c:do if(b){e=26200;while(1){a=c[e>>2]|0;if(a>>>0<=b>>>0?(o=e+4|0,(a+(c[o>>2]|0)|0)>>>0>b>>>0):0)break;a=c[e+8>>2]|0;if(!a){w=173;break c}else e=a}a=d+g-(c[6441]|0)&0-d;if(a>>>0<2147483647){b=ab(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[o>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;g=a;w=193;break b}}else w=183}}else w=173;while(0);do if((w|0)==173?(s=ab(0)|0,(s|0)!=(-1|0)):0){a=c[6557]|0;if(!(a+-1&s))a=h;else a=h-s+(a+-1+s&0-a)|0;b=c[6546]|0;d=b+a|0;if(a>>>0>n>>>0&a>>>0<2147483647){r=c[6548]|0;if(r|0?d>>>0<=b>>>0|d>>>0>r>>>0:0)break;b=ab(a|0)|0;if((b|0)==(s|0)){h=s;g=a;w=193;break b}else w=183}}while(0);d:do if((w|0)==183){d=0-a|0;do if(f>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(t=c[6558]|0,t=g-a+t&0-t,t>>>0<2147483647):0)if((ab(t|0)|0)==(-1|0)){ab(d|0)|0;break d}else{a=t+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;g=a;w=193;break b}}while(0);c[6549]=c[6549]|4;w=190}else w=190;while(0);if((((w|0)==190?h>>>0<2147483647:0)?(u=ab(h|0)|0,v=ab(0)|0,u>>>0>>0&((u|0)!=(-1|0)&(v|0)!=(-1|0))):0)?(v-u|0)>>>0>(n+40|0)>>>0:0){h=u;g=v-u|0;w=193}if((w|0)==193){a=(c[6546]|0)+g|0;c[6546]=a;if(a>>>0>(c[6547]|0)>>>0)c[6547]=a;k=c[6444]|0;do if(k){f=26200;while(1){a=c[f>>2]|0;b=f+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){w=203;break}e=c[f+8>>2]|0;if(!e)break;else f=e}if(((w|0)==203?(c[f+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[b>>2]=d+g;C=(k+8&7|0)==0?0:0-(k+8)&7;D=g-C+(c[6441]|0)|0;c[6444]=k+C;c[6441]=D;c[k+C+4>>2]=D|1;c[k+C+D+4>>2]=40;c[6445]=c[6560];break}a=c[6442]|0;if(h>>>0>>0){c[6442]=h;j=h}else j=a;b=h+g|0;a=26200;while(1){if((c[a>>2]|0)==(b|0)){w=211;break}a=c[a+8>>2]|0;if(!a){b=26200;break}}if((w|0)==211)if(!(c[a+12>>2]&8)){c[a>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=b+((b+8&7|0)==0?0:0-(b+8)&7)|0;l=m+n|0;i=a-m-n|0;c[m+4>>2]=n|3;do if((a|0)!=(k|0)){if((a|0)==(c[6443]|0)){D=(c[6440]|0)+i|0;c[6440]=D;c[6443]=l;c[l+4>>2]=D|1;c[l+D>>2]=D;break}h=c[a+4>>2]|0;if((h&3|0)==1){e:do if(h>>>0>=256){g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){B=0;break}else f=a+16|0}else f=a+16+4|0;while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;f=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;f=d}}if(f>>>0>>0)Va();else{c[f>>2]=0;B=b;break}}else{d=c[a+8>>2]|0;if(d>>>0>>0)Va();if((c[d+12>>2]|0)!=(a|0))Va();if((c[b+8>>2]|0)==(a|0)){c[d+12>>2]=b;c[b+8>>2]=d;B=b;break}else Va()}while(0);if(!g)break;b=c[a+28>>2]|0;do if((a|0)!=(c[26056+(b<<2)>>2]|0)){if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(a|0))c[g+16>>2]=B;else c[g+20>>2]=B;if(!B)break e}else{c[26056+(b<<2)>>2]=B;if(B|0)break;c[6439]=c[6439]&~(1<>>0>>0)Va();c[B+24>>2]=g;b=c[a+16>>2]|0;do if(b|0)if(b>>>0>>0)Va();else{c[B+16>>2]=b;c[b+24>>2]=B;break}while(0);b=c[a+16+4>>2]|0;if(!b)break;if(b>>>0<(c[6442]|0)>>>0)Va();else{c[B+20>>2]=b;c[b+24>>2]=B;break}}else{b=c[a+8>>2]|0;d=c[a+12>>2]|0;do if((b|0)!=(25792+(h>>>3<<1<<2)|0)){if(b>>>0>>0)Va();if((c[b+12>>2]|0)==(a|0))break;Va()}while(0);if((d|0)==(b|0)){c[6438]=c[6438]&~(1<<(h>>>3));break}do if((d|0)==(25792+(h>>>3<<1<<2)|0))z=d+8|0;else{if(d>>>0>>0)Va();if((c[d+8>>2]|0)==(a|0)){z=d+8|0;break}Va()}while(0);c[b+12>>2]=d;c[z>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;b=a+4|0;c[b>>2]=c[b>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;b=f>>>3;if(f>>>0<256){a=c[6438]|0;do if(!(a&1<>2]|0;if(a>>>0>=(c[6442]|0)>>>0){C=25792+(b<<1<<2)+8|0;D=a;break}Va()}while(0);c[C>>2]=l;c[D+12>>2]=l;c[l+8>>2]=D;c[l+12>>2]=25792+(b<<1<<2);break}a=f>>>8;do if(!a)d=0;else{if(f>>>0>16777215){d=31;break}d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=f>>>(d+7|0)&1|d<<1}while(0);e=26056+(d<<2)|0;c[l+28>>2]=d;c[l+16+4>>2]=0;c[l+16>>2]=0;a=c[6439]|0;b=1<>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}d=f<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){w=281;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=278;break}else{d=d<<1;e=a}}if((w|0)==278)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((w|0)==281){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=e;c[l+24>>2]=0;break}else Va()}}else{D=(c[6441]|0)+i|0;c[6441]=D;c[6444]=l;c[l+4>>2]=D|1}while(0);D=m+8|0;return D|0}else b=26200;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(x=a+(c[b+4>>2]|0)|0,x>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=x+-47+((x+-47+8&7|0)==0?0:0-(x+-47+8)&7)|0;f=f>>>0<(k+16|0)>>>0?k:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;D=h+a|0;a=g+-40-a|0;c[6444]=D;c[6441]=a;c[D+4>>2]=a|1;c[D+a+4>>2]=40;c[6445]=c[6560];c[f+4>>2]=27;c[f+8>>2]=c[6550];c[f+8+4>>2]=c[6551];c[f+8+8>>2]=c[6552];c[f+8+12>>2]=c[6553];c[6550]=h;c[6551]=g;c[6553]=0;c[6552]=f+8;a=f+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0>>0);if((f|0)!=(k|0)){c[f+4>>2]=c[f+4>>2]&-2;c[k+4>>2]=f-k|1;c[f>>2]=f-k;if((f-k|0)>>>0<256){b=25792+((f-k|0)>>>3<<1<<2)|0;a=c[6438]|0;if(a&1<<((f-k|0)>>>3)){a=c[b+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{y=b+8|0;A=a}}else{c[6438]=a|1<<((f-k|0)>>>3);y=b+8|0;A=b}c[y>>2]=k;c[A+12>>2]=k;c[k+8>>2]=A;c[k+12>>2]=b;break}if((f-k|0)>>>8)if((f-k|0)>>>0>16777215)d=31;else{d=(f-k|0)>>>8<<((((f-k|0)>>>8)+1048320|0)>>>16&8);d=14-((d+520192|0)>>>16&4|(((f-k|0)>>>8)+1048320|0)>>>16&8|((d<<((d+520192|0)>>>16&4))+245760|0)>>>16&2)+(d<<((d+520192|0)>>>16&4)<<(((d<<((d+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;d=(f-k|0)>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[k+16>>2]=0;a=c[6439]|0;b=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}d=f-k<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f-k|0)){w=307;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=304;break}else{d=d<<1;e=a}}if((w|0)==304)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((w|0)==307){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=k;c[a>>2]=k;c[k+8>>2]=b;c[k+12>>2]=e;c[k+24>>2]=0;break}else Va()}}}else{D=c[6442]|0;if((D|0)==0|h>>>0>>0)c[6442]=h;c[6550]=h;c[6551]=g;c[6553]=0;c[6447]=c[6556];c[6446]=-1;a=0;do{D=25792+(a<<1<<2)|0;c[D+12>>2]=D;c[D+8>>2]=D;a=a+1|0}while((a|0)!=32);D=h+8|0;D=(D&7|0)==0?0:0-D&7;C=h+D|0;D=g+-40-D|0;c[6444]=C;c[6441]=D;c[C+4>>2]=D|1;c[C+D+4>>2]=40;c[6445]=c[6560]}while(0);a=c[6441]|0;if(a>>>0>n>>>0){B=a-n|0;c[6441]=B;D=c[6444]|0;C=D+n|0;c[6444]=C;c[C+4>>2]=B|1;c[D+4>>2]=n|3;D=D+8|0;return D|0}}if(!0)a=25748;else a=c[(ib()|0)+64>>2]|0;c[a>>2]=12;D=0;return D|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;P=i;i=i+448|0;if(!(a[b+527>>0]|0)){i=P;return}N=c[b+28>>2]|0;x=+g[b+348>>2];w=+g[b+352>>2];D=+g[b+356>>2];y=+g[N+52>>2];z=x*+g[N+4>>2]+w*+g[N+8>>2]+D*+g[N+12>>2]+y;A=+g[N+56>>2];B=x*+g[N+20>>2]+w*+g[N+24>>2]+D*+g[N+28>>2]+A;C=+g[N+60>>2];D=x*+g[N+36>>2]+w*+g[N+40>>2]+D*+g[N+44>>2]+C;N=c[b+32>>2]|0;w=+g[b+412>>2];x=+g[b+416>>2];l=+g[b+420>>2];E=+g[N+52>>2];F=w*+g[N+4>>2]+x*+g[N+8>>2]+l*+g[N+12>>2]+E;G=+g[N+56>>2];H=w*+g[N+20>>2]+x*+g[N+24>>2]+l*+g[N+28>>2]+G;k=+g[N+60>>2];l=w*+g[N+36>>2]+x*+g[N+40>>2]+l*+g[N+44>>2]+k;if(!(a[b+524>>0]|0)){u=+g[d+192>>2]+ +g[d+80>>2];w=+g[d+196>>2]+ +g[d+84>>2];q=+g[d+200>>2]+ +g[d+88>>2];x=+g[e+192>>2]+ +g[e+80>>2];p=+g[e+196>>2]+ +g[e+84>>2];n=+g[e+200>>2]+ +g[e+88>>2];m=+g[d+176>>2]+ +g[d+64>>2]+((D-C)*w-(B-A)*q)-(+g[e+176>>2]+ +g[e+64>>2]+((l-k)*p-(H-G)*n));n=+g[d+180>>2]+ +g[d+68>>2]+((z-y)*q-(D-C)*u)-(+g[e+180>>2]+ +g[e+68>>2]+((F-E)*n-(l-k)*x));p=+g[d+184>>2]+ +g[d+72>>2]+((B-A)*u-(z-y)*w)-(+g[e+184>>2]+ +g[e+72>>2]+((H-G)*x-(F-E)*p));o=(c[d+240>>2]|0)==0;v=0;do{x=1.0/+g[b+48+(v*84|0)+80>>2];r=b+48+(v*84|0)|0;w=+g[r>>2];s=b+48+(v*84|0)+4|0;u=+g[s>>2];t=b+48+(v*84|0)+8|0;q=+g[t>>2];q=x*(((z-F)*w+(B-H)*u+(D-l)*q)*-.30000001192092896/f)-x*(m*w+n*u+p*q);g[b+36>>2]=+g[b+36>>2]+q;u=+g[t>>2];w=+g[s>>2];x=+g[r>>2];h=c[b+28>>2]|0;j=+g[h+344>>2];if(!o){S=((B-A)*u-(D-C)*w)*+g[h+296>>2]+((D-C)*x-(z-y)*u)*+g[h+300>>2]+((z-y)*w-(B-A)*x)*+g[h+304>>2];Q=((B-A)*u-(D-C)*w)*+g[h+280>>2]+((D-C)*x-(z-y)*u)*+g[h+284>>2]+((z-y)*w-(B-A)*x)*+g[h+288>>2];R=((B-A)*u-(D-C)*w)*+g[h+264>>2]+((D-C)*x-(z-y)*u)*+g[h+268>>2]+((z-y)*w-(B-A)*x)*+g[h+272>>2];U=q*w*j*+g[d+116>>2];T=q*u*j*+g[d+120>>2];g[d+64>>2]=q*x*j*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];Q=Q*q*+g[d+100>>2];j=S*q*+g[d+104>>2];g[d+80>>2]=R*q*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=Q+ +g[d+84>>2];g[d+88>>2]=j+ +g[d+88>>2]}h=c[b+32>>2]|0;j=+g[h+344>>2];if(c[e+240>>2]|0){U=((H-G)*u-(l-k)*w)*+g[h+296>>2]+((l-k)*x-(F-E)*u)*+g[h+300>>2]+((F-E)*w-(H-G)*x)*+g[h+304>>2];T=((H-G)*u-(l-k)*w)*+g[h+280>>2]+((l-k)*x-(F-E)*u)*+g[h+284>>2]+((F-E)*w-(H-G)*x)*+g[h+288>>2];S=((H-G)*u-(l-k)*w)*+g[h+264>>2]+((l-k)*x-(F-E)*u)*+g[h+268>>2]+((F-E)*w-(H-G)*x)*+g[h+272>>2];Q=j*+g[s>>2]*-q*+g[e+116>>2];R=j*+g[t>>2]*-q*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*j*+g[r>>2]*-q+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-q;U=U*+g[e+104>>2]*-q;g[e+80>>2]=S*+g[e+96>>2]*-q+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2]}v=v+1|0}while((v|0)!=3)}do if(!(a[b+552>>0]|0)){j=+g[b+440>>2];if(!(j>1.1920928955078125e-07)){I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0;break}k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);l=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);m=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(k*k+l*l+m*m>1.1920928955078125e-07){C=1.0/+O(+(k*k+l*l+m*m));h=c[b+28>>2]|0;p=+g[h+264>>2];q=+g[h+280>>2];u=+g[h+296>>2];w=+g[h+268>>2];x=+g[h+284>>2];y=+g[h+300>>2];z=+g[h+272>>2];A=+g[h+288>>2];B=+g[h+304>>2];h=c[b+32>>2]|0;j=j*(1.0/(k*C*(p*k*C+l*C*q+m*C*u)+l*C*(k*C*w+l*C*x+m*C*y)+m*C*(k*C*z+l*C*A+m*C*B)+(k*C*(k*C*+g[h+264>>2]+l*C*+g[h+280>>2]+m*C*+g[h+296>>2])+l*C*(k*C*+g[h+268>>2]+l*C*+g[h+284>>2]+m*C*+g[h+300>>2])+m*C*(k*C*+g[h+272>>2]+l*C*+g[h+288>>2]+m*C*+g[h+304>>2]))));C=+O(+(m*j*m*j+(k*j*k*j+l*j*l*j)));n=1.0/C*k*j;k=1.0/C*l*j;j=1.0/C*m*j;if(c[d+240>>2]|0){U=C*0.0*+g[d+116>>2];T=C*0.0*+g[d+120>>2];g[d+64>>2]=C*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];T=(n*q+k*x+j*A)*C*+g[d+100>>2];U=(n*u+k*y+j*B)*C*+g[d+104>>2];g[d+80>>2]=(n*p+k*w+j*z)*C*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=T+ +g[d+84>>2];g[d+88>>2]=U+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){U=n*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];T=n*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];S=n*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Q=C*-0.0*+g[e+116>>2];R=C*-0.0*+g[e+120>>2];g[e+64>>2]=C*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-C;U=U*+g[e+104>>2]*-C;g[e+80>>2]=S*+g[e+96>>2]*-C+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2];I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}else{I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}}else{I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}}else{M=c[b+28>>2]|0;c[P+352>>2]=c[M+4>>2];c[P+352+4>>2]=c[M+4+4>>2];c[P+352+8>>2]=c[M+4+8>>2];c[P+352+12>>2]=c[M+4+12>>2];c[P+352+16>>2]=c[M+20>>2];c[P+352+16+4>>2]=c[M+20+4>>2];c[P+352+16+8>>2]=c[M+20+8>>2];c[P+352+16+12>>2]=c[M+20+12>>2];c[P+352+32>>2]=c[M+36>>2];c[P+352+32+4>>2]=c[M+36+4>>2];c[P+352+32+8>>2]=c[M+36+8>>2];c[P+352+32+12>>2]=c[M+36+12>>2];c[P+352+48>>2]=c[M+52>>2];c[P+352+48+4>>2]=c[M+52+4>>2];c[P+352+48+8>>2]=c[M+52+8>>2];c[P+352+48+12>>2]=c[M+52+12>>2];M=c[b+32>>2]|0;c[P+288>>2]=c[M+4>>2];c[P+288+4>>2]=c[M+4+4>>2];c[P+288+8>>2]=c[M+4+8>>2];c[P+288+12>>2]=c[M+4+12>>2];c[P+288+16>>2]=c[M+20>>2];c[P+288+16+4>>2]=c[M+20+4>>2];c[P+288+16+8>>2]=c[M+20+8>>2];c[P+288+16+12>>2]=c[M+20+12>>2];c[P+288+32>>2]=c[M+36>>2];c[P+288+32+4>>2]=c[M+36+4>>2];c[P+288+32+8>>2]=c[M+36+8>>2];c[P+288+32+12>>2]=c[M+36+12>>2];c[P+288+48>>2]=c[M+52>>2];c[P+288+48+4>>2]=c[M+52+4>>2];c[P+288+48+8>>2]=c[M+52+8>>2];c[P+288+48+12>>2]=c[M+52+12>>2];S=+g[d+196>>2]+ +g[d+84>>2];u=+g[d+200>>2]+ +g[d+88>>2];g[P+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[P+272+4>>2]=S;g[P+272+8>>2]=u;g[P+272+12>>2]=0.0;u=+g[e+196>>2]+ +g[e+84>>2];S=+g[e+200>>2]+ +g[e+88>>2];g[P+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[P+256+4>>2]=u;g[P+256+8>>2]=S;g[P+256+12>>2]=0.0;c[P+192>>2]=1065353216;M=P+192+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[P+192+20>>2]=1065353216;N=P+192+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[P+192+40>>2]=1065353216;K=P+192+44|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;Zg(P+352|0,0.0,0.0,0.0,P+272|0,f,P+192|0);c[P+128>>2]=1065353216;K=P+128+4|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[P+128+20>>2]=1065353216;L=P+128+24|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[P+128+40>>2]=1065353216;J=P+128+44|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;Zg(P+288|0,0.0,0.0,0.0,P+256|0,f,P+128|0);S=+g[b+556>>2];u=+g[b+560>>2];T=+g[b+564>>2];w=+g[b+568>>2];F=S*(2.0/(S*S+u*u+T*T+w*w));A=u*(2.0/(S*S+u*u+T*T+w*w));G=T*(2.0/(S*S+u*u+T*T+w*w));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];k=Z*(S*G-w*A)+(V*(S*A+w*G)+W*(1.0-(u*A+T*G)));l=Z*(u*G+w*F)+(W*(S*A-w*G)+V*(1.0-(S*F+T*G)));m=W*(S*G+w*A)+V*(u*G-w*F)+Z*(1.0-(S*F+u*A));j=+g[b+380>>2];E=+g[b+384>>2];B=+g[b+388>>2];n=(S*G-w*A)*B+(E*(S*A+w*G)+j*(1.0-(u*A+T*G)));p=(u*G+w*F)*B+(j*(S*A-w*G)+E*(1.0-(S*F+T*G)));q=j*(S*G+w*A)+E*(u*G-w*F)+B*(1.0-(S*F+u*A));Q=+g[b+396>>2];C=+g[b+400>>2];z=+g[b+404>>2];R=(1.0-(u*A+T*G))*Q+(S*A+w*G)*C+(S*G-w*A)*z;T=(S*A-w*G)*Q+(1.0-(S*F+T*G))*C+(u*G+w*F)*z;A=(S*G+w*A)*Q+(u*G-w*F)*C+(1.0-(S*F+u*A))*z;u=+g[b+300>>2];F=+g[b+316>>2];S=+g[b+332>>2];w=+g[b+304>>2];G=+g[b+320>>2];U=+g[b+336>>2];D=+g[b+308>>2];H=+g[b+324>>2];y=+g[b+340>>2];x=-+g[b+348>>2];aa=-+g[b+352>>2];Y=-+g[b+356>>2];Z=W*0.0+V*0.0+Z*0.0+ +g[b+412>>2]+(m*(D*x+H*aa+y*Y)+(k*(u*x+F*aa+S*Y)+l*(w*x+G*aa+U*Y)));B=j*0.0+E*0.0+B*0.0+ +g[b+416>>2]+(q*(D*x+H*aa+y*Y)+(n*(u*x+F*aa+S*Y)+p*(w*x+G*aa+U*Y)));Y=Q*0.0+C*0.0+z*0.0+ +g[b+420>>2]+(A*(D*x+H*aa+y*Y)+(R*(u*x+F*aa+S*Y)+T*(w*x+G*aa+U*Y)));aa=+g[P+128>>2];x=+g[K>>2];z=+g[P+128+8>>2];C=+g[P+128+16>>2];Q=+g[P+128+20>>2];E=+g[L>>2];j=+g[P+128+32>>2];V=+g[P+128+36>>2];W=+g[P+128+40>>2];X=z*Y+(aa*Z+x*B)+ +g[P+128+48>>2];_=C*Z+B*Q+Y*E+ +g[P+128+52>>2];$=Z*j+B*V+Y*W+ +g[P+128+56>>2];g[P+64>>2]=(k*u+l*w+m*D)*aa+(n*u+p*w+q*D)*x+(R*u+T*w+A*D)*z;g[P+64+4>>2]=(k*F+l*G+m*H)*aa+(n*F+p*G+q*H)*x+(R*F+T*G+A*H)*z;g[P+64+8>>2]=(k*S+l*U+m*y)*aa+(n*S+p*U+q*y)*x+(R*S+T*U+A*y)*z;g[P+64+12>>2]=0.0;g[P+64+16>>2]=(k*u+l*w+m*D)*C+(n*u+p*w+q*D)*Q+(R*u+T*w+A*D)*E;g[P+64+20>>2]=(k*F+l*G+m*H)*C+(n*F+p*G+q*H)*Q+(R*F+T*G+A*H)*E;g[P+64+24>>2]=(k*S+l*U+m*y)*C+(n*S+p*U+q*y)*Q+(R*S+T*U+A*y)*E;g[P+64+28>>2]=0.0;g[P+64+32>>2]=(k*u+l*w+m*D)*j+(n*u+p*w+q*D)*V+(R*u+T*w+A*D)*W;g[P+64+36>>2]=(k*F+l*G+m*H)*j+(n*F+p*G+q*H)*V+(R*F+T*G+A*H)*W;g[P+64+40>>2]=(k*S+l*U+m*y)*j+(n*S+p*U+q*y)*V+(R*S+T*U+A*y)*W;g[P+64+44>>2]=0.0;g[P+64+48>>2]=X;g[P+64+52>>2]=_;g[P+64+56>>2]=$;g[P+64+60>>2]=0.0;$=(R*u+T*w+A*D)*-Y+((k*u+l*w+m*D)*-Z+(n*u+p*w+q*D)*-B);_=(R*F+T*G+A*H)*-Y+((k*F+l*G+m*H)*-Z+(n*F+p*G+q*H)*-B);B=(R*S+T*U+A*y)*-Y+((k*S+l*U+m*y)*-Z+(n*S+p*U+q*y)*-B);Z=+g[P+192>>2];Y=+g[M>>2];X=+g[P+192+8>>2];W=+g[P+192+16>>2];V=+g[P+192+20>>2];j=+g[N>>2];E=+g[P+192+32>>2];Q=+g[P+192+36>>2];C=+g[P+192+40>>2];z=$*Z+_*Y+B*X+ +g[P+192+48>>2];x=$*W+_*V+B*j+ +g[P+192+52>>2];B=$*E+_*Q+B*C+ +g[P+192+56>>2];g[P>>2]=(k*u+l*w+m*D)*Z+(k*F+l*G+m*H)*Y+(k*S+l*U+m*y)*X;g[P+4>>2]=(n*u+p*w+q*D)*Z+(n*F+p*G+q*H)*Y+(n*S+p*U+q*y)*X;g[P+8>>2]=(R*u+T*w+A*D)*Z+(R*F+T*G+A*H)*Y+(R*S+T*U+A*y)*X;g[P+12>>2]=0.0;g[P+16>>2]=(k*u+l*w+m*D)*W+(k*F+l*G+m*H)*V+(k*S+l*U+m*y)*j;g[P+20>>2]=(n*u+p*w+q*D)*W+(n*F+p*G+q*H)*V+(n*S+p*U+q*y)*j;g[P+24>>2]=(R*u+T*w+A*D)*W+(R*F+T*G+A*H)*V+(R*S+T*U+A*y)*j;g[P+28>>2]=0.0;g[P+32>>2]=(k*u+l*w+m*D)*E+(k*F+l*G+m*H)*Q+(k*S+l*U+m*y)*C;g[P+36>>2]=(n*u+p*w+q*D)*E+(n*F+p*G+q*H)*Q+(n*S+p*U+q*y)*C;g[P+40>>2]=(R*u+T*w+A*D)*E+(R*F+T*G+A*H)*Q+(R*S+T*U+A*y)*C;g[P+44>>2]=0.0;g[P+48>>2]=z;g[P+52>>2]=x;g[P+56>>2]=B;g[P+60>>2]=0.0;Gf(P+352|0,P+64|0,P+424|0,P+416|0);B=+g[P+416>>2];x=1.0/f*+g[P+424>>2]*B;z=1.0/f*B*+g[P+424+4>>2];B=1.0/f*B*+g[P+424+8>>2];Gf(P+288|0,P,P+424|0,P+416|0);C=+g[P+416>>2];x=x-+g[P+272>>2];z=z-+g[P+272+4>>2];B=B-+g[P+272+8>>2];y=1.0/f*+g[P+424>>2]*C-+g[P+256>>2];A=1.0/f*C*+g[P+424+4>>2]-+g[P+256+4>>2];C=1.0/f*C*+g[P+424+8>>2]-+g[P+256+8>>2];if(x*x+z*z+B*B>1.1920928955078125e-07){q=1.0/+O(+(x*x+z*z+B*B));N=c[b+28>>2]|0;j=x*q;l=z*q;n=B*q;q=x*q*(+g[N+264>>2]*x*q+z*q*+g[N+280>>2]+B*q*+g[N+296>>2])+z*q*(x*q*+g[N+268>>2]+z*q*+g[N+284>>2]+B*q*+g[N+300>>2])+B*q*(x*q*+g[N+272>>2]+z*q*+g[N+288>>2]+B*q*+g[N+304>>2])}else{j=0.0;l=0.0;n=0.0;q=0.0}if(y*y+A*A+C*C>1.1920928955078125e-07){u=1.0/+O(+(y*y+A*A+C*C));N=c[b+32>>2]|0;k=y*u;m=A*u;p=C*u;u=y*u*(+g[N+264>>2]*y*u+A*u*+g[N+280>>2]+C*u*+g[N+296>>2])+A*u*(y*u*+g[N+268>>2]+A*u*+g[N+284>>2]+C*u*+g[N+300>>2])+C*u*(y*u*+g[N+272>>2]+A*u*+g[N+288>>2]+C*u*+g[N+304>>2])}else{k=0.0;m=0.0;p=0.0;u=0.0}w=q*j+u*k;k=q*l+u*m;j=q*n+u*p;if(w*w+k*k+j*j>1.1920928955078125e-07){n=1.0/+O(+(w*w+k*k+j*j));o=c[b+28>>2]|0;l=w*n*(+g[o+264>>2]*w*n+k*n*+g[o+280>>2]+j*n*+g[o+296>>2])+k*n*(w*n*+g[o+268>>2]+k*n*+g[o+284>>2]+j*n*+g[o+300>>2])+j*n*(w*n*+g[o+272>>2]+k*n*+g[o+288>>2]+j*n*+g[o+304>>2]);h=c[b+32>>2]|0;n=w*n*(w*n*+g[h+264>>2]+k*n*+g[h+280>>2]+j*n*+g[h+296>>2])+k*n*(w*n*+g[h+268>>2]+k*n*+g[h+284>>2]+j*n*+g[h+300>>2])+j*n*(w*n*+g[h+272>>2]+k*n*+g[h+288>>2]+j*n*+g[h+304>>2]);k=(x*l-y*n)*(1.0/((l+n)*(l+n)));u=(z*l-A*n)*(1.0/((l+n)*(l+n)));n=(B*l-C*n)*(1.0/((l+n)*(l+n)));j=+g[b+572>>2];if(!(j>=0.0))j=u;else{l=(a[b+553>>0]|0)==0?j:j/l;m=+g[b+576>>2];p=+g[b+580>>2];q=+g[b+584>>2];j=+O(+((k+m)*(k+m)+(u+p)*(u+p)+(n+q)*(n+q)));if(j>l){k=l*(k+m)*(1.0/j)-m;n=l*(n+q)*(1.0/j)-q;j=l*(u+p)*(1.0/j)-p}else j=u;g[b+576>>2]=k+m;g[b+580>>2]=j+p;g[b+584>>2]=n+q}m=+O(+(k*k+j*j+n*n));l=k*(1.0/m);k=j*(1.0/m);j=n*(1.0/m);if(c[d+240>>2]|0){aa=l*+g[o+296>>2]+k*+g[o+300>>2]+j*+g[o+304>>2];$=l*+g[o+280>>2]+k*+g[o+284>>2]+j*+g[o+288>>2];_=l*+g[o+264>>2]+k*+g[o+268>>2]+j*+g[o+272>>2];Y=m*0.0*+g[d+116>>2];Z=m*0.0*+g[d+120>>2];g[d+64>>2]=m*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*m*+g[d+100>>2];aa=aa*m*+g[d+104>>2];g[d+80>>2]=_*m*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=$+ +g[d+84>>2];g[d+88>>2]=aa+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=m*-0.0*+g[e+116>>2];Z=m*-0.0*+g[e+120>>2];g[e+64>>2]=m*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-m;aa=aa*+g[e+104>>2]*-m;g[e+80>>2]=_*+g[e+96>>2]*-m+ +g[e+80>>2];g[e+84>>2]=$+ +g[e+84>>2];g[e+88>>2]=aa+ +g[e+88>>2]}}I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}while(0);z=+g[h>>2]+ +g[I>>2];y=+g[o>>2]+ +g[J>>2];x=+g[r>>2]+ +g[K>>2];w=+g[s>>2]+ +g[L>>2];u=+g[t>>2]+ +g[M>>2];q=+g[v>>2]+ +g[N>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];j=k*+g[b+504>>2]*+g[b+432>>2]/f;l=+g[b+460>>2];m=+g[b+464>>2];n=+g[b+468>>2];if((w-z)*l+(u-y)*m+(q-x)*n>0.0)j=j+k*((w-z)*l+(u-y)*m+(q-x)*n)*+g[b+436>>2];$=+g[b+516>>2];_=$+j*+g[b+492>>2];_=_>0.0?_:0.0;g[b+516>>2]=_;Z=+g[b+536>>2];k=+g[b+540>>2];aa=+g[b+544>>2];j=l*(_-$)*Z+m*(_-$)*k+(_-$)*n*aa;p=+O(+(((_-$)*n-aa*j)*((_-$)*n-aa*j)+((l*(_-$)-Z*j)*(l*(_-$)-Z*j)+(m*(_-$)-k*j)*(m*(_-$)-k*j))));l=1.0/p*(l*(_-$)-Z*j);k=1.0/p*(m*(_-$)-k*j);j=1.0/p*((_-$)*n-aa*j);h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=p*0.0*+g[d+116>>2];Z=p*0.0*+g[d+120>>2];g[d+64>>2]=p*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*p*+g[d+100>>2];aa=aa*p*+g[d+104>>2];g[I>>2]=_*p*+g[d+96>>2]+ +g[I>>2];g[J>>2]=$+ +g[J>>2];g[K>>2]=aa+ +g[K>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=p*-0.0*+g[e+116>>2];Z=p*-0.0*+g[e+120>>2];g[e+64>>2]=p*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-p;aa=aa*+g[e+104>>2]*-p;g[L>>2]=_*+g[e+96>>2]*-p+ +g[L>>2];g[M>>2]=$+ +g[M>>2];g[N>>2]=aa+ +g[N>>2]}}if(!(a[b+525>>0]|0)){i=P;return}n=+g[b+532>>2];m=n*+g[b+508>>2]*+g[b+432>>2]/f;l=+g[b+476>>2];k=+g[b+480>>2];j=+g[b+484>>2];if((w-z)*l+(u-y)*k+(q-x)*j>0.0)m=m+n*((w-z)*l+(u-y)*k+(q-x)*j)*+g[b+436>>2];n=+g[b+520>>2];m=n+m*+g[b+496>>2];m=m>0.0?m:0.0;g[b+520>>2]=m;h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];j=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];l=(m-n)*0.0*+g[d+116>>2];k=(m-n)*0.0*+g[d+120>>2];g[d+64>>2]=(m-n)*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=l+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=$*(m-n)*+g[d+100>>2];l=aa*(m-n)*+g[d+104>>2];g[I>>2]=j*(m-n)*+g[d+96>>2]+ +g[I>>2];g[J>>2]=k+ +g[J>>2];g[K>>2]=l+ +g[K>>2];l=+g[b+476>>2];k=+g[b+480>>2];j=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){i=P;return}aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=(m-n)*-0.0*+g[e+116>>2];Z=(m-n)*-0.0*+g[e+120>>2];g[e+64>>2]=(m-n)*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-(m-n);aa=aa*+g[e+104>>2]*-(m-n);g[L>>2]=_*+g[e+96>>2]*-(m-n)+ +g[L>>2];g[M>>2]=$+ +g[M>>2];g[N>>2]=aa+ +g[N>>2];i=P;return}function Ac(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;U=c[e>>2]|0;fa=c[f>>2]|0;if(U|0)g=c[U+12>>2]|0;else g=b;i=c[g+88>>2]|0;j=c[g+92>>2]|0;h=c[g+96>>2]|0;if(!fa)g=d;else g=c[fa+12>>2]|0;s=c[g+88>>2]|0;n=c[g+92>>2]|0;p=c[g+96>>2]|0;$=c[b+88>>2]|0;da=(c[d+88>>2]|0)-$|0;u=c[b+92>>2]|0;ea=(c[d+92>>2]|0)-u|0;b=c[b+96>>2]|0;X=(c[d+96>>2]|0)-b|0;Z=c[(U|0?U:fa)+12>>2]|0;aa=(c[Z+88>>2]|0)-$|0;T=(c[Z+92>>2]|0)-u|0;Z=(c[Z+96>>2]|0)-b|0;Y=(_(T,X)|0)-(_(Z,ea)|0)|0;Z=(_(Z,da)|0)-(_(aa,X)|0)|0;T=(_(aa,ea)|0)-(_(T,da)|0)|0;$=vr(Y|0,((Y|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;aa=C;u=vr(Z|0,((Z|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=C;b=vr(T|0,((T|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Kt($|0,aa|0,b|0,C|0)|0;t=Kt(b|0,C|0,u|0,t|0)|0;u=C;b=vr(T|0,((T|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;aa=C;$=vr(Z|0,((Z|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;$=Is(b|0,aa|0,$|0,C|0)|0;aa=C;b=vr(Y|0,((Y|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ca=C;ba=vr(T|0,((T|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;ba=Is(b|0,ca|0,ba|0,C|0)|0;ca=C;b=vr(Z|0,((Z|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;W=C;V=vr(Y|0,((Y|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;V=Is(b|0,W|0,V|0,C|0)|0;W=C;b=vr($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;S=C;g=vr(ba|0,ca|0,j|0,((j|0)<0)<<31>>31|0)|0;S=Kt(g|0,C|0,b|0,S|0)|0;b=C;g=vr(V|0,W|0,h|0,((h|0)<0)<<31>>31|0)|0;g=Kt(S|0,b|0,g|0,C|0)|0;b=C;if((U|0)!=0?(c[U+12>>2]|0)!=0:0){r=U;q=i;o=j;m=h;while(1){r=c[(c[r+8>>2]|0)+4>>2]|0;j=r+12|0;i=c[j>>2]|0;d=c[i+88>>2]|0;R=vr(d|0,((d|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;Q=C;h=c[i+92>>2]|0;S=vr(h|0,((h|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;Q=Kt(S|0,C|0,R|0,Q|0)|0;R=C;i=c[i+96>>2]|0;S=vr(i|0,((i|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;S=Kt(Q|0,R|0,S|0,C|0)|0;R=C;if((R|0)<(u|0)|(R|0)==(u|0)&S>>>0>>0){d=q;i=o;h=m;break}if((c[r+20>>2]|0)==(c[a+100>>2]|0)){d=q;i=o;h=m;break}l=vr(d|0,((d|0)<0)<<31>>31|0,$|0,aa|0)|0;S=C;k=vr(h|0,((h|0)<0)<<31>>31|0,ba|0,ca|0)|0;S=Kt(k|0,C|0,l|0,S|0)|0;l=C;k=vr(i|0,((i|0)<0)<<31>>31|0,V|0,W|0)|0;k=Kt(S|0,l|0,k|0,C|0)|0;l=C;if(!((l|0)>(b|0)|(l|0)==(b|0)&k>>>0>g>>>0)){d=q;i=o;h=m;break}c[e>>2]=r;S=c[j>>2]|0;d=c[S+88>>2]|0;i=c[S+92>>2]|0;h=c[S+96>>2]|0;if(!S){g=k;b=l;break}else{b=l;g=k;q=d;o=i;m=h}}o=c[f>>2]|0;S=i}else{o=fa;d=i;S=j}j=vr($|0,aa|0,s|0,((s|0)<0)<<31>>31|0)|0;R=C;i=vr(ba|0,ca|0,n|0,((n|0)<0)<<31>>31|0)|0;R=Kt(i|0,C|0,j|0,R|0)|0;j=C;i=vr(V|0,W|0,p|0,((p|0)<0)<<31>>31|0)|0;i=Kt(R|0,j|0,i|0,C|0)|0;j=C;a:do if(o)if(!(c[o+12>>2]|0))k=s;else{r=o;q=s;while(1){o=c[c[r+8>>2]>>2]|0;m=c[o+12>>2]|0;k=c[m+88>>2]|0;Q=vr(k|0,((k|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;P=C;l=c[m+92>>2]|0;R=vr(l|0,((l|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;P=Kt(R|0,C|0,Q|0,P|0)|0;Q=C;m=c[m+96>>2]|0;R=vr(m|0,((m|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;R=Kt(P|0,Q|0,R|0,C|0)|0;Q=C;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0>>0){o=r;k=q;break a}if((c[o+20>>2]|0)==(c[a+100>>2]|0)){o=r;k=q;break a}R=vr(k|0,((k|0)<0)<<31>>31|0,$|0,aa|0)|0;Q=C;l=vr(l|0,((l|0)<0)<<31>>31|0,ba|0,ca|0)|0;Q=Kt(l|0,C|0,R|0,Q|0)|0;R=C;l=vr(m|0,((m|0)<0)<<31>>31|0,V|0,W|0)|0;l=Kt(Q|0,R|0,l|0,C|0)|0;m=C;if(!((m|0)>(j|0)|(m|0)==(j|0)&l>>>0>i>>>0)){o=r;k=q;break a}c[f>>2]=o;R=c[o+12>>2]|0;k=c[R+88>>2]|0;n=c[R+92>>2]|0;p=c[R+96>>2]|0;if(!R){i=l;j=m;break}else{r=o;j=m;i=l;q=k}}}else{o=0;k=s}while(0);i=Is(i|0,j|0,g|0,b|0)|0;b=C;if((b|0)>0|(b|0)==0&i>>>0>0){Q=Is(0,0,T|0,((T|0)<0)<<31>>31|0)|0;R=C;j=o;q=i;m=b;r=d;s=S;t=h;N=k;O=n;P=p;while(1){l=(_(O-s|0,ea)|0)+(_(N-r|0,da)|0)+(_(P-t|0,X)|0)|0;g=c[e>>2]|0;if(!g){E=l;D=l;B=((l|0)<0)<<31>>31;l=q;I=r;H=s;G=t}else{K=l;u=l;L=((l|0)<0)<<31>>31;l=q;H=r;I=s;J=t;b:while(1){if(!(c[g+12>>2]|0)){s=K;t=L;r=H;q=I;g=J;break}G=c[(c[g>>2]|0)+8>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){s=K;t=L;r=H;q=I;g=J;break}M=c[G+12>>2]|0;r=c[M+88>>2]|0;F=r-H|0;q=c[M+92>>2]|0;E=q-I|0;M=c[M+96>>2]|0;j=M-J|0;t=vr(F|0,((F|0)<0)<<31>>31|0,$|0,aa|0)|0;D=C;s=vr(E|0,((E|0)<0)<<31>>31|0,ba|0,ca|0)|0;D=Kt(s|0,C|0,t|0,D|0)|0;t=C;s=vr(j|0,((j|0)<0)<<31>>31|0,V|0,W|0)|0;s=Kt(D|0,t|0,s|0,C|0)|0;t=C;j=(_(E,ea)|0)+(_(F,da)|0)+(_(j,X)|0)|0;do if((s|0)==0&(t|0)==0){if((j|0)>=0){s=K;t=L;r=H;q=I;g=J;break b}}else{if((t|0)>=0){s=K;t=L;r=H;q=I;g=J;break b}if((j|0)>0){w=1;x=j;v=((j|0)<0)<<31>>31}else{x=Is(0,0,j|0,((j|0)<0)<<31>>31|0)|0;w=j>>31;x=(j|0)<0?x:0;v=(j|0)<0?C:0}F=0-w|0;A=Is(0,0,s|0,t|0)|0;B=C;if((K|0)>0){j=1;D=u;E=L}else{E=(K|0)<0;D=Is(0,0,u|0,L|0)|0;j=K>>31;D=E?D:0;E=E?C:0}if(!((m|0)>0|(m|0)==0&l>>>0>0))if((m|0)<0){s=Is(0,0,l|0,m|0)|0;j=0-j|0;t=C}else{s=0;t=0}else{s=l;t=m}if((j|0)==(F|0)){if(!w)break;j=vr(s|0,0,x|0,0)|0;w=C;ja=vr(t|0,0,x|0,0)|0;ia=C;y=vr(s|0,0,v|0,0)|0;z=C;ha=vr(t|0,0,v|0,0)|0;x=C;y=Kt(ja|0,0,y|0,0)|0;s=C;x=Kt(ia|0,0,ha|0,x|0)|0;z=Kt(x|0,C|0,z|0,0)|0;s=Kt(z|0,C|0,s|0,0)|0;z=C;w=Kt(0,y|0,j|0,w|0)|0;x=C;y=Kt(s|0,z|0,(x>>>0>>0|(x|0)==(y|0)&w>>>0<0)&1|0,0)|0;z=C;s=vr(D|0,0,A|0,0)|0;j=C;ha=vr(E|0,0,A|0,0)|0;A=C;t=vr(D|0,0,B|0,0)|0;v=C;B=vr(E|0,0,B|0,0)|0;D=C;t=Kt(ha|0,0,t|0,0)|0;E=C;D=Kt(A|0,0,B|0,D|0)|0;v=Kt(D|0,C|0,v|0,0)|0;E=Kt(v|0,C|0,E|0,0)|0;v=C;j=Kt(0,t|0,s|0,j|0)|0;s=C;t=Kt(E|0,v|0,(s>>>0>>0|(s|0)==(t|0)&j>>>0<0)&1|0,0)|0;v=C;do if(z>>>0>>0|(z|0)==(v|0)&y>>>0>>0)j=-1;else{if(z>>>0>v>>>0|(z|0)==(v|0)&y>>>0>t>>>0){j=1;break}if(x>>>0>>0|(x|0)==(s|0)&w>>>0>>0){j=-1;break}j=(x>>>0>s>>>0|(x|0)==(s|0)&w>>>0>j>>>0)&1}while(0);j=_(j,F)|0}else j=F-j|0;if((j|0)<=-1){s=K;t=L;r=H;q=I;g=J;break b}}while(0);ja=N-r|0;ia=O-q|0;j=P-M|0;m=vr(ja|0,((ja|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=C;l=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ha=Kt(l|0,C|0,m|0,ha|0)|0;m=C;l=vr(j|0,((j|0)<0)<<31>>31|0,V|0,W|0)|0;l=Kt(ha|0,m|0,l|0,C|0)|0;m=C;g=(g|0)==(U|0)?0:G;c[e>>2]=g;j=(_(ia,ea)|0)+(_(ja,da)|0)+(_(j,X)|0)|0;if(!g){s=j;u=j;t=((j|0)<0)<<31>>31;g=M;break}else{K=j;u=j;L=((j|0)<0)<<31>>31;H=r;I=q;J=M}}E=s;j=c[f>>2]|0;D=u;B=t;I=r;H=q;G=g}if(!j){g=122;break}if(!(c[j+12>>2]|0)){g=122;break}F=c[c[j+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){g=122;break}r=c[F+12>>2]|0;t=c[r+88>>2]|0;q=t-N|0;s=c[r+92>>2]|0;j=s-O|0;r=c[r+96>>2]|0;g=r-P|0;ja=vr(q|0,((q|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=C;ia=vr(j|0,((j|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;ha=Kt(ia|0,C|0,ja|0,ha|0)|0;ja=C;ia=vr(g|0,((g|0)<0)<<31>>31|0,Q|0,R|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(C|0))){g=122;break}v=vr(q|0,((q|0)<0)<<31>>31|0,$|0,aa|0)|0;A=C;u=vr(j|0,((j|0)<0)<<31>>31|0,ba|0,ca|0)|0;A=Kt(u|0,C|0,v|0,A|0)|0;v=C;u=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;u=Kt(A|0,v|0,u|0,C|0)|0;v=C;g=(_(j,ea)|0)+(_(q,da)|0)+(_(g,X)|0)|0;A=t-I|0;ia=s-H|0;z=r-G|0;A=vr(A|0,((A|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=C;ia=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ja=Kt(ia|0,C|0,A|0,ja|0)|0;A=C;z=vr(z|0,((z|0)<0)<<31>>31|0,V|0,W|0)|0;z=Kt(ja|0,A|0,z|0,C|0)|0;A=C;if(!((A|0)>0|(A|0)==0&z>>>0>0)){g=122;break}if((u|0)==0&(v|0)==0){if((g|0)>=0){g=122;break}}else{if((v|0)>=0){g=122;break}if((g|0)>0){r=1;s=g;q=((g|0)<0)<<31>>31}else{s=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;r=g>>31;s=(g|0)<0?s:0;q=(g|0)<0?C:0}y=0-r|0;w=Is(0,0,u|0,v|0)|0;x=C;if((E|0)>0){g=1;v=D;u=B}else{u=(E|0)<0;v=Is(0,0,D|0,B|0)|0;g=E>>31;v=u?v:0;u=u?C:0}do if((m|0)>0|(m|0)==0&l>>>0>0){j=g;g=m}else{if((m|0)>=0){j=g;l=0;g=0;break}l=Is(0,0,l|0,m|0)|0;j=0-g|0;g=C}while(0);if((j|0)==(y|0)){if(!r){g=122;break}ja=vr(l|0,0,s|0,0)|0;r=C;j=vr(g|0,0,s|0,0)|0;P=C;s=vr(l|0,0,q|0,0)|0;t=C;g=vr(g|0,0,q|0,0)|0;q=C;s=Kt(j|0,0,s|0,0)|0;j=C;q=Kt(P|0,0,g|0,q|0)|0;t=Kt(q|0,C|0,t|0,0)|0;j=Kt(t|0,C|0,j|0,0)|0;t=C;q=Kt(0,s|0,ja|0,r|0)|0;r=C;s=Kt(j|0,t|0,(r>>>0>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=C;j=vr(v|0,0,w|0,0)|0;g=C;ja=vr(u|0,0,w|0,0)|0;P=C;l=vr(v|0,0,x|0,0)|0;m=C;ha=vr(u|0,0,x|0,0)|0;ia=C;l=Kt(ja|0,0,l|0,0)|0;ja=C;ia=Kt(P|0,0,ha|0,ia|0)|0;m=Kt(ia|0,C|0,m|0,0)|0;ja=Kt(m|0,C|0,ja|0,0)|0;m=C;g=Kt(0,l|0,j|0,g|0)|0;j=C;l=Kt(ja|0,m|0,(j>>>0>>0|(j|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=C;do if(t>>>0>>0|(t|0)==(m|0)&s>>>0>>0)g=-1;else{if(t>>>0>m>>>0|(t|0)==(m|0)&s>>>0>l>>>0){g=1;break}if(r>>>0>>0|(r|0)==(j|0)&q>>>0>>0){g=-1;break}g=(r>>>0>j>>>0|(r|0)==(j|0)&q>>>0>g>>>0)&1}while(0);g=_(g,y)|0}else g=y-j|0;if((g|0)<=0){g=122;break}}c[f>>2]=F;P=c[F+12>>2]|0;j=F;q=z;m=A;r=I;s=H;t=G;N=c[P+88>>2]|0;O=c[P+92>>2]|0;P=c[P+96>>2]|0}if((g|0)==122)return}if((b|0)>=0)return;F=Is(0,0,T|0,((T|0)<0)<<31>>31|0)|0;G=C;g=S;E=k;c:while(1){D=b;B=i;z=g;d:while(1){A=(_(n-z|0,ea)|0)+(_(E-d|0,da)|0)+(_(p-h|0,X)|0)|0;do if((o|0?c[o+12>>2]|0:0)?(ga=c[(c[o+4>>2]|0)+8>>2]|0,(c[ga+20>>2]|0)>(c[a+100>>2]|0)):0){y=c[ga+12>>2]|0;w=c[y+88>>2]|0;ja=w-E|0;x=c[y+92>>2]|0;ia=x-n|0;y=c[y+96>>2]|0;g=y-p|0;i=vr(ja|0,((ja|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=C;b=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ha=Kt(b|0,C|0,i|0,ha|0)|0;i=C;b=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;b=Kt(ha|0,i|0,b|0,C|0)|0;i=C;g=(_(ia,ea)|0)+(_(ja,da)|0)+(_(g,X)|0)|0;if((b|0)==0&(i|0)==0)if((g|0)>0)break d;else break;if((i|0)<0){if((g|0)>0){k=1;l=g;j=((g|0)<0)<<31>>31}else{l=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;k=g>>31;l=(g|0)<0?l:0;j=(g|0)<0?C:0}v=0-k|0;r=Is(0,0,b|0,i|0)|0;s=C;if((A|0)>0){g=1;t=A;u=((A|0)<0)<<31>>31}else{t=Is(0,0,A|0,((A|0)<0)<<31>>31|0)|0;g=A>>31;t=(A|0)<0?t:0;u=(A|0)<0?C:0}if(!((D|0)>0|(D|0)==0&B>>>0>0))if((D|0)<0){b=Is(0,0,B|0,D|0)|0;g=0-g|0;i=C}else{b=0;i=0}else{b=B;i=D}if((g|0)==(v|0)){if(!k)break d;g=vr(b|0,0,l|0,0)|0;k=C;ha=vr(i|0,0,l|0,0)|0;U=C;m=vr(b|0,0,j|0,0)|0;q=C;ja=vr(i|0,0,j|0,0)|0;l=C;m=Kt(ha|0,0,m|0,0)|0;b=C;l=Kt(U|0,0,ja|0,l|0)|0;q=Kt(l|0,C|0,q|0,0)|0;b=Kt(q|0,C|0,b|0,0)|0;q=C;k=Kt(0,m|0,g|0,k|0)|0;l=C;m=Kt(b|0,q|0,(l>>>0>>0|(l|0)==(m|0)&k>>>0<0)&1|0,0)|0;q=C;b=vr(t|0,0,r|0,0)|0;g=C;ja=vr(u|0,0,r|0,0)|0;U=C;i=vr(t|0,0,s|0,0)|0;j=C;ha=vr(u|0,0,s|0,0)|0;ia=C;i=Kt(ja|0,0,i|0,0)|0;ja=C;ia=Kt(U|0,0,ha|0,ia|0)|0;j=Kt(ia|0,C|0,j|0,0)|0;ja=Kt(j|0,C|0,ja|0,0)|0;j=C;g=Kt(0,i|0,b|0,g|0)|0;b=C;i=Kt(ja|0,j|0,(b>>>0>>0|(b|0)==(i|0)&g>>>0<0)&1|0,0)|0;j=C;do if(q>>>0>>0|(q|0)==(j|0)&m>>>0>>0)g=-1;else{if(q>>>0>j>>>0|(q|0)==(j|0)&m>>>0>i>>>0){g=1;break}if(l>>>0>>0|(l|0)==(b|0)&k>>>0>>0){g=-1;break}g=(l>>>0>b>>>0|(l|0)==(b|0)&k>>>0>g>>>0)&1}while(0);g=_(g,v)|0}else g=v-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=122;break c}if(!(c[g+12>>2]|0)){g=122;break c}u=c[(c[g+8>>2]|0)+4>>2]|0;if((c[u+20>>2]|0)<=(c[a+100>>2]|0)){g=122;break c}i=c[u+12>>2]|0;k=c[i+88>>2]|0;d=k-d|0;j=c[i+92>>2]|0;b=j-z|0;i=c[i+96>>2]|0;g=i-h|0;ja=vr(d|0,((d|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=C;ia=vr(b|0,((b|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;ha=Kt(ia|0,C|0,ja|0,ha|0)|0;ja=C;ia=vr(g|0,((g|0)<0)<<31>>31|0,F|0,G|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(C|0))){g=122;break c}l=vr(d|0,((d|0)<0)<<31>>31|0,$|0,aa|0)|0;t=C;h=vr(b|0,((b|0)<0)<<31>>31|0,ba|0,ca|0)|0;t=Kt(h|0,C|0,l|0,t|0)|0;l=C;h=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;h=Kt(t|0,l|0,h|0,C|0)|0;l=C;g=(_(b,ea)|0)+(_(d,da)|0)+(_(g,X)|0)|0;t=E-k|0;ia=n-j|0;s=p-i|0;t=vr(t|0,((t|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=C;ia=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ja=Kt(ia|0,C|0,t|0,ja|0)|0;t=C;s=vr(s|0,((s|0)<0)<<31>>31|0,V|0,W|0)|0;s=Kt(ja|0,t|0,s|0,C|0)|0;t=C;if((t|0)>=0){g=122;break c}if((h|0)==0&(l|0)==0){if((g|0)<=0){g=122;break c}}else{if((l|0)>=0){g=122;break c}if((g|0)>0){j=g;k=((g|0)<0)<<31>>31;i=1}else{j=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=(g|0)<0?j:0;k=(g|0)<0?C:0;i=g>>31}r=0-i|0;o=Is(0,0,h|0,l|0)|0;q=C;if((A|0)>0){g=1;m=A;h=((A|0)<0)<<31>>31}else{m=Is(0,0,A|0,((A|0)<0)<<31>>31|0)|0;g=A>>31;m=(A|0)<0?m:0;h=(A|0)<0?C:0}do if((D|0)>0|(D|0)==0&B>>>0>0){d=g;b=B;g=D}else{if((D|0)>=0){d=g;b=0;g=0;break}b=Is(0,0,B|0,D|0)|0;d=0-g|0;g=C}while(0);if((d|0)==(r|0)){if(!i){g=122;break c}ja=vr(b|0,0,j|0,0)|0;i=C;d=vr(g|0,0,j|0,0)|0;U=C;b=vr(b|0,0,k|0,0)|0;l=C;g=vr(g|0,0,k|0,0)|0;j=C;k=Kt(d|0,0,b|0,0)|0;b=C;j=Kt(U|0,0,g|0,j|0)|0;l=Kt(j|0,C|0,l|0,0)|0;b=Kt(l|0,C|0,b|0,0)|0;l=C;i=Kt(0,k|0,ja|0,i|0)|0;j=C;k=Kt(b|0,l|0,(j>>>0>>0|(j|0)==(k|0)&i>>>0<0)&1|0,0)|0;l=C;b=vr(m|0,0,o|0,0)|0;g=C;ja=vr(h|0,0,o|0,0)|0;U=C;d=vr(m|0,0,q|0,0)|0;ia=C;ha=vr(h|0,0,q|0,0)|0;h=C;d=Kt(ja|0,0,d|0,0)|0;ja=C;h=Kt(U|0,0,ha|0,h|0)|0;h=Kt(h|0,C|0,ia|0,0)|0;ja=Kt(h|0,C|0,ja|0,0)|0;h=C;g=Kt(0,d|0,b|0,g|0)|0;b=C;d=Kt(ja|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=C;do if(l>>>0>>0|(l|0)==(h|0)&k>>>0>>0)g=-1;else{if(l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>d>>>0){g=1;break}if(j>>>0>>0|(j|0)==(b|0)&i>>>0>>0){g=-1;break}g=(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>g>>>0)&1}while(0);g=_(g,r)|0}else g=r-d|0;if((g|0)>=0){g=122;break c}}c[e>>2]=u;h=c[u+12>>2]|0;o=c[f>>2]|0;D=t;B=s;d=c[h+88>>2]|0;z=c[h+92>>2]|0;h=c[h+96>>2]|0}b=w-d|0;E=x-z|0;i=y-h|0;b=vr(b|0,((b|0)<0)<<31>>31|0,$|0,aa|0)|0;g=C;E=vr(E|0,((E|0)<0)<<31>>31|0,ba|0,ca|0)|0;g=Kt(E|0,C|0,b|0,g|0)|0;b=C;i=vr(i|0,((i|0)<0)<<31>>31|0,V|0,W|0)|0;i=Kt(g|0,b|0,i|0,C|0)|0;o=(o|0)==(fa|0)?0:ga;c[f>>2]=o;b=C;g=z;E=w;n=x;p=y}if((g|0)==122)return}function Bc(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+624|0;K=O+536+40|0;M=O+588|0;N=O+576+12|0;L=O+588+9|0;m=0;n=0;r=0;w=f;a:while(1){do if((m|0)>-1){if((n|0)<=(2147483647-m|0)){m=n+m|0;break}if(!0)m=25748;else m=c[(ib()|0)+64>>2]|0;c[m>>2]=75;m=-1}while(0);f=a[w>>0]|0;if(!(f<<24>>24)){J=254;break}else n=w;b:while(1){switch(f<<24>>24){case 37:{f=n;J=11;break b}case 0:{f=n;break b}default:{}}I=n+1|0;f=a[I>>0]|0;n=I}c:do if((J|0)==11)while(1){J=0;if((a[f+1>>0]|0)!=37)break c;n=n+1|0;f=f+2|0;if((a[f>>0]|0)==37)J=11;else break}while(0);v=n-w|0;if(e|0?(c[e>>2]&32|0)==0:0)Ek(w,v,e);if((n|0)!=(w|0)){n=v;w=f;continue}o=f+1|0;n=a[o>>0]|0;if(((n<<24>>24)+-48|0)>>>0<10){I=(a[f+2>>0]|0)==36;o=I?f+3|0:o;q=a[o>>0]|0;u=I?(n<<24>>24)+-48|0:-1;r=I?1:r}else{q=n;u=-1}f=q<<24>>24;d:do if((f&-32|0)==32){n=q;q=0;do{if(!(1<>24)+-32|q;o=o+1|0;n=a[o>>0]|0;f=n<<24>>24}while((f&-32|0)==32)}else{n=q;q=0}while(0);do if(n<<24>>24==42){n=o+1|0;f=(a[n>>0]|0)+-48|0;if(f>>>0<10?(a[o+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;f=1;o=o+3|0;n=c[j+((a[n>>0]|0)+-48<<3)>>2]|0}else{if(r|0){m=-1;break a}if(!e){t=q;I=0;o=n;H=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);I=c[f>>2]|0;c[g>>2]=f+4;f=0;o=n;n=I}if((n|0)<0){t=q|8192;I=f;H=0-n|0}else{t=q;I=f;H=n}}else{f=(n<<24>>24)+-48|0;if(f>>>0<10){n=0;do{n=(n*10|0)+f|0;o=o+1|0;f=(a[o>>0]|0)+-48|0}while(f>>>0<10);if((n|0)<0){m=-1;break a}else{t=q;I=r;H=n}}else{t=q;I=r;H=0}}while(0);e:do if((a[o>>0]|0)==46){f=o+1|0;q=a[f>>0]|0;if(q<<24>>24!=42){if(((q<<24>>24)+-48|0)>>>0<10){n=0;o=(q<<24>>24)+-48|0}else{r=0;break}while(1){n=(n*10|0)+o|0;f=f+1|0;o=(a[f>>0]|0)+-48|0;if(o>>>0>=10){r=n;break e}}}f=o+2|0;n=(a[f>>0]|0)+-48|0;if(n>>>0<10?(a[o+3>>0]|0)==36:0){c[l+(n<<2)>>2]=10;r=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=o+4|0;break}if(I|0){m=-1;break a}if(e|0){G=(c[g>>2]|0)+(4-1)&~(4-1);r=c[G>>2]|0;c[g>>2]=G+4}else r=0}else{r=-1;f=o}while(0);q=0;while(1){n=(a[f>>0]|0)+-65|0;if(n>>>0>57){m=-1;break a}G=f+1|0;n=a[19395+(q*58|0)+n>>0]|0;if(((n&255)+-1|0)>>>0<8){f=G;q=n&255}else break}if(!(n<<24>>24)){m=-1;break}o=(u|0)>-1;do if(n<<24>>24==19)if(o){m=-1;break a}else J=54;else{if(o){c[l+(u<<2)>>2]=n&255;F=j+(u<<3)|0;J=c[F+4>>2]|0;c[O>>2]=c[F>>2];c[O+4>>2]=J;J=54;break}if(!e){m=0;break a}Ug(O,n&255,g)}while(0);if((J|0)==54?(J=0,(e|0)==0):0){n=v;r=I;w=G;continue}E=a[f>>0]|0;E=(q|0)!=0&(E&15|0)==3?E&-33:E;o=t&-65537;F=(t&8192|0)==0?t:o;f:do switch(E|0){case 110:switch(q|0){case 0:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 1:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 2:{n=c[O>>2]|0;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;n=v;r=I;w=G;continue a}case 3:{b[c[O>>2]>>1]=m;n=v;r=I;w=G;continue a}case 4:{a[c[O>>2]>>0]=m;n=v;r=I;w=G;continue a}case 6:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 7:{n=c[O>>2]|0;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;n=v;r=I;w=G;continue a}default:{n=v;r=I;w=G;continue a}}case 112:{t=F|8;r=r>>>0>8?r:8;u=120;J=66;break}case 88:case 120:{t=F;u=E;J=66;break}case 111:{n=c[O>>2]|0;o=c[O+4>>2]|0;if((n|0)==0&(o|0)==0)f=K;else{f=K;do{f=f+-1|0;a[f>>0]=n&7|48;n=us(n|0,o|0,3)|0;o=C}while(!((n|0)==0&(o|0)==0))}if(!(F&8)){n=F;t=0;q=19875;J=79}else{t=K-f|0;n=F;r=(r|0)>(t|0)?r:t+1|0;t=0;q=19875;J=79}break}case 105:case 100:{f=c[O>>2]|0;n=c[O+4>>2]|0;if((n|0)<0){f=Is(0,0,f|0,n|0)|0;n=C;c[O>>2]=f;c[O+4>>2]=n;o=1;q=19875;J=78;break f}if(!(F&2048)){o=F&1;q=(F&1|0)==0?19875:19877;J=78}else{o=1;q=19876;J=78}break}case 117:{f=c[O>>2]|0;n=c[O+4>>2]|0;o=0;q=19875;J=78;break}case 99:{a[O+536+39>>0]=c[O>>2];f=O+536+39|0;u=1;w=0;v=19875;n=K;break}case 109:{if(!0)f=25748;else f=c[(ib()|0)+64>>2]|0;n=c[f>>2]|0;f=0;while(1){if((d[19885+f>>0]|0)==(n|0)){J=85;break}f=f+1|0;if((f|0)==87){n=87;f=19973;break}}if((J|0)==85)if(!f){n=19973;J=92;break f}else{n=f;f=19973}do{do{J=f;f=f+1|0}while((a[J>>0]|0)!=0);n=n+-1|0}while((n|0)!=0);n=f;J=92;break}case 115:{n=c[O>>2]|0;n=n|0?n:21777;J=92;break}case 67:{c[O+8>>2]=c[O>>2];c[O+8+4>>2]=0;c[O>>2]=O+8;f=O+8|0;r=-1;J=96;break}case 83:{f=c[O>>2]|0;if(!r){Gl(e,32,H,0,F);f=0;J=107}else J=96;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{p=+h[O>>3];c[O+16>>2]=0;h[k>>3]=p;if((c[k+4>>2]|0)>=0)if(!(F&2048)){B=F&1;D=(F&1|0)==0?21785:21790}else{B=1;D=21787}else{p=-p;B=1;D=21784}h[k>>3]=p;A=c[k+4>>2]&2146435072;do if(A>>>0<2146435072|(A|0)==2146435072&0<0){p=+Gm(p,O+16|0)*2.0;if(p!=0.0)c[O+16>>2]=(c[O+16>>2]|0)+-1;if((E|32|0)==97){u=(E&32|0)==0?D:D+9|0;t=B|2;f=12-r|0;do if(!(r>>>0>11|(f|0)==0)){s=8.0;do{f=f+-1|0;s=s*16.0}while((f|0)!=0);if((a[u>>0]|0)==45){p=-(s+(-p-s));break}else{p=p+s-s;break}}while(0);n=c[O+16>>2]|0;f=(n|0)<0?0-n|0:n;f=Vm(f,((f|0)<0)<<31>>31,O+576+12|0)|0;if((f|0)==(O+576+12|0)){a[O+576+11>>0]=48;f=O+576+11|0}a[f+-1>>0]=(n>>31&2)+43;q=f+-2|0;a[q>>0]=E+15;o=(r|0)<1;f=O+588|0;while(1){D=~~p;n=f+1|0;a[f>>0]=d[19859+D>>0]|E&32;p=(p-+(D|0))*16.0;do if((n-M|0)==1){if((F&8|0)==0&(o&p==0.0))break;a[n>>0]=46;n=f+2|0}while(0);if(!(p!=0.0))break;else f=n}f=(r|0)!=0&(-2-M+n|0)<(r|0)?N+2+r-q|0:N-M-q+n|0;Gl(e,32,H,f+t|0,F);if(!(c[e>>2]&32))Ek(u,t,e);Gl(e,48,H,f+t|0,F^65536);if(!(c[e>>2]&32))Ek(O+588|0,n-M|0,e);Gl(e,48,f-(n-M+(N-q))|0,0,0);if(!(c[e>>2]&32))Ek(q,N-q|0,e);Gl(e,32,H,f+t|0,F^8192);f=(f+t|0)<(H|0)?H:f+t|0;break}f=(r|0)<0?6:r;if(p!=0.0){n=(c[O+16>>2]|0)+-28|0;c[O+16>>2]=n;p=p*268435456.0}else n=c[O+16>>2]|0;A=(n|0)<0?O+24|0:O+24+288|0;q=A;do{z=~~p>>>0;c[q>>2]=z;q=q+4|0;p=(p-+(z>>>0))*1.0e9}while(p!=0.0);n=c[O+16>>2]|0;if((n|0)>0){o=A;do{t=(n|0)>29?29:n;n=q+-4|0;do if(n>>>0>=o>>>0){r=0;do{y=is(c[n>>2]|0,0,t|0)|0;y=Kt(y|0,C|0,r|0,0)|0;z=C;x=lr(y|0,z|0,1e9,0)|0;c[n>>2]=x;r=Xv(y|0,z|0,1e9,0)|0;n=n+-4|0}while(n>>>0>=o>>>0);if(!r)break;o=o+-4|0;c[o>>2]=r}while(0);while(1){if(q>>>0<=o>>>0)break;n=q+-4|0;if(!(c[n>>2]|0))q=n;else break}n=(c[O+16>>2]|0)-t|0;c[O+16>>2]=n}while((n|0)>0)}else o=A;if((n|0)<0){do{t=0-n|0;t=(t|0)>9?9:t;do if(o>>>0>>0){r=0;n=o;do{z=c[n>>2]|0;c[n>>2]=(z>>>t)+r;r=_(z&(1<>>t)|0;n=n+4|0}while(n>>>0>>0);n=(c[o>>2]|0)==0?o+4|0:o;if(!r){o=n;n=q;break}c[q>>2]=r;o=n;n=q+4|0}else{o=(c[o>>2]|0)==0?o+4|0:o;n=q}while(0);q=(E|32|0)==102?A:o;q=(n-q>>2|0)>(((f+25|0)/9|0)+1|0)?q+(((f+25|0)/9|0)+1<<2)|0:n;n=(c[O+16>>2]|0)+t|0;c[O+16>>2]=n}while((n|0)<0);n=o}else n=o;do if(n>>>0>>0){o=(A-n>>2)*9|0;t=c[n>>2]|0;if(t>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(t>>>0>=r>>>0)}else o=0;while(0);r=f-((E|32|0)!=102?o:0)+(((f|0)!=0&(E|32|0)==103)<<31>>31)|0;if((r|0)<(((q-A>>2)*9|0)+-9|0)){x=A+4+(((r+9216|0)/9|0)+-1024<<2)|0;if((((r+9216|0)%9|0)+1|0)<9){t=10;u=((r+9216|0)%9|0)+1|0;while(1){r=t*10|0;u=u+1|0;if((u|0)==9)break;else t=r}}else r=10;v=c[x>>2]|0;w=(v>>>0)%(r>>>0)|0;t=(x+4|0)==(q|0);do if(t&(w|0)==0)r=x;else{s=(((v>>>0)/(r>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;u=(r|0)/2|0;if(w>>>0>>0)p=.5;else p=t&(w|0)==(u|0)?1.0:1.5;do if(B){if((a[D>>0]|0)!=45)break;s=-s;p=-p}while(0);c[x>>2]=v-w;if(!(s+p!=s)){r=x;break}z=v-w+r|0;c[x>>2]=z;if(z>>>0>999999999){o=x;while(1){r=o+-4|0;c[o>>2]=0;if(r>>>0>>0){n=n+-4|0;c[n>>2]=0}z=(c[r>>2]|0)+1|0;c[r>>2]=z;if(z>>>0>999999999)o=r;else break}}else r=x;o=(A-n>>2)*9|0;u=c[n>>2]|0;if(u>>>0<10)break;else t=10;do{t=t*10|0;o=o+1|0}while(u>>>0>=t>>>0)}while(0);y=r+4|0;z=n;n=q>>>0>y>>>0?y:q}else{z=n;n=q}u=0-o|0;y=n;while(1){if(y>>>0<=z>>>0){w=0;break}n=y+-4|0;if(!(c[n>>2]|0))y=n;else{w=1;break}}do if((E|32|0)==103){if((((f|0)!=0^1)+f|0)>(o|0)&(o|0)>-5){t=E+-1|0;f=((f|0)!=0^1)+f+-1-o|0}else{t=E+-2|0;f=((f|0)!=0^1)+f+-1|0}if(F&8|0){r=F&8;break}do if(w){n=c[y+-4>>2]|0;if(!n){q=9;break}if(!((n>>>0)%10|0)){r=10;q=0}else{q=0;break}do{r=r*10|0;q=q+1|0}while(!((n>>>0)%(r>>>0)|0|0))}else q=9;while(0);n=((y-A>>2)*9|0)+-9|0;if((t|32|0)==102){r=n-q|0;r=(r|0)<0?0:r;f=(f|0)<(r|0)?f:r;r=0;break}else{r=n+o-q|0;r=(r|0)<0?0:r;f=(f|0)<(r|0)?f:r;r=0;break}}else{t=E;r=F&8}while(0);v=f|r;q=(t|32|0)==102;if(q){n=(o|0)>0?o:0;u=0}else{n=(o|0)<0?u:o;n=Vm(n,((n|0)<0)<<31>>31,O+576+12|0)|0;if((N-n|0)<2)do{n=n+-1|0;a[n>>0]=48}while((N-n|0)<2);a[n+-1>>0]=(o>>31&2)+43;u=n+-2|0;a[u>>0]=t;n=N-u|0}x=B+1+f+((v|0)!=0&1)+n|0;Gl(e,32,H,x,F);if(!(c[e>>2]&32))Ek(D,B,e);Gl(e,48,H,x,F^65536);do if(q){q=z>>>0>A>>>0?A:z;o=q;do{n=Vm(c[o>>2]|0,0,L)|0;do if((o|0)==(q|0)){if((n|0)!=(L|0))break;a[O+588+8>>0]=48;n=O+588+8|0}else{if(n>>>0<=(O+588|0)>>>0)break;Qn(O+588|0,48,n-M|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}while(0);if(!(c[e>>2]&32))Ek(n,L-n|0,e);o=o+4|0}while(o>>>0<=A>>>0);do if(v|0){if(c[e>>2]&32|0)break;Ek(21819,1,e)}while(0);if((f|0)>0&o>>>0>>0)while(1){n=Vm(c[o>>2]|0,0,L)|0;if(n>>>0>(O+588|0)>>>0){Qn(O+588|0,48,n-M|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}if(!(c[e>>2]&32))Ek(n,(f|0)>9?9:f,e);o=o+4|0;n=f+-9|0;if(!((f|0)>9&o>>>0>>0)){f=n;break}else f=n}Gl(e,48,f+9|0,9,0)}else{t=w?y:z+4|0;if((f|0)>-1){r=(r|0)==0;q=z;do{n=Vm(c[q>>2]|0,0,L)|0;if((n|0)==(L|0)){a[O+588+8>>0]=48;n=O+588+8|0}do if((q|0)==(z|0)){o=n+1|0;if(!(c[e>>2]&32))Ek(n,1,e);if(r&(f|0)<1){n=o;break}if(c[e>>2]&32|0){n=o;break}Ek(21819,1,e);n=o}else{if(n>>>0<=(O+588|0)>>>0)break;Qn(O+588|0,48,n+(0-M)|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}while(0);o=L-n|0;if(!(c[e>>2]&32))Ek(n,(f|0)>(o|0)?o:f,e);f=f-o|0;q=q+4|0}while(q>>>0>>0&(f|0)>-1)}Gl(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Ek(u,N-u|0,e)}while(0);Gl(e,32,H,x,F^8192);f=(x|0)<(H|0)?H:x}else{q=p!=p|0.0!=0.0;n=q?0:B;Gl(e,32,H,n+3|0,o);f=c[e>>2]|0;if(!(f&32)){Ek(D,n,e);f=c[e>>2]|0}if(!(f&32))Ek(q?(E&32|0?21811:21815):E&32|0?21803:21807,3,e);Gl(e,32,H,n+3|0,F^8192);f=(n+3|0)<(H|0)?H:n+3|0}while(0);n=f;r=I;w=G;continue a}default:{f=w;o=F;u=r;w=0;v=19875;n=K}}while(0);g:do if((J|0)==66){n=c[O>>2]|0;o=c[O+4>>2]|0;q=u&32;if(!((n|0)==0&(o|0)==0)){f=K;do{f=f+-1|0;a[f>>0]=d[19859+(n&15)>>0]|q;n=us(n|0,o|0,4)|0;o=C}while(!((n|0)==0&(o|0)==0));if((t&8|0)==0|(c[O>>2]|0)==0&(c[O+4>>2]|0)==0){n=t;t=0;q=19875;J=79}else{n=t;t=2;q=19875+(u>>4)|0;J=79}}else{f=K;n=t;t=0;q=19875;J=79}}else if((J|0)==78){f=Vm(f,n,K)|0;n=F;t=o;J=79}else if((J|0)==92){J=0;F=lj(n,0,r)|0;f=n;u=(F|0)==0?r:F-n|0;w=0;v=19875;n=(F|0)==0?n+r|0:F}else if((J|0)==96){J=0;o=0;n=0;t=f;while(1){q=c[t>>2]|0;if(!q)break;n=wl(O+528|0,q)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)t=t+4|0;else break}if((n|0)<0){m=-1;break a}Gl(e,32,H,o,F);if(!o){f=0;J=107}else{q=0;while(1){n=c[f>>2]|0;if(!n){f=o;J=107;break g}n=wl(O+528|0,n)|0;q=n+q|0;if((q|0)>(o|0)){f=o;J=107;break g}if(!(c[e>>2]&32))Ek(O+528|0,n,e);if(q>>>0>=o>>>0){f=o;J=107;break}else f=f+4|0}}}while(0);if((J|0)==107){J=0;Gl(e,32,H,f,F^8192);n=(H|0)>(f|0)?H:f;r=I;w=G;continue}if((J|0)==79){J=0;o=(r|0)>-1?n&-65537:n;n=(c[O>>2]|0)!=0|(c[O+4>>2]|0)!=0;if((r|0)!=0|n){u=(n&1^1)+(K-f)|0;u=(r|0)>(u|0)?r:u;w=t;v=q;n=K}else{f=K;u=0;w=t;v=q;n=K}}t=n-f|0;q=(u|0)<(t|0)?t:u;r=w+q|0;n=(H|0)<(r|0)?r:H;Gl(e,32,n,r,o);if(!(c[e>>2]&32))Ek(v,w,e);Gl(e,48,n,r,o^65536);Gl(e,48,q,t,0);if(!(c[e>>2]&32))Ek(f,t,e);Gl(e,32,n,r,o^8192);r=I;w=G}h:do if((J|0)==254)if(!e)if(!r)m=0;else{m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f){f=0;break}Ug(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}while(1){m=m+1|0;if(f|0){m=-1;break h}if((m|0)>=10){m=1;break h}f=c[l+(m<<2)>>2]|0}}while(0);i=O;return m|0}function Cc(b,d,e,f,h,j,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;Y=i;i=i+304|0;c[b+188>>2]=-1;li(12870);c[b+184>>2]=0;if((e|0)>0){n=0;do{c[(c[d+(n<<2)>>2]|0)+212>>2]=-1;n=n+1|0}while((n|0)!=(e|0))}o=c[b+12>>2]|0;if((o|0)>(e|0))p=b+8|0;else{if((e+1|0)!=0?(c[6435]=(c[6435]|0)+1,p=yc(((e+1|0)*244|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}else p=0;n=c[b+8>>2]|0;if((n|0)>0){o=0;do{V=p+(o*244|0)|0;W=c[b+16>>2]|0;U=W+(o*244|0)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+16|0;U=W+(o*244|0)+16|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+32|0;U=W+(o*244|0)+32|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+48|0;U=W+(o*244|0)+48|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];_m(p+(o*244|0)+64|0,W+(o*244|0)+64|0,180)|0;o=o+1|0}while((o|0)!=(n|0))}n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=p;c[b+12>>2]=e+1;p=b+8|0;o=e+1|0}Qn(Y|0,0,244)|0;n=c[p>>2]|0;if((n|0)<0){if((o|0)<0){o=c[b+16>>2]|0;if(o|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{W=c[b+16>>2]|0;V=W+(n*244|0)|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[Y+4>>2];c[V+8>>2]=c[Y+8>>2];c[V+12>>2]=c[Y+12>>2];V=W+(n*244|0)+16|0;c[V>>2]=c[Y+16>>2];c[V+4>>2]=c[Y+16+4>>2];c[V+8>>2]=c[Y+16+8>>2];c[V+12>>2]=c[Y+16+12>>2];V=W+(n*244|0)+32|0;c[V>>2]=c[Y+32>>2];c[V+4>>2]=c[Y+32+4>>2];c[V+8>>2]=c[Y+32+8>>2];c[V+12>>2]=c[Y+32+12>>2];V=W+(n*244|0)+48|0;c[V>>2]=c[Y+48>>2];c[V+4>>2]=c[Y+48+4>>2];c[V+8>>2]=c[Y+48+8>>2];c[V+12>>2]=c[Y+48+12>>2];_m(W+(n*244|0)+64|0,Y+64|0,180)|0;n=n+1|0}while((n|0)!=0)}c[p>>2]=0;if((e|0)>0){p=0;do{o=d+(p<<2)|0;n=bk(b,c[o>>2]|0,+g[m+12>>2])|0;o=c[o>>2]|0;if((!((o|0)==0?1:(c[o+236>>2]&2|0)==0)?+g[o+344>>2]!=0.0:0)?(q=c[b+16>>2]|0,c[o+504>>2]&2|0):0){t=+g[m+76>>2];_=1.0/+g[o+396>>2];u=1.0/+g[o+400>>2];r=1.0/+g[o+404>>2];ea=+g[o+4>>2];da=+g[o+8>>2];ca=+g[o+12>>2];ba=+g[o+20>>2];aa=+g[o+24>>2];$=+g[o+28>>2];Z=+g[o+36>>2];B=+g[o+40>>2];w=+g[o+44>>2];x=+g[o+328>>2];y=+g[o+332>>2];v=+g[o+336>>2];z=(_*ea*ea+u*da*da+r*ca*ca)*x+(_*ea*ba+u*da*aa+r*ca*$)*y+(_*ea*Z+u*da*B+r*ca*w)*v;A=(_*ba*ea+u*aa*da+r*$*ca)*x+(_*ba*ba+u*aa*aa+r*$*$)*y+(_*ba*Z+u*aa*B+r*$*w)*v;w=(_*Z*ea+u*B*da+r*w*ca)*x+(_*Z*ba+u*B*aa+r*w*$)*y+(_*Z*Z+u*B*B+r*w*w)*v;r=(y*w-v*A)*(y*w-v*A)+(v*z-x*w)*(v*z-x*w)+(x*A-y*z)*(x*A-y*z);if(r>t*t){r=1.0/+O(+r)*t;u=(y*w-v*A)*r;t=r*(v*z-x*w);r=r*(x*A-y*z)}else{u=y*w-v*A;t=v*z-x*w;r=x*A-y*z}ca=+g[m+12>>2];da=(u*+g[o+268>>2]+t*+g[o+284>>2]+r*+g[o+300>>2])*ca;ea=ca*(u*+g[o+272>>2]+t*+g[o+288>>2]+r*+g[o+304>>2]);g[q+(n*244|0)+224>>2]=+g[q+(n*244|0)+224>>2]-(u*+g[o+264>>2]+t*+g[o+280>>2]+r*+g[o+296>>2])*ca;g[q+(n*244|0)+228>>2]=+g[q+(n*244|0)+228>>2]-da;g[q+(n*244|0)+232>>2]=+g[q+(n*244|0)+232>>2]-ea}p=p+1|0}while((p|0)!=(e|0))}if((l|0)>0){n=0;do{W=c[j+(n<<2)>>2]|0;Ab[c[(c[W>>2]|0)+8>>2]&255](W);g[W+36>>2]=0.0;n=n+1|0}while((n|0)<(l|0))}o=c[b+168>>2]|0;if((o|0)<(l|0)?(c[b+172>>2]|0)<(l|0):0){if(!l)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((l<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+168>>2]|0}if((o|0)>0){p=0;do{U=(c[b+176>>2]|0)+(p<<3)|0;V=c[U+4>>2]|0;W=n+(p<<3)|0;c[W>>2]=c[U>>2];c[W+4>>2]=V;p=p+1|0}while((p|0)!=(o|0))}o=c[b+176>>2]|0;if(o|0){if(a[b+180>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=n;c[b+172>>2]=l}c[b+168>>2]=l;if((l|0)>0){s=0;n=0;do{d=c[b+176>>2]|0;e=d+(s<<3)|0;q=j+(s<<2)|0;o=c[q>>2]|0;p=c[o+44>>2]|0;if(p){o=p+64|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(o|0));o=c[q>>2]|0}if(!(a[o+20>>0]|0)){c[e>>2]=0;c[d+(s<<3)+4>>2]=0;o=0}else{Cb[c[(c[o>>2]|0)+16>>2]&127](o,e);o=c[e>>2]|0}n=o+n|0;s=s+1|0}while((s|0)<(l|0))}else n=0;p=c[b+48>>2]|0;if((p|0)<(n|0)?(c[b+52>>2]|0)<(n|0):0){if(!n)o=0;else{c[6435]=(c[6435]|0)+1;o=yc((n*152|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[b+48>>2]|0}if((p|0)>0){q=0;do{_m(o+(q*152|0)|0,(c[b+56>>2]|0)+(q*152|0)|0,152)|0;q=q+1|0}while((q|0)!=(p|0))}p=c[b+56>>2]|0;if(p|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=o;c[b+52>>2]=n}c[b+48>>2]=n;if((l|0)>0){n=c[b+176>>2]|0;V=0;W=0;while(1){U=n+(W<<3)|0;if(!(c[U>>2]|0))o=0;else{n=c[b+56>>2]|0;K=n+(V*152|0)|0;L=j+(W<<2)|0;M=c[L>>2]|0;P=c[M+28>>2]|0;Q=c[M+32>>2]|0;R=bk(b,P,+g[m+12>>2])|0;S=bk(b,Q,+g[m+12>>2])|0;T=c[b+16>>2]|0;o=c[M+24>>2]|0;o=(o|0)>0?o:c[m+20>>2]|0;if((o|0)>(c[b+184>>2]|0))c[b+184>>2]=o;if((c[U>>2]|0)>0){p=0;do{Qn(K+(p*152|0)|0,0,152)|0;g[K+(p*152|0)+120>>2]=-3402823466385288598117041.0e14;g[K+(p*152|0)+124>>2]=3402823466385288598117041.0e14;g[K+(p*152|0)+100>>2]=0.0;g[K+(p*152|0)+96>>2]=0.0;c[K+(p*152|0)+144>>2]=R;c[K+(p*152|0)+148>>2]=S;c[K+(p*152|0)+136>>2]=o;p=p+1|0}while((p|0)<(c[U>>2]|0))}c[T+(R*244|0)+64>>2]=0;c[T+(R*244|0)+64+4>>2]=0;c[T+(R*244|0)+64+8>>2]=0;c[T+(R*244|0)+64+12>>2]=0;c[T+(R*244|0)+64+16>>2]=0;c[T+(R*244|0)+64+20>>2]=0;c[T+(R*244|0)+64+24>>2]=0;c[T+(R*244|0)+64+28>>2]=0;c[T+(R*244|0)+144>>2]=0;c[T+(R*244|0)+144+4>>2]=0;c[T+(R*244|0)+144+8>>2]=0;c[T+(R*244|0)+144+12>>2]=0;c[T+(R*244|0)+144+16>>2]=0;c[T+(R*244|0)+144+20>>2]=0;c[T+(R*244|0)+144+24>>2]=0;c[T+(R*244|0)+144+28>>2]=0;c[T+(S*244|0)+64>>2]=0;c[T+(S*244|0)+64+4>>2]=0;c[T+(S*244|0)+64+8>>2]=0;c[T+(S*244|0)+64+12>>2]=0;c[T+(S*244|0)+64+16>>2]=0;c[T+(S*244|0)+64+20>>2]=0;c[T+(S*244|0)+64+24>>2]=0;c[T+(S*244|0)+64+28>>2]=0;c[T+(S*244|0)+144>>2]=0;c[T+(S*244|0)+144+4>>2]=0;c[T+(S*244|0)+144+8>>2]=0;c[T+(S*244|0)+144+12>>2]=0;c[T+(S*244|0)+144+16>>2]=0;c[T+(S*244|0)+144+20>>2]=0;c[T+(S*244|0)+144+24>>2]=0;c[T+(S*244|0)+144+28>>2]=0;g[Y+248>>2]=1.0/+g[m+12>>2];c[Y+248+4>>2]=c[m+32>>2];c[Y+248+8>>2]=n+(V*152|0)+16;c[Y+248+12>>2]=K;c[Y+248+16>>2]=n+(V*152|0)+48;c[Y+248+20>>2]=n+(V*152|0)+32;c[Y+248+24>>2]=38;c[Y+248+28>>2]=n+(V*152|0)+112;J=n+(V*152|0)+116|0;c[J>>2]=c[m+40>>2];c[Y+248+52>>2]=c[m+4>>2];c[Y+248+32>>2]=J;c[Y+248+36>>2]=n+(V*152|0)+120;c[Y+248+40>>2]=n+(V*152|0)+124;c[Y+248+48>>2]=c[m+20>>2];J=c[L>>2]|0;Cb[c[(c[J>>2]|0)+20>>2]&127](J,Y+248|0);if((c[U>>2]|0)>0){J=0;do{n=K+(J*152|0)+124|0;r=+g[(c[L>>2]|0)+16>>2];if(+g[n>>2]>=r)g[n>>2]=r;n=K+(J*152|0)+120|0;if(+g[n>>2]<=-r)g[n>>2]=-r;c[K+(J*152|0)+132>>2]=M;I=K+(J*152|0)|0;n=K+(J*152|0)+64|0;o=c[M+28>>2]|0;da=+g[I>>2];ba=+g[I+4>>2];B=+g[I+8>>2];ca=(da*+g[o+280>>2]+ba*+g[o+284>>2]+B*+g[o+288>>2])*+g[o+548>>2];r=(da*+g[o+296>>2]+ba*+g[o+300>>2]+B*+g[o+304>>2])*+g[o+552>>2];g[n>>2]=(+g[o+264>>2]*da+ +g[o+268>>2]*ba+ +g[o+272>>2]*B)*+g[o+544>>2];g[n+4>>2]=ca;g[n+8>>2]=r;g[n+12>>2]=0.0;n=K+(J*152|0)+32|0;o=K+(J*152|0)+80|0;H=c[M+32>>2]|0;r=+g[n>>2];ca=+g[n+4>>2];B=+g[n+8>>2];ba=(r*+g[H+280>>2]+ca*+g[H+284>>2]+B*+g[H+288>>2])*+g[H+548>>2];da=(r*+g[H+296>>2]+ca*+g[H+300>>2]+B*+g[H+304>>2])*+g[H+552>>2];g[o>>2]=(+g[H+264>>2]*r+ +g[H+268>>2]*ca+ +g[H+272>>2]*B)*+g[H+544>>2];g[o+4>>2]=ba;g[o+8>>2]=da;g[o+12>>2]=0.0;o=K+(J*152|0)+16|0;da=+g[P+344>>2];ba=+g[o>>2];ca=+g[o+4>>2];r=+g[o+8>>2];t=+g[I>>2];u=+g[I+4>>2];v=+g[I+8>>2];I=K+(J*152|0)+48|0;ea=+g[Q+344>>2];w=+g[I>>2];x=+g[I+4>>2];y=+g[I+8>>2];z=+g[n>>2];A=+g[n+4>>2];B=ba*da*ba+ca*da*ca+r*da*r+(t*(+g[P+264>>2]*t+ +g[P+268>>2]*u+ +g[P+272>>2]*v)+u*(t*+g[P+280>>2]+u*+g[P+284>>2]+v*+g[P+288>>2])+v*(t*+g[P+296>>2]+u*+g[P+300>>2]+v*+g[P+304>>2]))+(w*ea*w+x*ea*x+y*ea*y)+(z*(+g[Q+264>>2]*z+ +g[Q+268>>2]*A+ +g[Q+272>>2]*B)+A*(z*+g[Q+280>>2]+A*+g[Q+284>>2]+B*+g[Q+288>>2])+B*(z*+g[Q+296>>2]+A*+g[Q+300>>2]+B*+g[Q+304>>2]));I=+N(+B)>1.1920928955078125e-07;B=I?1.0/B:0.0;g[K+(J*152|0)+108>>2]=B;if(!(c[T+(R*244|0)+240>>2]|0)){p=0;q=0;d=0;D=0;E=0;F=0}else{p=c[T+(R*244|0)+208>>2]|0;q=c[T+(R*244|0)+212>>2]|0;d=c[T+(R*244|0)+216>>2]|0;D=c[T+(R*244|0)+224>>2]|0;E=c[T+(R*244|0)+228>>2]|0;F=c[T+(R*244|0)+232>>2]|0}if(!(c[T+(S*244|0)+240>>2]|0)){e=0;s=0;C=0;G=0;H=0;I=0}else{e=c[T+(S*244|0)+208>>2]|0;s=c[T+(S*244|0)+212>>2]|0;C=c[T+(S*244|0)+216>>2]|0;G=c[T+(S*244|0)+224>>2]|0;H=c[T+(S*244|0)+228>>2]|0;I=c[T+(S*244|0)+232>>2]|0}da=(c[k>>2]=p,+g[k>>2])+ +g[P+312>>2];ca=(c[k>>2]=q,+g[k>>2])+ +g[P+316>>2];ca=da*+g[o>>2]+ca*+g[o+4>>2]+((c[k>>2]=d,+g[k>>2])+ +g[P+320>>2])*r;da=(c[k>>2]=D,+g[k>>2])+ +g[P+328>>2];ba=(c[k>>2]=E,+g[k>>2])+ +g[P+332>>2];ba=ca+(da*t+ba*u+((c[k>>2]=F,+g[k>>2])+ +g[P+336>>2])*v);da=(c[k>>2]=e,+g[k>>2])+ +g[Q+312>>2];ca=(c[k>>2]=s,+g[k>>2])+ +g[Q+316>>2];ca=da*w+ca*x+((c[k>>2]=C,+g[k>>2])+ +g[Q+320>>2])*y;da=(c[k>>2]=G,+g[k>>2])+ +g[Q+328>>2];ea=(c[k>>2]=H,+g[k>>2])+ +g[Q+332>>2];H=K+(J*152|0)+112|0;g[H>>2]=+g[H>>2]*B+B*(0.0-+g[Y+248+52>>2]*(ba+(ca+(da*z+ea*A+((c[k>>2]=I,+g[k>>2])+ +g[Q+336>>2])*+g[n+8>>2]))));g[K+(J*152|0)+100>>2]=0.0;J=J+1|0}while((J|0)<(c[U>>2]|0))}o=c[b+176>>2]|0;n=o;o=c[o+(W<<3)>>2]|0}W=W+1|0;if((W|0)>=(l|0))break;else V=o+V|0}}mc[c[(c[b>>2]|0)+28>>2]&127](b,f,h,m);d=c[b+48>>2]|0;e=c[b+28>>2]|0;s=c[b+68>>2]|0;o=c[b+128>>2]|0;if((o|0)<(d|0)?(c[b+132>>2]|0)<(d|0):0){if(!d)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((d<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+128>>2]|0}q=c[b+136>>2]|0;if((o|0)<=0)if(!q)o=b+140|0;else X=99;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=99}if((X|0)==99){if(a[b+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+136>>2]=0;o=b+140|0}a[o>>0]=1;c[b+136>>2]=n;c[b+132>>2]=d}c[b+128>>2]=d;if(!(c[m+64>>2]&16)){o=c[b+108>>2]|0;if((o|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((e<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+108>>2]|0}q=c[b+116>>2]|0;if((o|0)<=0)if(!q)o=b+120|0;else X=129;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=129}if((X|0)==129){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+116>>2]=0;o=b+120|0}a[o>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e}c[b+108>>2]=e}else{o=c[b+108>>2]|0;if((o|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((e<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+108>>2]|0}q=c[b+116>>2]|0;if((o|0)<=0)if(!q)o=b+120|0;else X=114;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=114}if((X|0)==114){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+116>>2]=0;o=b+120|0}a[o>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}o=c[b+148>>2]|0;if((o|0)<(s|0)?(c[b+152>>2]|0)<(s|0):0){if(!s)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((s<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+148>>2]|0}q=c[b+156>>2]|0;if((o|0)<=0)if(!q)o=b+160|0;else X=144;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=144}if((X|0)==144){if(a[b+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+156>>2]=0;o=b+160|0}a[o>>0]=1;c[b+156>>2]=n;c[b+152>>2]=s}c[b+148>>2]=s;if((d|0)>0){n=c[b+136>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(d|0))}if((e|0)>0){n=c[b+116>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(e|0))}if((s|0)>0){n=c[b+156>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(s|0))}n=c[2357]|0;b=(c[n+16>>2]|0)+-1|0;c[n+16>>2]=b;if(b|0){i=Y;return 0.0}do if(c[n+4>>2]|0){tb(Y+248|0,0)|0;b=c[6434]|0;g[n+8>>2]=+g[n+8>>2]+ +(((c[Y+248+4>>2]|0)-(c[b+4>>2]|0)+(((c[Y+248>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[n+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[n+16>>2]|0)){n=c[2357]|0;break}else{i=Y;return 0.0}}while(0);c[2357]=c[n+20>>2];i=Y;return 0.0}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+240|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;i=J;return}c[J+24+32>>2]=0;c[J+24+36>>2]=0;c[J+24+40>>2]=0;c[J+24+44>>2]=256;c[J+24+48>>2]=0;c[J+24+52>>2]=0;c[J+24+56>>2]=0;c[J+24+60>>2]=256;c[J+24+64>>2]=0;c[J+24+68>>2]=0;c[J+24+72>>2]=0;c[J+24+76>>2]=256;a[J+24+96>>0]=1;F=J+24+92|0;c[F>>2]=0;c[J+24+84>>2]=0;c[J+24+88>>2]=0;m=0;n=-246811958;v=-246811958;s=-246811958;r=1900671690;z=1900671690;u=1900671690;o=d;while(1){E=+g[o>>2];j=+g[o+4>>2];p=+g[o+8>>2];G=E<(c[k>>2]=r,+g[k>>2]);f=(g[k>>2]=E,c[k>>2]|0);r=G?f:r;G=j<(c[k>>2]=u,+g[k>>2]);h=(g[k>>2]=j,c[k>>2]|0);u=G?h:u;G=p<(c[k>>2]=z,+g[k>>2]);l=(g[k>>2]=p,c[k>>2]|0);z=G?l:z;n=(c[k>>2]=n,+g[k>>2])>2]=s,+g[k>>2])>2]=v,+g[k>>2])>2]=n,+g[k>>2]);A=(c[k>>2]=r,+g[k>>2]);y=(c[k>>2]=s,+g[k>>2]);x=(c[k>>2]=u,+g[k>>2]);w=(c[k>>2]=v,+g[k>>2]);t=(c[k>>2]=z,+g[k>>2]);h=B-A>2]=h;f=B-A>>0)%3|0;c[J+24+104>>2]=f;G=(h^3)-f|0;c[J+24+108>>2]=G;if(((G+1|0)%3|0|0)==(h|0)){j=(B-A)*9.788566967472434e-05;p=(y-x)*9.788566967472434e-05;q=(w-t)*9.788566967472434e-05}else{j=-((B-A)*9.788566967472434e-05);p=-((y-x)*9.788566967472434e-05);q=-((w-t)*9.788566967472434e-05)}g[J+24>>2]=j;g[J+24+4>>2]=p;g[J+24+8>>2]=q;g[J+24+12>>2]=0.0;E=j!=0.0?1.0/j:j;D=p!=0.0?1.0/p:p;C=q!=0.0?1.0/q:q;g[J+24+16>>2]=(B+A)*.5;g[J+24+20>>2]=(y+x)*.5;g[J+24+24>>2]=(w+t)*.5;g[J+24+28>>2]=0.0;r=J+216+16|0;a[r>>0]=1;s=J+216+12|0;c[s>>2]=0;c[J+216+4>>2]=0;c[J+216+8>>2]=0;c[6435]=(c[6435]|0)+1;f=yc((e<<4|3)+16|0)|0;if(!f)m=0;else{c[(f+4+15&-16)+-4>>2]=f;m=f+4+15&-16}h=c[J+216+4>>2]|0;l=c[s>>2]|0;if((h|0)<=0){if(l|0)I=26}else{f=0;do{I=m+(f<<4)|0;G=l+(f<<4)|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];f=f+1|0}while((f|0)!=(h|0));I=26}if((I|0)==26){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=m;c[J+216+8>>2]=e;c[m>>2]=c[J+200>>2];c[m+4>>2]=c[J+200+4>>2];c[m+8>>2]=c[J+200+8>>2];c[m+12>>2]=c[J+200+12>>2];if((e|0)!=1){f=1;do{G=(c[s>>2]|0)+(f<<4)|0;c[G>>2]=c[J+200>>2];c[G+4>>2]=c[J+200+4>>2];c[G+8>>2]=c[J+200+8>>2];c[G+12>>2]=c[J+200+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[J+216+4>>2]=e;h=J+184+(c[J+24+108>>2]<<2)|0;l=c[s>>2]|0;m=J+184+(c[J+24+112>>2]<<2)|0;n=J+184+(c[J+24+104>>2]<<2)|0;j=+g[J+24+16>>2];p=+g[J+24+20>>2];q=+g[J+24+24>>2];o=0;f=d;while(1){d=c[f>>2]|0;c[J+184>>2]=d;G=c[f+4>>2]|0;c[J+184+4>>2]=G;y=(c[k>>2]=d,+g[k>>2])-j;A=D*((c[k>>2]=G,+g[k>>2])-p);B=C*(+g[f+8>>2]-q);g[J+184>>2]=E*y;g[J+184+4>>2]=A;g[J+184+8>>2]=B;g[J+184+12>>2]=0.0;c[l+(o<<4)>>2]=~~+g[h>>2];c[l+(o<<4)+4>>2]=~~+g[m>>2];c[l+(o<<4)+8>>2]=~~+g[n>>2];c[l+(o<<4)+12>>2]=o;o=o+1|0;if((o|0)==(e|0))break;else f=f+16|0}if((e|0)>1)ch(J+216|0,0,e+-1|0);c[J+24+36>>2]=c[J+24+32>>2];c[J+24+40>>2]=0;c[J+24+44>>2]=e;f=c[J+24+84>>2]|0;if((f|0)<(e|0)){if((c[J+24+88>>2]|0)<(e|0)){if(!e){h=0;l=f}else{c[6435]=(c[6435]|0)+1;h=yc((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[J+24+84>>2]|0}if((l|0)>0){m=0;do{c[h+(m<<2)>>2]=c[(c[F>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[F>>2]|0;if(l|0){if(a[J+24+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[F>>2]=0}a[J+24+96>>0]=1;c[F>>2]=h;c[J+24+88>>2]=e}do{c[(c[F>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[J+24+84>>2]=e;n=0;do{f=c[J+24+40>>2]|0;if(!f){f=c[J+24+36>>2]|0;if(!f){c[6435]=(c[6435]|0)+1;f=yc(31)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[J+24+44>>2]|0;c[f+4>>2]=h;l=f+8|0;c[l>>2]=0;c[6435]=(c[6435]|0)+1;h=yc((h*112|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[f>>2]=h;c[l>>2]=c[J+24+32>>2];c[J+24+32>>2]=f}else c[J+24+36>>2]=c[f+8>>2];m=c[f+4>>2]|0;f=c[f>>2]|0;if((m|0)>0){h=0;l=f;do{h=h+1|0;G=l;l=l+112|0;c[G>>2]=(h|0)<(m|0)?l:0}while((h|0)!=(m|0))}}c[J+24+40>>2]=c[f>>2];G=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[G>>2]=-1;c[f+8>>2]=0;d=f+88|0;z=(c[s>>2]|0)+(n<<4)|0;c[d>>2]=c[z>>2];c[d+4>>2]=c[z+4>>2];c[d+8>>2]=c[z+8>>2];c[d+12>>2]=c[z+12>>2];c[G>>2]=-1;c[(c[F>>2]|0)+(n<<2)>>2]=f;n=n+1|0}while((n|0)<(e|0));f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=0;c[J+216+4>>2]=0;c[J+216+8>>2]=0;c[J+24+52>>2]=c[J+24+48>>2];c[J+24+56>>2]=0;c[J+24+60>>2]=e*6;c[J+24+116>>2]=0;c[J+24+120>>2]=0;c[J+24+100>>2]=-3;c[J+184>>2]=0;c[J+184+4>>2]=0;c[J+184+8>>2]=0;c[J+184+12>>2]=0;vc(J+24|0,0,e,J+184|0);c[J+24+124>>2]=c[J+184>>2];f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{G=(c[b+12>>2]|0)+(f<<4)|0;c[G>>2]=c[J+168>>2];c[G+4>>2]=c[J+168+4>>2];c[G+8>>2]=c[J+168+8>>2];c[G+12>>2]=c[J+168+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[J+152>>2]=0;c[J+152+4>>2]=0;c[J+152+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{G=(c[b+32>>2]|0)+(f*12|0)|0;c[G>>2]=c[J+152>>2];c[G+4>>2]=c[J+152+4>>2];c[G+8>>2]=c[J+152+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;do if((c[b+48>>2]|0)<0){if(!f){a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0;break}if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}while(0);Qn(f+(h<<2)|0,0,_(h,-4)|0)|0}c[b+44>>2]=0;f=c[J+24+124>>2]|0;if((c[f+104>>2]|0)<0){c[f+104>>2]=0;c[6435]=(c[6435]|0)+1;r=yc(23)|0;c[(r+4+15&-16)+-4>>2]=r;c[(r+4+15&-16)>>2]=f;G=0;m=1;l=1;r=r+4+15&-16;while(1){if((c[f+100>>2]|0)>-1){g[J+216+(c[J+24+108>>2]<<2)>>2]=+(c[f+88>>2]|0);g[J+216+(c[J+24+112>>2]<<2)>>2]=+(c[f+92>>2]|0);j=+(c[f+96>>2]|0)}else{e=f+24|0;d=f+32|0;j=+ln(c[e>>2]|0,c[e+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=f+72|0;e=f+80|0;F=c[e>>2]|0;e=c[e+4>>2]|0;j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e);g[J+216+(c[J+24+108>>2]<<2)>>2]=j;z=f+40|0;v=f+48|0;j=+ln(c[z>>2]|0,c[z+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0);j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e);g[J+216+(c[J+24+112>>2]<<2)>>2]=j;v=f+56|0;z=f+64|0;j=+ln(c[v>>2]|0,c[v+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0);j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e)}g[J+216+(c[J+24+104>>2]<<2)>>2]=j;j=+g[J+216>>2]*+g[J+24>>2]+ +g[J+24+16>>2];p=+g[J+216+4>>2]*+g[J+24+4>>2]+ +g[J+24+20>>2];q=+g[J+216+8>>2]*+g[J+24+8>>2]+ +g[J+24+24>>2];h=c[b+4>>2]|0;if((h|0)==(c[b+8>>2]|0)?(H=h|0?h<<1:1,(h|0)<(H|0)):0){if(!H)o=0;else{c[6435]=(c[6435]|0)+1;h=yc((H<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[b+4>>2]|0}if((h|0)>0){n=0;do{e=o+(n<<4)|0;F=(c[b+12>>2]|0)+(n<<4)|0;c[e>>2]=c[F>>2];c[e+4>>2]=c[F+4>>2];c[e+8>>2]=c[F+8>>2];c[e+12>>2]=c[F+12>>2];n=n+1|0}while((n|0)!=(h|0))}h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=o;c[b+8>>2]=H;h=c[b+4>>2]|0}F=c[b+12>>2]|0;g[F+(h<<4)>>2]=j;g[F+(h<<4)+4>>2]=p;g[F+(h<<4)+8>>2]=q;g[F+(h<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[f+8>>2]|0;if(!F)n=r;else{e=F;f=-1;z=r;d=-1;while(1){v=e+20|0;h=c[v>>2]|0;if((h|0)<0){u=c[b+24>>2]|0;c[J+12>>2]=0;c[J+12+4>>2]=0;c[J+12+8>>2]=0;do if((u|0)==(c[b+28>>2]|0)){r=u|0?u<<1:1;if((u|0)>=(r|0)){h=u;break}if(!r){h=0;n=u}else{c[6435]=(c[6435]|0)+1;h=yc((r*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=c[b+24>>2]|0}if((n|0)>0){o=0;do{s=h+(o*12|0)|0;K=(c[b+32>>2]|0)+(o*12|0)|0;c[s>>2]=c[K>>2];c[s+4>>2]=c[K+4>>2];c[s+8>>2]=c[K+8>>2];o=o+1|0}while((o|0)!=(n|0))}n=c[b+32>>2]|0;if(n|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=r;h=c[b+24>>2]|0}else h=u;while(0);h=(c[b+32>>2]|0)+(h*12|0)|0;c[h>>2]=c[J+12>>2];c[h+4>>2]=c[J+12+4>>2];c[h+8>>2]=c[J+12+8>>2];h=(c[b+24>>2]|0)+1|0;c[b+24>>2]=h;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;do if((h|0)==(c[b+28>>2]|0)){r=h|0?h<<1:1;if((h|0)>=(r|0))break;if(!r)o=0;else{c[6435]=(c[6435]|0)+1;h=yc((r*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[b+24>>2]|0}if((h|0)>0){n=0;do{K=o+(n*12|0)|0;s=(c[b+32>>2]|0)+(n*12|0)|0;c[K>>2]=c[s>>2];c[K+4>>2]=c[s+4>>2];c[K+8>>2]=c[s+8>>2];n=n+1|0}while((n|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=o;c[b+28>>2]=r;h=c[b+24>>2]|0}while(0);s=(c[b+32>>2]|0)+(h*12|0)|0;c[s>>2]=c[J>>2];c[s+4>>2]=c[J+4>>2];c[s+8>>2]=c[J+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;s=c[b+32>>2]|0;c[v>>2]=u;c[(c[e+8>>2]|0)+20>>2]=u+1;c[s+(u*12|0)+4>>2]=1;c[s+((u+1|0)*12|0)+4>>2]=-1;r=c[e+12>>2]|0;h=c[r+104>>2]|0;if((h|0)<0){c[r+104>>2]=l;do if((l|0)==(m|0)){o=m|0?m<<1:1;if((m|0)>=(o|0)){n=z;break}do if(!o)n=0;else{c[6435]=(c[6435]|0)+1;h=yc((o<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((m|0)<=0){if(!z){m=o;break}}else{h=0;do{c[n+(h<<2)>>2]=c[z+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[z+-4>>2]|0);m=o}else n=z;while(0);c[n+(l<<2)>>2]=r;h=l;l=l+1|0}else n=z;c[s+(u*12|0)+8>>2]=h;c[s+((u+1|0)*12|0)+8>>2]=G;h=c[v>>2]|0}else n=z;if((d|0)>-1)c[(c[b+32>>2]|0)+(h*12|0)>>2]=d-h;else f=h;e=c[e>>2]|0;if((e|0)==(F|0))break;else{z=n;d=h}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=h-f}h=G+1|0;if((h|0)>=(l|0))break;f=c[n+(h<<2)>>2]|0;G=h;r=n}if((G|0)>-1){v=0;while(1){s=c[(c[n+(v<<2)>>2]|0)+8>>2]|0;if(s|0){u=s;do{r=u+20|0;f=c[r>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){o=h|0?h<<1:1;if((h|0)>=(o|0))break;if(!o)f=0;else{c[6435]=(c[6435]|0)+1;f=yc((o<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}m=c[b+52>>2]|0;if((h|0)<=0){if(m)I=173}else{l=0;do{c[f+(l<<2)>>2]=c[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0));I=173}if((I|0)==173){I=0;if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=o;f=c[r>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=u;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(u|0))}u=c[u>>2]|0}while((u|0)!=(s|0))}if((v|0)==(G|0))break;else v=v+1|0}}if(n|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}}Zi(J+24|0);i=J;return}function Ec(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0;I=i;i=i+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;i=I;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;h=a[b+332>>0]|0;a[b+332>>0]=h&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;i=I;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];E=+g[b+248>>2]-+g[b+264>>2];F=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=E;g[b+284>>2]=F;g[b+288>>2]=0.0;c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;a[b+332>>0]=h&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;i=I;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+20>>2]-e;l=+g[b+24>>2]-f;m=+g[b+28>>2]-j;do if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m>0.0)if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m>0]=h&-16|3;h=h&-16|3;f=((0.0-e)*k+(0.0-f)*l+(0.0-j)*m)/(k*k+l*l+m*m);break}else{a[b+332>>0]=h&-16|2;h=h&-16|2;f=1.0;break}else{a[b+332>>0]=h&-16|1;h=h&-16|1;f=0.0}while(0);e=1.0-f;g[b+336>>2]=e;g[b+340>>2]=f;g[b+344>>2]=0.0;g[b+348>>2]=0.0;A=+g[b+84>>2];C=+g[b+88>>2];E=+g[b+92>>2];A=A+f*(+g[b+100>>2]-A);C=C+f*(+g[b+104>>2]-C);E=E+f*(+g[b+108>>2]-E);g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=+g[b+164>>2];D=+g[b+168>>2];F=+g[b+172>>2];B=B+f*(+g[b+180>>2]-B);D=D+f*(+g[b+184>>2]-D);F=F+f*(+g[b+188>>2]-F);g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){c[b>>2]=d;H=b+4+(d<<4)|0;c[b+4>>2]=c[H>>2];c[b+4+4>>2]=c[H+4>>2];c[b+4+8>>2]=c[H+8>>2];c[b+4+12>>2]=c[H+12>>2];H=b+84+(d<<4)|0;c[b+84>>2]=c[H>>2];c[b+84+4>>2]=c[H+4>>2];c[b+84+8>>2]=c[H+8>>2];c[b+84+12>>2]=c[H+12>>2];H=b+164+(d<<4)|0;c[b+164>>2]=c[H>>2];c[b+164+4>>2]=c[H+4>>2];c[b+164+8>>2]=c[H+8>>2];c[b+164+12>>2]=c[H+12>>2]}H=(!(e>=0.0)|!(f>=0.0))&1^1;a[b+312>>0]=H;b=H;b=b<<24>>24!=0;i=I;return b|0}case 3:{c[I+16>>2]=0;c[I+16+4>>2]=0;c[I+16+8>>2]=0;c[I+16+12>>2]=0;Ve(I+16|0,b+4|0,b+20|0,b+36|0,b+316|0);F=+g[b+336>>2];e=+g[b+340>>2];f=+g[b+344>>2];A=+g[b+84>>2]*F+ +g[b+100>>2]*e+ +g[b+116>>2]*f;C=F*+g[b+88>>2]+e*+g[b+104>>2]+f*+g[b+120>>2];E=F*+g[b+92>>2]+e*+g[b+108>>2]+f*+g[b+124>>2];g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=+g[b+164>>2]*F+ +g[b+180>>2]*e+ +g[b+196>>2]*f;D=F*+g[b+168>>2]+e*+g[b+184>>2]+f*+g[b+200>>2];F=F*+g[b+172>>2]+e*+g[b+188>>2]+f*+g[b+204>>2];g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;h=c[b>>2]|0;do if((h|0)>3){d=a[b+332>>0]|0;if(!(d&8)){c[b>>2]=h+-1;H=b+4+(h+-1<<4)|0;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];H=b+84+(h+-1<<4)|0;c[b+132>>2]=c[H>>2];c[b+132+4>>2]=c[H+4>>2];c[b+132+8>>2]=c[H+8>>2];c[b+132+12>>2]=c[H+12>>2];H=b+164+(h+-1<<4)|0;c[b+212>>2]=c[H>>2];c[b+212+4>>2]=c[H+4>>2];c[b+212+8>>2]=c[H+8>>2];c[b+212+12>>2]=c[H+12>>2];h=h+-1|0;H=21}else H=21}else{if((h|0)>2){d=a[b+332>>0]|0;h=3;H=21;break}if((h|0)>1){d=a[b+332>>0]|0;h=2;H=25;break}if((h|0)>0){o=a[b+332>>0]|0;n=1;H=29}}while(0);if((H|0)==21)if(!(d&4)){h=h+-1|0;c[b>>2]=h;c[b+36>>2]=c[b+4+(h<<4)>>2];c[b+36+4>>2]=c[b+4+(h<<4)+4>>2];c[b+36+8>>2]=c[b+4+(h<<4)+8>>2];c[b+36+12>>2]=c[b+4+(h<<4)+12>>2];c[b+116>>2]=c[b+84+(h<<4)>>2];c[b+116+4>>2]=c[b+84+(h<<4)+4>>2];c[b+116+8>>2]=c[b+84+(h<<4)+8>>2];c[b+116+12>>2]=c[b+84+(h<<4)+12>>2];c[b+196>>2]=c[b+164+(h<<4)>>2];c[b+196+4>>2]=c[b+164+(h<<4)+4>>2];c[b+196+8>>2]=c[b+164+(h<<4)+8>>2];c[b+196+12>>2]=c[b+164+(h<<4)+12>>2];H=25}else H=25;if((H|0)==25)if(!(d&2)){n=h+-1|0;c[b>>2]=n;c[b+20>>2]=c[b+4+(n<<4)>>2];c[b+20+4>>2]=c[b+4+(n<<4)+4>>2];c[b+20+8>>2]=c[b+4+(n<<4)+8>>2];c[b+20+12>>2]=c[b+4+(n<<4)+12>>2];c[b+100>>2]=c[b+84+(n<<4)>>2];c[b+100+4>>2]=c[b+84+(n<<4)+4>>2];c[b+100+8>>2]=c[b+84+(n<<4)+8>>2];c[b+100+12>>2]=c[b+84+(n<<4)+12>>2];c[b+180>>2]=c[b+164+(n<<4)>>2];c[b+180+4>>2]=c[b+164+(n<<4)+4>>2];c[b+180+8>>2]=c[b+164+(n<<4)+8>>2];c[b+180+12>>2]=c[b+164+(n<<4)+12>>2];o=d;H=29}else{o=d;n=h;H=29}if((H|0)==29?(o&1)==0:0){H=n+-1|0;c[b>>2]=H;c[b+4>>2]=c[b+4+(H<<4)>>2];c[b+4+4>>2]=c[b+4+(H<<4)+4>>2];c[b+4+8>>2]=c[b+4+(H<<4)+8>>2];c[b+4+12>>2]=c[b+4+(H<<4)+12>>2];c[b+84>>2]=c[b+84+(H<<4)>>2];c[b+84+4>>2]=c[b+84+(H<<4)+4>>2];c[b+84+8>>2]=c[b+84+(H<<4)+8>>2];c[b+84+12>>2]=c[b+84+(H<<4)+12>>2];c[b+164>>2]=c[b+164+(H<<4)>>2];c[b+164+4>>2]=c[b+164+(H<<4)+4>>2];c[b+164+8>>2]=c[b+164+(H<<4)+8>>2];c[b+164+12>>2]=c[b+164+(H<<4)+12>>2]}if((e>=0.0?!(+g[b+336>>2]>=0.0):1)|!(f>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;i=I;return b|0}case 4:{c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;q=I+16+16|0;a[q>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=h|15;K=+g[b+20>>2];T=+g[b+4>>2];Q=+g[b+24>>2];J=+g[b+8>>2];M=+g[b+28>>2];U=+g[b+12>>2];P=+g[b+36>>2];R=+g[b+40>>2];N=+g[b+44>>2];L=+g[b+52>>2];S=+g[b+56>>2];O=+g[b+60>>2];V=((Q-J)*(N-U)-(M-U)*(R-J))*(L-T)+((M-U)*(P-T)-(K-T)*(N-U))*(S-J)+((K-T)*(R-J)-(Q-J)*(P-T))*(O-U);h=V*V<9.99999905104687e-09?-1:((0.0-T)*((Q-J)*(N-U)-(M-U)*(R-J))+(0.0-J)*((M-U)*(P-T)-(K-T)*(N-U))+((K-T)*(R-J)-(Q-J)*(P-T))*(0.0-U))*V<0.0&1;V=(M-U)*((P-T)*(S-J)-(R-J)*(L-T))+((K-T)*((R-J)*(O-U)-(N-U)*(S-J))+(Q-J)*((N-U)*(L-T)-(P-T)*(O-U)));n=V*V<9.99999905104687e-09?-1:((0.0-U)*((P-T)*(S-J)-(R-J)*(L-T))+((0.0-T)*((R-J)*(O-U)-(N-U)*(S-J))+(0.0-J)*((N-U)*(L-T)-(P-T)*(O-U))))*V<0.0&1;V=(N-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((P-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(R-J)*((K-T)*(O-U)-(M-U)*(L-T)));o=V*V<9.99999905104687e-09?-1:((0.0-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((0.0-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(0.0-J)*((K-T)*(O-U)-(M-U)*(L-T))))*V<0.0&1;J=(U-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((T-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(J-Q)*((P-K)*(O-M)-(N-M)*(L-K)));p=J*J<9.99999905104687e-09?-1:((0.0-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((0.0-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(0.0-Q)*((P-K)*(O-M)-(N-M)*(L-K))))*J<0.0&1;do if((n|h|o|p|0)<0){a[b+352>>0]=1;d=b+312|0;H=70}else{if(!(n|h|o|p)){if(a[b+352>>0]|0){d=b+312|0;H=70;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((h|0)!=0?(Ve(I,b+4|0,b+20|0,b+36|0,I+16|0),e=+g[I+16>>2],f=+g[I+16+4>>2],j=+g[I+16+8>>2],k=e-+g[I>>2],l=f-+g[I+4>>2],m=j-+g[I+8>>2],k*k+l*l+m*m<3402823466385288598117041.0e14):0){W=c[I+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=j;c[b+328>>2]=W;W=a[q>>0]|0;a[b+332>>0]=W&1|a[b+332>>0]&-16|W&2|W&4;W=c[I+16+24>>2]|0;h=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=W;c[b+344>>2]=h;g[b+348>>2]=0.0;e=k*k+l*l+m*m}else e=3402823466385288598117041.0e14;if((n|0)!=0?(Ve(I,b+4|0,b+36|0,b+52|0,I+16|0),r=+g[I+16>>2],s=+g[I+16+4>>2],t=+g[I+16+8>>2],u=r-+g[I>>2],v=s-+g[I+4>>2],w=t-+g[I+8>>2],u*u+v*v+w*w>2]|0;g[b+316>>2]=r;g[b+320>>2]=s;g[b+324>>2]=t;c[b+328>>2]=n;n=a[q>>0]|0;a[b+332>>0]=n<<1&8|(n&1|a[b+332>>0]&-16|n<<1&4);n=c[I+16+24>>2]|0;W=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=n;c[b+348>>2]=W;e=u*u+v*v+w*w}if((o|0)!=0?(Ve(I,b+4|0,b+52|0,b+20|0,I+16|0),x=+g[I+16>>2],y=+g[I+16+4>>2],z=+g[I+16+8>>2],A=x-+g[I>>2],B=y-+g[I+4>>2],C=z-+g[I+8>>2],A*A+B*B+C*C>2]|0;g[b+316>>2]=x;g[b+320>>2]=y;g[b+324>>2]=z;c[b+328>>2]=o;o=a[q>>0]|0;a[b+332>>0]=o<<2&8|(o&1|a[b+332>>0]&-16|(o&255)>>>1&2);o=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=o;g[b+344>>2]=0.0;c[b+348>>2]=W;e=A*A+B*B+C*C}if(p|0?(Ve(I,b+20|0,b+52|0,b+36|0,I+16|0),D=+g[I+16>>2],E=+g[I+16+4>>2],F=+g[I+16+8>>2],T=D-+g[I>>2],U=E-+g[I+4>>2],V=F-+g[I+8>>2],T*T+U*U+V*V>2]|0;g[b+316>>2]=D;g[b+320>>2]=E;g[b+324>>2]=F;c[b+328>>2]=p;p=a[q>>0]|0;a[b+332>>0]=p&4|a[b+332>>0]&-16|p<<1&2|p<<2&8;p=c[I+16+20>>2]|0;q=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=p;c[b+344>>2]=q;c[b+348>>2]=W}O=+g[b+336>>2];P=+g[b+340>>2];V=+g[b+344>>2];e=+g[b+348>>2];Q=+g[b+84>>2]*O+ +g[b+100>>2]*P+ +g[b+116>>2]*V+ +g[b+132>>2]*e;S=O*+g[b+88>>2]+P*+g[b+104>>2]+V*+g[b+120>>2]+e*+g[b+136>>2];U=O*+g[b+92>>2]+P*+g[b+108>>2]+V*+g[b+124>>2]+e*+g[b+140>>2];g[b+244>>2]=Q;g[b+248>>2]=S;g[b+252>>2]=U;g[b+256>>2]=0.0;R=+g[b+164>>2]*O+ +g[b+180>>2]*P+ +g[b+196>>2]*V+ +g[b+212>>2]*e;T=O*+g[b+168>>2]+P*+g[b+184>>2]+V*+g[b+200>>2]+e*+g[b+216>>2];V=O*+g[b+172>>2]+P*+g[b+188>>2]+V*+g[b+204>>2]+e*+g[b+220>>2];g[b+260>>2]=R;g[b+264>>2]=T;g[b+268>>2]=V;g[b+272>>2]=0.0;g[b+276>>2]=Q-R;g[b+280>>2]=S-T;g[b+284>>2]=U-V;g[b+288>>2]=0.0;h=c[b>>2]|0;do if((h|0)>3){d=a[b+332>>0]|0;if(!(d&8)){c[b>>2]=h+-1;H=b+4+(h+-1<<4)|0;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];H=b+84+(h+-1<<4)|0;c[b+132>>2]=c[H>>2];c[b+132+4>>2]=c[H+4>>2];c[b+132+8>>2]=c[H+8>>2];c[b+132+12>>2]=c[H+12>>2];H=b+164+(h+-1<<4)|0;c[b+212>>2]=c[H>>2];c[b+212+4>>2]=c[H+4>>2];c[b+212+8>>2]=c[H+8>>2];c[b+212+12>>2]=c[H+12>>2];h=h+-1|0;H=54}else H=54}else{if((h|0)>2){d=a[b+332>>0]|0;h=3;H=54;break}if((h|0)>1){d=a[b+332>>0]|0;h=2;H=58;break}if((h|0)>0){d=a[b+332>>0]|0;G=1;H=62}}while(0);if((H|0)==54)if(!(d&4)){h=h+-1|0;c[b>>2]=h;c[b+36>>2]=c[b+4+(h<<4)>>2];c[b+36+4>>2]=c[b+4+(h<<4)+4>>2];c[b+36+8>>2]=c[b+4+(h<<4)+8>>2];c[b+36+12>>2]=c[b+4+(h<<4)+12>>2];c[b+116>>2]=c[b+84+(h<<4)>>2];c[b+116+4>>2]=c[b+84+(h<<4)+4>>2];c[b+116+8>>2]=c[b+84+(h<<4)+8>>2];c[b+116+12>>2]=c[b+84+(h<<4)+12>>2];c[b+196>>2]=c[b+164+(h<<4)>>2];c[b+196+4>>2]=c[b+164+(h<<4)+4>>2];c[b+196+8>>2]=c[b+164+(h<<4)+8>>2];c[b+196+12>>2]=c[b+164+(h<<4)+12>>2];H=58}else H=58;if((H|0)==58)if(!(d&2)){G=h+-1|0;c[b>>2]=G;c[b+20>>2]=c[b+4+(G<<4)>>2];c[b+20+4>>2]=c[b+4+(G<<4)+4>>2];c[b+20+8>>2]=c[b+4+(G<<4)+8>>2];c[b+20+12>>2]=c[b+4+(G<<4)+12>>2];c[b+100>>2]=c[b+84+(G<<4)>>2];c[b+100+4>>2]=c[b+84+(G<<4)+4>>2];c[b+100+8>>2]=c[b+84+(G<<4)+8>>2];c[b+100+12>>2]=c[b+84+(G<<4)+12>>2];c[b+180>>2]=c[b+164+(G<<4)>>2];c[b+180+4>>2]=c[b+164+(G<<4)+4>>2];c[b+180+8>>2]=c[b+164+(G<<4)+8>>2];c[b+180+12>>2]=c[b+164+(G<<4)+12>>2];H=62}else{G=h;H=62}if((H|0)==62?(d&1)==0:0){W=G+-1|0;c[b>>2]=W;c[b+4>>2]=c[b+4+(W<<4)>>2];c[b+4+4>>2]=c[b+4+(W<<4)+4>>2];c[b+4+8>>2]=c[b+4+(W<<4)+8>>2];c[b+4+12>>2]=c[b+4+(W<<4)+12>>2];c[b+84>>2]=c[b+84+(W<<4)>>2];c[b+84+4>>2]=c[b+84+(W<<4)+4>>2];c[b+84+8>>2]=c[b+84+(W<<4)+8>>2];c[b+84+12>>2]=c[b+84+(W<<4)+12>>2];c[b+164>>2]=c[b+164+(W<<4)>>2];c[b+164+4>>2]=c[b+164+(W<<4)+4>>2];c[b+164+8>>2]=c[b+164+(W<<4)+8>>2];c[b+164+12>>2]=c[b+164+(W<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((H|0)==70){a[d>>0]=0;d=0}W=d;W=W<<24>>24!=0;i=I;return W|0}default:{a[b+312>>0]=0;W=0;W=W<<24>>24!=0;i=I;return W|0}}return 0}function Fc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0,S=0.0,U=0.0,V=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0;qa=i;i=i+144|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){wa=+g[b+556>>2];ua=+g[b+560>>2];pa=+g[b+564>>2];ta=+g[b+568>>2];ea=wa*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));va=ua*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));sa=pa*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));fa=+g[b+300>>2];X=+g[d>>2];ga=+g[b+316>>2];Y=+g[d+4>>2];ha=+g[b+332>>2];Z=+g[d+8>>2];ja=+g[b+304>>2];la=+g[b+320>>2];na=+g[b+336>>2];ba=+g[b+308>>2];ca=+g[b+324>>2];da=+g[b+340>>2];_=+g[d+16>>2];$=+g[d+20>>2];aa=+g[d+24>>2];ka=+g[d+32>>2];ma=+g[d+36>>2];oa=+g[d+40>>2];v=+g[b+348>>2];u=+g[b+352>>2];r=+g[b+356>>2];z=+g[b+364>>2];ra=+g[e>>2];A=+g[b+380>>2];n=+g[e+4>>2];B=+g[b+396>>2];m=+g[e+8>>2];C=+g[b+368>>2];D=+g[b+384>>2];E=+g[b+400>>2];w=+g[b+372>>2];x=+g[b+388>>2];y=+g[b+404>>2];o=+g[e+16>>2];q=+g[e+20>>2];l=+g[e+24>>2];F=+g[e+32>>2];H=+g[e+36>>2];J=+g[e+40>>2];G=+g[b+412>>2];I=+g[b+416>>2];j=+g[b+420>>2];L=(1.0-(ua*va+pa*sa))*(z*ra+A*n+B*m)+(wa*va+ta*sa)*(ra*C+n*D+m*E)+(wa*sa-ta*va)*(ra*w+n*x+m*y);M=(wa*va-ta*sa)*(z*ra+A*n+B*m)+(1.0-(wa*ea+pa*sa))*(ra*C+n*D+m*E)+(ua*sa+ta*ea)*(ra*w+n*x+m*y);K=(wa*sa+ta*va)*(z*ra+A*n+B*m)+(ua*sa-ta*ea)*(ra*C+n*D+m*E)+(1.0-(wa*ea+ua*va))*(ra*w+n*x+m*y);U=(wa*sa-ta*va)*(w*o+x*q+y*l)+((1.0-(ua*va+pa*sa))*(z*o+A*q+B*l)+(wa*va+ta*sa)*(C*o+D*q+E*l));V=(ua*sa+ta*ea)*(w*o+x*q+y*l)+((wa*va-ta*sa)*(z*o+A*q+B*l)+(1.0-(wa*ea+pa*sa))*(C*o+D*q+E*l));S=(1.0-(wa*ea+ua*va))*(w*o+x*q+y*l)+((wa*sa+ta*va)*(z*o+A*q+B*l)+(ua*sa-ta*ea)*(C*o+D*q+E*l));ia=(wa*sa-ta*va)*(w*F+x*H+y*J)+((1.0-(ua*va+pa*sa))*(z*F+A*H+B*J)+(wa*va+ta*sa)*(C*F+D*H+E*J));pa=(ua*sa+ta*ea)*(w*F+x*H+y*J)+((wa*va-ta*sa)*(z*F+A*H+B*J)+(1.0-(wa*ea+pa*sa))*(C*F+D*H+E*J));ea=(1.0-(wa*ea+ua*va))*(w*F+x*H+y*J)+((wa*sa+ta*va)*(z*F+A*H+B*J)+(ua*sa-ta*ea)*(C*F+D*H+E*J));ta=-(+g[d+48>>2]+(X*v+Y*u+Z*r));sa=-(_*v+$*u+aa*r+ +g[d+52>>2]);r=-(ka*v+ma*u+oa*r+ +g[d+56>>2]);u=(fa*X+ga*Y+ha*Z)*ta+(fa*_+ga*$+ha*aa)*sa+(fa*ka+ga*ma+ha*oa)*r;v=(X*ja+Y*la+Z*na)*ta+(ja*_+la*$+na*aa)*sa+(ja*ka+la*ma+na*oa)*r;r=(X*ba+Y*ca+Z*da)*ta+(ba*_+ca*$+da*aa)*sa+(ba*ka+ca*ma+da*oa)*r;m=r*K+(u*L+v*M)+((z*ra+A*n+B*m)*0.0+(ra*C+n*D+m*E)*0.0+(ra*w+n*x+m*y)*0.0+(+g[e+48>>2]+(ra*G+n*I+m*j)));l=r*S+(u*U+v*V)+((w*o+x*q+y*l)*0.0+((z*o+A*q+B*l)*0.0+(C*o+D*q+E*l)*0.0)+(o*G+q*I+l*j+ +g[e+52>>2]));j=r*ea+(u*ia+v*pa)+((w*F+x*H+y*J)*0.0+((z*F+A*H+B*J)*0.0+(C*F+D*H+E*J)*0.0)+(F*G+H*I+J*j+ +g[e+56>>2]));g[qa+80>>2]=(X*ba+Y*ca+Z*da)*K+((fa*X+ga*Y+ha*Z)*L+(X*ja+Y*la+Z*na)*M);g[qa+80+4>>2]=(ba*_+ca*$+da*aa)*K+((fa*_+ga*$+ha*aa)*L+(ja*_+la*$+na*aa)*M);g[qa+80+8>>2]=(ba*ka+ca*ma+da*oa)*K+((fa*ka+ga*ma+ha*oa)*L+(ja*ka+la*ma+na*oa)*M);g[qa+80+12>>2]=0.0;g[qa+80+16>>2]=(X*ba+Y*ca+Z*da)*S+((fa*X+ga*Y+ha*Z)*U+(X*ja+Y*la+Z*na)*V);g[qa+80+20>>2]=(ba*_+ca*$+da*aa)*S+((fa*_+ga*$+ha*aa)*U+(ja*_+la*$+na*aa)*V);g[qa+80+24>>2]=(ba*ka+ca*ma+da*oa)*S+((fa*ka+ga*ma+ha*oa)*U+(ja*ka+la*ma+na*oa)*V);g[qa+80+28>>2]=0.0;g[qa+80+32>>2]=(X*ba+Y*ca+Z*da)*ea+((fa*X+ga*Y+ha*Z)*ia+(X*ja+Y*la+Z*na)*pa);g[qa+80+36>>2]=(ba*_+ca*$+da*aa)*ea+((fa*_+ga*$+ha*aa)*ia+(ja*_+la*$+na*aa)*pa);g[qa+80+40>>2]=(ba*ka+ca*ma+da*oa)*ea+((fa*ka+ga*ma+ha*oa)*ia+(ja*ka+la*ma+na*oa)*pa);g[qa+80+44>>2]=0.0;g[qa+80+48>>2]=m;g[qa+80+52>>2]=l;g[qa+80+56>>2]=j;g[qa+80+60>>2]=0.0;Wg(qa+80|0,qa+64|0);j=+g[qa+64>>2];l=+g[qa+64+4>>2];m=+g[qa+64+8>>2];if(!(+N(+(j*j+l*l+m*m))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,wa=1.0/+O(+(j*j+l*l+m*m)),g[b+460>>2]=j*wa,g[b+464>>2]=l*wa,g[b+468>>2]=m*wa,wa=+g[qa+64+12>>2],wa=wa<-1.0?-1.0:wa,wa=+T(+(wa>1.0?1.0:wa))*2.0,g[b+504>>2]=wa,!(+N(+wa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;i=qa;return}Wg(d,qa+48|0);Wg(b+300|0,qa+32|0);Z=+g[qa+48+12>>2];_=+g[qa+32>>2];$=+g[qa+48>>2];aa=+g[qa+32+12>>2];ba=+g[qa+48+4>>2];ca=+g[qa+32+8>>2];da=+g[qa+48+8>>2];ea=+g[qa+32+4>>2];Wg(e,qa+16|0);Wg(b+364|0,qa);fa=+g[qa+16+12>>2];ga=+g[qa>>2];ha=+g[qa+16>>2];ia=+g[qa+12>>2];ja=+g[qa+16+4>>2];ka=+g[qa+8>>2];la=+g[qa+16+8>>2];ma=+g[qa+4>>2];na=-(fa*ga+ha*ia+ja*ka-la*ma);oa=-(ga*la+(ia*ja+fa*ma)-ha*ka);pa=-(fa*ka+ia*la+ha*ma-ga*ja);o=(Z*aa-_*$-ba*ea-ca*da)*na+(Z*_+$*aa+ba*ca-da*ea)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*ca+aa*da+$*ea-_*ba)*oa-(_*da+(aa*ba+Z*ea)-$*ca)*pa;q=(Z*_+$*aa+ba*ca-da*ea)*pa+((_*da+(aa*ba+Z*ea)-$*ca)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*aa-_*$-ba*ea-ca*da)*oa)-(Z*ca+aa*da+$*ea-_*ba)*na;r=(_*da+(aa*ba+Z*ea)-$*ca)*na+((Z*ca+aa*da+$*ea-_*ba)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*aa-_*$-ba*ea-ca*da)*pa)-(Z*_+$*aa+ba*ca-da*ea)*oa;u=(Z*aa-_*$-ba*ea-ca*da)*(fa*ia-ga*ha-ja*ma-ka*la)-(Z*_+$*aa+ba*ca-da*ea)*na-(_*da+(aa*ba+Z*ea)-$*ca)*oa-(Z*ca+aa*da+$*ea-_*ba)*pa;m=-o-q*0.0-r*0.0;l=(r+u*0.0-o*0.0)*-r+(u*(u+q*0.0-r*0.0)+m*-o)-(u*0.0+o*0.0-q)*-q;j=(u*0.0+o*0.0-q)*-o+(u*(r+u*0.0-o*0.0)+m*-q)-(u+q*0.0-r*0.0)*-r;m=(u+q*0.0-r*0.0)*-q+(u*(u*0.0+o*0.0-q)+m*-r)-(r+u*0.0-o*0.0)*-o;n=1.0/+O(+(m*m+(l*l+j*j)));if(n*m*0.0+(n*j*0.0+n*l)<-.9999998807907104){p=-2147483648;s=0;t=0;j=1.0}else{wa=+O(+((n*m*0.0+(n*j*0.0+n*l)+1.0)*2.0));p=(g[k>>2]=(n*m*0.0-n*j*0.0)*(1.0/wa),c[k>>2]|0);s=(g[k>>2]=(n*j-n*l*0.0)*(1.0/wa),c[k>>2]|0);t=(g[k>>2]=wa*.5,c[k>>2]|0);j=(n*l*0.0-n*m)*(1.0/wa)}m=(c[k>>2]=p,+g[k>>2]);w=(c[k>>2]=s,+g[k>>2]);l=(c[k>>2]=t,+g[k>>2]);n=1.0/+O(+(m*m+j*j+w*w+l*l));v=j*n;V=r*-v+(o*l*n+u*-(m*n))-q*-(w*n);X=o*-(w*n)+(u*-v+q*l*n)-r*-(m*n);Y=q*-(m*n)+(r*l*n+u*-(w*n))-o*-v;S=u*l*n-o*-(m*n)-q*-v-r*-(w*n);U=1.0/+O(+(S*S+(Y*Y+(V*V+X*X))));u=+g[b+444>>2];j=+g[b+456>>2];p=(g[k>>2]=u,c[k>>2]|0);if(u>=j?(x=+g[b+448>>2],x>=j):0){r=l*n<-1.0?-1.0:l*n;r=+T(+(r>1.0?1.0:r))*2.0;if(r>1.1920928955078125e-07){j=1.0/+O(+(w*n*w*n+(m*n*m*n+v*v)));if(+N(+(v*j))>1.1920928955078125e-07){wa=+O(+((w*n*j*w*n*j/(v*j*v*j)+1.0)/(1.0/(x*x)+w*n*j*w*n*j/(v*j*v*j)/(u*u))));m=m*n*j;l=w*n*j;j=v*j;p=(g[k>>2]=wa,c[k>>2]|0)}else{m=m*n*j;l=w*n*j;j=v*j}}else{m=0.0;l=0.0;j=0.0;p=0}n=(c[k>>2]=p,+g[k>>2]);o=+g[b+428>>2];if(r>n*o){a[b+526>>0]=1;if(r>2]=q;g[b+504>>2]=r-n*o;if(+N(+j)>1.1920928955078125e-07){wa=+N(+(j*-l/j*(x/u)));l=l<-0.0?wa:-wa;wa=1.0/+O(+(m*m+j*j+l*l));m=m*wa;l=-(l*wa);j=j*wa}va=-m;ua=-j;sa=-l;ra=(fa*ia-ga*ha-ja*ma-ka*la)*va+(ga*la+(ia*ja+fa*ma)-ha*ka)*sa-(fa*ka+ia*la+ha*ma-ga*ja)*ua;wa=(fa*ka+ia*la+ha*ma-ga*ja)*va+(fa*ia-ga*ha-ja*ma-ka*la)*ua-(fa*ga+ha*ia+ja*ka-la*ma)*sa;ta=(fa*ga+ha*ia+ja*ka-la*ma)*ua+(fa*ia-ga*ha-ja*ma-ka*la)*sa-(ga*la+(ia*ja+fa*ma)-ha*ka)*va;sa=-((fa*ga+ha*ia+ja*ka-la*ma)*va)-(ga*la+(ia*ja+fa*ma)-ha*ka)*ua-(fa*ka+ia*la+ha*ma-ga*ja)*sa;ua=wa*pa+(sa*na+(fa*ia-ga*ha-ja*ma-ka*la)*ra)-ta*oa;va=ta*na+((fa*ia-ga*ha-ja*ma-ka*la)*wa+sa*oa)-ra*pa;wa=ra*oa+(sa*pa+(fa*ia-ga*ha-ja*ma-ka*la)*ta)-wa*na;g[b+460>>2]=ua;g[b+464>>2]=va;g[b+468>>2]=wa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(ua*(+g[f>>2]*ua+ +g[f+16>>2]*va+ +g[f+32>>2]*wa)+va*(ua*+g[f+4>>2]+va*+g[f+20>>2]+wa*+g[f+36>>2])+wa*(ua*+g[f+8>>2]+va*+g[f+24>>2]+wa*+g[f+40>>2])+(ua*(ua*+g[h>>2]+va*+g[h+16>>2]+wa*+g[h+32>>2])+va*(ua*+g[h+4>>2]+va*+g[h+20>>2]+wa*+g[h+36>>2])+wa*(ua*+g[h+8>>2]+va*+g[h+24>>2]+wa*+g[h+40>>2])))}}else P=20;a:do if((P|0)==20){C=+g[b+300>>2];D=+g[b+316>>2];E=+g[b+332>>2];F=+g[d>>2];G=+g[d+4>>2];H=+g[d+8>>2];I=+g[d+16>>2];J=+g[d+20>>2];K=+g[d+24>>2];L=+g[d+32>>2];M=+g[d+36>>2];u=+g[d+40>>2];v=+g[b+304>>2];w=+g[b+320>>2];x=+g[b+336>>2];y=+g[b+308>>2];z=+g[b+324>>2];A=+g[b+340>>2];l=+g[b+364>>2];o=+g[b+380>>2];q=+g[b+396>>2];B=l*+g[e>>2]+o*+g[e+4>>2]+q*+g[e+8>>2];r=l*+g[e+16>>2]+o*+g[e+20>>2]+q*+g[e+24>>2];q=l*+g[e+32>>2]+o*+g[e+36>>2]+q*+g[e+40>>2];o=(C*F+D*G+E*H)*B+(C*I+D*J+E*K)*r+(C*L+D*M+E*u)*q;l=(F*v+G*w+H*x)*B+(I*v+J*w+K*x)*r+(L*v+M*w+u*x)*q;j=(F*y+G*z+H*A)*B+(I*y+J*z+K*A)*r+(L*y+M*z+u*A)*q;n=+g[b+444>>2];m=+g[b+456>>2];do if(n>2];if(n>0]=1;g[b+460>>2]=-((C*L+D*M+E*u)*r-(C*I+D*J+E*K)*q);g[b+464>>2]=-((C*F+D*G+E*H)*q-(C*L+D*M+E*u)*B);g[b+468>>2]=-((C*I+D*J+E*K)*B-(C*F+D*G+E*H)*r);g[b+472>>2]=0.0;break a}if(+N(+o)<1.1920928955078125e-07?+N(+j)<1.1920928955078125e-07:0){m=o;break}a[b+526>>0]=1;if(n>=m){l=+W(+j,+o);if(l>n){m=+Q(+n);l=0.0;j=+R(+n);break}if(l<-n){m=+Q(+n);l=0.0;j=-+R(+n)}else{m=o;l=0.0}}else m=o}else{if(+N(+o)<1.1920928955078125e-07?+N(+l)<1.1920928955078125e-07:0){m=o;break}a[b+526>>0]=1;if(n>=m){j=+W(+l,+o);if(j>n){m=+Q(+n);l=+R(+n);j=0.0;break}if(j<-n){m=+Q(+n);l=-+R(+n);j=0.0}else{m=o;j=0.0}}else m=o}while(0);va=(F*y+G*z+H*A)*j+((F*v+G*w+H*x)*l+(C*F+D*G+E*H)*m);ta=(I*y+J*z+K*A)*j+((I*v+J*w+K*x)*l+(C*I+D*J+E*K)*m);sa=(L*y+M*z+u*A)*j+((L*v+M*w+u*x)*l+(C*L+D*M+E*u)*m);ua=1.0/+O(+(sa*sa+(va*va+ta*ta)));g[b+472>>2]=0.0;wa=+O(+((r*ua*sa-q*ua*ta)*(r*ua*sa-q*ua*ta)+(q*ua*va-B*ua*sa)*(q*ua*va-B*ua*sa)+(B*ua*ta-r*ua*va)*(B*ua*ta-r*ua*va)));g[b+504>>2]=wa;g[b+460>>2]=-((r*ua*sa-q*ua*ta)*(1.0/wa));g[b+464>>2]=-((q*ua*va-B*ua*sa)*(1.0/wa));g[b+468>>2]=-((B*ua*ta-r*ua*va)*(1.0/wa))}while(0);r=+g[b+452>>2];if(!(r>=0.0)){g[b+512>>2]=0.0;i=qa;return}j=U*S<-1.0?-1.0:U*S;j=+T(+(j>1.0?1.0:j))*2.0;if(j>3.1415927410125732){q=-(U*S)<-1.0?-1.0:-(U*S);q=+T(+(q>1.0?1.0:q))*2.0;l=-(U*V);m=-(U*X);j=-(U*Y)}else{q=j;l=U*V;m=U*X;j=U*Y}g[b+512>>2]=q;if(q>1.1920928955078125e-07){wa=1.0/+O(+(l*l+m*m+j*j));o=l*wa;n=j*wa;m=m*wa}else{o=l;n=j}j=+g[b+428>>2];if(q>r*j){a[b+525>>0]=1;l=q-r*j;if(q>2]=j;g[b+508>>2]=l;va=-o;ua=-m;sa=-n;ra=(fa*ia-ga*ha-ja*ma-ka*la)*va+(ga*la+(ia*ja+fa*ma)-ha*ka)*sa-(fa*ka+ia*la+ha*ma-ga*ja)*ua;wa=(fa*ka+ia*la+ha*ma-ga*ja)*va+(fa*ia-ga*ha-ja*ma-ka*la)*ua-(fa*ga+ha*ia+ja*ka-la*ma)*sa;ta=(fa*ga+ha*ia+ja*ka-la*ma)*ua+(fa*ia-ga*ha-ja*ma-ka*la)*sa-(ga*la+(ia*ja+fa*ma)-ha*ka)*va;sa=-((fa*ga+ha*ia+ja*ka-la*ma)*va)-(ga*la+(ia*ja+fa*ma)-ha*ka)*ua-(fa*ka+ia*la+ha*ma-ga*ja)*sa;ua=wa*pa+(sa*na+(fa*ia-ga*ha-ja*ma-ka*la)*ra)-ta*oa;va=ta*na+((fa*ia-ga*ha-ja*ma-ka*la)*wa+sa*oa)-ra*pa;wa=ra*oa+(sa*pa+(fa*ia-ga*ha-ja*ma-ka*la)*ta)-wa*na;g[b+476>>2]=ua;g[b+480>>2]=va;g[b+484>>2]=wa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(ua*(+g[f>>2]*ua+ +g[f+16>>2]*va+ +g[f+32>>2]*wa)+va*(ua*+g[f+4>>2]+va*+g[f+20>>2]+wa*+g[f+36>>2])+wa*(ua*+g[f+8>>2]+va*+g[f+24>>2]+wa*+g[f+40>>2])+(ua*(ua*+g[h>>2]+va*+g[h+16>>2]+wa*+g[h+32>>2])+va*(ua*+g[h+4>>2]+va*+g[h+20>>2]+wa*+g[h+36>>2])+wa*(ua*+g[h+8>>2]+va*+g[h+24>>2]+wa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){i=qa;return}ra=-o;wa=-m;sa=-n;pa=(Z*aa-_*$-ba*ea-ca*da)*ra+(_*da+(aa*ba+Z*ea)-$*ca)*sa-(Z*ca+aa*da+$*ea-_*ba)*wa;va=(Z*ca+aa*da+$*ea-_*ba)*ra+(Z*aa-_*$-ba*ea-ca*da)*wa-(Z*_+$*aa+ba*ca-da*ea)*sa;ua=(Z*_+$*aa+ba*ca-da*ea)*wa+(Z*aa-_*$-ba*ea-ca*da)*sa-(_*da+(aa*ba+Z*ea)-$*ca)*ra;sa=-((Z*_+$*aa+ba*ca-da*ea)*ra)-(_*da+(aa*ba+Z*ea)-$*ca)*wa-(Z*ca+aa*da+$*ea-_*ba)*sa;wa=-(Z*_+$*aa+ba*ca-da*ea);ra=-(_*da+(aa*ba+Z*ea)-$*ca);ta=-(Z*ca+aa*da+$*ea-_*ba);g[b+536>>2]=va*ta+(sa*wa+(Z*aa-_*$-ba*ea-ca*da)*pa)-ua*ra;g[b+540>>2]=ua*wa+((Z*aa-_*$-ba*ea-ca*da)*va+sa*ra)-pa*ta;g[b+544>>2]=pa*ra+(sa*ta+(Z*aa-_*$-ba*ea-ca*da)*ua)-va*wa;g[b+548>>2]=0.0;i=qa;return}function Gc(d,e){d=d|0;e=e|0;var f=0.0,h=0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0.0;ga=i;i=i+16|0;da=c[d+28>>2]|0;fa=c[d+32>>2]|0;$=+g[da+344>>2];aa=+g[fa+344>>2];Z=c[e+24>>2]|0;ea=a[d+180>>0]|0?1.0:-1.0;W=+g[d+936>>2]-+g[d+872>>2];X=+g[d+940>>2]-+g[d+876>>2];Y=+g[d+944>>2]-+g[d+880>>2];ba=$+aa>0.0?aa/($+aa):.5;H=c[d+824>>2]|0;J=c[d+840>>2]|0;K=c[d+856>>2]|0;L=c[d+888>>2]|0;M=c[d+904>>2]|0;P=c[d+920>>2]|0;Q=(a[d+49>>0]|0)==0;if(Q){y=c[d+828>>2]|0;l=c[d+844>>2]|0;t=c[d+860>>2]|0;c[ga+4>>2]=l;x=c[d+832>>2]|0;D=c[d+848>>2]|0;ca=c[d+864>>2]|0;c[ga>>2]=x;w=(c[k>>2]=t,+g[k>>2]);v=(c[k>>2]=x,+g[k>>2]);q=(c[k>>2]=D,+g[k>>2]);E=ca;u=(c[k>>2]=ca,+g[k>>2]);ca=H;z=J;A=K}else{f=ba*(c[k>>2]=H,+g[k>>2]);n=ba*(c[k>>2]=J,+g[k>>2]);m=ba*(c[k>>2]=K,+g[k>>2]);j=(1.0-ba)*(c[k>>2]=L,+g[k>>2]);o=(1.0-ba)*(c[k>>2]=M,+g[k>>2]);m=m+(1.0-ba)*(c[k>>2]=P,+g[k>>2]);p=1.0/+O(+((f+j)*(f+j)+(n+o)*(n+o)+m*m));y=(g[k>>2]=(f+j)*p,c[k>>2]|0);z=(g[k>>2]=(n+o)*p,c[k>>2]|0);A=(g[k>>2]=m*p,c[k>>2]|0);if(+N(+(m*p))>.7071067690849304){I=1.0/+O(+(m*p*m*p+(n+o)*p*(n+o)*p));g[ga+4>>2]=-(m*p*I);q=-((f+j)*p*(n+o)*p*I);r=(f+j)*p*-(m*p*I);j=(m*p*m*p+(n+o)*p*(n+o)*p)*I;f=(n+o)*p*I;h=0}else{r=(f+j)*p*(f+j)*p+(n+o)*p*(n+o)*p;I=1.0/+O(+r);h=(g[k>>2]=-((n+o)*p*I),c[k>>2]|0);g[ga+4>>2]=(f+j)*p*I;q=m*p*-((n+o)*p*I);r=r*I;j=-(m*p*(f+j)*p*I);f=0.0}t=(g[k>>2]=f,c[k>>2]|0);x=(g[k>>2]=j,c[k>>2]|0);g[ga>>2]=j;D=(g[k>>2]=q,c[k>>2]|0);l=c[ga+4>>2]|0;E=(g[k>>2]=r,c[k>>2]|0);w=f;v=j;u=r;ca=y;y=h}h=c[e+12>>2]|0;c[h>>2]=y;c[h+4>>2]=l;c[h+8>>2]=t;c[h+(Z<<2)>>2]=x;c[h+(Z+1<<2)>>2]=D;c[h+(Z+2<<2)>>2]=E;r=(c[k>>2]=y,+g[k>>2]);h=c[e+20>>2]|0;g[h>>2]=-r;s=+g[ga+4>>2];g[h+4>>2]=-s;g[h+8>>2]=-w;g[h+(Z<<2)>>2]=-v;g[h+(Z+1<<2)>>2]=-q;g[h+(Z+2<<2)>>2]=-u;h=c[d+300>>2]|0;f=+g[d+280>>2];if(!(h&128))f=f*+g[e+4>>2];o=f*+g[e>>2];G=(c[k>>2]=J,+g[k>>2]);B=(c[k>>2]=P,+g[k>>2]);p=(c[k>>2]=K,+g[k>>2]);F=(c[k>>2]=M,+g[k>>2]);I=(c[k>>2]=L,+g[k>>2]);C=(c[k>>2]=H,+g[k>>2]);V=c[e+28>>2]|0;g[V>>2]=o*((G*B-p*F)*r+(p*I-C*B)*s+(C*F-G*I)*w);g[V+(Z<<2)>>2]=o*((G*B-p*F)*v+(p*I-C*B)*q+(C*F-G*I)*u);if(h&64|0){V=c[e+32>>2]|0;c[V>>2]=c[d+292>>2];c[V+(Z<<2)>>2]=c[d+292>>2]}n=+g[da+52>>2];o=+g[da+56>>2];p=+g[da+60>>2];f=+g[fa+52>>2];j=+g[fa+56>>2];m=+g[fa+60>>2];if(Q){S=(g[k>>2]=j-o,c[k>>2]|0);G=(j-o)*w-(m-p)*s;I=(m-p)*r-(f-n)*w;Q=c[e+12>>2]|0;g[Q+(Z<<1<<2)>>2]=ba*G;g[Q+((Z<<1|1)<<2)>>2]=ba*I;g[Q+((Z<<1)+2<<2)>>2]=ba*((f-n)*s-(j-o)*r);Q=(g[k>>2]=f-n,c[k>>2]|0);R=(g[k>>2]=m-p,c[k>>2]|0);T=c[e+20>>2]|0;g[T+(Z<<1<<2)>>2]=(1.0-ba)*G;g[T+((Z<<1|1)<<2)>>2]=(1.0-ba)*I;g[T+((Z<<1)+2<<2)>>2]=(1.0-ba)*((f-n)*s-(j-o)*r);I=(j-o)*u-(m-p)*q;m=(m-p)*v-(f-n)*u;p=(f-n)*q-(j-o)*v;T=c[e+12>>2]|0;g[T+(Z*3<<2)>>2]=ba*I;g[T+((Z*3|0)+1<<2)>>2]=ba*m;g[T+((Z*3|0)+2<<2)>>2]=ba*p;T=c[e+20>>2]|0;g[T+(Z*3<<2)>>2]=(1.0-ba)*I;g[T+((Z*3|0)+1<<2)>>2]=(1.0-ba)*m;g[T+((Z*3|0)+2<<2)>>2]=(1.0-ba)*p;J=c[e+8>>2]|0;c[J+(Z<<1<<2)>>2]=y;g[J+((Z<<1|1)<<2)>>2]=s;g[J+((Z<<1)+2<<2)>>2]=w;J=c[e+8>>2]|0;M=c[ga>>2]|0;c[J+(Z*3<<2)>>2]=M;c[J+((Z*3|0)+1<<2)>>2]=D;c[J+((Z*3|0)+2<<2)>>2]=E;P=c[e+16>>2]|0;g[P+(Z<<1<<2)>>2]=-r;p=+g[ga+4>>2];g[P+((Z<<1|1)<<2)>>2]=-p;g[P+((Z<<1)+2<<2)>>2]=-w;P=c[e+16>>2]|0;n=(c[k>>2]=M,+g[k>>2]);g[P+(Z*3<<2)>>2]=-n;m=(c[k>>2]=D,+g[k>>2]);g[P+((Z*3|0)+1<<2)>>2]=-m;j=(c[k>>2]=E,+g[k>>2]);g[P+((Z*3|0)+2<<2)>>2]=-j;o=w;M=0;L=0;K=0;t=0;l=0;h=0}else{ia=+g[d+936>>2]-f;ha=+g[d+940>>2]-j;F=+g[d+944>>2]-m;r=(c[k>>2]=ca,+g[k>>2]);s=(c[k>>2]=z,+g[k>>2]);q=(c[k>>2]=A,+g[k>>2]);G=+g[d+872>>2]-n;I=+g[d+876>>2]-o;m=+g[d+880>>2]-p;o=+g[d+1080>>2]-+g[d+1032>>2];u=r*(r*G+s*I+q*m)+r*o-r*(r*ia+s*ha+q*F);v=s*(r*G+s*I+q*m)+s*o-s*(r*ia+s*ha+q*F);o=q*(r*G+s*I+q*m)+q*o-q*(r*ia+s*ha+q*F);B=G-r*(r*G+s*I+q*m)+ba*u;w=I-s*(r*G+s*I+q*m)+ba*v;C=m-q*(r*G+s*I+q*m)+ba*o;M=(g[k>>2]=B,c[k>>2]|0);L=(g[k>>2]=w,c[k>>2]|0);K=(g[k>>2]=C,c[k>>2]|0);u=ia-r*(r*ia+s*ha+q*F)-(1.0-ba)*u;v=ha-s*(r*ia+s*ha+q*F)-(1.0-ba)*v;o=F-q*(r*ia+s*ha+q*F)-(1.0-ba)*o;t=(g[k>>2]=u,c[k>>2]|0);x=(g[k>>2]=v,c[k>>2]|0);y=(g[k>>2]=o,c[k>>2]|0);j=ba*(ia-r*(r*ia+s*ha+q*F))+(1.0-ba)*(G-r*(r*G+s*I+q*m));f=ba*(ha-s*(r*ia+s*ha+q*F))+(1.0-ba)*(I-s*(r*G+s*I+q*m));m=ba*(F-q*(r*ia+s*ha+q*F))+(1.0-ba)*(m-q*(r*G+s*I+q*m));g[ga+4>>2]=f;if(m*m+(j*j+f*f)>1.1920928955078125e-07){ia=1.0/+O(+(m*m+(j*j+f*f)));l=(g[k>>2]=j*ia,c[k>>2]|0);g[ga+4>>2]=ia*f;I=ia*m;n=ia*f;f=j*ia;h=(g[k>>2]=ia*m,c[k>>2]|0)}else{l=c[d+828>>2]|0;V=c[d+844>>2]|0;h=c[d+860>>2]|0;c[ga+4>>2]=V;I=(c[k>>2]=h,+g[k>>2]);n=(c[k>>2]=V,+g[k>>2]);f=(c[k>>2]=l,+g[k>>2])}F=s*I-q*n;G=q*f-r*I;q=r*n-s*f;g[ga>>2]=F;V=(c[e+12>>2]|0)+(Z<<1<<2)|0;g[V>>2]=w*I-C*n;g[V+4>>2]=C*f-B*I;g[V+8>>2]=B*n-w*f;V=c[e+20>>2]|0;g[V+(Z<<1<<2)>>2]=-(v*I-o*n);g[V+((Z<<1|1)<<2)>>2]=-(o*f-u*I);g[V+((Z<<1)+2<<2)>>2]=-(u*n-v*f);if($<1.1920928955078125e-07|aa<1.1920928955078125e-07?(a[d+297>>0]|0)!=0:0){p=(1.0-ba)*(v*q-o*G);o=(1.0-ba)*(o*F-u*q);m=(1.0-ba)*(u*G-v*F);n=ba*(w*q-C*G);j=ba*(B*G-w*F);f=ba*(C*F-B*q)}else{p=v*q-o*G;o=o*F-u*q;m=u*G-v*F;n=w*q-C*G;j=B*G-w*F;f=C*F-B*q}T=(c[e+12>>2]|0)+(Z*3<<2)|0;g[T>>2]=n;g[T+4>>2]=f;g[T+8>>2]=j;T=c[e+20>>2]|0;g[T+(Z*3<<2)>>2]=-p;g[T+((Z*3|0)+1<<2)>>2]=-o;g[T+((Z*3|0)+2<<2)>>2]=-m;J=c[e+8>>2]|0;c[J+(Z<<1<<2)>>2]=l;c[J+((Z<<1|1)<<2)>>2]=c[ga+4>>2];c[J+((Z<<1)+2<<2)>>2]=h;J=c[e+8>>2]|0;g[J+(Z*3<<2)>>2]=F;g[J+((Z*3|0)+1<<2)>>2]=G;g[J+((Z*3|0)+2<<2)>>2]=q;P=c[e+16>>2]|0;r=(c[k>>2]=l,+g[k>>2]);g[P+(Z<<1<<2)>>2]=-r;p=+g[ga+4>>2];g[P+((Z<<1|1)<<2)>>2]=-p;g[P+((Z<<1)+2<<2)>>2]=-I;P=c[e+16>>2]|0;g[P+(Z*3<<2)>>2]=-F;g[P+((Z*3|0)+1<<2)>>2]=-G;g[P+((Z*3|0)+2<<2)>>2]=-q;o=I;n=F;m=G;j=q;Q=0;R=0;S=0;l=x;h=y}U=c[d+300>>2]|0;f=+g[d+264>>2];if(!(U&32))f=f*+g[e+4>>2];ia=f*+g[e>>2];V=c[e+28>>2]|0;g[V+(Z<<1<<2)>>2]=ia*(W*r+X*p+Y*o);g[V+(Z*3<<2)>>2]=ia*(W*n+X*m+Y*j);if(U&16|0){H=c[e+32>>2]|0;c[H+(Z<<1<<2)>>2]=c[d+276>>2];c[H+(Z*3<<2)>>2]=c[d+276>>2]}H=b[d+296>>1]|0;if(!((H&255)<<24>>24)){E=0;u=0.0}else{u=ea*+g[d+1032>>2];E=u>0.0?2:1}x=a[d+1096>>0]|0;y=(E|0)!=0;if(x&255|E){D=c[e+24>>2]<<2;c[J+(D<<2)>>2]=ca;c[J+((D|1)<<2)>>2]=z;c[J+((D|2)<<2)>>2]=A;q=(c[k>>2]=ca,+g[k>>2]);g[P+(D<<2)>>2]=-q;r=(c[k>>2]=z,+g[k>>2]);g[P+((D|1)<<2)>>2]=-r;s=(c[k>>2]=A,+g[k>>2]);g[P+((D|2)<<2)>>2]=-s;if(a[d+49>>0]|0){if(!($<1.1920928955078125e-07|aa<1.1920928955078125e-07)){aa=(c[k>>2]=L,+g[k>>2]);Y=(c[k>>2]=K,+g[k>>2]);$=(c[k>>2]=M,+g[k>>2]);ia=(c[k>>2]=l,+g[k>>2]);ba=(c[k>>2]=h,+g[k>>2]);ha=(c[k>>2]=t,+g[k>>2]);Z=c[e+12>>2]|0;g[Z+(D<<2)>>2]=s*aa-r*Y;g[Z+((D|1)<<2)>>2]=q*Y-s*$;g[Z+((D|2)<<2)>>2]=r*$-q*aa;g[T+(D<<2)>>2]=-(s*ia-r*ba);g[T+((D|1)<<2)>>2]=-(q*ba-s*ha);g[T+((D|2)<<2)>>2]=-(r*ha-q*ia)}}else{ia=(c[k>>2]=S,+g[k>>2]);aa=(c[k>>2]=R,+g[k>>2]);ha=(c[k>>2]=Q,+g[k>>2]);Z=c[e+12>>2]|0;g[Z+(D<<2)>>2]=ba*(s*ia-r*aa);g[Z+((D|1)<<2)>>2]=ba*(q*aa-s*ha);g[Z+((D|2)<<2)>>2]=ba*(r*ha-q*ia);g[T+(D<<2)>>2]=(1.0-ba)*(s*ia-r*aa);g[T+((D|1)<<2)>>2]=(1.0-ba)*(q*aa-s*ha);g[T+((D|2)<<2)>>2]=(1.0-ba)*(r*ha-q*ia)}h=+g[d+184>>2]==+g[d+188>>2];g[V+(D<<2)>>2]=0.0;l=(c[e+36>>2]|0)+(D<<2)|0;g[l>>2]=0.0;t=(c[e+40>>2]|0)+(D<<2)|0;g[t>>2]=0.0;p=+g[((U&512|0)==0?e+4|0:d+232|0)>>2];if(!(x<<24>>24==0|y&h)){if(U&1|0)c[(c[e+32>>2]|0)+(D<<2)>>2]=c[d+212>>2];o=+g[d+1100>>2];f=+g[d+1080>>2];j=+g[d+184>>2];m=+g[d+188>>2];n=p*+g[e>>2];do if(!(j>m))if(!(j==m)){if(o/n<0.0)if(f>=j?j-o/n>f:0){f=(j-f)/(o/n);break}else{f=f0.0)if(f<=m?m-o/nm?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);g[V+(D<<2)>>2]=+g[V+(D<<2)>>2]-ea*f*o;g[l>>2]=+g[l>>2]-+g[d+1104>>2]*+g[e>>2];g[t>>2]=+g[d+1104>>2]*+g[e>>2]+ +g[t>>2]}if(y){g[V+(D<<2)>>2]=+g[V+(D<<2)>>2]+u*p*+g[e>>2];if(U&256|0)c[(c[e+32>>2]|0)+(D<<2)>>2]=c[d+244>>2];do if(!h)if((E|0)==1){g[l>>2]=-3402823466385288598117041.0e14;g[t>>2]=0.0;break}else{g[l>>2]=0.0;g[t>>2]=3402823466385288598117041.0e14;break}else{g[l>>2]=-3402823466385288598117041.0e14;g[t>>2]=3402823466385288598117041.0e14}while(0);ia=1.0-+g[d+240>>2];j=+N(+ia);do if(!(ia!=ia|0.0!=0.0|ia==0.0)){f=ea*(q*+g[da+312>>2]+r*+g[da+316>>2]+s*+g[da+320>>2]-(q*+g[fa+312>>2]+r*+g[fa+316>>2]+s*+g[fa+320>>2]));if((E|0)==1){if(!(f<0.0))break;if(!(+g[V+(D<<2)>>2]<-(j*f)))break;g[V+(D<<2)>>2]=-(j*f);break}else{if(!(f>0.0))break;if(!(+g[V+(D<<2)>>2]>-(j*f)))break;g[V+(D<<2)>>2]=-(j*f);break}}while(0);g[V+(D<<2)>>2]=+g[d+232>>2]*+g[V+(D<<2)>>2];h=5}else h=5}else h=4;if((H&65535)<256){y=0;v=0.0}else{v=+g[d+1088>>2];y=v>0.0?1:2}l=a[d+1112>>0]|0;t=(y|0)!=0;if(!(l&255|y)){i=ga;return}x=_(c[e+24>>2]|0,h)|0;fa=c[e+12>>2]|0;c[fa+(x<<2)>>2]=ca;c[fa+(x+1<<2)>>2]=z;c[fa+(x+2<<2)>>2]=A;w=(c[k>>2]=ca,+g[k>>2]);g[T+(x<<2)>>2]=-w;u=(c[k>>2]=z,+g[k>>2]);g[T+(x+1<<2)>>2]=-u;s=(c[k>>2]=A,+g[k>>2]);g[T+(x+2<<2)>>2]=-s;p=+g[d+192>>2];q=+g[d+196>>2];r=+g[((U&2048|0)==0?e+4|0:d+248|0)>>2];if(!(l<<24>>24==0|t&p==q)){if(!(U&4)){m=q;n=p}else{c[(c[e+32>>2]|0)+(x<<2)>>2]=c[d+228>>2];m=+g[d+196>>2];n=+g[d+192>>2]}f=+g[d+1084>>2];o=+g[d+1116>>2];j=r*+g[e>>2];do if(!(n>m))if(!(n==m)){if(o/j<0.0)if(f>=n?n-o/j>f:0){f=(n-f)/(o/j);break}else{f=f0.0)if(f<=m?m-o/jm?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);g[V+(x<<2)>>2]=f*o;g[(c[e+36>>2]|0)+(x<<2)>>2]=-(+g[d+1120>>2]*+g[e>>2]);g[(c[e+40>>2]|0)+(x<<2)>>2]=+g[d+1120>>2]*+g[e>>2]}if(!t){i=ga;return}g[V+(x<<2)>>2]=+g[V+(x<<2)>>2]+v*r*+g[e>>2];if(U&1024|0)c[(c[e+32>>2]|0)+(x<<2)>>2]=c[d+260>>2];do if(!(p==q)){l=(c[e+36>>2]|0)+(x<<2)|0;h=c[e+40>>2]|0;if((y|0)==1){g[l>>2]=0.0;g[h+(x<<2)>>2]=3402823466385288598117041.0e14;break}else{g[l>>2]=-3402823466385288598117041.0e14;g[h+(x<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(x<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(x<<2)>>2]=3402823466385288598117041.0e14}while(0);ia=1.0-+g[d+256>>2];j=+N(+ia);do if(!(ia!=ia|0.0!=0.0|ia==0.0)){fa=c[d+28>>2]|0;e=c[d+32>>2]|0;f=w*+g[fa+328>>2]+u*+g[fa+332>>2]+s*+g[fa+336>>2]-(w*+g[e+328>>2]+u*+g[e+332>>2]+s*+g[e+336>>2]);if((y|0)==1){if(!(f<0.0))break;if(!(+g[V+(x<<2)>>2]<-(j*f)))break;g[V+(x<<2)>>2]=-(j*f);break}else{if(!(f>0.0))break;if(!(+g[V+(x<<2)>>2]>-(j*f)))break;g[V+(x<<2)>>2]=-(j*f);break}}while(0);g[V+(x<<2)>>2]=+g[d+248>>2]*+g[V+(x<<2)>>2];i=ga;return}function Hc(d,e){d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0;pa=c[d+28>>2]|0;qa=c[d+32>>2]|0;q=c[e+24>>2]|0;if(!(a[d+739>>0]|0)){z=+g[d+552>>2];S=+g[pa+4>>2];A=+g[d+568>>2];T=+g[pa+8>>2];B=+g[d+584>>2];U=+g[pa+12>>2];C=+g[d+556>>2];D=+g[d+572>>2];E=+g[d+588>>2];V=+g[d+560>>2];W=+g[d+576>>2];X=+g[d+592>>2];Y=+g[pa+20>>2];Z=+g[pa+24>>2];_=+g[pa+28>>2];$=+g[pa+36>>2];aa=+g[pa+40>>2];ba=+g[pa+44>>2];l=+g[d+600>>2];m=+g[d+604>>2];o=+g[d+608>>2];r=+g[pa+52>>2];u=+g[pa+56>>2];v=+g[pa+60>>2];F=+g[qa+4>>2];G=+g[qa+8>>2];H=+g[qa+12>>2];I=+g[d+624>>2];J=+g[d+640>>2];K=+g[d+656>>2];L=+g[qa+20>>2];M=+g[qa+24>>2];N=+g[qa+28>>2];P=+g[qa+36>>2];Q=+g[qa+40>>2];R=+g[qa+44>>2];na=+g[d+664>>2];oa=+g[d+668>>2];y=+g[d+672>>2];w=+g[qa+52>>2]+(F*na+G*oa+H*y);x=L*na+M*oa+N*y+ +g[qa+56>>2];y=P*na+Q*oa+R*y+ +g[qa+60>>2];t=b[d+736>>1]|0;if(!((t&255)<<24>>24)){i=c[e+8>>2]|0;g[i>>2]=1.0;g[i+(q+1<<2)>>2]=1.0;g[i+((q<<1)+2<<2)>>2]=1.0;i=c[e+16>>2]|0;g[i>>2]=-1.0;g[i+(q+1<<2)>>2]=-1.0;g[i+((q<<1)+2<<2)>>2]=-1.0;i=q<<1;f=+g[pa+52>>2];h=+g[pa+56>>2];k=+g[pa+60>>2]}else{i=q<<1;f=r;h=u;k=v}f=r+(S*l+T*m+U*o)-f;oa=Y*l+Z*m+_*o+u-h;na=$*l+aa*m+ba*o+v-k;j=c[e+12>>2]|0;n=j+(i<<2)|0;c[j>>2]=0;g[j+4>>2]=na;g[j+8>>2]=-oa;g[j+12>>2]=0.0;g[j+(q<<2)>>2]=-na;c[j+(q<<2)+4>>2]=0;g[j+(q<<2)+8>>2]=f;g[j+(q<<2)+12>>2]=0.0;g[n>>2]=oa;g[n+4>>2]=-f;c[n+8>>2]=0;g[n+12>>2]=0.0;f=w-+g[qa+52>>2];oa=x-+g[qa+56>>2];na=y-+g[qa+60>>2];n=c[e+20>>2]|0;i=n+(i<<2)|0;c[n>>2]=0;g[n+4>>2]=-na;g[n+8>>2]=oa;g[n+12>>2]=0.0;g[n+(q<<2)>>2]=na;c[n+(q<<2)+4>>2]=0;g[n+(q<<2)+8>>2]=-f;g[n+(q<<2)+12>>2]=0.0;g[i>>2]=-oa;g[i+4>>2]=f;c[i+8>>2]=0;g[i+12>>2]=0.0;f=+g[e>>2]*+g[e+4>>2];i=c[e+28>>2]|0;if(!((t&255)<<24>>24)){g[i>>2]=f*(w-(r+(S*l+T*m+U*o)));g[i+(q<<2)>>2]=f*(x-(Y*l+Z*m+_*o+u));g[i+(q<<1<<2)>>2]=f*(y-($*l+aa*m+ba*o+v))}s=c[e+24>>2]|0;g[j+(s*3<<2)>>2]=z*S+A*T+B*U;g[j+((s*3|0)+1<<2)>>2]=z*Y+A*Z+B*_;g[j+((s*3|0)+2<<2)>>2]=z*$+A*aa+B*ba;g[j+(s<<2<<2)>>2]=S*C+T*D+U*E;g[j+((s<<2|1)<<2)>>2]=C*Y+D*Z+E*_;g[j+((s<<2|2)<<2)>>2]=C*$+D*aa+E*ba;g[n+(s*3<<2)>>2]=-(z*S+A*T+B*U);g[n+((s*3|0)+1<<2)>>2]=-(z*Y+A*Z+B*_);g[n+((s*3|0)+2<<2)>>2]=-(z*$+A*aa+B*ba);g[n+(s<<2<<2)>>2]=-(S*C+T*D+U*E);g[n+((s<<2|1)<<2)>>2]=-(C*Y+D*Z+E*_);g[n+((s<<2|2)<<2)>>2]=-(C*$+D*aa+E*ba);na=(V*Y+W*Z+X*_)*(I*P+J*Q+K*R)-(V*$+W*aa+X*ba)*(I*L+J*M+K*N);oa=(V*$+W*aa+X*ba)*(F*I+G*J+H*K)-(S*V+T*W+U*X)*(I*P+J*Q+K*R);ma=(S*V+T*W+U*X)*(I*L+J*M+K*N)-(V*Y+W*Z+X*_)*(F*I+G*J+H*K);g[i+(s*3<<2)>>2]=((z*$+A*aa+B*ba)*ma+((z*S+A*T+B*U)*na+(z*Y+A*Z+B*_)*oa))*f;g[i+(s<<2<<2)>>2]=((C*$+D*aa+E*ba)*ma+((S*C+T*D+U*E)*na+(C*Y+D*Z+E*_)*oa))*f;if(!(a[d+716>>0]|0)){q=0;r=0.0}else{r=+g[d+708>>2]*+g[d+732>>2];q=r>0.0?1:2}p=(q|0)!=0;if(!((t&65535)>>>8&65535|q))return;g[j+(s*5<<2)>>2]=S*V+T*W+U*X;g[j+((s*5|0)+1<<2)>>2]=V*Y+W*Z+X*_;g[j+((s*5|0)+2<<2)>>2]=V*$+W*aa+X*ba;g[n+(s*5<<2)>>2]=-(S*V+T*W+U*X);g[n+((s*5|0)+1<<2)>>2]=-(V*Y+W*Z+X*_);g[n+((s*5|0)+2<<2)>>2]=-(V*$+W*aa+X*ba);h=+g[d+688>>2];k=+g[d+692>>2];f=+eh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+eh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;n=i+(s*5<<2)|0;g[n>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!((t&65535)>>>8<<16>>16==0|p&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k0.0)if(k<=f&f-hf?0.0:1.0;break}else f=0.0}else f=h;while(0);g[n>>2]=f*l*+g[d+732>>2]+ +g[n>>2];g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s*5<<2)>>2]=c[d+684>>2]}if(!p)return;g[n>>2]=+g[n>>2]+r*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s*5<<2)|0;i=c[e+40>>2]|0;if((q|0)==1){g[j>>2]=0.0;g[i+(s*5<<2)>>2]=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;g[i+(s*5<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(s*5<<2)>>2]=3402823466385288598117041.0e14}while(0);h=+g[d+704>>2];do if(h>0.0){f=(S*V+T*W+U*X)*+g[pa+328>>2]+(V*Y+W*Z+X*_)*+g[pa+332>>2]+(V*$+W*aa+X*ba)*+g[pa+336>>2]-((S*V+T*W+U*X)*+g[qa+328>>2]+(V*Y+W*Z+X*_)*+g[qa+332>>2]+(V*$+W*aa+X*ba)*+g[qa+336>>2]);if((q|0)==1){if(!(f<0.0))break;if(!(+g[n>>2]<-(h*f)))break;g[n>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[n>>2]>-(h*f)))break;g[n>>2]=-(h*f);break}}while(0);g[n>>2]=+g[d+700>>2]*+g[n>>2];return}W=+g[pa+4>>2];X=+g[pa+8>>2];Y=+g[pa+12>>2];u=+g[d+556>>2];x=+g[d+572>>2];z=+g[d+588>>2];Z=+g[d+560>>2];_=+g[d+576>>2];$=+g[d+592>>2];aa=+g[pa+20>>2];ba=+g[pa+24>>2];ca=+g[pa+28>>2];da=+g[pa+36>>2];ea=+g[pa+40>>2];fa=+g[pa+44>>2];ha=+g[d+600>>2];ga=+g[d+604>>2];o=+g[d+608>>2];h=+g[pa+52>>2]+(W*ha+X*ga+Y*o);w=aa*ha+ba*ga+ca*o+ +g[pa+56>>2];o=da*ha+ea*ga+fa*o+ +g[pa+60>>2];ga=+g[qa+4>>2];ha=+g[qa+8>>2];ia=+g[qa+12>>2];ja=+g[d+624>>2];ka=+g[d+640>>2];P=+g[d+656>>2];Q=+g[qa+20>>2];R=+g[qa+24>>2];S=+g[qa+28>>2];T=+g[qa+36>>2];U=+g[qa+40>>2];V=+g[qa+44>>2];r=+g[d+664>>2];y=+g[d+668>>2];k=+g[d+672>>2];f=+g[qa+52>>2];v=+g[qa+56>>2];m=+g[qa+60>>2];J=f+(ga*r+ha*y+ia*k)-h;K=Q*r+R*y+S*k+v-w;L=T*r+U*y+V*k+m-o;A=+g[(c[d+28>>2]|0)+344>>2];B=+g[(c[d+32>>2]|0)+344>>2];I=A+B>0.0?B/(A+B):.5;la=(W*Z+X*_+Y*$)*I+(ga*ja+ha*ka+ia*P)*(1.0-I);ma=(Z*aa+_*ba+$*ca)*I+(ja*Q+ka*R+P*S)*(1.0-I);na=(Z*da+_*ea+$*fa)*I+(ja*T+ka*U+P*V)*(1.0-I);oa=1.0/+O(+(la*la+ma*ma+na*na));C=(f+(ga*r+ha*y+ia*k)-f)*la*oa+(Q*r+R*y+S*k+v-v)*ma*oa+(T*r+U*y+V*k+m-m)*na*oa;f=f+(ga*r+ha*y+ia*k)-f-la*oa*C;v=Q*r+R*y+S*k+v-v-ma*oa*C;m=T*r+U*y+V*k+m-m-na*oa*C;h=h-+g[pa+52>>2];w=w-+g[pa+56>>2];o=o-+g[pa+60>>2];k=la*oa*(h*la*oa+w*ma*oa+o*na*oa);y=ma*oa*(h*la*oa+w*ma*oa+o*na*oa);r=na*oa*(h*la*oa+w*ma*oa+o*na*oa);G=h-k+I*(k-la*oa*C);H=w-y+I*(y-ma*oa*C);F=o-r+I*(r-na*oa*C);D=f-(1.0-I)*(k-la*oa*C);E=v-(1.0-I)*(y-ma*oa*C);C=m-(1.0-I)*(r-na*oa*C);l=(I*f+(1.0-I)*(h-k))*(I*f+(1.0-I)*(h-k))+(I*v+(1.0-I)*(w-y))*(I*v+(1.0-I)*(w-y))+(I*m+(1.0-I)*(o-r))*(I*m+(1.0-I)*(o-r));if(l>1.1920928955078125e-07){z=1.0/+O(+l);N=(I*f+(1.0-I)*(h-k))*z;M=z*(I*m+(1.0-I)*(o-r));w=z*(I*v+(1.0-I)*(w-y))}else{N=W*u+X*x+Y*z;M=u*da+x*ea+z*fa;w=u*aa+x*ba+z*ca}r=ma*oa*M-na*oa*w;u=na*oa*N-M*la*oa;v=w*la*oa-ma*oa*N;t=c[e+12>>2]|0;g[t>>2]=H*M-F*w;g[t+4>>2]=F*N-G*M;g[t+8>>2]=G*w-H*N;t=c[e+20>>2]|0;g[t>>2]=-(E*M-C*w);g[t+4>>2]=-(C*N-D*M);g[t+8>>2]=-(D*w-E*N);if(A<1.1920928955078125e-07|B<1.1920928955078125e-07?(a[d+716>>0]|0)!=0:0){f=(1.0-I)*(E*v-C*u);h=(1.0-I)*(C*r-D*v);k=(1.0-I)*(D*u-E*r);l=I*(H*v-F*u);m=I*(F*r-G*v);o=I*(G*u-H*r)}else{f=E*v-C*u;h=C*r-D*v;k=D*u-E*r;l=H*v-F*u;m=F*r-G*v;o=G*u-H*r}t=(c[e+12>>2]|0)+(q<<2)|0;g[t>>2]=l;g[t+4>>2]=m;g[t+8>>2]=o;t=c[e+20>>2]|0;g[t+(q<<2)>>2]=-f;g[t+(q+1<<2)>>2]=-h;g[t+(q+2<<2)>>2]=-k;if(A<1.1920928955078125e-07|B<1.1920928955078125e-07){o=(1.0-I)*(E*na*oa-C*ma*oa);m=(1.0-I)*(C*la*oa-D*na*oa);l=(1.0-I)*(D*ma*oa-E*la*oa);k=I*(H*na*oa-F*ma*oa);h=I*(F*la*oa-G*na*oa);f=I*(G*ma*oa-H*la*oa)}else{o=E*na*oa-C*ma*oa;m=C*la*oa-D*na*oa;l=D*ma*oa-E*la*oa;k=H*na*oa-F*ma*oa;h=F*la*oa-G*na*oa;f=G*ma*oa-H*la*oa}i=(c[e+12>>2]|0)+(q<<1<<2)|0;g[i>>2]=k;g[i+4>>2]=h;g[i+8>>2]=f;i=c[e+20>>2]|0;g[i+(q<<1<<2)>>2]=-o;g[i+((q<<1|1)<<2)>>2]=-m;g[i+((q<<1)+2<<2)>>2]=-l;f=+g[e>>2]*+g[e+4>>2];if(!(a[d+736>>0]|0)){p=c[e+8>>2]|0;g[p>>2]=N;g[p+4>>2]=w;g[p+8>>2]=M;p=(c[e+8>>2]|0)+(q<<2)|0;g[p>>2]=r;g[p+4>>2]=u;g[p+8>>2]=v;p=(c[e+8>>2]|0)+(q<<1<<2)|0;g[p>>2]=la*oa;g[p+4>>2]=ma*oa;g[p+8>>2]=na*oa;p=c[e+16>>2]|0;h=-N;g[p>>2]=h;g[p+4>>2]=-w;g[p+8>>2]=-M;p=c[e+16>>2]|0;g[p+(q<<2)>>2]=-r;g[p+(q+1<<2)>>2]=-u;g[p+(q+2<<2)>>2]=-v;p=c[e+16>>2]|0;g[p+(q<<1<<2)>>2]=-(la*oa);g[p+((q<<1|1)<<2)>>2]=-(ma*oa);g[p+((q<<1)+2<<2)>>2]=-(na*oa);p=c[e+28>>2]|0;g[p>>2]=f*(J*N+K*w+L*M);g[p+(q<<2)>>2]=f*(J*r+K*u+L*v);g[p+(q<<1<<2)>>2]=f*(J*la*oa+K*ma*oa+L*na*oa);f=h;h=-r;k=-u;l=-v;i=c[e+20>>2]|0}else{f=-N;h=-r;k=-u;l=-v;p=c[e+28>>2]|0}j=c[e+12>>2]|0;g[j+(q*3<<2)>>2]=N;g[j+((q*3|0)+1<<2)>>2]=w;g[j+((q*3|0)+2<<2)>>2]=M;g[j+(q<<2<<2)>>2]=r;g[j+((q<<2|1)<<2)>>2]=u;g[j+((q<<2|2)<<2)>>2]=v;g[i+(q*3<<2)>>2]=f;g[i+((q*3|0)+1<<2)>>2]=-w;g[i+((q*3|0)+2<<2)>>2]=-M;g[i+(q<<2<<2)>>2]=h;g[i+((q<<2|1)<<2)>>2]=k;g[i+((q<<2|2)<<2)>>2]=l;K=+g[e>>2]*+g[e+4>>2];L=(Z*aa+_*ba+$*ca)*(ja*T+ka*U+P*V)-(Z*da+_*ea+$*fa)*(ja*Q+ka*R+P*S);fa=(Z*da+_*ea+$*fa)*(ga*ja+ha*ka+ia*P)-(W*Z+X*_+Y*$)*(ja*T+ka*U+P*V);ka=(W*Z+X*_+Y*$)*(ja*Q+ka*R+P*S)-(Z*aa+_*ba+$*ca)*(ga*ja+ha*ka+ia*P);g[p+(q*3<<2)>>2]=K*(L*N+fa*w+ka*M);g[p+(q<<2<<2)>>2]=K*(L*r+fa*u+ka*v);if(!(a[d+716>>0]|0)){t=0;r=0.0}else{r=+g[d+708>>2]*+g[d+732>>2];t=r>0.0?1:2}n=a[d+737>>0]|0;q=(t|0)!=0;if(!(n&255|t))return;s=(c[e+24>>2]|0)*5|0;g[j+(s<<2)>>2]=la*oa;g[j+(s+1<<2)>>2]=ma*oa;g[j+(s+2<<2)>>2]=na*oa;g[i+(s<<2)>>2]=-(la*oa);g[i+(s+1<<2)>>2]=-(ma*oa);g[i+(s+2<<2)>>2]=-(na*oa);h=+g[d+688>>2];k=+g[d+692>>2];f=+eh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+eh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;p=p+(s<<2)|0;g[p>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!(n<<24>>24==0|q&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k0.0)if(k<=f&f-hf?0.0:1.0;break}else f=0.0}else f=h;while(0);g[p>>2]=f*l*+g[d+732>>2]+ +g[p>>2];g[(c[e+36>>2]|0)+(s<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s<<2)>>2]=c[d+684>>2]}if(!q)return;g[p>>2]=+g[p>>2]+r*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s<<2)|0;i=c[e+40>>2]|0;if((t|0)==1){g[j>>2]=0.0;g[i+(s<<2)>>2]=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;g[i+(s<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(s<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(s<<2)>>2]=3402823466385288598117041.0e14}while(0);h=+g[d+704>>2];do if(h>0.0){f=+g[pa+328>>2]*la*oa+ +g[pa+332>>2]*ma*oa+ +g[pa+336>>2]*na*oa-(la*oa*+g[qa+328>>2]+ma*oa*+g[qa+332>>2]+na*oa*+g[qa+336>>2]);if((t|0)==1){if(!(f<0.0))break;if(!(+g[p>>2]<-(h*f)))break;g[p>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[p>>2]>-(h*f)))break;g[p>>2]=-(h*f);break}}while(0);g[p>>2]=+g[d+700>>2]*+g[p>>2];return}function Ic(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=+k;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0;F=i;i=i+896|0;E=c[h+4>>2]|0;D=c[h+12>>2]|0;w=c[E+4>>2]|0;if((w|0)<20){c[F+712>>2]=3708;c[F+712+168>>2]=0;g[F+712+172>>2]=k;c[F+712+164>>2]=c[j+4>>2];g[F+352+308>>2]=9.999999747378752e-05;a[F+352+332>>0]=0;c[F+288>>2]=9120;c[F+64>>2]=9188;c[F+64+4>>2]=F+352;c[F+64+8>>2]=F+288;c[F+64+12>>2]=d;c[F+64+16>>2]=E;c[F+64+20>>2]=0;if((Xd(F+64|0,e,f,D,D,F+712|0)|0?(l=F+712+132|0,m=+g[l>>2],n=+g[F+712+136>>2],p=+g[F+712+140>>2],m*m+n*n+p*p>9.999999747378752e-05):0)?(t=+g[F+712+164>>2],t<+g[j+4>>2]):0){k=1.0/+O(+(m*m+n*n+p*p));g[l>>2]=m*k;g[F+712+136>>2]=n*k;g[F+712+140>>2]=p*k;c[F+16>>2]=c[h+8>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[l>>2];c[F+16+8+4>>2]=c[l+4>>2];c[F+16+8+8>>2]=c[l+8>>2];c[F+16+8+12>>2]=c[l+12>>2];c[F+16+24>>2]=c[F+712+148>>2];c[F+16+24+4>>2]=c[F+712+148+4>>2];c[F+16+24+8>>2]=c[F+712+148+8>>2];c[F+16+24+12>>2]=c[F+712+148+12>>2];g[F+16+40>>2]=t;+_b[c[(c[j>>2]|0)+12>>2]&15](j,F+16|0,1)}i=F;return}if((w+-21|0)>>>0>=9){if((w|0)!=31){i=F;return}li(15534);if((c[E+16>>2]|0)>0){l=0;do{u=c[E+24>>2]|0;m=+g[u+(l*80|0)>>2];p=+g[u+(l*80|0)+4>>2];s=+g[u+(l*80|0)+8>>2];n=+g[u+(l*80|0)+16>>2];q=+g[u+(l*80|0)+20>>2];v=+g[u+(l*80|0)+24>>2];o=+g[u+(l*80|0)+32>>2];r=+g[u+(l*80|0)+36>>2];y=+g[u+(l*80|0)+40>>2];N=+g[u+(l*80|0)+48>>2];M=+g[u+(l*80|0)+52>>2];C=+g[u+(l*80|0)+56>>2];u=c[u+(l*80|0)+64>>2]|0;L=+g[D>>2];K=+g[D+4>>2];J=+g[D+8>>2];I=+g[D+16>>2];H=+g[D+20>>2];G=+g[D+24>>2];t=+g[D+32>>2];x=+g[D+36>>2];z=+g[D+40>>2];A=N*L+M*K+C*J+ +g[D+48>>2];B=N*I+M*H+C*G+ +g[D+52>>2];C=N*t+M*x+C*z+ +g[D+56>>2];g[F+712>>2]=m*L+n*K+o*J;g[F+712+4>>2]=p*L+q*K+r*J;g[F+712+8>>2]=s*L+v*K+y*J;g[F+712+12>>2]=0.0;g[F+712+16>>2]=m*I+n*H+o*G;g[F+712+20>>2]=p*I+q*H+r*G;g[F+712+24>>2]=s*I+v*H+y*G;g[F+712+28>>2]=0.0;g[F+712+32>>2]=m*t+n*x+o*z;g[F+712+36>>2]=p*t+q*x+r*z;g[F+712+40>>2]=s*t+v*x+y*z;g[F+712+44>>2]=0.0;g[F+712+48>>2]=A;g[F+712+52>>2]=B;g[F+712+56>>2]=C;g[F+712+60>>2]=0.0;b[F+352+8>>1]=1;b[F+352+10>>1]=-1;c[F+352>>2]=5912;c[F+352+12>>2]=j;c[F+352+16>>2]=l;c[F+352+4>>2]=c[j+4>>2];w=c[h+8>>2]|0;c[F+288>>2]=h;c[F+288+4>>2]=u;c[F+288+8>>2]=w;c[F+288+12>>2]=F+712;c[F+288+16>>2]=-1;c[F+288+20>>2]=l;Ic(d,e,f,F+288|0,F+352|0,k);l=l+1|0}while((l|0)<(c[E+16>>2]|0))}l=c[2357]|0;E=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=E;if(E|0){i=F;return}do if(c[l+4>>2]|0){tb(F+712|0,0)|0;E=c[6434]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[F+712+4>>2]|0)-(c[E+4>>2]|0)+(((c[F+712>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[2357]|0;break}else{i=F;return}}while(0);c[2357]=c[l+20>>2];i=F;return}switch(w|0){case 21:{p=+g[D>>2];q=+g[D+16>>2];r=+g[D+32>>2];s=+g[D+4>>2];t=+g[D+20>>2];v=+g[D+36>>2];x=+g[D+8>>2];y=+g[D+24>>2];z=+g[D+40>>2];A=-+g[D+48>>2];B=-+g[D+52>>2];C=-+g[D+56>>2];o=+g[e+48>>2];n=+g[e+52>>2];m=+g[e+56>>2];g[F+352>>2]=p*A+q*B+r*C+(p*o+q*n+r*m);g[F+352+4>>2]=s*A+t*B+v*C+(s*o+t*n+v*m);g[F+352+8>>2]=x*A+y*B+z*C+(x*o+y*n+z*m);g[F+352+12>>2]=0.0;m=+g[f+48>>2];n=+g[f+52>>2];o=+g[f+56>>2];P=+g[f>>2];G=+g[f+16>>2];H=+g[f+32>>2];I=+g[f+4>>2];J=+g[f+20>>2];K=+g[f+36>>2];L=+g[f+8>>2];M=+g[f+24>>2];N=+g[f+40>>2];g[F+288>>2]=p*P+q*G+r*H;g[F+288+4>>2]=p*I+q*J+r*K;g[F+288+8>>2]=p*L+q*M+r*N;g[F+288+12>>2]=0.0;g[F+288+16>>2]=s*P+t*G+v*H;g[F+288+20>>2]=s*I+t*J+v*K;g[F+288+24>>2]=s*L+t*M+v*N;g[F+288+28>>2]=0.0;g[F+288+32>>2]=x*P+y*G+z*H;g[F+288+36>>2]=x*I+y*J+z*K;g[F+288+40>>2]=x*L+y*M+z*N;l=F+288+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;l=c[h+8>>2]|0;N=+Sb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+64>>2]=9048;c[F+64+4>>2]=d;c[F+64+8>>2]=c[e>>2];c[F+64+8+4>>2]=c[e+4>>2];c[F+64+8+8>>2]=c[e+8>>2];c[F+64+8+12>>2]=c[e+12>>2];c[F+64+24>>2]=c[e+16>>2];c[F+64+24+4>>2]=c[e+16+4>>2];c[F+64+24+8>>2]=c[e+16+8>>2];c[F+64+24+12>>2]=c[e+16+12>>2];c[F+64+40>>2]=c[e+32>>2];c[F+64+40+4>>2]=c[e+32+4>>2];c[F+64+40+8>>2]=c[e+32+8>>2];c[F+64+40+12>>2]=c[e+32+12>>2];c[F+64+56>>2]=c[e+48>>2];c[F+64+56+4>>2]=c[e+48+4>>2];c[F+64+56+8>>2]=c[e+48+8>>2];c[F+64+56+12>>2]=c[e+48+12>>2];c[F+64+72>>2]=c[f>>2];c[F+64+72+4>>2]=c[f+4>>2];c[F+64+72+8>>2]=c[f+8>>2];c[F+64+72+12>>2]=c[f+12>>2];c[F+64+88>>2]=c[f+16>>2];c[F+64+88+4>>2]=c[f+16+4>>2];c[F+64+88+8>>2]=c[f+16+8>>2];c[F+64+88+12>>2]=c[f+16+12>>2];c[F+64+104>>2]=c[f+32>>2];c[F+64+104+4>>2]=c[f+32+4>>2];c[F+64+104+8>>2]=c[f+32+8>>2];c[F+64+104+12>>2]=c[f+32+12>>2];c[F+64+120>>2]=c[f+48>>2];c[F+64+120+4>>2]=c[f+48+4>>2];c[F+64+120+8>>2]=c[f+48+8>>2];c[F+64+120+12>>2]=c[f+48+12>>2];c[F+64+136>>2]=c[D>>2];c[F+64+136+4>>2]=c[D+4>>2];c[F+64+136+8>>2]=c[D+8>>2];c[F+64+136+12>>2]=c[D+12>>2];c[F+64+152>>2]=c[D+16>>2];c[F+64+152+4>>2]=c[D+16+4>>2];c[F+64+152+8>>2]=c[D+16+8>>2];c[F+64+152+12>>2]=c[D+16+12>>2];c[F+64+168>>2]=c[D+32>>2];c[F+64+168+4>>2]=c[D+32+4>>2];c[F+64+168+8>>2]=c[D+32+8>>2];c[F+64+168+12>>2]=c[D+32+12>>2];c[F+64+184>>2]=c[D+48>>2];c[F+64+184+4>>2]=c[D+48+4>>2];c[F+64+184+8>>2]=c[D+48+8>>2];c[F+64+184+12>>2]=c[D+48+12>>2];g[F+64+204>>2]=N;c[F+64>>2]=5864;c[F+64+212>>2]=j;c[F+64+216>>2]=l;c[F+64+220>>2]=E;c[F+64+200>>2]=c[j+4>>2];g[F+64+208>>2]=k;mc[c[(c[d>>2]|0)+8>>2]&127](d,F+288|0,F+16|0,F);l=c[E+48>>2]|0;c[F+712>>2]=6904;c[F+712+4>>2]=l;c[F+712+8>>2]=F+64;l=c[E+52>>2]|0;if(!(a[l+60>>0]|0))Re(l,F+712|0,F+352|0,p*A+q*B+r*C+(p*m+q*n+r*o),s*A+t*B+v*C+(s*m+t*n+v*o),x*A+y*B+z*C+(x*m+y*n+z*o),F+16|0,F);else ze(l,F+712|0,F+352|0,p*A+q*B+r*C+(p*m+q*n+r*o),s*A+t*B+v*C+(s*m+t*n+v*o),x*A+y*B+z*C+(x*m+y*n+z*o),F+16|0,F,c[l+56>>2]|0);i=F;return}case 28:{c[F+712>>2]=3708;c[F+712+168>>2]=0;g[F+712+172>>2]=k;c[F+712+164>>2]=c[j+4>>2];c[F+352>>2]=9188;c[F+352+4>>2]=0;c[F+352+8>>2]=0;c[F+352+12>>2]=d;c[F+352+16>>2]=0;c[F+352+20>>2]=E;if((Xd(F+352|0,e,f,D,D,F+712|0)|0?(u=F+712+132|0,o=+g[u>>2],q=+g[F+712+136>>2],r=+g[F+712+140>>2],o*o+q*q+r*r>9.999999747378752e-05):0)?(s=+g[F+712+164>>2],s<+g[j+4>>2]):0){P=1.0/+O(+(o*o+q*q+r*r));g[u>>2]=o*P;g[F+712+136>>2]=q*P;g[F+712+140>>2]=r*P;c[F+288>>2]=c[h+8>>2];c[F+288+4>>2]=0;c[F+288+8>>2]=c[u>>2];c[F+288+8+4>>2]=c[u+4>>2];c[F+288+8+8>>2]=c[u+8>>2];c[F+288+8+12>>2]=c[u+12>>2];c[F+288+24>>2]=c[F+712+148>>2];c[F+288+24+4>>2]=c[F+712+148+4>>2];c[F+288+24+8>>2]=c[F+712+148+8>>2];c[F+288+24+12>>2]=c[F+712+148+12>>2];g[F+288+40>>2]=s;+_b[c[(c[j>>2]|0)+12>>2]&15](j,F+288|0,1)}i=F;return}default:{p=+g[D>>2];q=+g[D+16>>2];r=+g[D+32>>2];x=+g[D+4>>2];y=+g[D+20>>2];z=+g[D+36>>2];J=+g[D+8>>2];L=+g[D+24>>2];N=+g[D+40>>2];H=-+g[D+48>>2];G=-+g[D+52>>2];C=-+g[D+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];m=+g[e+56>>2];o=p*H+q*G+r*C+(p*A+q*B+r*m);n=x*H+y*G+z*C+(x*A+y*B+z*m);m=J*H+L*G+N*C+(J*A+L*B+N*m);B=+g[f+48>>2];A=+g[f+52>>2];v=+g[f+56>>2];s=p*H+q*G+r*C+(p*B+q*A+r*v);t=x*H+y*G+z*C+(x*B+y*A+z*v);v=J*H+L*G+N*C+(J*B+L*A+N*v);A=+g[f>>2];B=+g[f+16>>2];C=+g[f+32>>2];G=+g[f+4>>2];H=+g[f+20>>2];I=+g[f+36>>2];K=+g[f+8>>2];M=+g[f+24>>2];P=+g[f+40>>2];g[F+712>>2]=p*A+q*B+r*C;g[F+712+4>>2]=p*G+q*H+r*I;g[F+712+8>>2]=p*K+q*M+r*P;g[F+712+12>>2]=0.0;g[F+712+16>>2]=x*A+y*B+z*C;g[F+712+20>>2]=x*G+y*H+z*I;g[F+712+24>>2]=x*K+y*M+z*P;g[F+712+28>>2]=0.0;g[F+712+32>>2]=J*A+L*B+N*C;g[F+712+36>>2]=J*G+L*H+N*I;g[F+712+40>>2]=J*K+L*M+N*P;w=F+712+44|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;h=c[h+8>>2]|0;P=+Sb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+352>>2]=9048;c[F+352+4>>2]=d;c[F+352+8>>2]=c[e>>2];c[F+352+8+4>>2]=c[e+4>>2];c[F+352+8+8>>2]=c[e+8>>2];c[F+352+8+12>>2]=c[e+12>>2];c[F+352+24>>2]=c[e+16>>2];c[F+352+24+4>>2]=c[e+16+4>>2];c[F+352+24+8>>2]=c[e+16+8>>2];c[F+352+24+12>>2]=c[e+16+12>>2];c[F+352+40>>2]=c[e+32>>2];c[F+352+40+4>>2]=c[e+32+4>>2];c[F+352+40+8>>2]=c[e+32+8>>2];c[F+352+40+12>>2]=c[e+32+12>>2];c[F+352+56>>2]=c[e+48>>2];c[F+352+56+4>>2]=c[e+48+4>>2];c[F+352+56+8>>2]=c[e+48+8>>2];c[F+352+56+12>>2]=c[e+48+12>>2];c[F+352+72>>2]=c[f>>2];c[F+352+72+4>>2]=c[f+4>>2];c[F+352+72+8>>2]=c[f+8>>2];c[F+352+72+12>>2]=c[f+12>>2];c[F+352+88>>2]=c[f+16>>2];c[F+352+88+4>>2]=c[f+16+4>>2];c[F+352+88+8>>2]=c[f+16+8>>2];c[F+352+88+12>>2]=c[f+16+12>>2];c[F+352+104>>2]=c[f+32>>2];c[F+352+104+4>>2]=c[f+32+4>>2];c[F+352+104+8>>2]=c[f+32+8>>2];c[F+352+104+12>>2]=c[f+32+12>>2];c[F+352+120>>2]=c[f+48>>2];c[F+352+120+4>>2]=c[f+48+4>>2];c[F+352+120+8>>2]=c[f+48+8>>2];c[F+352+120+12>>2]=c[f+48+12>>2];c[F+352+136>>2]=c[D>>2];c[F+352+136+4>>2]=c[D+4>>2];c[F+352+136+8>>2]=c[D+8>>2];c[F+352+136+12>>2]=c[D+12>>2];c[F+352+152>>2]=c[D+16>>2];c[F+352+152+4>>2]=c[D+16+4>>2];c[F+352+152+8>>2]=c[D+16+8>>2];c[F+352+152+12>>2]=c[D+16+12>>2];c[F+352+168>>2]=c[D+32>>2];c[F+352+168+4>>2]=c[D+32+4>>2];c[F+352+168+8>>2]=c[D+32+8>>2];c[F+352+168+12>>2]=c[D+32+12>>2];c[F+352+184>>2]=c[D+48>>2];c[F+352+184+4>>2]=c[D+48+4>>2];c[F+352+184+8>>2]=c[D+48+8>>2];c[F+352+184+12>>2]=c[D+48+12>>2];g[F+352+204>>2]=P;c[F+352>>2]=5888;c[F+352+212>>2]=j;c[F+352+216>>2]=h;c[F+352+220>>2]=E;c[F+352+200>>2]=c[j+4>>2];g[F+352+208>>2]=k;mc[c[(c[d>>2]|0)+8>>2]&127](d,F+712|0,F+288|0,F+64|0);g[F+16>>2]=o;g[F+16+4>>2]=n;g[F+16+8>>2]=m;g[F+16+12>>2]=0.0;if(s>2]=s;p=s}else p=o;if(t>2]=t;q=t}else q=n;if(v>2]=v;r=v}else r=m;g[F>>2]=o;g[F+4>>2]=n;g[F+8>>2]=m;g[F+12>>2]=0.0;if(o>2]=s;o=s}if(n>2]=t;n=t}if(m>2]=v;m=v}g[F+16>>2]=+g[F+288>>2]+p;g[F+16+4>>2]=+g[F+288+4>>2]+q;g[F+16+8>>2]=+g[F+288+8>>2]+r;g[F>>2]=+g[F+64>>2]+o;g[F+4>>2]=+g[F+64+4>>2]+n;g[F+8>>2]=+g[F+64+8>>2]+m;mc[c[(c[E>>2]|0)+64>>2]&127](E,F+352|0,F+16|0,F);i=F;return}}}function Jc(d,e,f){d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0;t=i;i=i+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){i=t;return}a[d+168>>0]=(Eb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;j=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=j;if(j>0.0?(k=+g[d+28>>2],j>k):0){g[d+16>>2]=k;j=k}if(j<0.0?(r=+N(+j),m=+N(+(+g[d+24>>2])),r>m):0){g[d+16>>2]=-m;j=-m}g[d+20>>2]=j*f;h=c[d+8>>2]|0;c[t>>2]=c[h+4>>2];c[t+4>>2]=c[h+4+4>>2];c[t+8>>2]=c[h+4+8>>2];c[t+12>>2]=c[h+4+12>>2];c[t+16>>2]=c[h+20>>2];c[t+16+4>>2]=c[h+20+4>>2];c[t+16+8>>2]=c[h+20+8>>2];c[t+16+12>>2]=c[h+20+12>>2];c[t+32>>2]=c[h+36>>2];c[t+32+4>>2]=c[h+36+4>>2];c[t+32+8>>2]=c[h+36+8>>2];c[t+32+12>>2]=c[h+36+12>>2];c[t+48>>2]=c[h+52>>2];c[t+48+4>>2]=c[h+52+4>>2];c[t+48+8>>2]=c[h+52+8>>2];c[t+48+12>>2]=c[h+52+12>>2];h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}m=+g[d+20>>2];m=+g[d+52>>2]+(m>0.0?m:0.0);q=+g[24504+(h<<4)+4>>2]*m+ +g[d+96>>2];r=m*+g[24504+(h<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[24504+(h<<4)>>2]*m;g[d+116>>2]=q;g[d+120>>2]=r;g[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;h=t+456+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;h=t+392+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}l=c[d+12>>2]|0;m=+Sb[c[(c[l>>2]|0)+48>>2]&15](l);m=m+ +g[d+56>>2];q=m*+g[24504+(h<<4)+4>>2]+ +g[d+96>>2];r=m*+g[24504+(h<<4)+8>>2]+ +g[d+100>>2];g[t+456+48>>2]=+g[24504+(h<<4)>>2]*m+ +g[d+92>>2];g[t+456+52>>2]=q;g[t+456+56>>2]=r;g[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}m=-+g[24504+(l<<4)>>2];q=-+g[24504+(l<<4)+4>>2];r=-+g[24504+(l<<4)+8>>2];g[t+288+4>>2]=1.0;b[t+288+8>>1]=1;b[t+288+10>>1]=-1;p=t+288+12|0;c[t+288+76>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[t+288>>2]=4936;c[t+288+80>>2]=h;g[t+288+84>>2]=m;g[t+288+88>>2]=q;g[t+288+92>>2]=r;g[t+288+96>>2]=0.0;g[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;p=c[(c[h+188>>2]|0)+4>>2]|0;b[t+288+8>>1]=p;b[t+288+10>>1]=p>>>16;if(!(a[d+170>>0]|0))Kd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else wd(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+g[e+56>>2]);if(+g[t+288+4>>2]<1.0){h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}do if(+g[t+288+44>>2]*+g[24504+(h<<4)>>2]+ +g[t+288+48>>2]*+g[24504+(h<<4)+4>>2]+ +g[t+288+52>>2]*+g[24504+(h<<4)+8>>2]>0.0){j=+g[t+288+4>>2];g[d+108>>2]=+g[d+52>>2]*j;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=(1.0-j)*+g[d+96>>2]+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){q=+g[d+172>>2];r=q>f?f:q;g[d+172>>2]=q-f;he(d,e,r*+g[d+60>>2],r*+g[d+64>>2],r*+g[d+68>>2])}else he(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;if(j>0.0?(o=+g[d+24>>2],j>o):0){p=b[d+168>>1]|0;j=(p&255)<<24>>24!=0|(p&65535)<256?o:j}h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}o=j+ +g[d+108>>2];q=+g[24504+(h<<4)>>2]*o;r=o*+g[24504+(h<<4)+4>>2];o=o*+g[24504+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-q;g[d+116>>2]=+g[d+116>>2]-r;g[d+120>>2]=+g[d+120>>2]-o;h=c[d+8>>2]|0;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}n=c[d+40>>2]|0;p=t+168+4|0;g[p>>2]=1.0;b[t+168+8>>1]=1;b[t+168+10>>1]=-1;u=t+168+12|0;c[t+168+76>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=4936;c[t+168+80>>2]=h;c[t+168+84>>2]=c[24504+(l<<4)>>2];c[t+168+84+4>>2]=c[24504+(l<<4)+4>>2];c[t+168+84+8>>2]=c[24504+(l<<4)+8>>2];c[t+168+84+12>>2]=c[24504+(l<<4)+12>>2];c[t+168+100>>2]=n;h=c[d+8>>2]|0;l=c[(c[h+188>>2]|0)+4>>2]|0;b[t+168+8>>1]=l;b[t+168+10>>1]=l>>>16;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}u=c[d+40>>2]|0;g[t+64+4>>2]=1.0;b[t+64+8>>1]=1;b[t+64+10>>1]=-1;n=t+64+12|0;c[t+64+76>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[t+64>>2]=4936;c[t+64+80>>2]=h;c[t+64+84>>2]=c[24504+(l<<4)>>2];c[t+64+84+4>>2]=c[24504+(l<<4)+4>>2];c[t+64+84+8>>2]=c[24504+(l<<4)+8>>2];c[t+64+84+12>>2]=c[24504+(l<<4)+12>>2];c[t+64+100>>2]=u;h=c[(c[(c[d+8>>2]|0)+188>>2]|0)+4>>2]|0;b[t+64+8>>1]=h;b[t+64+10>>1]=h>>>16;j=+g[d+112>>2];k=+g[d+116>>2];m=+g[d+120>>2];h=0;while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+288+44+4>>2]=0;c[t+288+44+8>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];g[t+288+48>>2]=j-q;g[t+288+52>>2]=k-r;g[t+288+56>>2]=m-o;g[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){Kd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))Kd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}else{wd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))wd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}k=+g[d+16>>2];k=(k<0.0?-k:0.0)*f;n=(a[d+182>>0]|0)==0;if(!n?+g[p>>2]<1.0:0)l=1;else l=+g[t+64+4>>2]<1.0;if(!(k>0.0))break;j=+g[d+52>>2];if(h|(!(k>1]|0;if(!((u&255)<<24>>24!=0|(u&65535)<256)){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];h=c[d+176>>2]|0;do if(!(a[22560]|0)){if(!(Wa(22560)|0))break;c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}while(0);j=j+ +g[d+108>>2];k=j*+g[24504+(h<<4)+4>>2];m=j*+g[24504+(h<<4)+8>>2];j=+g[d+112>>2]-+g[24504+(h<<4)>>2]*j;g[d+112>>2]=j;k=+g[d+116>>2]-k;g[d+116>>2]=k;m=+g[d+120>>2]-m;g[d+120>>2]=m;h=1}m=+g[p>>2];if(h|m<1.0){j=+g[d+96>>2];k=(j-+g[t+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-k)*+g[d+92>>2]+k*+g[d+112>>2];g[d+96>>2]=(1.0-k)*j+k*+g[d+116>>2];g[d+100>>2]=(1.0-k)*+g[d+100>>2]+k*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*j+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*j+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;if((!n?(s=+g[d+24>>2],k>s):0)?(u=b[d+168>>1]|0,(u&255)<<24>>24!=0|(u&65535)<256):0){g[d+112>>2]=q+ +g[d+112>>2];g[d+116>>2]=r+ +g[d+116>>2];g[d+120>>2]=o+ +g[d+120>>2];h=c[d+176>>2]|0;do if(!(a[22560]|0)){if(!(Wa(22560)|0))break;c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}while(0);r=s+ +g[d+108>>2];f=r*+g[24504+(h<<4)+4>>2];s=r*+g[24504+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[24504+(h<<4)>>2]*r;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-s}c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];i=t;return}function Kc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;z=i;i=i+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=3180;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d)if(a[b+448>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);j=c[b+416>>2]|0;d=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((j|0)==(d|0)){s=14;break}else break}else{c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;s=14;break}else{a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;s=14}while(0);if((s|0)==14){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=22}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=22}if((s|0)==22){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=1;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=35}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=35}if((s|0)==35){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=2;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=48}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=48}if((s|0)==48){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=3;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=61}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=61}if((s|0)==61){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o}}else d=j;c[(c[b+424>>2]|0)+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[6435]=(c[6435]|0)+1;d=yc(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=3288;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;s=b+1192|0;t=s+36|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));g[b+1228>>2]=1.0;x=ph(b)|0;g[x+4>>2]=1.0;g[x+8>>2]=1.0;g[x+12>>2]=1.0;c[x+16>>2]=1;s=c[b+192>>2]|0;y=+Sb[c[(c[s>>2]|0)+48>>2]&15](s);s=z;t=s+100|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));o=c[b+712>>2]|0;if((o|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){d=0;j=o}else{c[6435]=(c[6435]|0)+1;d=yc((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=c[b+712>>2]|0}if((j|0)>0){l=0;do{s=d+(l*104|0)|0;m=(c[b+720>>2]|0)+(l*104|0)|0;t=s+104|0;do{c[s>>2]=c[m>>2];s=s+4|0;m=m+4|0}while((s|0)<(t|0));l=l+1|0}while((l|0)!=(j|0))}j=c[b+720>>2]|0;if(j|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=d;c[b+716>>2]=e;d=o}else d=o;do{s=c[b+720>>2]|0;c[s+(d*104|0)>>2]=0;s=s+(d*104|0)+4|0;m=z;t=s+100|0;do{c[s>>2]=c[m>>2];s=s+4|0;m=m+4|0}while((s|0)<(t|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){l=f;w=0;while(1){u=c[b+720>>2]|0;v=u+(w*104|0)|0;s=v;t=s+104|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));j=u+(w*104|0)+8|0;if(!l){f=0;d=0;m=0;o=0;n=0.0}else{f=l+16|0;d=c[l>>2]|0;m=c[l+4>>2]|0;o=c[l+8>>2]|0;n=+g[l+12>>2]}c[j>>2]=d;c[u+(w*104|0)+12>>2]=m;c[u+(w*104|0)+16>>2]=o;g[u+(w*104|0)+20>>2]=n;t=u+(w*104|0)+24|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2];r=(c[k>>2]=d,+g[k>>2]);q=(c[k>>2]=m,+g[k>>2]);p=(c[k>>2]=o,+g[k>>2]);if(!h){j=0;n=1.0}else{j=h+4|0;n=+g[h>>2]}g[u+(w*104|0)+88>>2]=n>0.0?1.0/n:0.0;d=c[b+932>>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}s=d;t=s+44|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=v;c[d+40>>2]=0;g[d>>2]=r-y;g[d+4>>2]=q-y;g[d+8>>2]=p-y;g[d+12>>2]=0.0;g[d+16>>2]=y+r;g[d+20>>2]=y+q;g[d+24>>2]=y+p;g[d+28>>2]=0.0;lf(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[u+(w*104|0)+96>>2]=d;c[u+(w*104|0)+4>>2]=x;w=w+1|0;if((w|0)==(e|0))break;else{h=j;l=f}}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;i=z;return}e=c[b+192>>2]|0;q=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);y=+g[d+4>>2]-q;r=+g[d+8>>2]-q;g[b+892>>2]=+g[d>>2]-q;g[b+896>>2]=y;g[b+900>>2]=r;g[b+904>>2]=0.0;r=q+ +g[d+20>>2];y=q+ +g[d+24>>2];g[b+908>>2]=q+ +g[d+16>>2];g[b+912>>2]=r;g[b+916>>2]=y;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){i=z;return}e=c[b+684>>2]|0;x=c[e+32>>2]|0;yb[c[(c[x>>2]|0)+16>>2]&31](x,d,b+892|0,b+908|0,c[e+36>>2]|0);i=z;return}function Lc(d,f,h){d=d|0;f=f|0;h=h|0;var j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=i;i=i+112|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){p=(c[d+96>>2]|0)+(H<<6)|0;q=(c[d+76>>2]|0)+(f<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{J=(c[d+136>>2]|0)+(H<<4)|0;I=(c[d+116>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;i=K;return}if((h|0)>(f|0)){m=(a[d+60>>0]|0)==0;if(m){j=c[d+76>>2]|0;k=f;n=0.0;o=0.0;l=0.0;do{n=n+(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5;l=l+(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5;o=o+(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5;k=k+1|0}while((k|0)!=(h|0))}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];k=f;n=0.0;o=0.0;l=0.0;do{n=n+(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5;l=l+(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5;o=o+(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5;k=k+1|0}while((k|0)!=(h|0))}C=1.0/+(h-f|0);E=C*n;D=C*l;C=C*o;if(m){j=c[d+76>>2]|0;k=f;o=0.0;n=0.0;l=0.0;do{x=(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5-E;y=(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5-D;z=(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5-C;o=o+x*x;l=l+y*y;n=n+z*z;k=k+1|0}while((k|0)!=(h|0));s=+(h-f|0)}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];k=f;o=0.0;n=0.0;l=0.0;do{N=(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5-E;M=(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5-C;o=o+N*N;l=l+M*M;n=n+L*L;k=k+1|0}while((k|0)!=(h|0));s=+(h-f|0)}}else{s=+(h-f|0);o=0.0;n=0.0;l=0.0}N=1.0/(s+-1.0);M=N*o;L=N*l;N=N*n;w=M>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;o=0.0;n=0.0;l=0.0;k=f;do{o=(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5+o;n=(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5+n;l=(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5+l;k=k+1|0}while((k|0)!=(h|0))}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];o=0.0;n=0.0;l=0.0;k=f;do{o=(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5+o;n=(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5+n;l=(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5+l;k=k+1|0}while((k|0)!=(h|0))}g[K+16>>2]=o;g[K+16+4>>2]=n;g[K+16+8>>2]=l;j=K+16|0}else{j=K+16|0;o=0.0;n=0.0;l=0.0}g[j>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*n;g[K+16+8>>2]=1.0/+(h-f|0)*l;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){v=f;j=f;do{k=(a[d+60>>0]|0)==0;if(k){G=c[d+76>>2]|0;l=+g[G+(v<<6)>>2];n=+g[G+(v<<6)+16>>2];o=+g[G+(v<<6)+4>>2];s=+g[G+(v<<6)+20>>2];t=+g[G+(v<<6)+8>>2];u=+g[G+(v<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];n=+g[d+4>>2];s=+g[d+8>>2];u=+g[d+12>>2];l=+(e[G+(v<<4)>>1]|0)/o+n;n=+(e[G+(v<<4)+6>>1]|0)/o+n;o=+(e[G+(v<<4)+2>>1]|0)/t+s;s=+(e[G+(v<<4)+8>>1]|0)/t+s;t=+(e[G+(v<<4)+4>>1]|0)/N+u;u=+(e[G+(v<<4)+10>>1]|0)/N+u}g[K>>2]=(n+l)*.5;g[K+4>>2]=(s+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(k){k=c[d+76>>2]|0;m=k+(v<<6)|0;p=K+48|0;q=m;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=m;q=k+(j<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=(c[d+76>>2]|0)+(j<<6)|0;q=K+48|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+48>>2]=c[G>>2];c[K+48+4>>2]=c[G+4>>2];c[K+48+8>>2]=c[G+8>>2];c[K+48+12>>2]=c[G+12>>2];F=F+(j<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(j<<4)|0;c[G>>2]=c[K+48>>2];c[G+4>>2]=c[K+48+4>>2];c[G+8>>2]=c[K+48+8>>2];c[G+12>>2]=c[K+48+12>>2]}j=j+1|0}v=v+1|0}while((v|0)!=(h|0))}else j=f;if(!((j|0)>(((h-f|0)/3|0)+f|0)?(j|0)<(h+-1-((h-f|0)/3|0)|0):0))j=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65534;b[F+(G<<4)+2>>1]=~~M&65534;b[F+(G<<4)+4>>1]=~~N&65534}k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(k<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(k<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(k<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(k<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;B=f;do{if(!(A<<24>>24)){k=c[d+76>>2]|0;l=+g[k+(B<<6)>>2];n=+g[k+(B<<6)+4>>2];o=+g[k+(B<<6)+8>>2];s=+g[k+(B<<6)+12>>2];t=+g[k+(B<<6)+16>>2];u=+g[k+(B<<6)+20>>2];x=+g[k+(B<<6)+24>>2];y=+g[k+(B<<6)+28>>2];k=c[d+96>>2]|0;if(l<+g[k+(F<<6)>>2])g[k+(F<<6)>>2]=l;if(n<+g[k+(F<<6)+4>>2])g[k+(F<<6)+4>>2]=n;if(o<+g[k+(F<<6)+8>>2])g[k+(F<<6)+8>>2]=o;if(s<+g[k+(F<<6)+12>>2])g[k+(F<<6)+12>>2]=s;if(+g[k+(F<<6)+16>>2]>2]=t;if(+g[k+(F<<6)+20>>2]>2]=u;if(+g[k+(F<<6)+24>>2]>2]=x;if(+g[k+(F<<6)+28>>2]>2]=y}else{q=c[d+116>>2]|0;s=+g[d+36>>2];E=+g[d+40>>2];y=+g[d+44>>2];t=+g[d+4>>2];L=+g[d+8>>2];z=+g[d+12>>2];u=+g[d+4>>2];M=+g[d+8>>2];C=+g[d+12>>2];x=+g[d+36>>2];N=+g[d+40>>2];D=+g[d+44>>2];r=~~((+(e[q+(B<<4)>>1]|0)/s+t-u)*x)&65534;k=~~((+(e[q+(B<<4)+4>>1]|0)/y+z-C)*D)&65534;p=~~((+(e[q+(B<<4)+2>>1]|0)/E+L-M)*N)&65534;v=(~~((+(e[q+(B<<4)+6>>1]|0)/s+t-u)*x+1.0)&65535|1)&65535;m=(~~((+(e[q+(B<<4)+10>>1]|0)/y+z-C)*D+1.0)&65535|1)&65535;q=(~~((+(e[q+(B<<4)+8>>1]|0)/E+L-M)*N+1.0)&65535|1)&65535;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(r&65535))b[w+(F<<4)>>1]=r;if((e[w+(F<<4)+6>>1]|0)<(v&65535))b[w+(F<<4)+6>>1]=v;if((e[w+(F<<4)+2>>1]|0)>(p&65535))b[w+(F<<4)+2>>1]=p;if((e[w+(F<<4)+8>>1]|0)<(q&65535))b[w+(F<<4)+8>>1]=q;if((e[w+(F<<4)+4>>1]|0)>(k&65535))b[w+(F<<4)+4>>1]=k;if((e[w+(F<<4)+10>>1]|0)<(m&65535))b[w+(F<<4)+10>>1]=m}B=B+1|0}while((B|0)!=(h|0))}c[d+56>>2]=F+1;Lc(d,f,j);A=c[d+56>>2]|0;Lc(d,j,h);w=(c[d+56>>2]|0)-H|0;j=a[d+60>>0]|0;if(j<<24>>24!=0&(w<<4|0)>2048){r=c[d+136>>2]|0;p=c[r+(F+1<<4)+12>>2]|0;p=(p|0)>-1?1:0-p|0;v=c[r+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((p<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=q|0?q<<1:1,(q|0)<(I|0)):0){if(!I){j=0;k=q}else{c[6435]=(c[6435]|0)+1;j=yc(I<<5|19)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[d+152>>2]|0}if((k|0)>0){m=0;do{h=j+(m<<5)|0;H=(c[d+160>>2]|0)+(m<<5)|0;c[h>>2]=c[H>>2];c[h+4>>2]=c[H+4>>2];c[h+8>>2]=c[H+8>>2];c[h+12>>2]=c[H+12>>2];c[h+16>>2]=c[H+16>>2];c[h+20>>2]=c[H+20>>2];c[h+24>>2]=c[H+24>>2];c[h+28>>2]=c[H+28>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[d+160>>2]|0;if(k|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=I;j=c[d+152>>2]|0}else j=q;c[d+152>>2]=j+1;I=(c[d+160>>2]|0)+(q<<5)|0;c[I>>2]=c[K+48>>2];c[I+4>>2]=c[K+48+4>>2];c[I+8>>2]=c[K+48+8>>2];c[I+12>>2]=c[K+48+12>>2];c[I+16>>2]=c[K+48+16>>2];c[I+20>>2]=c[K+48+20>>2];c[I+24>>2]=c[K+48+24>>2];c[I+28>>2]=c[K+48+28>>2];I=c[d+160>>2]|0;b[I+(q<<5)>>1]=b[r+(F+1<<4)>>1]|0;b[I+(q<<5)+2>>1]=b[r+(F+1<<4)+2>>1]|0;b[I+(q<<5)+4>>1]=b[r+(F+1<<4)+4>>1]|0;b[I+(q<<5)+6>>1]=b[r+(F+1<<4)+6>>1]|0;b[I+(q<<5)+8>>1]=b[r+(F+1<<4)+8>>1]|0;b[I+(q<<5)+10>>1]=b[r+(F+1<<4)+10>>1]|0;c[I+(q<<5)+12>>2]=F+1;c[I+(q<<5)+16>>2]=p}if((v<<4|0)<2049){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(J=p|0?p<<1:1,(p|0)<(J|0)):0){if(!J){j=0;k=p}else{c[6435]=(c[6435]|0)+1;j=yc(J<<5|19)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[d+152>>2]|0}if((k|0)>0){m=0;do{I=j+(m<<5)|0;h=(c[d+160>>2]|0)+(m<<5)|0;c[I>>2]=c[h>>2];c[I+4>>2]=c[h+4>>2];c[I+8>>2]=c[h+8>>2];c[I+12>>2]=c[h+12>>2];c[I+16>>2]=c[h+16>>2];c[I+20>>2]=c[h+20>>2];c[I+24>>2]=c[h+24>>2];c[I+28>>2]=c[h+28>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[d+160>>2]|0;if(k|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=J;j=c[d+152>>2]|0}else j=p;c[d+152>>2]=j+1;J=(c[d+160>>2]|0)+(p<<5)|0;c[J>>2]=c[K+16>>2];c[J+4>>2]=c[K+16+4>>2];c[J+8>>2]=c[K+16+8>>2];c[J+12>>2]=c[K+16+12>>2];c[J+16>>2]=c[K+16+16>>2];c[J+20>>2]=c[K+16+20>>2];c[J+24>>2]=c[K+16+24>>2];c[J+28>>2]=c[K+16+28>>2];J=c[d+160>>2]|0;b[J+(p<<5)>>1]=b[r+(A<<4)>>1]|0;b[J+(p<<5)+2>>1]=b[r+(A<<4)+2>>1]|0;b[J+(p<<5)+4>>1]=b[r+(A<<4)+4>>1]|0;b[J+(p<<5)+6>>1]=b[r+(A<<4)+6>>1]|0;b[J+(p<<5)+8>>1]=b[r+(A<<4)+8>>1]|0;b[J+(p<<5)+10>>1]=b[r+(A<<4)+10>>1]|0;c[J+(p<<5)+12>>2]=A;c[J+(p<<5)+16>>2]=v}c[d+168>>2]=c[d+152>>2];j=a[d+60>>0]|0}if(!(j<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;i=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;i=K;return}}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0;u=i;i=i+368|0;f=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;kc[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){i=u;return}do{t=f;f=f+-1|0;s=c[d+24>>2]|0;J=+g[s+(f*80|0)>>2];G=+g[s+(f*80|0)+4>>2];D=+g[s+(f*80|0)+8>>2];I=+g[s+(f*80|0)+16>>2];F=+g[s+(f*80|0)+20>>2];B=+g[s+(f*80|0)+24>>2];H=+g[s+(f*80|0)+32>>2];E=+g[s+(f*80|0)+36>>2];z=+g[s+(f*80|0)+40>>2];R=+g[s+(f*80|0)+48>>2];Q=+g[s+(f*80|0)+52>>2];v=+g[s+(f*80|0)+56>>2];s=c[s+(f*80|0)+64>>2]|0;r=c[(c[a>>2]|0)+28>>2]|0;P=+g[b>>2];O=+g[b+4>>2];N=+g[b+8>>2];M=+g[b+16>>2];L=+g[b+20>>2];K=+g[b+24>>2];C=+g[b+32>>2];A=+g[b+36>>2];y=+g[b+40>>2];x=R*P+Q*O+v*N+ +g[b+48>>2];w=R*M+Q*L+v*K+ +g[b+52>>2];v=R*C+Q*A+v*y+ +g[b+56>>2];g[u+288>>2]=J*P+I*O+H*N;g[u+288+4>>2]=G*P+F*O+E*N;g[u+288+8>>2]=D*P+B*O+z*N;g[u+288+12>>2]=0.0;g[u+288+16>>2]=J*M+I*L+H*K;g[u+288+20>>2]=G*M+F*L+E*K;g[u+288+24>>2]=D*M+B*L+z*K;g[u+288+28>>2]=0.0;g[u+288+32>>2]=J*C+I*A+H*y;g[u+288+36>>2]=G*C+F*A+E*y;g[u+288+40>>2]=D*C+B*A+z*y;g[u+288+44>>2]=0.0;g[u+288+48>>2]=x;g[u+288+52>>2]=w;g[u+288+56>>2]=v;g[u+288+60>>2]=0.0;mc[r&127](a,u+288|0,s,e)}while((t|0)>1);i=u;return}case 0:{c[u+352>>2]=c[d+28>>2];c[u+352+4>>2]=c[d+28+4>>2];c[u+352+8>>2]=c[d+28+8>>2];c[u+352+12>>2]=c[d+28+12>>2];P=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);Q=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);P=P+ +g[u+352>>2];g[u+352>>2]=P;Q=Q+ +g[u+352+4>>2];g[u+352+4>>2]=Q;R=R+ +g[u+352+8>>2];g[u+352+8>>2]=R;a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;d=c[(c[a>>2]|0)+72>>2]|0;g[u+272>>2]=-P;g[u+272+4>>2]=-Q;g[u+272+8>>2]=-R;g[u+272+12>>2]=0.0;yb[d&31](a,u+272|0,u+352|0,b,e);i=u;return}case 8:{R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Hb[c[(c[a>>2]|0)+16>>2]&0](a,R,b,e);i=u;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){i=u;return}do{t=f;f=f+-1|0;s=c[d+100>>2]|0;D=+g[s+(f<<4)>>2];E=+g[s+(f<<4)+4>>2];Q=+g[s+(f<<4)+8>>2];s=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[s>>2]|0)+16>>2]|0;R=+g[(c[d+120>>2]|0)+(f<<2)>>2];G=+g[b>>2];H=+g[b+4>>2];F=+g[b+8>>2];J=+g[b+16>>2];K=+g[b+20>>2];I=+g[b+24>>2];M=+g[b+32>>2];N=+g[b+36>>2];L=+g[b+40>>2];O=D*G+E*H+Q*F+ +g[b+48>>2];P=D*J+E*K+Q*I+ +g[b+52>>2];Q=D*M+E*N+Q*L+ +g[b+56>>2];g[u+192>>2]=G+H*0.0+F*0.0;g[u+192+4>>2]=G*0.0+H+F*0.0;g[u+192+8>>2]=F+(G*0.0+H*0.0);g[u+192+12>>2]=0.0;g[u+192+16>>2]=J+K*0.0+I*0.0;g[u+192+20>>2]=J*0.0+K+I*0.0;g[u+192+24>>2]=I+(J*0.0+K*0.0);g[u+192+28>>2]=0.0;g[u+192+32>>2]=M+N*0.0+L*0.0;g[u+192+36>>2]=M*0.0+N+L*0.0;g[u+192+40>>2]=L+(M*0.0+N*0.0);g[u+192+44>>2]=0.0;g[u+192+48>>2]=O;g[u+192+52>>2]=P;g[u+192+56>>2]=Q;g[u+192+60>>2]=0.0;Hb[r&0](s,R,u+192|0,e)}while((t|0)>1);i=u;return}case 10:{t=c[d+52>>2]|0;Q=+g[d+28+(((t+2|0)%3|0)<<2)>>2];R=+g[d+28+(t<<2)>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+76>>2]&0](a,Q,R,t,b,e);i=u;return}case 11:{Q=+g[d+56>>2];R=+g[d+60>>2];d=c[d+68>>2]|0;a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+84>>2]&0](a,Q,R,d,b,e);i=u;return}case 13:{t=c[d+52>>2]|0;Q=+Sb[c[(c[d>>2]|0)+92>>2]&15](d);c[u+80>>2]=c[d+28>>2];c[u+80+4>>2]=c[d+28+4>>2];c[u+80+8>>2]=c[d+28+8>>2];c[u+80+12>>2]=c[d+28+12>>2];O=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);P=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);g[u+80>>2]=O+ +g[u+80>>2];g[u+80+4>>2]=P+ +g[u+80+4>>2];g[u+80+8>>2]=R+ +g[u+80+8>>2];R=+g[u+80+(t<<2)>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+80>>2]&0](a,Q,R,t,b,e);i=u;return}case 28:{R=+g[d+64>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Vb[c[(c[a>>2]|0)+88>>2]&0](a,d+48|0,R,b,e);i=u;return}default:{a:do if((f|0)<7){q=c[d+52>>2]|0;if(!q){if((Eb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){mc[c[(c[d>>2]|0)+104>>2]&127](d,f,u+352|0,u+256|0);P=+g[u+352>>2];D=+g[b>>2];N=+g[u+352+4>>2];E=+g[b+4>>2];L=+g[u+352+8>>2];F=+g[b+8>>2];H=+g[b+16>>2];I=+g[b+20>>2];J=+g[b+24>>2];M=+g[b+32>>2];O=+g[b+36>>2];Q=+g[b+40>>2];G=+g[b+48>>2];K=+g[b+52>>2];R=+g[b+56>>2];g[u+96>>2]=P*D+N*E+L*F+G;g[u+96+4>>2]=P*H+N*I+L*J+K;g[u+96+8>>2]=P*M+N*O+L*Q+R;g[u+96+12>>2]=0.0;L=+g[u+256>>2];N=+g[u+256+4>>2];P=+g[u+256+8>>2];g[u+64>>2]=L*D+N*E+P*F+G;g[u+64+4>>2]=L*H+N*I+P*J+K;g[u+64+8>>2]=L*M+N*O+P*Q+R;g[u+64+12>>2]=0.0;t=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;mc[c[(c[t>>2]|0)+8>>2]&127](t,u+96|0,u+64|0,e);f=f+1|0;if((f|0)>=(Eb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[q+28>>2]|0)>0){s=0;do{f=c[q+36>>2]|0;r=c[f+(s*36|0)+4>>2]|0;b:do if((r|0)!=0?(t=c[f+(s*36|0)+12>>2]|0,(r|0)>0):0){m=t;j=0;h=0;f=0;o=c[t+(r+-1<<2)>>2]|0;l=0;while(1){p=c[m+(l<<2)>>2]|0;n=c[q+16>>2]|0;j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[n+(p<<4)>>2],c[k>>2]|0);f=(g[k>>2]=(c[k>>2]=f,+g[k>>2])+ +g[n+(p<<4)+4>>2],c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+ +g[n+(p<<4)+8>>2],c[k>>2]|0);n=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;m=c[(c[n>>2]|0)+8>>2]|0;S=c[q+16>>2]|0;P=+g[S+(o<<4)>>2];D=+g[b>>2];N=+g[S+(o<<4)+4>>2];E=+g[b+4>>2];L=+g[S+(o<<4)+8>>2];F=+g[b+8>>2];H=+g[b+16>>2];I=+g[b+20>>2];J=+g[b+24>>2];M=+g[b+32>>2];O=+g[b+36>>2];Q=+g[b+40>>2];G=+g[b+48>>2];K=+g[b+52>>2];R=+g[b+56>>2];g[u+48>>2]=P*D+N*E+L*F+G;g[u+48+4>>2]=P*H+N*I+L*J+K;g[u+48+8>>2]=P*M+N*O+L*Q+R;g[u+48+12>>2]=0.0;L=+g[S+(p<<4)>>2];N=+g[S+(p<<4)+4>>2];P=+g[S+(p<<4)+8>>2];g[u+32>>2]=L*D+N*E+P*F+G;g[u+32+4>>2]=L*H+N*I+P*J+K;g[u+32+8>>2]=L*M+N*O+P*Q+R;g[u+32+12>>2]=0.0;mc[m&127](n,u+48|0,u+32|0,e);n=l+1|0;l=c[q+36>>2]|0;if((n|0)>=(c[l+(s*36|0)+4>>2]|0))break b;m=c[l+(s*36|0)+12>>2]|0;o=p;l=n}}else{j=0;h=0;f=0}while(0);S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((Eb[c[(c[S>>2]|0)+48>>2]&127](S)|0)&16384|0){O=1.0/+(r|0)*(c[k>>2]=h,+g[k>>2]);L=1.0/+(r|0)*(c[k>>2]=f,+g[k>>2]);I=1.0/+(r|0)*(c[k>>2]=j,+g[k>>2]);c[u+352>>2]=1065353216;c[u+352+4>>2]=1065353216;c[u+352+8>>2]=0;g[u+352+12>>2]=0.0;S=c[q+36>>2]|0;J=+g[S+(s*36|0)+20>>2];M=+g[S+(s*36|0)+24>>2];P=+g[S+(s*36|0)+28>>2];S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[S>>2]|0)+8>>2]|0;A=+g[b>>2];B=+g[b+4>>2];C=+g[b+8>>2];E=+g[b+16>>2];F=+g[b+20>>2];G=+g[b+24>>2];K=+g[b+32>>2];N=+g[b+36>>2];Q=+g[b+40>>2];D=+g[b+48>>2];H=+g[b+52>>2];R=+g[b+56>>2];g[u+16>>2]=I*A+L*B+O*C+D;g[u+16+4>>2]=I*E+L*F+O*G+H;g[u+16+8>>2]=I*K+L*N+O*Q+R;g[u+16+12>>2]=0.0;g[u>>2]=(I+J)*A+(L+M)*B+(O+P)*C+D;g[u+4>>2]=(I+J)*E+(L+M)*F+(O+P)*G+H;g[u+8>>2]=(I+J)*K+(L+M)*N+(O+P)*Q+R;g[u+12>>2]=0.0;mc[r&127](S,u+16|0,u,u+352|0)}s=s+1|0}while((s|0)<(c[q+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[u+352>>2]=1566444395;c[u+352+4>>2]=1566444395;c[u+352+8>>2]=1566444395;g[u+352+12>>2]=0.0;c[u+256>>2]=-581039253;c[u+256+4>>2]=-581039253;c[u+256+8>>2]=-581039253;g[u+256+12>>2]=0.0;f=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+96>>2]=5692;c[u+96+4>>2]=5716;c[u+96+8>>2]=f;c[u+96+12>>2]=c[e>>2];c[u+96+12+4>>2]=c[e+4>>2];c[u+96+12+8>>2]=c[e+8>>2];c[u+96+12+12>>2]=c[e+12>>2];c[u+96+28>>2]=c[b>>2];c[u+96+28+4>>2]=c[b+4>>2];c[u+96+28+8>>2]=c[b+8>>2];c[u+96+28+12>>2]=c[b+12>>2];c[u+96+44>>2]=c[b+16>>2];c[u+96+44+4>>2]=c[b+16+4>>2];c[u+96+44+8>>2]=c[b+16+8>>2];c[u+96+44+12>>2]=c[b+16+12>>2];c[u+96+60>>2]=c[b+32>>2];c[u+96+60+4>>2]=c[b+32+4>>2];c[u+96+60+8>>2]=c[b+32+8>>2];c[u+96+60+12>>2]=c[b+32+12>>2];c[u+96+76>>2]=c[b+48>>2];c[u+96+76+4>>2]=c[b+48+4>>2];c[u+96+76+8>>2]=c[b+48+8>>2];c[u+96+76+12>>2]=c[b+48+12>>2];mc[c[(c[d>>2]|0)+64>>2]&127](d,u+96|0,u+256|0,u+352|0);f=c[d+4>>2]|0}if((f|0)!=3){i=u;return}c[u+352>>2]=1566444395;c[u+352+4>>2]=1566444395;c[u+352+8>>2]=1566444395;g[u+352+12>>2]=0.0;c[u+256>>2]=-581039253;c[u+256+4>>2]=-581039253;c[u+256+8>>2]=-581039253;g[u+256+12>>2]=0.0;S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+96>>2]=5692;c[u+96+4>>2]=5716;c[u+96+8>>2]=S;c[u+96+12>>2]=c[e>>2];c[u+96+12+4>>2]=c[e+4>>2];c[u+96+12+8>>2]=c[e+8>>2];c[u+96+12+12>>2]=c[e+12>>2];c[u+96+28>>2]=c[b>>2];c[u+96+28+4>>2]=c[b+4>>2];c[u+96+28+8>>2]=c[b+8>>2];c[u+96+28+12>>2]=c[b+12>>2];c[u+96+44>>2]=c[b+16>>2];c[u+96+44+4>>2]=c[b+16+4>>2];c[u+96+44+8>>2]=c[b+16+8>>2];c[u+96+44+12>>2]=c[b+16+12>>2];c[u+96+60>>2]=c[b+32>>2];c[u+96+60+4>>2]=c[b+32+4>>2];c[u+96+60+8>>2]=c[b+32+8>>2];c[u+96+60+12>>2]=c[b+32+12>>2];c[u+96+76>>2]=c[b+48>>2];c[u+96+76+4>>2]=c[b+48+4>>2];c[u+96+76+8>>2]=c[b+48+8>>2];c[u+96+76+12>>2]=c[b+48+12>>2];S=c[d+92>>2]|0;mc[c[(c[S>>2]|0)+8>>2]&127](S,u+96+4|0,u+256|0,u+352|0);i=u;return}}}function Nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=i;i=i+48|0;z=1.0/+g[a+108>>2];A=1.0/+g[a+112>>2];B=1.0/+g[a+116>>2];u=+g[a+48>>2];v=z*+g[d>>2]+u;o=+g[a+52>>2];k=A*+g[d+4>>2]+o;q=+g[a+56>>2];p=B*+g[d+8>>2]+q;u=z*+g[e>>2]+u;o=A*+g[e+4>>2]+o;q=B*+g[e+8>>2]+q;B=+g[a+16>>2];v=v>2];k=k>2];p=p>2];v=y>2];k=x>2];p=w>2]|0)+-1|0;d=(c[a+68>>2]|0)+-1|0;switch(c[a+104>>2]|0){case 0:{d=(e|0)<(d|0)?e:d;j=(h|0)<(j|0)?h:j;e=(l|0)>0?l:0;r=(n|0)>0?n:0;break}case 1:{d=(e|0)<(d|0)?e:d;j=(f|0)<(j|0)?f:j;e=(l|0)>0?l:0;r=(m|0)>0?m:0;break}case 2:{d=(h|0)<(d|0)?h:d;j=(f|0)<(j|0)?f:j;e=(n|0)>0?n:0;r=(m|0)>0?m:0;break}default:{e=0;r=0}}if((e|0)>=(d|0)){i=t;return}n=(r|0)<(j|0);m=e;while(1){if(n){l=(m&1|0)==0;e=m+1|0;q=+(m|0);h=r;while(1){f=c[a+100>>2]|0;do if(!((f&255)<<24>>24)){if(f&65280|0?(h+m&1|0)==0:0){s=16;break}if(!(l&(f&16711680|0)!=0)){k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];f=h+1|0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m);k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m)}else s=16}else s=16;while(0);if((s|0)==16){s=0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];f=h+1|0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m);k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m)}if((f|0)==(j|0))break;else h=f}}else e=m+1|0;if((e|0)==(d|0))break;else m=e}i=t;return}function Oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0;da=i;i=i+176|0;aa=c[d+4>>2]|0;ba=c[e+4>>2]|0;if((c[aa+68>>2]|0)==(c[b+40>>2]|0)?(c[ba+68>>2]|0)==(c[b+44>>2]|0):0)$=b+8|0;else{j=c[b+8>>2]|0;k=c[j+8>>2]|0;if((k|0)>0){m=0;do{l=c[(c[j+16>>2]|0)+(m*12|0)+8>>2]|0;if(l|0){Ab[c[c[l>>2]>>2]&255](l);$=c[b+4>>2]|0;Cb[c[(c[$>>2]|0)+60>>2]&127]($,l)}m=m+1|0}while((m|0)!=(k|0));j=c[b+8>>2]|0}$h(j);$=b+8|0}a[da+128+16>>0]=1;q=da+128+12|0;c[q>>2]=0;c[da+128+4>>2]=0;c[da+128+8>>2]=0;p=c[$>>2]|0;j=c[p+8>>2]|0;if((j|0)>0){o=0;do{k=c[(c[p+16>>2]|0)+(o*12|0)+8>>2]|0;if(k){Cb[c[(c[k>>2]|0)+16>>2]&127](k,da+128|0);j=c[da+128+4>>2]|0;if((j|0)>0){n=0;do{m=c[(c[q>>2]|0)+(n<<2)>>2]|0;if(c[m+748>>2]|0){c[h+4>>2]=m;j=c[m+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;l=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0))ef(m,j+4|0,l+4|0);else ef(m,l+4|0,k+4|0);c[h+4>>2]=0;j=c[da+128+4>>2]|0}n=n+1|0}while((n|0)<(j|0))}if((j|0)<0){if((c[da+128+8>>2]|0)<0){k=c[q>>2]|0;if(k|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[q>>2]=0}a[da+128+16>>0]=1;c[q>>2]=0;c[da+128+8>>2]=0}do{c[(c[q>>2]|0)+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=0)}c[da+128+4>>2]=0;j=c[p+8>>2]|0}o=o+1|0}while((o|0)<(j|0));j=c[q>>2]|0;if(j|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[q>>2]=0}}k=c[aa+64>>2]|0;l=c[ba+64>>2]|0;p=c[b+4>>2]|0;q=c[$>>2]|0;r=c[b+32>>2]|0;c[da+128>>2]=6256;c[da+128+4>>2]=0;c[da+128+8>>2]=d;c[da+128+12>>2]=e;c[da+128+16>>2]=p;c[da+128+20>>2]=f;c[da+128+24>>2]=h;c[da+128+28>>2]=q;c[da+128+32>>2]=r;r=c[d+12>>2]|0;B=+g[r>>2];C=+g[r+16>>2];D=+g[r+32>>2];E=+g[r+4>>2];F=+g[r+20>>2];G=+g[r+36>>2];H=+g[r+8>>2];I=+g[r+24>>2];J=+g[r+40>>2];K=-+g[r+48>>2];L=-+g[r+52>>2];M=-+g[r+56>>2];r=c[e+12>>2]|0;O=+g[r>>2];P=+g[r+16>>2];Q=+g[r+32>>2];R=+g[r+4>>2];S=+g[r+20>>2];T=+g[r+36>>2];U=+g[r+8>>2];V=+g[r+24>>2];W=+g[r+40>>2];X=+g[r+48>>2];Y=+g[r+52>>2];Z=+g[r+56>>2];k=c[k>>2]|0;l=c[l>>2]|0;if((k|0)!=0&(l|0)!=0){c[6435]=(c[6435]|0)+1;j=yc(1043)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[j>>2]=k;c[j+4>>2]=l;s=+N(+(B*O+C*P+D*Q));t=+N(+(B*R+C*S+D*T));u=+N(+(B*U+C*V+D*W));v=+N(+(E*O+F*P+G*Q));w=+N(+(E*R+F*S+G*T));x=+N(+(E*U+F*V+G*W));y=+N(+(H*O+I*P+J*Q));z=+N(+(H*R+I*S+J*T));A=+N(+(H*U+I*V+J*W));r=1;l=128;m=128;k=124;while(1){q=r+-1|0;f=c[j+(q<<3)>>2]|0;h=c[j+(q<<3)+4>>2]|0;oa=+g[h+16>>2];na=+g[h>>2];ma=+g[h+20>>2];la=+g[h+4>>2];ka=+g[h+24>>2];ea=+g[h+8>>2];ja=B*K+C*L+D*M+(B*X+C*Y+D*Z)+((B*O+C*P+D*Q)*(oa+na)*.5+(B*R+C*S+D*T)*(ma+la)*.5+(B*U+C*V+D*W)*(ka+ea)*.5);ha=E*K+F*L+G*M+(E*X+F*Y+G*Z)+((E*O+F*P+G*Q)*(oa+na)*.5+(E*R+F*S+G*T)*(ma+la)*.5+(E*U+F*V+G*W)*(ka+ea)*.5);fa=H*K+I*L+J*M+(H*X+I*Y+J*Z)+((H*O+I*P+J*Q)*(oa+na)*.5+(H*R+I*S+J*T)*(ma+la)*.5+(H*U+I*V+J*W)*(ka+ea)*.5);ia=((oa-na)*.5+0.0)*s+((ma-la)*.5+0.0)*t+((ka-ea)*.5+0.0)*u;ga=((oa-na)*.5+0.0)*v+((ma-la)*.5+0.0)*w+((ka-ea)*.5+0.0)*x;ea=((oa-na)*.5+0.0)*y+((ma-la)*.5+0.0)*z+((ka-ea)*.5+0.0)*A;do if(((((+g[f>>2]<=ia+ja?+g[f+16>>2]>=ja-ia:0)?+g[f+4>>2]<=ha+ga:0)?+g[f+20>>2]>=ha-ga:0)?+g[f+8>>2]<=fa+ea:0)?+g[f+24>>2]>=fa-ea:0){if((q|0)>(k|0)){n=m<<1;do if((m|0)<(n|0)&(l|0)<(n|0)){do if(!m){k=0;_=52}else{c[6435]=(c[6435]|0)+1;k=yc((m<<4|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}if((m|0)>0)l=0;else{_=52;break}do{pa=j+(l<<3)|0;o=c[pa+4>>2]|0;p=k+(l<<3)|0;c[p>>2]=c[pa>>2];c[p+4>>2]=o;l=l+1|0}while((l|0)!=(m|0))}while(0);if((_|0)==52){_=0;if(!j){l=n;j=k;break}}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);l=n;j=k}while(0);p=n;k=n+-4|0}else p=m;m=(c[h+40>>2]|0)!=0;if(!(c[f+40>>2]|0))if(m){n=c[h+36>>2]|0;c[j+(q<<3)>>2]=f;c[j+(q<<3)+4>>2]=n;n=c[h+40>>2]|0;c[j+(r<<3)>>2]=f;c[j+(r<<3)+4>>2]=n;n=r+1|0;m=p;break}else{ic[c[(c[da+128>>2]|0)+8>>2]&127](da+128|0,f,h);n=q;m=p;break}else{n=j+(q<<3)|0;o=c[f+36>>2]|0;if(m){m=c[h+36>>2]|0;c[n>>2]=o;c[j+(q<<3)+4>>2]=m;m=r+1|0;n=c[h+36>>2]|0;c[j+(r<<3)>>2]=c[f+40>>2];c[j+(r<<3)+4>>2]=n;n=r+2|0;pa=c[h+40>>2]|0;c[j+(m<<3)>>2]=c[f+36>>2];c[j+(m<<3)+4>>2]=pa;m=c[h+40>>2]|0;c[j+(n<<3)>>2]=c[f+40>>2];c[j+(n<<3)+4>>2]=m;n=r+3|0;m=p;break}else{c[n>>2]=o;c[j+(q<<3)+4>>2]=h;c[j+(r<<3)>>2]=c[f+40>>2];c[j+(r<<3)+4>>2]=h;n=r+1|0;m=p;break}}}else n=q;while(0);if(!n)break;else r=n}if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}}o=c[$>>2]|0;if((c[o+8>>2]|0)>0){p=0;do{j=c[o+16>>2]|0;k=c[j+(p*12|0)+8>>2]|0;do if(k|0){pa=c[j+(p*12|0)>>2]|0;_=c[aa+24>>2]|0;r=c[_+(pa*80|0)+64>>2]|0;h=c[d+12>>2]|0;oa=+g[h>>2];P=+g[h+4>>2];O=+g[h+8>>2];la=+g[h+16>>2];ja=+g[h+20>>2];ha=+g[h+24>>2];ka=+g[h+32>>2];ga=+g[h+36>>2];U=+g[h+40>>2];fa=+g[_+(pa*80|0)>>2];ea=+g[_+(pa*80|0)+16>>2];Z=+g[_+(pa*80|0)+32>>2];Y=+g[_+(pa*80|0)+4>>2];X=+g[_+(pa*80|0)+20>>2];W=+g[_+(pa*80|0)+36>>2];ia=+g[_+(pa*80|0)+8>>2];V=+g[_+(pa*80|0)+24>>2];T=+g[_+(pa*80|0)+40>>2];na=+g[_+(pa*80|0)+48>>2];ma=+g[_+(pa*80|0)+52>>2];Q=+g[_+(pa*80|0)+56>>2];S=+g[h+48>>2]+(oa*na+P*ma+O*Q);R=+g[h+52>>2]+(la*na+ja*ma+ha*Q);Q=+g[h+56>>2]+(ka*na+ga*ma+U*Q);g[da>>2]=oa*fa+P*ea+O*Z;g[da+4>>2]=oa*Y+P*X+O*W;g[da+8>>2]=oa*ia+P*V+O*T;g[da+12>>2]=0.0;g[da+16>>2]=la*fa+ja*ea+ha*Z;g[da+20>>2]=la*Y+ja*X+ha*W;g[da+24>>2]=la*ia+ja*V+ha*T;g[da+28>>2]=0.0;g[da+32>>2]=ka*fa+ga*ea+U*Z;g[da+36>>2]=ka*Y+ga*X+U*W;g[da+40>>2]=ka*ia+ga*V+U*T;g[da+44>>2]=0.0;g[da+48>>2]=S;g[da+52>>2]=R;g[da+56>>2]=Q;g[da+60>>2]=0.0;mc[c[(c[r>>2]|0)+8>>2]&127](r,da,da+112|0,da+96|0);r=c[(c[o+16>>2]|0)+(p*12|0)+4>>2]|0;h=c[ba+24>>2]|0;pa=c[h+(r*80|0)+64>>2]|0;_=c[e+12>>2]|0;Q=+g[_>>2];R=+g[_+4>>2];S=+g[_+8>>2];T=+g[_+16>>2];U=+g[_+20>>2];V=+g[_+24>>2];ga=+g[_+32>>2];ia=+g[_+36>>2];ka=+g[_+40>>2];W=+g[h+(r*80|0)>>2];X=+g[h+(r*80|0)+16>>2];Y=+g[h+(r*80|0)+32>>2];Z=+g[h+(r*80|0)+4>>2];ea=+g[h+(r*80|0)+20>>2];fa=+g[h+(r*80|0)+36>>2];ha=+g[h+(r*80|0)+8>>2];ja=+g[h+(r*80|0)+24>>2];la=+g[h+(r*80|0)+40>>2];O=+g[h+(r*80|0)+48>>2];P=+g[h+(r*80|0)+52>>2];oa=+g[h+(r*80|0)+56>>2];ma=+g[_+48>>2]+(Q*O+R*P+S*oa);na=+g[_+52>>2]+(T*O+U*P+V*oa);oa=+g[_+56>>2]+(ga*O+ia*P+ka*oa);g[da>>2]=Q*W+R*X+S*Y;g[da+4>>2]=Q*Z+R*ea+S*fa;g[da+8>>2]=Q*ha+R*ja+S*la;g[da+12>>2]=0.0;g[da+16>>2]=T*W+U*X+V*Y;g[da+20>>2]=T*Z+U*ea+V*fa;g[da+24>>2]=T*ha+U*ja+V*la;g[da+28>>2]=0.0;g[da+32>>2]=ga*W+ia*X+ka*Y;g[da+36>>2]=ga*Z+ia*ea+ka*fa;g[da+40>>2]=ga*ha+ia*ja+ka*la;g[da+44>>2]=0.0;g[da+48>>2]=ma;g[da+52>>2]=na;g[da+56>>2]=oa;g[da+60>>2]=0.0;mc[c[(c[pa>>2]|0)+8>>2]&127](pa,da,da+80|0,da+64|0);if(!(+g[da+112>>2]>+g[da+64>>2])?!(+g[da+96>>2]<+g[da+80>>2]):0)j=1;else j=0;if(!(!(+g[da+112+8>>2]>+g[da+64+8>>2])?!(+g[da+96+8>>2]<+g[da+80+8>>2]):0))j=0;if(!(+g[da+112+4>>2]>+g[da+64+4>>2])?!(+g[da+96+4>>2]<+g[da+80+4>>2]|j^1):0)break;Ab[c[c[k>>2]>>2]&255](k);n=c[b+4>>2]|0;Cb[c[(c[n>>2]|0)+60>>2]&127](n,k);n=c[o+16>>2]|0;m=c[n+(p*12|0)>>2]|0;n=c[n+(p*12|0)+4>>2]|0;j=c[b+16>>2]|0;if((j|0)==(c[b+20>>2]|0)?(ca=j|0?j<<1:1,(j|0)<(ca|0)):0){if(!ca)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((ca*12|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[b+16>>2]|0}if((j|0)>0){k=0;do{pa=l+(k*12|0)|0;_=(c[b+24>>2]|0)+(k*12|0)|0;c[pa>>2]=c[_>>2];c[pa+4>>2]=c[_+4>>2];c[pa+8>>2]=c[_+8>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+24>>2]|0;if(j|0){if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=l;c[b+20>>2]=ca;j=c[b+16>>2]|0}pa=c[b+24>>2]|0;c[pa+(j*12|0)>>2]=m;c[pa+(j*12|0)+4>>2]=n;c[pa+(j*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);p=p+1|0}while((p|0)<(c[o+8>>2]|0));k=b+24|0;l=b+16|0}else{k=b+24|0;l=b+16|0}if((c[l>>2]|0)>0){j=0;do{e=c[$>>2]|0;pa=c[k>>2]|0;Ob[c[(c[e>>2]|0)+8>>2]&63](e,c[pa+(j*12|0)>>2]|0,c[pa+(j*12|0)+4>>2]|0)|0;j=j+1|0}while((j|0)<(c[l>>2]|0))}j=c[k>>2]|0;if(!j){a[b+28>>0]=1;c[k>>2]=0;c[l>>2]=0;pa=b+20|0;c[pa>>2]=0;i=da;return}if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[k>>2]=0;a[b+28>>0]=1;c[k>>2]=0;c[l>>2]=0;pa=b+20|0;c[pa>>2]=0;i=da;return}function Pc(b,e,f,h,j,l,m){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0;B=i;i=i+9856|0;q=l;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));c[B+9712>>2]=b;c[B+9712+4>>2]=f;E=+g[h>>2];R=+g[e>>2];F=+g[h+16>>2];H=+g[e+16>>2];G=+g[h+32>>2];S=+g[e+32>>2];I=+g[e+4>>2];T=+g[e+20>>2];J=+g[e+36>>2];s=+g[e+8>>2];n=+g[e+24>>2];D=+g[e+40>>2];Q=+g[h+4>>2];P=+g[h+20>>2];N=+g[h+36>>2];M=+g[h+8>>2];L=+g[h+24>>2];K=+g[h+40>>2];g[B+9712+8>>2]=E*R+F*H+G*S;g[B+9712+12>>2]=E*I+F*T+G*J;g[B+9712+16>>2]=E*s+F*n+G*D;g[B+9712+20>>2]=0.0;g[B+9712+24>>2]=R*Q+H*P+S*N;g[B+9712+28>>2]=I*Q+T*P+J*N;g[B+9712+32>>2]=s*Q+n*P+D*N;g[B+9712+36>>2]=0.0;g[B+9712+40>>2]=R*M+H*L+S*K;g[B+9712+44>>2]=I*M+T*L+J*K;g[B+9712+48>>2]=s*M+n*L+D*K;g[B+9712+52>>2]=0.0;D=+g[h+48>>2]-+g[e+48>>2];n=+g[h+52>>2]-+g[e+52>>2];s=+g[h+56>>2]-+g[e+56>>2];J=+g[e>>2];T=+g[h>>2];I=+g[e+16>>2];S=+g[h+16>>2];H=+g[e+32>>2];R=+g[h+32>>2];G=+g[e+4>>2];F=+g[e+20>>2];E=+g[e+36>>2];C=+g[e+8>>2];o=+g[e+24>>2];p=+g[e+40>>2];g[B+9712+56>>2]=J*T+I*S+H*R;g[B+9712+60>>2]=J*Q+I*P+H*N;g[B+9712+64>>2]=J*M+I*L+H*K;g[B+9712+68>>2]=0.0;g[B+9712+72>>2]=T*G+S*F+R*E;g[B+9712+76>>2]=Q*G+P*F+N*E;g[B+9712+80>>2]=M*G+L*F+K*E;g[B+9712+84>>2]=0.0;g[B+9712+88>>2]=T*C+S*o+R*p;g[B+9712+92>>2]=Q*C+P*o+N*p;g[B+9712+96>>2]=M*C+L*o+K*p;g[B+9712+100>>2]=0.0;g[B+9712+104>>2]=D*J+n*I+s*H;g[B+9712+108>>2]=D*G+n*F+s*E;g[B+9712+112>>2]=D*C+n*o+s*p;g[B+9712+116>>2]=0.0;c[B+9712+120>>2]=m?81:80;c[B+9712+124>>2]=0;c[B+9328+364>>2]=0;c[B+9328+128>>2]=0;c[B+9328+128+4>>2]=0;c[B+9328+128+8>>2]=0;c[B+9328+128+12>>2]=0;c[B+9328+376>>2]=2;c[B+9328+368>>2]=0;g[B+9328+144>>2]=0.0;p=-+g[j+4>>2];s=-+g[j+8>>2];g[B+16>>2]=-+g[j>>2];g[B+16+4>>2]=p;g[B+16+8>>2]=s;g[B+16+12>>2]=0.0;switch(Uc(B+9328|0,B+9712|0,B+16|0)|0){case 1:{w=B+32+9280|0;x=B+32+9288|0;y=B+32+9292|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[B+32>>2]=9;A=B+32+40|0;c[B+32+9276>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;m=0;do{b=128-m+-1|0;c[B+32+2108+(b*56|0)+44>>2]=0;f=c[x>>2]|0;c[B+32+2108+(b*56|0)+48>>2]=f;if(f|0)c[f+44>>2]=B+32+2108+(b*56|0);c[x>>2]=B+32+2108+(b*56|0);c[y>>2]=(c[y>>2]|0)+1;m=m+1|0}while((m|0)!=128);p=+g[j>>2];s=+g[j+4>>2];o=+g[j+8>>2];t=c[B+9328+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?yd(B+9328|0)|0:0){v=B+32+9280|0;b=c[v>>2]|0;if(b|0){q=c[B+32+9284>>2]|0;r=c[y>>2]|0;do{f=b+44|0;h=b+48|0;m=c[h>>2]|0;if(m|0)c[m+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[h>>2];if((c[v>>2]|0)==(b|0))c[v>>2]=c[h>>2];q=q+-1|0;c[b+44>>2]=0;c[h>>2]=c[x>>2];f=c[x>>2]|0;if(f|0)c[f+44>>2]=b;c[x>>2]=b;r=r+1|0;b=c[v>>2]|0}while((b|0)!=0);c[B+32+9284>>2]=q;c[y>>2]=r}c[B+32>>2]=0;c[B+32+9276>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;T=+g[f+16>>2];K=+g[b+16>>2]-T;M=+g[f+20>>2];N=+g[b+20>>2]-M;Q=+g[f+24>>2];R=+g[b+24>>2]-Q;f=c[t+4>>2]|0;P=+g[f+16>>2]-T;S=+g[f+20>>2]-M;L=+g[f+24>>2]-Q;m=c[t+8>>2]|0;T=+g[m+16>>2]-T;M=+g[m+20>>2]-M;Q=+g[m+24>>2]-Q;if(K*S*Q+(N*L*T+R*P*M-K*L*M-N*P*Q)-R*S*T<0.0){c[t>>2]=f;c[t+4>>2]=b;h=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=h;h=f}else{h=b;b=f}h=nf(B+32|0,h,b,m,1)|0;q=nf(B+32|0,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;r=nf(B+32|0,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;j=nf(B+32|0,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[B+32+9284>>2]|0)==4){b=c[w>>2]|0;n=+g[b+16>>2];f=c[b+48>>2]|0;if(f){o=n*n;while(1){n=+g[f+16>>2];m=n*n>2]|0;if(!f)break;else o=m?n*n:o}}s=+g[b>>2];p=+g[b+4>>2];o=+g[b+8>>2];n=+g[b+12>>2];u=c[b+16>>2]|0;U=c[b+20>>2]|0;f=c[b+24>>2]|0;m=c[b+28>>2]|0;a[h+52>>0]=0;c[h+32>>2]=q;a[q+52>>0]=0;c[q+32>>2]=h;a[h+53>>0]=0;c[h+36>>2]=r;a[r+52>>0]=1;c[r+32>>2]=h;a[h+54>>0]=0;c[h+40>>2]=j;a[j+52>>0]=2;c[j+32>>2]=h;a[q+53>>0]=2;c[q+36>>2]=j;a[j+54>>0]=1;c[j+40>>2]=q;a[q+54>>0]=1;c[q+40>>2]=r;a[r+53>>0]=2;c[r+36>>2]=q;a[r+54>>0]=1;c[r+40>>2]=j;a[j+53>>0]=2;c[j+36>>2]=r;c[B+32>>2]=0;t=b;r=U;j=f;q=m;b=u;u=0;while(1){f=c[B+32+9276>>2]|0;if(f>>>0>=64){z=43;break}c[B+9840>>2]=0;c[B+9840+4>>2]=0;c[B+9840+8>>2]=0;c[B+32+9276>>2]=f+1;u=u+1|0;a[t+55>>0]=u;h=t+4|0;U=t+8|0;Nh(B+9328|0,+g[t>>2],+g[h>>2],+g[U>>2],B+32+60+(f<<5)|0);if(+g[t>>2]*+g[B+32+60+(f<<5)+16>>2]+ +g[h>>2]*+g[B+32+60+(f<<5)+20>>2]+ +g[U>>2]*+g[B+32+60+(f<<5)+24>>2]-+g[t+16>>2]>9.999999747378752e-05)h=0;else{f=7;z=42;break}do{m=zh(B+32|0,u,B+32+60+(f<<5)|0,c[t+32+(h<<2)>>2]|0,d[t+52+h>>0]|0,B+9840|0)|0;h=h+1|0}while(m&h>>>0<3);if(!(m&(c[B+9840+8>>2]|0)>>>0>2)){f=4;z=42;break}m=c[B+9840>>2]|0;b=c[B+9840+4>>2]|0;a[m+53>>0]=2;c[m+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=m;b=t+44|0;m=t+48|0;f=c[m>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[m>>2];if((c[v>>2]|0)==(t|0))c[v>>2]=c[m>>2];c[B+32+9284>>2]=(c[B+32+9284>>2]|0)+-1;c[t+44>>2]=0;c[m>>2]=c[x>>2];b=c[x>>2]|0;if(b|0)c[b+44>>2]=t;c[x>>2]=t;c[y>>2]=(c[y>>2]|0)+1;f=c[w>>2]|0;n=+g[f+16>>2];b=c[f+48>>2]|0;if(b){o=n*n;while(1){n=+g[b+16>>2];m=n*n>2]|0;if(!b)break;else o=m?n*n:o}}s=+g[f>>2];p=+g[f+4>>2];o=+g[f+8>>2];n=+g[f+12>>2];b=c[f+16>>2]|0;m=c[f+20>>2]|0;h=c[f+24>>2]|0;q=c[f+28>>2]|0;if(u>>>0>=255){f=q;break}else{t=f;r=m;j=h}}if((z|0)==42){c[B+32>>2]=f;m=r;h=j;f=q}else if((z|0)==43){c[B+32>>2]=6;m=r;h=j;f=q}R=(c[k>>2]=b,+g[k>>2]);P=s*R;M=p*R;R=o*R;g[B+32+40>>2]=s;g[B+32+44>>2]=p;g[B+32+48>>2]=o;g[B+32+52>>2]=n;c[B+32+56>>2]=b;c[B+32+36>>2]=3;c[B+32+4>>2]=m;c[B+32+8>>2]=h;c[B+32+12>>2]=f;U=h;Q=+g[U+16>>2]-P;K=+g[U+20>>2]-M;N=+g[U+24>>2]-R;y=f;J=+g[y+16>>2]-P;L=+g[y+20>>2]-M;S=+g[y+24>>2]-R;S=+O(+((Q*L-K*J)*(Q*L-K*J)+((K*S-N*L)*(K*S-N*L)+(N*J-Q*S)*(N*J-Q*S))));g[B+32+20>>2]=S;Q=+g[y+16>>2]-P;J=+g[y+20>>2]-M;N=+g[y+24>>2]-R;y=m;L=+g[y+16>>2]-P;K=+g[y+20>>2]-M;T=+g[y+24>>2]-R;T=+O(+((Q*K-J*L)*(Q*K-J*L)+((J*T-N*K)*(J*T-N*K)+(N*L-Q*T)*(N*L-Q*T))));g[B+32+24>>2]=T;Q=+g[y+16>>2]-P;L=+g[y+20>>2]-M;N=+g[y+24>>2]-R;P=+g[U+16>>2]-P;M=+g[U+20>>2]-M;R=+g[U+24>>2]-R;R=+O(+((Q*M-L*P)*(Q*M-L*P)+((L*R-N*M)*(L*R-N*M)+(N*P-Q*R)*(N*P-Q*R))));g[B+32+20>>2]=S/(R+(S+T));g[B+32+24>>2]=T/(R+(S+T));g[B+32+28>>2]=R/(R+(S+T));if((c[B+32>>2]|0)!=9)if(!(c[B+32+36>>2]|0)){p=0.0;o=0.0;n=0.0;break}else{h=B+32+36|0;z=51;break}c[l>>2]=3;U=0;i=B;return U|0}else z=45}else z=45;while(0);if((z|0)==45){c[B+32>>2]=8;g[B+32+40>>2]=p;g[B+32+44>>2]=s;g[B+32+48>>2]=o;g[B+32+52>>2]=0.0;n=+O(+(p*p+s*s+o*o));if(n>0.0){g[B+32+40>>2]=1.0/n*p;g[B+32+44>>2]=1.0/n*s;g[B+32+48>>2]=1.0/n*o}else{c[A>>2]=1065353216;c[B+32+44>>2]=0;c[B+32+48>>2]=0}g[B+32+52>>2]=0.0;g[B+32+56>>2]=0.0;c[B+32+36>>2]=1;c[B+32+4>>2]=c[t>>2];g[B+32+20>>2]=1.0;h=B+32+36|0;z=51}if((z|0)==51){m=0;p=0.0;o=0.0;n=0.0;do{b=c[B+9712+120>>2]|0;U=c[B+9712+124>>2]|0;f=(c[B+9712>>2]|0)+(U>>1)|0;if(U&1)b=c[(c[f>>2]|0)+b>>2]|0;ic[b&127](B,f,c[B+32+4+(m<<2)>>2]|0);T=+g[B+32+20+(m<<2)>>2];p=p+ +g[B>>2]*T;n=n+T*+g[B+4>>2];o=o+T*+g[B+8>>2];m=m+1|0}while(m>>>0<(c[h>>2]|0)>>>0)}c[l>>2]=1;T=p*+g[e+16>>2]+n*+g[e+20>>2]+o*+g[e+24>>2]+ +g[e+52>>2];Q=p*+g[e+32>>2]+n*+g[e+36>>2]+o*+g[e+40>>2]+ +g[e+56>>2];g[l+4>>2]=p*+g[e>>2]+n*+g[e+4>>2]+o*+g[e+8>>2]+ +g[e+48>>2];g[l+8>>2]=T;g[l+12>>2]=Q;g[l+16>>2]=0.0;Q=+g[A>>2];T=+g[B+32+56>>2];R=+g[B+32+44>>2];S=+g[B+32+48>>2];K=p-Q*T;L=n-T*R;M=o-T*S;N=K*+g[e+16>>2]+L*+g[e+20>>2]+M*+g[e+24>>2]+ +g[e+52>>2];P=K*+g[e+32>>2]+L*+g[e+36>>2]+M*+g[e+40>>2]+ +g[e+56>>2];g[l+20>>2]=K*+g[e>>2]+L*+g[e+4>>2]+M*+g[e+8>>2]+ +g[e+48>>2];g[l+24>>2]=N;g[l+28>>2]=P;g[l+32>>2]=0.0;g[l+36>>2]=-Q;g[l+40>>2]=-R;g[l+44>>2]=-S;g[l+48>>2]=0.0;g[l+52>>2]=-T;U=1;i=B;return U|0}case 2:{c[l>>2]=2;U=0;i=B;return U|0}default:{U=0;i=B;return U|0}}return 0}function Qc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0;r=i;i=i+144|0;o=c[b+136>>2]|0;if(!o){i=r;return}k=c[b+8>>2]|0;if((k|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<4|3)+16|0)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){h=0;do{n=j+(h<<4)|0;s=(c[b+16>>2]|0)+(h<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;e=k;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+80>>2];c[s+4>>2]=c[r+80+4>>2];c[s+8>>2]=c[r+80+8>>2];c[s+12>>2]=c[r+80+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;k=c[b+28>>2]|0;if((k|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<4|3)+16|0)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[b+28>>2]|0;if((e|0)>0){h=0;do{s=j+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+36>>2]|0;if(e|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;e=k;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+64>>2];c[s+4>>2]=c[r+64+4>>2];c[s+8>>2]=c[r+64+8>>2];c[s+12>>2]=c[r+64+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((n|0)<(o|0)){do if((c[b+52>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+48>>2]|0;j=c[b+56>>2]|0;if((h|0)<=0){if(!j){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2;break}}else{k=0;do{c[e+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2}else{h=o<<2;e=c[b+56>>2]|0}while(0);Qn(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((n|0)<(o|0)){do if((c[b+72>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+68>>2]|0;j=c[b+76>>2]|0;if((h|0)<=0){if(!j){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2;break}}else{k=0;do{c[e+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2}else{h=o<<2;e=c[b+76>>2]|0}while(0);Qn(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){i=r;return}h=c[b+76>>2]|0;j=c[b+56>>2]|0;k=0;do{g[h+(k<<2)>>2]=0.0;g[j+(k<<2)>>2]=0.0;k=k+1|0}while((k|0)!=(e|0));k=0;do{h=c[b+144>>2]|0;j=c[h+(k*284|0)+88>>2]|0;if(j){e=h+(k*284|0)+92|0;c[r+96>>2]=c[e>>2];c[r+96+4>>2]=c[e+4>>2];c[r+96+8>>2]=c[e+8>>2];c[r+96+12>>2]=c[e+12>>2];e=h+(k*284|0)+108|0;c[r+96+16>>2]=c[e>>2];c[r+96+16+4>>2]=c[e+4>>2];c[r+96+16+8>>2]=c[e+8>>2];c[r+96+16+12>>2]=c[e+12>>2];e=h+(k*284|0)+124|0;c[r+96+32>>2]=c[e>>2];c[r+96+32+4>>2]=c[e+4>>2];c[r+96+32+8>>2]=c[e+8>>2];c[r+96+32+12>>2]=c[e+12>>2];e=c[b+36>>2]|0;x=c[b+120>>2]|0;o=c[r+96+16+(x<<2)>>2]|0;y=c[r+96+32+(x<<2)>>2]|0;c[e+(k<<4)>>2]=c[r+96+(x<<2)>>2];c[e+(k<<4)+4>>2]=o;c[e+(k<<4)+8>>2]=y;g[e+(k<<4)+12>>2]=0.0;e=c[b+36>>2]|0;y=e+(k<<4)|0;z=+g[y>>2];o=h+(k*284|0)|0;f=+g[o>>2];x=e+(k<<4)+4|0;w=+g[x>>2];n=h+(k*284|0)+4|0;l=+g[n>>2];e=e+(k<<4)+8|0;t=+g[e>>2];s=h+(k*284|0)+8|0;v=+g[s>>2];m=z-f*(z*f+w*l+t*v);u=w-l*(z*f+w*l+t*v);v=t-v*(z*f+w*l+t*v);t=1.0/+O(+(m*m+u*u+v*v));g[y>>2]=m*t;g[x>>2]=u*t;g[e>>2]=v*t;e=c[b+16>>2]|0;l=+g[n>>2];w=+g[s>>2];f=+g[o>>2];g[e+(k<<4)>>2]=l*v*t-w*u*t;g[e+(k<<4)+4>>2]=w*m*t-v*t*f;g[e+(k<<4)+8>>2]=u*t*f-l*m*t;g[e+(k<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(k<<4)|0;t=+g[o>>2];s=e+(k<<4)+4|0;m=+g[s>>2];e=e+(k<<4)+8|0;l=+g[e>>2];f=1.0/+O(+(t*t+m*m+l*l));g[o>>2]=t*f;g[s>>2]=m*f;g[e>>2]=l*f;e=c[b+116>>2]|0;s=c[b+36>>2]|0;f=+g[s+(k<<4)>>2];l=+g[s+(k<<4)+4>>2];m=+g[s+(k<<4)+8>>2];if(f*f+l*l+m*m>1.100000023841858)f=0.0;else{C=+g[h+(k*284|0)+16>>2];G=C-+g[e+52>>2];E=+g[h+(k*284|0)+20>>2];I=E-+g[e+56>>2];J=+g[h+(k*284|0)+24>>2];L=J-+g[e+60>>2];C=C-+g[j+52>>2];E=E-+g[j+56>>2];J=J-+g[j+60>>2];F=+g[e+332>>2];M=+g[e+336>>2];H=+g[e+328>>2];B=+g[j+332>>2];K=+g[j+336>>2];D=+g[j+328>>2];A=(m*I-l*L)*+g[e+4>>2]+(f*L-m*G)*+g[e+20>>2]+(l*G-f*I)*+g[e+36>>2];t=(m*I-l*L)*+g[e+8>>2]+(f*L-m*G)*+g[e+24>>2]+(l*G-f*I)*+g[e+40>>2];u=(m*I-l*L)*+g[e+12>>2]+(f*L-m*G)*+g[e+28>>2]+(l*G-f*I)*+g[e+44>>2];v=(E*-m-J*-l)*+g[j+4>>2]+(J*-f-C*-m)*+g[j+20>>2]+(C*-l-E*-f)*+g[j+36>>2];w=(E*-m-J*-l)*+g[j+8>>2]+(J*-f-C*-m)*+g[j+24>>2]+(C*-l-E*-f)*+g[j+40>>2];z=(E*-m-J*-l)*+g[j+12>>2]+(J*-f-C*-m)*+g[j+28>>2]+(C*-l-E*-f)*+g[j+44>>2];f=(f*(L*F-I*M+ +g[e+312>>2]-(J*B-E*K+ +g[j+312>>2]))+l*(+g[e+316>>2]+(G*M-L*H)-(+g[j+316>>2]+(C*K-J*D)))+m*(I*H-G*F+ +g[e+320>>2]-(E*D-C*B+ +g[j+320>>2])))*-.20000000298023224*(1.0/(+g[j+344>>2]+(+g[e+344>>2]+(A*A*+g[e+396>>2]+t*t*+g[e+400>>2]+u*u*+g[e+404>>2]))+(v*v*+g[j+396>>2]+w*w*+g[j+400>>2]+z*z*+g[j+404>>2])))}g[(c[b+76>>2]|0)+(k<<2)>>2]=f;e=c[b+136>>2]|0}k=k+1|0}while((k|0)<(e|0));if((e|0)<=0){i=r;return}h=c[b+144>>2]|0;j=0;o=0;while(1){e=c[h+(o*284|0)+88>>2]|0;if(e){f=+g[h+(o*284|0)+252>>2];if(f!=0.0){k=h;f=f*d}else{M=+g[h+(o*284|0)+256>>2];M=M==0.0?0.0:M;k=c[b+116>>2]|0;y=c[b+16>>2]|0;G=+g[h+(o*284|0)+16>>2];E=+g[h+(o*284|0)+20>>2];A=+g[h+(o*284|0)+24>>2];w=+g[y+(o<<4)>>2];D=+g[y+(o<<4)+4>>2];f=+g[y+(o<<4)+8>>2];P=G-+g[k+52>>2];Q=E-+g[k+56>>2];l=A-+g[k+60>>2];m=+g[k+264>>2]*(Q*f-l*D)+ +g[k+280>>2]*(l*w-P*f)+(P*D-Q*w)*+g[k+296>>2];R=(Q*f-l*D)*+g[k+268>>2]+(l*w-P*f)*+g[k+284>>2]+(P*D-Q*w)*+g[k+300>>2];N=(Q*f-l*D)*+g[k+272>>2]+(l*w-P*f)*+g[k+288>>2]+(P*D-Q*w)*+g[k+304>>2];K=G-+g[e+52>>2];I=E-+g[e+56>>2];C=A-+g[e+60>>2];v=(D*K-w*I)*+g[e+296>>2]+(+g[e+264>>2]*(f*I-D*C)+ +g[e+280>>2]*(w*C-f*K));t=(f*I-D*C)*+g[e+268>>2]+(w*C-f*K)*+g[e+284>>2]+(D*K-w*I)*+g[e+300>>2];u=(f*I-D*C)*+g[e+272>>2]+(w*C-f*K)*+g[e+288>>2]+(D*K-w*I)*+g[e+304>>2];G=G-+g[k+52>>2];E=E-+g[k+56>>2];A=A-+g[k+60>>2];H=+g[k+332>>2];z=+g[k+336>>2];F=+g[k+328>>2];L=+g[e+332>>2];B=+g[e+336>>2];J=+g[e+328>>2];f=-(1.0/(+g[k+344>>2]+(f*(Q*m-P*R)+(w*(l*R-Q*N)+D*(P*N-l*m)))+(+g[e+344>>2]+(f*(I*v-K*t)+(w*(C*t-I*u)+D*(K*u-C*v)))))*((A*H-E*z+ +g[k+312>>2]-(C*L-I*B+ +g[e+312>>2]))*w+(+g[k+316>>2]+(G*z-A*F)-(+g[e+316>>2]+(K*B-C*J)))*D+(E*F-G*H+ +g[k+320>>2]-(I*J-K*L+ +g[e+320>>2]))*f));f=M>2]|0;f=f<-M?-M:f}n=c[b+56>>2]|0;y=n+(o<<2)|0;g[y>>2]=0.0;e=k+(o*284|0)+280|0;g[e>>2]=1.0;m=+g[h+(o*284|0)+276>>2]*d*+g[h+(o*284|0)+228>>2];g[y>>2]=f;f=f*.5;l=+g[(c[b+76>>2]|0)+(o<<2)>>2];if(f*f+l*l>m*m){R=m/+O(+(f*f+l*l));g[e>>2]=R*+g[e>>2];e=1}else e=j}else{n=c[b+56>>2]|0;g[n+(o<<2)>>2]=0.0;g[h+(o*284|0)+280>>2]=1.0;k=h;e=j}o=o+1|0;j=c[b+136>>2]|0;if((o|0)>=(j|0))break;else{h=k;j=e}}if(e){if((j|0)<=0){i=r;return}e=c[b+76>>2]|0;h=0;do{if(+g[e+(h<<2)>>2]!=0.0?(p=k+(h*284|0)+280|0,q=+g[p>>2],q<1.0):0){y=n+(h<<2)|0;g[y>>2]=q*+g[y>>2];y=(c[b+76>>2]|0)+(h<<2)|0;g[y>>2]=+g[p>>2]*+g[y>>2]}h=h+1|0}while((h|0)!=(j|0))}if((j|0)<=0){i=r;return}j=n;e=0;while(1){h=c[b+116>>2]|0;n=k+(e*284|0)+16|0;l=+g[n>>2]-+g[h+52>>2];o=k+(e*284|0)+20|0;m=+g[o>>2]-+g[h+56>>2];p=k+(e*284|0)+24|0;d=+g[p>>2]-+g[h+60>>2];g[r+96>>2]=l;g[r+96+4>>2]=m;g[r+96+8>>2]=d;g[r+96+12>>2]=0.0;f=+g[j+(e<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(e<<4)+4>>2];R=f*+g[y+(e<<4)+8>>2];g[r+16>>2]=f*+g[y+(e<<4)>>2];g[r+16+4>>2]=Q;g[r+16+8>>2]=R;g[r+16+12>>2]=0.0;gj(h,r+16|0,r+96|0)}f=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(e*284|0)+88>>2]|0;Q=+g[o>>2]-+g[y+56>>2];P=+g[p>>2]-+g[y+60>>2];g[r+48>>2]=+g[n>>2]-+g[y+52>>2];g[r+48+4>>2]=Q;g[r+48+8>>2]=P;g[r+48+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(e<<4)>>2]*f;Q=f*+g[x+(e<<4)+4>>2];R=f*+g[x+(e<<4)+8>>2];g[r+32>>2]=P;g[r+32+4>>2]=Q;g[r+32+8>>2]=R;g[r+32+12>>2]=0.0;x=c[b+116>>2]|0;s=c[b+124>>2]|0;K=+g[x+4+(s<<2)>>2];L=+g[x+20+(s<<2)>>2];M=+g[x+36+(s<<2)>>2];N=(K*l+L*m+M*d)*(1.0-+g[k+(e*284|0)+244>>2]);g[r+96>>2]=l-K*N;g[r+96+4>>2]=m-L*N;g[r+96+8>>2]=d-M*N;gj(x,r+32|0,r+96|0);g[r>>2]=-P;g[r+4>>2]=-Q;g[r+8>>2]=-R;g[r+12>>2]=0.0;gj(y,r,r+48|0)}e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break;k=c[b+144>>2]|0;j=c[b+56>>2]|0}i=r;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0;P=i;i=i+240|0;M=c[d+36>>2]|0;s=+g[(+g[M+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[M+100>>0]&1){i=P;return}K=c[b+8>>2]|0;u=c[K+4>>2]|0;L=c[K+12>>2]|0;I=c[(c[b+4>>2]|0)+684>>2]|0;B=+g[M+8>>2]-+g[L+48>>2];o=+g[M+12>>2]-+g[L+52>>2];C=+g[M+16>>2]-+g[L+56>>2];A=1.0/+g[I+76>>2];z=(B*+g[L>>2]+o*+g[L+16>>2]+C*+g[L+32>>2])*A/3.0;F=z<0.0?~~(1.0-z):0;J=~~((z+ +(F|0)-+(~~(z+ +(F|0))|0))*3.0);r=(z+ +(F|0)-+(~~(z+ +(F|0))|0))*3.0-+(J|0);F=~~(z+ +(F|0))-F|0;z=A*(B*+g[L+4>>2]+o*+g[L+20>>2]+C*+g[L+36>>2])/3.0;D=z<0.0?~~(1.0-z):0;G=~~((z+ +(D|0)-+(~~(z+ +(D|0))|0))*3.0);n=(z+ +(D|0)-+(~~(z+ +(D|0))|0))*3.0-+(G|0);D=~~(z+ +(D|0))-D|0;C=A*(B*+g[L+8>>2]+o*+g[L+24>>2]+C*+g[L+40>>2])/3.0;E=C<0.0?~~(1.0-C):0;H=~~((C+ +(E|0)-+(~~(C+ +(E|0))|0))*3.0);o=(C+ +(E|0)-+(~~(C+ +(E|0))|0))*3.0-+(H|0);E=~~(C+ +(E|0))-E|0;p=(F>>>16<<11^(F&65535)+16^(F&65535)+16<<16)+(D&65535)+((F>>>16<<11^(F&65535)+16^(F&65535)+16<<16)>>>11)|0;p=(p^D>>>16<<11^p<<16)+(E&65535)+((p^D>>>16<<11^p<<16)>>>11)|0;p=(p^E>>>16<<11^p<<16)+(u&65535)+((p^E>>>16<<11^p<<16)>>>11)|0;p=((p^u>>>16<<11^p<<16)>>>11)+(p^u>>>16<<11^p<<16)|0;p=((p<<3^p)>>>5)+(p<<3^p)<<4^((p<<3^p)>>>5)+(p<<3^p);p=(((p>>>17)+p<<25^(p>>>17)+p)>>>6)+((p>>>17)+p<<25^(p>>>17)+p)|0;q=c[I+60>>2]|0;t=c[I+68>>2]|0;d=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]|0;c[I+96>>2]=(c[I+96>>2]|0)+1;e=(c[I+92>>2]|0)+1|0;c[I+92>>2]=e;a:do if(!d)w=9;else while(1){if(((((c[d+272>>2]|0)==(p|0)?(c[d+256>>2]|0)==(F|0):0)?(c[d+260>>2]|0)==(D|0):0)?(c[d+264>>2]|0)==(E|0):0)?(c[d+276>>2]|0)==(u|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[I+92>>2]=e;if(!d){w=9;break}}while(0);if((w|0)==9){f=c[I+84>>2]|0;c[I+84>>2]=f+1;if((f|0)>=(c[I+88>>2]|0)){c[5789]=(c[5789]|0)+1;b:do if((q|0)>0){e=t;f=0;while(1){e=e+(f<<2)|0;d=c[e>>2]|0;c[e>>2]=0;if(d|0)do{e=d;d=c[d+280>>2]|0;hd(e)}while((d|0)!=0);d=f+1|0;if((d|0)==(q|0))break b;e=c[I+68>>2]|0;f=d}}while(0);g[I+76>>2]=.25;c[I+80>>2]=0;c[I+84>>2]=0;c[I+92>>2]=1;c[I+96>>2]=1}while(1){d=yc(284)|0;if(d|0)break;d=c[6564]|0;c[6564]=d+0;if(!d){w=19;break}jc[d&3]()}if((w|0)==19){P=Ya(4)|0;c[P>>2]=9640;pb(P|0,2800,251)}Qn(d|0,0,284)|0;c[d+280>>2]=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2];c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]=d;c[d+276>>2]=u;c[d+272>>2]=p;c[d+256>>2]=F;c[d+260>>2]=D;c[d+264>>2]=E;l=+g[I+76>>2];q=P+168+4|0;t=P+168+24|0;u=P+168+44|0;h=l;e=0;while(1){k=l*+(E|0)*3.0+ +(e|0)*h;p=0;while(1){j=l*+(D|0)*3.0+ +(p|0)*h;g[P+96>>2]=+(F|0)*3.0*l+h*0.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2];g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+64+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2]*2.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+128+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2]*3.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+192+(p<<4)+(e<<2)>>2]=h;f=p+1|0;if((f|0)==4)break;h=+g[I+76>>2];p=f}e=e+1|0;if((e|0)==4)break;h=+g[I+76>>2]}}c[d+268>>2]=c[I+80>>2];h=+g[d+(J<<6)+(G<<4)+(H<<2)>>2];y=+g[d+(J+1<<6)+(G<<4)+(H<<2)>>2];v=+g[d+(J+1<<6)+(G+1<<4)+(H<<2)>>2];x=+g[d+(J<<6)+(G+1<<4)+(H<<2)>>2];C=+g[d+(J<<6)+(G<<4)+(H+1<<2)>>2];B=+g[d+(J+1<<6)+(G<<4)+(H+1<<2)>>2];z=+g[d+(J+1<<6)+(G+1<<4)+(H+1<<2)>>2];A=+g[d+(J<<6)+(G+1<<4)+(H+1<<2)>>2];j=y-h+n*(v-x-(y-h))+o*(B-C+n*(z-A-(B-C))-(y-h+n*(v-x-(y-h))));k=x-h+r*(v-y-(x-h))+o*(A-C+r*(z-B-(A-C))-(x-h+r*(v-y-(x-h))));l=C-h+r*(B-y-(C-h))+n*(A-x+r*(z-v-(A-x))-(C-h+r*(B-y-(C-h))));m=1.0/+O(+(j*j+k*k+l*l));h=h+r*(y-h)+n*(x+r*(v-x)-(h+r*(y-h)));h=h+o*(C+r*(B-C)+n*(A+r*(z-A)-(C+r*(B-C)))-h)-s;if(!(h<0.0)){i=P;return}t=c[K+8>>2]|0;B=+g[L>>2]*j*m+ +g[L+4>>2]*k*m+ +g[L+8>>2]*l*m;C=j*m*+g[L+16>>2]+k*m*+g[L+20>>2]+l*m*+g[L+24>>2];A=j*m*+g[L+32>>2]+k*m*+g[L+36>>2]+l*m*+g[L+40>>2];z=-(B*(+g[M+8>>2]-h*B)+C*(+g[M+12>>2]-h*C)+A*(+g[M+16>>2]-h*A));s=+g[M+88>>2];d=c[b+12>>2]|0;if(!d)r=0.0;else r=+g[d+344>>2];if(!(s+r>0.0)){i=P;return}if(!d)d=c[(c[b+8>>2]|0)+8>>2]|0;if((a[22528]|0)==0?Wa(22528)|0:0){e=23160;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));_a(22528)}e=c[b+12>>2]|0;m=+g[M+8>>2];x=m-+g[d+52>>2];n=+g[M+12>>2];y=n-+g[d+56>>2];o=+g[M+16>>2];v=o-+g[d+60>>2];if(!e){L=c[b+4>>2]|0;d=L;h=+g[L+452>>2];j=0.0;k=0.0;l=0.0}else{Q=+g[e+332>>2];k=+g[e+336>>2];R=+g[e+328>>2];d=c[b+4>>2]|0;l=+g[d+452>>2];h=l;j=(Q*v-k*y+ +g[e+312>>2])*l;k=(+g[e+316>>2]+(k*x-v*R))*l;l=(y*R-Q*x+ +g[e+320>>2])*l}m=m-+g[M+24>>2]-j;Q=n-+g[M+28>>2]-k;R=o-+g[M+32>>2]-l;j=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];Pf(P,h,s,r,(e|0)==0?23160:e+264|0,x,y,v);c[P+80>>2]=c[P>>2];c[P+80+4>>2]=c[P+4>>2];c[P+80+8>>2]=c[P+8>>2];c[P+80+12>>2]=c[P+12>>2];c[P+64>>2]=c[P+16>>2];c[P+64+4>>2]=c[P+16+4>>2];c[P+64+8>>2]=c[P+16+8>>2];c[P+64+12>>2]=c[P+16+12>>2];c[P+48>>2]=c[P+32>>2];c[P+48+4>>2]=c[P+32+4>>2];c[P+48+8>>2]=c[P+32+8>>2];c[P+48+12>>2]=c[P+32+12>>2];q=c[b+4>>2]|0;h=s*+g[q+452>>2];j=(R-A*(m*B+Q*C+R*A))*(R-A*(m*B+Q*C+R*A))+((m-B*(m*B+Q*C+R*A))*(m-B*(m*B+Q*C+R*A))+(Q-C*(m*B+Q*C+R*A))*(Q-C*(m*B+Q*C+R*A)))>2]|0)+8>>2]|0)+204>>2]&3|0?q+328|0:q+324|0)>>2]|0;d=c[q+812>>2]|0;if((d|0)==(c[q+816>>2]|0)?(N=d|0?d<<1:1,(d|0)<(N|0)):0){if(!N)f=0;else{c[6435]=(c[6435]|0)+1;d=yc((N*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[q+812>>2]|0}if((d|0)>0){e=0;do{L=f+(e*104|0)|0;K=c[q+820>>2]|0;J=K+(e*104|0)|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];L=f+(e*104|0)+28|0;J=K+(e*104|0)+28|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+44|0;J=K+(e*104|0)+44|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+60|0;J=K+(e*104|0)+60|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+76|0;K=K+(e*104|0)+76|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];c[L+16>>2]=c[K+16>>2];c[L+20>>2]=c[K+20>>2];c[L+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[q+820>>2]|0;if(d|0){if(a[q+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[q+820>>2]=0}a[q+824>>0]=1;c[q+820>>2]=f;c[q+816>>2]=N;d=c[q+812>>2]|0}L=c[q+820>>2]|0;c[L+(d*104|0)>>2]=t;g[L+(d*104|0)+4>>2]=B;g[L+(d*104|0)+8>>2]=C;g[L+(d*104|0)+12>>2]=A;g[L+(d*104|0)+16>>2]=0.0;g[L+(d*104|0)+20>>2]=z;c[L+(d*104|0)+24>>2]=M;N=L+(d*104|0)+28|0;c[N>>2]=c[P+80>>2];c[N+4>>2]=c[P+80+4>>2];c[N+8>>2]=c[P+80+8>>2];c[N+12>>2]=c[P+80+12>>2];N=L+(d*104|0)+44|0;c[N>>2]=c[P+64>>2];c[N+4>>2]=c[P+64+4>>2];c[N+8>>2]=c[P+64+8>>2];c[N+12>>2]=c[P+64+12>>2];N=L+(d*104|0)+60|0;c[N>>2]=c[P+48>>2];c[N+4>>2]=c[P+48+4>>2];c[N+8>>2]=c[P+48+8>>2];c[N+12>>2]=c[P+48+12>>2];N=L+(d*104|0)+76|0;g[N>>2]=x;g[L+(d*104|0)+80>>2]=y;g[L+(d*104|0)+84>>2]=v;g[L+(d*104|0)+88>>2]=0.0;g[N+16>>2]=h;g[N+20>>2]=j;c[N+24>>2]=p;c[q+812>>2]=(c[q+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){i=P;return}if(c[d+204>>2]&3|0){i=P;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;i=P;return} -function nc(d,f){d=d|0;f=f|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0;da=i;i=i+288|0;h=c[d+52>>2]|0;if(h|0?(Ab[c[c[h>>2]>>2]&255](h),j=c[d+52>>2]|0,j|0):0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[6435]=(c[6435]|0)+1;h=yc(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=9352;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+52>>2]=h;o=0;n=0;ca=0;J=0;while(1){if((o|0)>=(Eb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((J|0)==(n|0)){l=n|0?n<<1:1;if((n|0)<(l|0)){if((l|0)!=0?(c[6435]=(c[6435]|0)+1,p=yc((l<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;h=p+4+15&-16}else h=0;if((n|0)<=0){if(!ca){m=n;j=l;break}}else{j=0;do{ba=h+(j<<4)|0;aa=ca+(j<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];j=j+1|0}while((j|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[ca+-4>>2]|0);m=n;j=l}else{m=n;j=n;h=ca}}else{m=J;j=n;h=ca}while(0);n=h+(J<<4)|0;c[n>>2]=c[da+192>>2];c[n+4>>2]=c[da+192+4>>2];c[n+8>>2]=c[da+192+8>>2];c[n+12>>2]=c[da+192+12>>2];ic[c[(c[d>>2]|0)+108>>2]&127](d,o,n);o=o+1|0;n=j;ca=h;J=m+1|0}a[da+128+16>>0]=1;ba=da+128+12|0;c[ba>>2]=0;c[da+128+4>>2]=0;c[da+128+8>>2]=0;a[da+128+36>>0]=1;aa=da+128+32|0;c[aa>>2]=0;c[da+128+24>>2]=0;c[da+128+28>>2]=0;a[da+128+56>>0]=1;$=da+128+52|0;c[$>>2]=0;c[da+128+44>>2]=0;c[da+128+48>>2]=0;if(f){if((J|0)>0){G=0;j=0;m=0;l=0;while(1){h=G;G=G+1|0;if((G|0)<(J|0)){C=ca+(h<<4)|0;D=ca+(h<<4)+4|0;A=ca+(h<<4)+8|0;B=G;h=l;do{l=B;B=B+1|0;if((B|0)<(J|0)){y=ca+(l<<4)|0;z=ca+(l<<4)+4|0;f=ca+(l<<4)+8|0;w=B;do{E=+g[C>>2];I=+g[y>>2]-E;F=+g[D>>2];v=+g[z>>2]-F;H=+g[A>>2];x=+g[f>>2]-H;E=+g[ca+(w<<4)>>2]-E;F=+g[ca+(w<<4)+4>>2]-F;H=+g[ca+(w<<4)+8>>2]-H;q=1.0;p=0;while(1){t=(v*H-x*F)*q;u=(x*E-I*H)*q;r=(I*F-v*E)*q;a:do if(r*r+(t*t+u*u)>9.999999747378752e-05){s=1.0/+O(+(r*r+(t*t+u*u)));if((h|0)>0){l=0;do{if(t*s*+g[m+(l<<4)>>2]+u*s*+g[m+(l<<4)+4>>2]+r*s*+g[m+(l<<4)+8>>2]>.9990000128746033)break a;l=l+1|0}while((l|0)<(h|0))}q=t*s*+g[C>>2]+u*s*+g[D>>2]+r*s*+g[A>>2];l=0;do{if(t*s*+g[ca+(l<<4)>>2]+u*s*+g[ca+(l<<4)+4>>2]+r*s*+g[ca+(l<<4)+8>>2]-q+-.009999999776482582>0.0)break a;l=l+1|0}while((l|0)<(J|0));do if((h|0)==(j|0)){o=j|0?j<<1:1;if((j|0)<(o|0)){do if(!o)n=0;else{c[6435]=(c[6435]|0)+1;l=yc((o<<4|3)+16|0)|0;if(!l){n=0;break}c[(l+4+15&-16)+-4>>2]=l;n=l+4+15&-16}while(0);if((j|0)<=0){if(!m){l=j;j=o;m=n;break}}else{l=0;do{Y=n+(l<<4)|0;X=m+(l<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];l=l+1|0}while((l|0)!=(j|0))}c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);l=j;j=o;m=n}else l=j}else l=h;while(0);g[m+(l<<4)>>2]=t*s;g[m+(l<<4)+4>>2]=u*s;g[m+(l<<4)+8>>2]=r*s;g[m+(l<<4)+12>>2]=-q;h=h+1|0}while(0);p=p+1|0;if((p|0)==2)break;else q=-1.0}w=w+1|0}while((w|0)!=(J|0))}}while((B|0)!=(J|0))}else h=l;if((G|0)==(J|0))break;else l=h}if((h|0)>0){o=0;p=0;f=0;while(1){Y=m+(f<<4)|0;c[da+208>>2]=c[Y>>2];c[da+208+4>>2]=c[Y+4>>2];c[da+208+8>>2]=c[Y+8>>2];q=+g[m+(f<<4)+12>>2];q=q-+Sb[c[(c[d>>2]|0)+48>>2]&15](d);do if((f|0)==(o|0)){n=o|0?o<<1:1;if((o|0)<(n|0)){if((n|0)!=0?(c[6435]=(c[6435]|0)+1,K=yc((n<<4|3)+16|0)|0,(K|0)!=0):0){c[(K+4+15&-16)+-4>>2]=K;l=K+4+15&-16}else l=0;if((o|0)<=0){if(!p){j=o;break}}else{j=0;do{Y=l+(j<<4)|0;X=p+(j<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];j=j+1|0}while((j|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0);j=o}else{j=o;n=o;l=p}}else{j=f;n=o;l=p}while(0);Y=l+(j<<4)|0;c[Y>>2]=c[da+208>>2];c[Y+4>>2]=c[da+208+4>>2];c[Y+8>>2]=c[da+208+8>>2];g[l+(j<<4)+12>>2]=q;f=f+1|0;if((f|0)<(h|0)){o=n;p=l}else break}if((f|0)>0){C=0;n=0;j=0;h=0;do{A=C;C=C+1|0;if((C|0)<(f|0)){B=C;do{y=B;B=B+1|0;if((B|0)<(f|0)){z=B;do{t=+g[l+(y<<4)+4>>2];q=+g[l+(z<<4)+8>>2];r=+g[l+(y<<4)+8>>2];u=+g[l+(z<<4)+4>>2];v=+g[l+(z<<4)>>2];x=+g[l+(y<<4)>>2];s=+g[l+(A<<4)+8>>2];E=+g[l+(A<<4)+4>>2];F=+g[l+(A<<4)>>2];b:do if((((u*x-t*v)*(u*x-t*v)+((t*q-r*u)*(t*q-r*u)+(r*v-q*x)*(r*v-q*x))>9.999999747378752e-05?(v*E-u*F)*(v*E-u*F)+((u*s-q*E)*(u*s-q*E)+(q*F-v*s)*(q*F-v*s))>9.999999747378752e-05:0)?(t*F-x*E)*(t*F-x*E)+((r*E-t*s)*(r*E-t*s)+(x*s-r*F)*(x*s-r*F))>9.999999747378752e-05:0)?(U=s*(u*x-t*v)+(E*(r*v-q*x)+(t*q-r*u)*F),+N(+U)>9.999999974752427e-07):0){ea=+g[l+(A<<4)+12>>2];I=+g[l+(y<<4)+12>>2];fa=+g[l+(z<<4)+12>>2];H=-1.0/U*((r*E-t*s)*fa+((t*q-r*u)*ea+(u*s-q*E)*I));r=-1.0/U*((x*s-r*F)*fa+((r*v-q*x)*ea+(q*F-v*s)*I));q=-1.0/U*((t*F-x*E)*fa+((u*x-t*v)*ea+(v*E-u*F)*I));o=0;do{if(+g[l+(o<<4)+12>>2]+(H*+g[l+(o<<4)>>2]+r*+g[l+(o<<4)+4>>2]+q*+g[l+(o<<4)+8>>2])+-.009999999776482582>0.0)break b;o=o+1|0}while((o|0)<(f|0));do if((h|0)==(n|0)){w=n|0?n<<1:1;if((n|0)>=(w|0)){o=n;break}do if(!w)p=0;else{c[6435]=(c[6435]|0)+1;o=yc((w<<4|3)+16|0)|0;if(!o){p=0;break}c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}while(0);if((n|0)<=0){if(!j){o=n;n=w;j=p;break}}else{o=0;do{Y=p+(o<<4)|0;X=j+(o<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];o=o+1|0}while((o|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);o=n;n=w;j=p}else o=h;while(0);g[j+(o<<4)>>2]=H;g[j+(o<<4)+4>>2]=r;g[j+(o<<4)+8>>2]=q;g[j+(o<<4)+12>>2]=0.0;h=h+1|0}while(0);z=z+1|0}while((z|0)!=(f|0))}}while((B|0)!=(f|0))}}while((C|0)!=(f|0))}else{j=0;h=0}}else{l=0;j=0;h=0}}else{m=0;l=0;j=0;h=0}Dc(da+128|0,j,h);if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}if(l|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}}else Dc(da+128|0,ca,J);G=c[da+128+44>>2]|0;if((G|0)>0){c[6435]=(c[6435]|0)+1;h=yc((G<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{Y=j+(h<<4)|0;c[Y>>2]=c[da+112>>2];c[Y+4>>2]=c[da+112+4>>2];c[Y+8>>2]=c[da+112+8>>2];c[Y+12>>2]=c[da+112+12>>2];h=h+1|0}while((h|0)!=(G|0))}else j=0;a[da+92+16>>0]=1;Y=da+92+12|0;c[Y>>2]=0;X=da+92+4|0;c[X>>2]=0;c[da+92+8>>2]=0;m=da+256|0;o=m+19|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(o|0));if((G|0)<0)lb();if((G|0)>0){If(da+92|0,G);h=c[Y>>2]|0;l=0;do{m=h+(l*36|0)|0;a[m+16>>0]=1;c[m+4>>2]=0;c[m+4+4>>2]=0;c[m+4+8>>2]=0;m=m+20|0;n=da+256+3|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));l=l+1|0}while((l|0)!=(G|0))}c[X>>2]=G;p=c[da+128+4>>2]|0;o=c[d+52>>2]|0;n=c[o+8>>2]|0;if((n|0)<(p|0)){if((c[o+12>>2]|0)<(p|0)){if(!p){h=0;l=n}else{c[6435]=(c[6435]|0)+1;h=yc((p<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[o+8>>2]|0}if((l|0)>0){m=0;do{W=h+(m<<4)|0;V=(c[o+16>>2]|0)+(m<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[o+16>>2]|0;if(l|0){if(a[o+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[o+16>>2]=0}a[o+20>>0]=1;c[o+16>>2]=h;c[o+12>>2]=p;l=o+16|0}else l=o+16|0;h=n;do{W=(c[l>>2]|0)+(h<<4)|0;c[W>>2]=c[da+56>>2];c[W+4>>2]=c[da+56+4>>2];c[W+8>>2]=c[da+56+8>>2];c[W+12>>2]=c[da+56+12>>2];h=h+1|0}while((h|0)!=(p|0))}c[o+8>>2]=p;if((p|0)>0){h=0;do{W=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;V=(c[ba>>2]|0)+(h<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];h=h+1|0}while((h|0)!=(p|0))}if((G|0)>0){D=0;do{A=(c[aa>>2]|0)+((c[(c[$>>2]|0)+(D<<2)>>2]|0)*12|0)|0;C=A;l=0;do{B=C+4|0;z=c[C+((c[B>>2]|0)*12|0)+8>>2]|0;w=c[Y>>2]|0;y=w+(D*36|0)+4|0;h=c[y>>2]|0;f=w+(D*36|0)+8|0;if((h|0)==(c[f>>2]|0)?(L=h|0?h<<1:1,(h|0)<(L|0)):0){if(!L)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((L<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}p=h;h=c[y>>2]|0}o=w+(D*36|0)+12|0;n=c[o>>2]|0;if((h|0)<=0)if(!n)m=w+(D*36|0)+16|0;else _=132;else{m=0;do{c[p+(m<<2)>>2]=c[n+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0));_=132}if((_|0)==132){_=0;h=w+(D*36|0)+16|0;if(a[h>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[o>>2]=0;m=h;h=c[y>>2]|0}a[m>>0]=1;c[o>>2]=p;c[f>>2]=L}c[(c[w+(D*36|0)+12>>2]|0)+(h<<2)>>2]=z;c[y>>2]=(c[y>>2]|0)+1;V=c[C+8>>2]|0;W=c[ba>>2]|0;s=+g[W+(V<<4)>>2]-+g[W+(z<<4)>>2];t=+g[W+(V<<4)+4>>2]-+g[W+(z<<4)+4>>2];q=+g[W+(V<<4)+8>>2]-+g[W+(z<<4)+8>>2];r=1.0/+O(+(s*s+t*t+q*q));if((l|0)<2){g[da+208+(l<<4)>>2]=s*r;g[da+208+(l<<4)+4>>2]=t*r;g[da+208+(l<<4)+8>>2]=q*r;g[da+208+(l<<4)+12>>2]=0.0;l=l+1|0}W=C+((c[B>>2]|0)*12|0)|0;C=W+((c[W>>2]|0)*12|0)|0}while((C|0)!=(A|0));h=j+(D<<4)|0;if((l|0)==2){H=+g[da+208+4>>2];I=+g[da+208+24>>2];U=+g[da+208+8>>2];ea=+g[da+208+20>>2];F=+g[da+208+16>>2];E=+g[da+208>>2];V=j+(D<<4)+4|0;W=j+(D<<4)+8|0;g[j+(D<<4)+12>>2]=0.0;fa=1.0/+O(+((H*I-U*ea)*(H*I-U*ea)+(U*F-I*E)*(U*F-I*E)+(ea*E-H*F)*(ea*E-H*F)));g[h>>2]=(H*I-U*ea)*fa;g[V>>2]=(U*F-I*E)*fa;g[W>>2]=(ea*E-H*F)*fa;o=c[Y>>2]|0;g[o+(D*36|0)+20>>2]=(H*I-U*ea)*fa;c[o+(D*36|0)+24>>2]=c[V>>2];c[o+(D*36|0)+28>>2]=c[W>>2];g[o+(D*36|0)+32>>2]=1000000015047466219876688.0e6}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;o=c[Y>>2]|0}m=c[o+(D*36|0)+4>>2]|0;if((m|0)>0){n=c[(c[d+52>>2]|0)+16>>2]|0;r=+g[h>>2];s=+g[j+(D<<4)+4>>2];t=+g[j+(D<<4)+8>>2];h=c[o+(D*36|0)+12>>2]|0;q=1000000015047466219876688.0e6;l=0;do{W=c[h+(l<<2)>>2]|0;fa=+g[n+(W<<4)>>2]*r+ +g[n+(W<<4)+4>>2]*s+ +g[n+(W<<4)+8>>2]*t;q=q>fa?fa:q;l=l+1|0}while((l|0)!=(m|0))}else q=1000000015047466219876688.0e6;g[o+(D*36|0)+32>>2]=-q;D=D+1|0}while((D|0)!=(G|0))}if((c[X>>2]|0)>0){o=0;h=0;n=0;while(1){do if((o|0)==(h|0)){h=o|0?o<<1:1;if((o|0)<(h|0)){if((h|0)!=0?(c[6435]=(c[6435]|0)+1,M=yc((h<<2|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;m=M+4+15&-16}else m=0;if((o|0)<=0){if(!n)break}else{l=0;do{c[m+(l<<2)>>2]=c[n+(l<<2)>>2];l=l+1|0}while((l|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}else{h=o;m=n}}else m=n;while(0);c[m+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[X>>2]|0))break;else n=m}L=da+72+12|0;M=da+72+4|0;while(1){f=o+-1|0;l=c[m+(f<<2)>>2]|0;c[6435]=(c[6435]|0)+1;h=yc(23)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=l;W=c[Y>>2]|0;r=+g[W+(l*36|0)+20>>2];s=+g[W+(l*36|0)+24>>2];q=+g[W+(l*36|0)+28>>2];c:do if((o|0)>1){n=1;p=1;l=h;h=f;z=f;while(1){y=p;f=l;d:while(1){l=c[Y>>2]|0;do{W=h;h=h+-1|0;if((W|0)<=0){h=l;K=y;J=f;o=z;break c}w=c[m+(h<<2)>>2]|0}while(!(r*+g[l+(w*36|0)+20>>2]+s*+g[l+(w*36|0)+24>>2]+q*+g[l+(w*36|0)+28>>2]>.9990000128746033));do if((y|0)==(n|0)){n=y|0?y<<1:1;if((y|0)<(n|0)){do if(!n)o=0;else{c[6435]=(c[6435]|0)+1;l=yc((n<<2|3)+16|0)|0;if(!l){o=0;break}c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}while(0);if((y|0)<=0){if(!f){f=o;break}}else{l=0;do{c[o+(l<<2)>>2]=c[f+(l<<2)>>2];l=l+1|0}while((l|0)!=(y|0))}c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);f=o}else n=y}while(0);c[f+(y<<2)>>2]=w;y=y+1|0;l=0;while(1){p=m+(l<<2)|0;if((c[p>>2]|0)==(w|0))break;l=l+1|0;if((l|0)>=(z|0))continue d}if((l|0)<(z|0))break}o=z+-1|0;W=m+(o<<2)|0;c[p>>2]=c[W>>2];c[W>>2]=w;if((z|0)>1){p=y;l=f;z=o}else{p=y;l=f;_=161;break}}}else{n=1;p=1;l=h;h=f;o=f;_=161}while(0);e:do if((_|0)==161){_=0;y=p;w=l;while(1){l=c[Y>>2]|0;do{W=h;h=h+-1|0;if((W|0)<=0){h=l;K=y;J=w;break e}f=c[m+(h<<2)>>2]|0}while(!(r*+g[l+(f*36|0)+20>>2]+s*+g[l+(f*36|0)+24>>2]+q*+g[l+(f*36|0)+28>>2]>.9990000128746033));do if((y|0)==(n|0)){n=y|0?y<<1:1;if((y|0)<(n|0)){do if(!n)l=0;else{c[6435]=(c[6435]|0)+1;l=yc((n<<2|3)+16|0)|0;if(!l){l=0;break}c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}while(0);if((y|0)<=0){if(!w)break}else{p=0;do{c[l+(p<<2)>>2]=c[w+(p<<2)>>2];p=p+1|0}while((p|0)!=(y|0))}c[6436]=(c[6436]|0)+1;hd(c[w+-4>>2]|0)}else{n=y;l=w}}else l=w;while(0);c[l+(y<<2)>>2]=f;y=y+1|0;w=l}}while(0);if((K|0)>1){a[da+72+16>>0]=1;c[L>>2]=0;c[M>>2]=0;c[da+72+8>>2]=0;q=0.0;r=0.0;s=0.0;n=0;B=0;do{l=c[J+(B<<2)>>2]|0;q=+g[h+(l*36|0)+20>>2]+q;r=+g[h+(l*36|0)+24>>2]+r;s=+g[h+(l*36|0)+28>>2]+s;A=h+(l*36|0)+4|0;if((c[A>>2]|0)>0){z=h+(l*36|0)+12|0;h=n;y=0;while(1){w=c[(c[z>>2]|0)+(y<<2)>>2]|0;W=(c[(c[d+52>>2]|0)+16>>2]|0)+(w<<4)|0;c[da+208>>2]=c[W>>2];c[da+208+4>>2]=c[W+4>>2];c[da+208+8>>2]=c[W+8>>2];c[da+208+12>>2]=c[W+12>>2];f:do if((h|0)>0){l=c[L>>2]|0;n=0;while(1){if((c[l+(n*24|0)+20>>2]|0)==(w|0))break f;n=n+1|0;if((n|0)>=(h|0)){_=248;break}}}else _=248;while(0);if((_|0)==248){_=0;c[da>>2]=c[da+208>>2];c[da+4>>2]=c[da+208+4>>2];c[da+8>>2]=c[da+208+8>>2];c[da+12>>2]=c[da+208+12>>2];do if((h|0)==(c[da+72+8>>2]|0)){f=h|0?h<<1:1;if((h|0)>=(f|0))break;if(!f)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((f*24|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}p=h;h=c[M>>2]|0}n=c[L>>2]|0;if((h|0)<=0){if(n)_=257}else{l=0;do{_=p+(l*24|0)|0;W=n+(l*24|0)|0;c[_>>2]=c[W>>2];c[_+4>>2]=c[W+4>>2];c[_+8>>2]=c[W+8>>2];c[_+12>>2]=c[W+12>>2];c[_+16>>2]=c[W+16>>2];c[_+20>>2]=c[W+20>>2];l=l+1|0}while((l|0)!=(h|0));_=257}if((_|0)==257){_=0;if(a[da+72+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0);h=c[M>>2]|0}c[L>>2]=0}a[da+72+16>>0]=1;c[L>>2]=p;c[da+72+8>>2]=f}while(0);W=c[L>>2]|0;V=W+(h*24|0)|0;c[V>>2]=c[da>>2];c[V+4>>2]=c[da+4>>2];c[V+8>>2]=c[da+8>>2];c[V+12>>2]=c[da+12>>2];c[V+16>>2]=c[da+16>>2];c[W+(h*24|0)+20>>2]=w;h=(c[M>>2]|0)+1|0;c[M>>2]=h}y=y+1|0;if((y|0)>=(c[A>>2]|0)){n=h;break}}}B=B+1|0;h=c[Y>>2]|0}while((B|0)<(K|0));a[da+20+16>>0]=1;c[da+20+12>>2]=0;c[da+20+4>>2]=0;c[da+20+8>>2]=0;W=h+20+((c[J>>2]|0)*9<<2)|0;c[da+20+20>>2]=c[W>>2];c[da+20+20+4>>2]=c[W+4>>2];c[da+20+20+8>>2]=c[W+8>>2];c[da+20+20+12>>2]=c[W+12>>2];u=1.0/+O(+(q*q+r*r+s*s));x=q*u;v=r*u;u=s*u;if(+N(+u)>.7071067690849304){t=1.0/+O(+(u*u+v*v));r=0.0;s=v*t;t=-(u*t)}else{t=1.0/+O(+(x*x+v*v));r=-(v*t);s=0.0;t=x*t}if((n|0)<2)if((n|0)>0){h=n;n=0;p=0;y=0;while(1){z=c[L>>2]|0;do if((n|0)==(p|0)){w=p|0?p<<1:1;if((p|0)>=(w|0)){f=p;l=y;break}do if(!w)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((w*24|3)+16|0)|0;if(!h){l=0;p=n;break}c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16;p=n}while(0);if((p|0)<=0){if(y|0)_=209}else{h=0;do{_=l+(h*24|0)|0;W=y+(h*24|0)|0;c[_>>2]=c[W>>2];c[_+4>>2]=c[W+4>>2];c[_+8>>2]=c[W+8>>2];c[_+12>>2]=c[W+12>>2];c[_+16>>2]=c[W+16>>2];c[_+20>>2]=c[W+20>>2];h=h+1|0}while((h|0)!=(p|0));_=209}if((_|0)==209){_=0;c[6436]=(c[6436]|0)+1;hd(c[y+-4>>2]|0)}f=n;h=c[M>>2]|0;p=w}else{f=n;l=y}while(0);W=l+(f*24|0)|0;c[W>>2]=c[z>>2];c[W+4>>2]=c[z+4>>2];c[W+8>>2]=c[z+8>>2];c[W+12>>2]=c[z+12>>2];c[W+16>>2]=c[z+16>>2];c[W+20>>2]=c[z+20>>2];n=n+1|0;if((n|0)<(h|0))y=l;else{_=263;break}}}else{h=0;l=0;_=292}else{h=c[L>>2]|0;l=n;p=0;do{if(r*+g[h+(p*24|0)>>2]+t*+g[h+(p*24|0)+4>>2]+s*+g[h+(p*24|0)+8>>2]>2]+t*+g[h+4>>2]+s*+g[h+8>>2]){c[da+208>>2]=c[h>>2];c[da+208+4>>2]=c[h+4>>2];c[da+208+8>>2]=c[h+8>>2];c[da+208+12>>2]=c[h+12>>2];c[da+208+16>>2]=c[h+16>>2];c[da+208+20>>2]=c[h+20>>2];l=h+(p*24|0)|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];c[h+16>>2]=c[l+16>>2];c[h+20>>2]=c[l+20>>2];l=h+(p*24|0)|0;c[l>>2]=c[da+208>>2];c[l+4>>2]=c[da+208+4>>2];c[l+8>>2]=c[da+208+8>>2];c[l+12>>2]=c[da+208+12>>2];c[l+16>>2]=c[da+208+16>>2];c[l+20>>2]=c[da+208+20>>2];l=n}p=p+1|0}while((p|0)<(l|0));g[h+16>>2]=-1000000015047466219876688.0e6;if((l|0)>1){h=c[L>>2]|0;l=c[M>>2]|0;q=+g[h+4>>2];n=1;do{U=+g[h+(n*24|0)>>2]-+g[h>>2];ea=+g[h+(n*24|0)+4>>2]-q;fa=+g[h+(n*24|0)+8>>2]-+g[h+8>>2];g[h+(n*24|0)+16>>2]=((r*ea-t*U)*u+(x*(t*fa-s*ea)+v*(s*U-r*fa)))/+O(+(U*U+ea*ea+fa*fa));n=n+1|0}while((n|0)<(l|0))}c[da+208>>2]=c[h>>2];c[da+208+4>>2]=c[h+4>>2];c[da+208+8>>2]=c[h+8>>2];c[da+208+12>>2]=c[h+12>>2];xf(da+72|0,da+208|0,1,(c[M>>2]|0)+-1|0);l=c[L>>2]|0;c[6435]=(c[6435]|0)+1;h=yc(43)|0;if(!h)p=0;else{c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}n=c[L>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=c[l+4>>2];c[p+8>>2]=c[l+8>>2];c[p+12>>2]=c[l+12>>2];c[p+16>>2]=c[l+16>>2];c[p+20>>2]=c[l+20>>2];c[6435]=(c[6435]|0)+1;h=yc(67)|0;if(!h)l=0;else{c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];c[l+16>>2]=c[p+16>>2];c[l+20>>2]=c[p+20>>2];if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}h=l+24|0;c[h>>2]=c[n+24>>2];c[h+4>>2]=c[n+24+4>>2];c[h+8>>2]=c[n+24+8>>2];c[h+12>>2]=c[n+24+12>>2];c[h+16>>2]=c[n+24+16>>2];c[h+20>>2]=c[n+24+20>>2];h=c[M>>2]|0;if((h|0)==2){h=2;n=2}else{f=2;n=2;p=2;A=2;do{g:do if((f|0)>1){W=c[L>>2]|0;z=W+(A*24|0)|0;q=+g[z>>2];r=+g[W+(A*24|0)+4>>2];s=+g[W+(A*24|0)+8>>2];while(1){W=f+-2|0;w=f+-1|0;U=+g[l+(W*24|0)>>2];ea=U-+g[l+(w*24|0)>>2];H=+g[l+(W*24|0)+4>>2];F=H-+g[l+(w*24|0)+4>>2];fa=+g[l+(W*24|0)+8>>2];I=fa-+g[l+(w*24|0)+8>>2];if((ea*(H-r)-F*(U-q))*u+(x*(F*(fa-s)-I*(H-r))+v*(I*(U-q)-ea*(fa-s)))>0.0)break;if((w|0)>1){f=w;n=w}else{f=w;n=w;break g}}do if((f|0)==(p|0)){y=p<<1;if((p|0)>=(y|0)){f=p;w=p;break}if(p){c[6435]=(c[6435]|0)+1;h=yc((p*48|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}if((n|0)>0){p=h;f=n;_=230}else p=h}else{p=0;h=0;f=0;_=230}if((_|0)==230){_=0;w=0;do{W=h+(w*24|0)|0;V=l+(w*24|0)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];c[W+16>>2]=c[V+16>>2];c[W+20>>2]=c[V+20>>2];w=w+1|0}while((w|0)!=(f|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);h=c[M>>2]|0;f=n;w=y;l=p}else w=p;while(0);f=l+(f*24|0)|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];c[f+20>>2]=c[z+20>>2];n=n+1|0;f=n;p=w}while(0);A=A+1|0}while((A|0)!=(h|0))}_=263}h:do if((_|0)==263){_=0;if((n|0)>0){D=0;A=0;f=0;h=0;G=0;while(1){B=l+(G*24|0)+20|0;do if((D|0)==(A|0)){w=A|0?A<<1:1;if((A|0)>=(w|0)){C=f;break}do if(!w)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((w<<2|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((A|0)<=0){if(f|0)_=284}else{h=0;do{c[p+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(A|0));_=284}if((_|0)==284){_=0;c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);c[da+20+12>>2]=0}a[da+20+16>>0]=1;c[da+20+12>>2]=p;c[da+20+8>>2]=w;C=p;h=p;A=w}else C=f;while(0);c[C+(D<<2)>>2]=c[B>>2];D=(c[da+20+4>>2]|0)+1|0;c[da+20+4>>2]=D;y=c[M>>2]|0;i:do if((y|0)>0){z=c[L>>2]|0;p=c[B>>2]|0;w=0;while(1){f=z+(w*24|0)+20|0;w=w+1|0;if((c[f>>2]|0)==(p|0))break;if((w|0)>=(y|0))break i}c[f>>2]=-1}while(0);G=G+1|0;if((G|0)>=(n|0)){D=y;break}else f=C}}else{D=h;h=0}if((D|0)<=0){_=292;break}w=c[L>>2]|0;y=c[X>>2]|0;z=c[Y>>2]|0;if((y|0)>0)B=0;else{_=292;break}while(1){A=c[w+(B*24|0)+20>>2]|0;if((A|0)!=-1){C=0;do{n=0;while(1){if((c[J+(n<<2)>>2]|0)==(C|0))break;n=n+1|0;if((n|0)>=(K|0)){_=270;break}}do if((_|0)==270){_=0;n=c[z+(C*36|0)+4>>2]|0;if((n|0)<=0)break;p=c[z+(C*36|0)+12>>2]|0;f=0;do{if((c[p+(f<<2)>>2]|0)==(A|0)){n=1;break h}f=f+1|0}while((f|0)<(n|0))}while(0);C=C+1|0}while((C|0)<(y|0))}B=B+1|0;if((B|0)>=(D|0)){_=292;break}}}while(0);if((_|0)==292){_=0;th((c[d+52>>2]|0)+24|0,da+20|0);n=0}if(l|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[da+20+12>>2]=0}h=c[L>>2]|0;if(h|0){if(a[da+72+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[L>>2]=0}if(n&(K|0)>0){y=0;_=302}}else if((K|0)>0){y=0;_=302}if((_|0)==302)while(1){_=0;f=c[J+(y<<2)>>2]|0;w=c[Y>>2]|0;a[da+208+16>>0]=1;c[da+208+12>>2]=0;c[da+208+4>>2]=0;c[da+208+8>>2]=0;p=c[w+(f*36|0)+4>>2]|0;if((p|0)>0){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}a[da+208+16>>0]=1;c[da+208+12>>2]=h;c[da+208+8>>2]=p;Qn(h|0,0,p<<2|0)|0;l=c[w+(f*36|0)+12>>2]|0;c[da+208+4>>2]=p;n=0;do{c[h+(n<<2)>>2]=c[l+(n<<2)>>2];n=n+1|0}while((n|0)!=(p|0))}else{c[da+208+4>>2]=p;h=0}c[da+208+20>>2]=c[w+(f*36|0)+20>>2];c[da+208+20+4>>2]=c[w+(f*36|0)+20+4>>2];c[da+208+20+8>>2]=c[w+(f*36|0)+20+8>>2];c[da+208+20+12>>2]=c[w+(f*36|0)+20+12>>2];th((c[d+52>>2]|0)+24|0,da+208|0);if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[da+208+12>>2]=0}y=y+1|0;if((y|0)>=(K|0))break;else _=302}if(J|0){c[6436]=(c[6436]|0)+1;hd(c[J+-4>>2]|0)}if(!o)break}}else m=0;W=c[d+52>>2]|0;c[W+64>>2]=0;c[W+64+4>>2]=0;c[W+64+8>>2]=0;c[W+64+12>>2]=0;h=c[W+28>>2]|0;if((h|0)>0){z=0;l=0;n=0;D=0;B=0;w=0;o=0;C=0;y=0;p=0;A=0;G=0;V=0;while(1){f=c[W+36>>2]|0;T=c[f+(V*36|0)+4>>2]|0;if((T|0)>0){R=V&65535;S=V|-65536;P=w;L=y;K=G;h=0;while(1){Q=h+1|0;J=c[f+(V*36|0)+12>>2]|0;w=c[J+(h<<2)>>2]&65535;J=c[J+(((Q|0)==(T|0)?0:Q)<<2)>>2]&65535;M=J<<16>>16>w<<16>>16?w:J;d=J<<16>>16>w<<16>>16?J:w;f=J<<16>>16>w<<16>>16?w:J;w=J<<16>>16>w<<16>>16?J:w;J=L+-1|0;j:do if((((f&65535)<<16)+(w<<16>>16)&J)>>>0>>0?(Z=c[n+((((f&65535)<<16)+(w<<16>>16)&J)<<2)>>2]|0,(Z|0)!=-1):0){h=Z;while(1){if(w<<16>>16==(b[l+(h<<2)>>1]|0)?f<<16>>16==(b[l+(h<<2)+2>>1]|0):0)break;h=c[o+(h<<2)>>2]|0;if((h|0)==-1){G=0;break j}}G=p+(h<<2)|0}else G=0;while(0);h=c[W+16>>2]|0;u=+g[h+(f<<16>>16<<4)>>2]-+g[h+(w<<16>>16<<4)>>2];v=+g[h+(f<<16>>16<<4)+4>>2]-+g[h+(w<<16>>16<<4)+4>>2];s=+g[h+(f<<16>>16<<4)+8>>2]-+g[h+(w<<16>>16<<4)+8>>2];t=1.0/+O(+(u*u+v*v+s*s));h=c[W+48>>2]|0;k:do if((h|0)>0){f=c[W+56>>2]|0;w=0;while(1){q=+g[f+(w<<4)>>2];r=+g[f+(w<<4)+8>>2];do if(!(+N(+(q-u*t))>1.0e-06)){if(+N(+(+g[f+(w<<4)+4>>2]-v*t))>1.0e-06)break;if(!(+N(+(r-s*t))>1.0e-06))break k}while(0);do if(!(+N(+(u*t+q))>1.0e-06)){if(+N(+(v*t+ +g[f+(w<<4)+4>>2]))>1.0e-06)break;if(!(+N(+(s*t+r))>1.0e-06))break k}while(0);w=w+1|0;if((w|0)>=(h|0)){_=338;break}}}else _=338;while(0);if((_|0)==338){_=0;do if((h|0)==(c[W+52>>2]|0)){y=h|0?h<<1:1;if((h|0)>=(y|0))break;if(!y)w=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}w=h;h=c[W+48>>2]|0}if((h|0)>0){f=0;do{ga=w+(f<<4)|0;ha=(c[W+56>>2]|0)+(f<<4)|0;c[ga>>2]=c[ha>>2];c[ga+4>>2]=c[ha+4>>2];c[ga+8>>2]=c[ha+8>>2];c[ga+12>>2]=c[ha+12>>2];f=f+1|0}while((f|0)!=(h|0))}h=c[W+56>>2]|0;if(h|0){if(a[W+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[W+56>>2]=0}a[W+60>>0]=1;c[W+56>>2]=w;c[W+52>>2]=y;h=c[W+48>>2]|0}while(0);ha=c[W+56>>2]|0;g[ha+(h<<4)>>2]=u*t;g[ha+(h<<4)+4>>2]=v*t;g[ha+(h<<4)+8>>2]=s*t;g[ha+(h<<4)+12>>2]=0.0;c[W+48>>2]=(c[W+48>>2]|0)+1}l:do if(!G){h=((M&65535)<<16)+(d<<16>>16)&J;m:do if(h>>>0>>0){f=c[n+(h<<2)>>2]|0;if((f|0)==-1)break;while(1){if(d<<16>>16==(b[l+(f<<2)>>1]|0)?M<<16>>16==(b[l+(f<<2)+2>>1]|0):0)break;f=c[o+(f<<2)>>2]|0;if((f|0)==-1)break m}w=p+(f<<2)|0;b[w>>1]=S;b[w+2>>1]=S>>>16;w=P;y=L;G=K;break l}while(0);do if((C|0)==(L|0)){y=C|0?C<<1:1;if((C|0)>=(y|0)){y=C;break}do if(!y)w=0;else{c[6435]=(c[6435]|0)+1;f=yc((y<<2|3)+16|0)|0;if(!f){w=0;break}c[(f+4+15&-16)+-4>>2]=f;w=f+4+15&-16}while(0);if((C|0)<=0){if(!p){p=w;break}}else{f=0;do{ha=w+(f<<2)|0;ga=p+(f<<2)|0;ga=e[ga>>1]|e[ga+2>>1]<<16;b[ha>>1]=ga;b[ha+2>>1]=ga>>>16;f=f+1|0}while((f|0)!=(C|0))}c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0);p=w}else y=L;while(0);J=p+(C<<2)|0;b[J>>1]=S;b[J+2>>1]=S>>>16;J=C+1|0;do if((K|0)==(z|0)){z=K|0?K<<1:1;if((K|0)>=(z|0)){z=K;break}do if(!z)w=0;else{c[6435]=(c[6435]|0)+1;f=yc((z<<2|3)+16|0)|0;if(!f){w=0;break}c[(f+4+15&-16)+-4>>2]=f;w=f+4+15&-16}while(0);if((K|0)<=0){if(!l){l=w;break}}else{f=0;do{ha=w+(f<<2)|0;ga=l+(f<<2)|0;ga=e[ga>>1]|e[ga+2>>1]<<16;b[ha>>1]=ga;b[ha+2>>1]=ga>>>16;f=f+1|0}while((f|0)!=(K|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);l=w}while(0);G=l+(K<<2)|0;b[G>>1]=(M&65535)<<16|d&65535;b[G+2>>1]=((M&65535)<<16|d&65535)>>>16;G=K+1|0;if((L|0)<(y|0)){do if((y|0)>(D|0)){if((y|0)>=(D|0)){do if((A|0)<(y|0)){do if(!y)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);if((D|0)<=0){if(!n){n=h;h=y;break}}else{f=0;do{c[h+(f<<2)>>2]=c[n+(f<<2)>>2];f=f+1|0}while((f|0)!=(D|0))}c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0);n=h;h=y}else h=A;while(0);Qn(n+(D<<2)|0,0,y-D<<2|0)|0;A=h}if((y|0)>(B|0)){do if((P|0)<(y|0)){do if(!y)f=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<2|3)+16|0)|0;if(!h){f=0;break}c[(h+4+15&-16)+-4>>2]=h;f=h+4+15&-16}while(0);if((B|0)<=0){if(!o){h=y;o=f;break}}else{h=0;do{c[f+(h<<2)>>2]=c[o+(h<<2)>>2];h=h+1|0}while((h|0)!=(B|0))}c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0);h=y;o=f}else h=P;while(0);Qn(o+(B<<2)|0,0,y-B<<2|0)|0;w=h}else w=P;if((y|0)>0){ha=y<<2;Qn(n|0,-1,ha|0)|0;Qn(o|0,-1,ha|0)|0}if((D|0)<=0){f=y;B=y;h=A;break}h=y+-1|0;f=0;do{ha=n+(((e[l+(f<<2)+2>>1]<<16)+(b[l+(f<<2)>>1]|0)&h)<<2)|0;c[o+(f<<2)>>2]=c[ha>>2];c[ha>>2]=f;f=f+1|0}while((f|0)!=(D|0));f=y;B=y;h=A}else{f=D;w=P;h=A}while(0);A=h;h=((M&65535)<<16)+(d<<16>>16)&y+-1}else{f=D;w=P}D=n+(h<<2)|0;c[o+(C<<2)>>2]=c[D>>2];c[D>>2]=C;D=f;C=J}else{b[G+2>>1]=R;w=P;y=L;G=K}while(0);if((Q|0)>=(T|0))break;f=c[W+36>>2]|0;P=w;L=y;K=G;h=Q}h=c[W+28>>2]|0;f=G}else f=G;V=V+1|0;if((V|0)>=(h|0))break;else G=f}if((h|0)>0){A=c[W+36>>2]|0;B=c[W+16>>2]|0;q=0.0;C=0;do{w=c[A+(C*36|0)+4>>2]|0;y=c[A+(C*36|0)+12>>2]|0;z=c[y>>2]|0;if((w+-2|0)>=1){r=+g[W+64>>2];s=+g[W+68>>2];t=+g[W+72>>2];f=1;do{ga=c[y+(f<<2)>>2]|0;f=f+1|0;ha=c[y+(((f|0)%(w|0)|0)<<2)>>2]|0;u=+g[B+(z<<4)>>2];v=+g[B+(ga<<4)>>2];E=+g[B+(z<<4)+4>>2];F=+g[B+(ga<<4)+4>>2];I=+g[B+(z<<4)+8>>2];U=+g[B+(ga<<4)+8>>2];x=+g[B+(ha<<4)>>2];H=+g[B+(ha<<4)+4>>2];ea=+g[B+(ha<<4)+8>>2];fa=+O(+(((u-v)*(E-H)-(E-F)*(u-x))*((u-v)*(E-H)-(E-F)*(u-x))+(((E-F)*(I-ea)-(I-U)*(E-H))*((E-F)*(I-ea)-(I-U)*(E-H))+((I-U)*(u-x)-(u-v)*(I-ea))*((I-U)*(u-x)-(u-v)*(I-ea)))))*.5;r=r+(u+v+x)*.3333333432674408*fa;g[W+64>>2]=r;s=(E+F+H)*.3333333432674408*fa+s;g[W+68>>2]=s;t=fa*(I+U+ea)*.3333333432674408+t;g[W+72>>2]=t;q=q+fa}while((f|0)!=(w+-1|0))}C=C+1|0}while((C|0)!=(h|0));f=W+64|0;w=1;z=l;y=n}else _=317}else{l=0;n=0;o=0;p=0;_=317}if((_|0)==317){f=W+64|0;w=0;q=0.0;z=l;y=n}t=1.0/q;u=t*+g[f>>2];g[f>>2]=u;s=t*+g[W+68>>2];g[W+68>>2]=s;t=t*+g[W+72>>2];g[W+72>>2]=t;g[W+96>>2]=3402823466385288598117041.0e14;if(w){l=c[W+36>>2]|0;r=3402823466385288598117041.0e14;n=0;while(1){q=+N(+(+g[l+(n*36|0)+32>>2]+(+g[l+(n*36|0)+20>>2]*u+ +g[l+(n*36|0)+24>>2]*s+ +g[l+(n*36|0)+28>>2]*t)));if(q>2]=q;else q=r;n=n+1|0;if((n|0)>=(h|0))break;else r=q}}else q=3402823466385288598117041.0e14;h=c[W+8>>2]|0;if((h|0)>0){l=c[W+16>>2]|0;x=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;n=0;do{fa=+g[l+(n<<4)>>2];t=fax?fa:x;fa=+g[l+(n<<4)+4>>2];s=fav?fa:v;fa=+g[l+(n<<4)+8>>2];r=fau?fa:u;n=n+1|0}while((n|0)!=(h|0))}else{x=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14}g[W+100>>2]=x+t;g[W+104>>2]=s+v;g[W+108>>2]=r+u;g[W+112>>2]=0.0;fa=x-t;ea=v-s;r=u-r;g[W+116>>2]=fa;g[W+120>>2]=ea;g[W+124>>2]=r;g[W+128>>2]=0.0;s=q/1.7320507764816284;f=fa>2]*.5-s)*.0009765625;g[W+88>>2]=s;g[W+84>>2]=s;g[W+80>>2]=s;r=+g[W+116+(f<<2)>>2]*.5;g[W+80+(f<<2)>>2]=r;h=0;while(1){if(ih(W)|0){_=425;break}r=r-q;g[W+80+(f<<2)>>2]=r;h=h+1|0;if((h|0)>=1024){_=424;break}}n:do if((_|0)==424){g[W+88>>2]=s;g[W+84>>2]=s;g[W+80>>2]=s}else if((_|0)==425){q=(+g[W+96>>2]-s)*.0009765625;l=c[W+80+((1<<(1<>2]|0;n=0;while(1){h=c[W+80+((1<>2]|0;g[W+80+((1<>2]=q+(c[k>>2]=h,+g[k>>2]);r=q+ +g[W+80+((1<<(1<>2];g[W+80+((1<<(1<>2]=r;n=n+1|0;if(!(ih(W)|0))break;if((n|0)>=1024)break n;else l=(g[k>>2]=r,c[k>>2]|0)}c[W+80+((1<>2]=h;c[W+80+((1<<(1<>2]=l}while(0);if(z|0){c[6436]=(c[6436]|0)+1;hd(c[z+-4>>2]|0)}if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}if(o|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}if(y|0){c[6436]=(c[6436]|0)+1;hd(c[y+-4>>2]|0)}if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}p=c[X>>2]|0;f=c[Y>>2]|0;if((p|0)<=0){if(f|0)_=446}else{o=0;do{l=f+(o*36|0)+4|0;m=f+(o*36|0)+12|0;n=c[m>>2]|0;h=f+(o*36|0)+16|0;if(n|0){if(a[h>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[m>>2]=0}a[h>>0]=1;c[m>>2]=0;c[l>>2]=0;c[f+(o*36|0)+8>>2]=0;o=o+1|0}while((o|0)!=(p|0));_=446}if((_|0)==446){if(a[da+92+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[Y>>2]=0}if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}h=c[$>>2]|0;if(h|0){if(a[da+128+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[$>>2]=0}a[da+128+56>>0]=1;c[$>>2]=0;c[da+128+44>>2]=0;c[da+128+48>>2]=0;h=c[aa>>2]|0;if(h|0){if(a[da+128+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[aa>>2]=0}a[da+128+36>>0]=1;c[aa>>2]=0;c[da+128+24>>2]=0;c[da+128+28>>2]=0;h=c[ba>>2]|0;if(h|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[ba>>2]=0}if(!ca){i=da;return 1}c[6436]=(c[6436]|0)+1;hd(c[ca+-4>>2]|0);i=da;return 1}function oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,P=0.0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0;va=i;i=i+688|0;k=c[b+20>>2]|0;if(!k){k=c[b+4>>2]|0;k=Ob[c[(c[k>>2]|0)+12>>2]&63](k,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=k;a[b+16>>0]=1}c[h+4>>2]=k;sa=c[d+4>>2]|0;ta=c[e+4>>2]|0;j=c[sa+4>>2]|0;l=c[ta+4>>2]|0;if((j|0)==10&(l|0)==10){L=+g[k+752>>2];qa=c[sa+52>>2]|0;r=+g[sa+28+(qa<<2)>>2];K=+g[sa+28+(((qa+2|0)%3|0)<<2)>>2];ua=c[ta+52>>2]|0;s=+g[ta+28+(ua<<2)>>2];I=+g[ta+28+(((ua+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;j=c[e+12>>2]|0;B=+g[b+(qa<<2)>>2];E=+g[b+16+(qa<<2)>>2];C=+g[b+32+(qa<<2)>>2];p=+g[j+(ua<<2)>>2];q=+g[j+16+(ua<<2)>>2];w=+g[j+32+(ua<<2)>>2];x=+g[j+48>>2]-+g[b+48>>2];y=+g[j+52>>2]-+g[b+52>>2];A=+g[j+56>>2]-+g[b+56>>2];n=1.0-(B*p+E*q+C*w)*(B*p+E*q+C*w);if(!(n==0.0)){n=(B*x+E*y+C*A-(B*p+E*q+C*w)*(p*x+q*y+w*A))/n;if(!(n<-r)){if(n>r)n=r}else n=-r}else n=0.0;o=(B*p+E*q+C*w)*n-(p*x+q*y+w*A);if(o<-s){n=(B*p+E*q+C*w)*-s+(B*x+E*y+C*A);if(!(n<-r))if(n>r){n=r;o=-s}else o=-s;else{n=-r;o=-s}}else if(o>s){n=s*(B*p+E*q+C*w)+(B*x+E*y+C*A);if(!(n<-r))if(n>r){n=r;o=s}else o=s;else{n=-r;o=s}}u=p*o;t=q*o;s=w*o;o=u+(x-B*n);q=t+(y-E*n);n=s+(A-C*n);r=+O(+(n*n+(o*o+q*q)));if(!(r-K-I>L)){do if(n*n+(o*o+q*q)<=1.4210854715202004e-14)if(+N(+C)>.7071067690849304){n=1.0/+O(+(E*E+C*C));g[va+280>>2]=0.0;g[va+280+4>>2]=-(C*n);g[va+280+8>>2]=E*n;p=0.0;o=-(C*n);n=E*n;break}else{o=1.0/+O(+(B*B+E*E));g[va+280>>2]=-(E*o);g[va+280+4>>2]=B*o;g[va+280+8>>2]=0.0;p=-(E*o);o=B*o;n=0.0;break}else{g[va+280>>2]=o*-(1.0/r);g[va+280+4>>2]=q*-(1.0/r);g[va+280+8>>2]=n*-(1.0/r);g[va+280+12>>2]=0.0;p=o*-(1.0/r);o=q*-(1.0/r);n=n*-(1.0/r)}while(0);pa=I*o+(t+ +g[j+52>>2]);ra=I*n+(s+ +g[j+56>>2]);g[va+264>>2]=I*p+(u+ +g[j+48>>2]);g[va+264+4>>2]=pa;g[va+264+8>>2]=ra;g[va+264+12>>2]=0.0}if(r-K-I>2]|0)+16>>2]&15](h,va+280|0,va+264|0,r-K-I);k=c[h+4>>2]|0}if(!(c[k+748>>2]|0)){i=va;return}l=c[k+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(m|0)){ef(k,l+4|0,j+4|0);i=va;return}else{ef(k,j+4|0,m+4|0);i=va;return}}g[va+128+128>>2]=999999984306749440.0;D=c[b+8>>2]|0;v=c[b+12>>2]|0;c[va+48>>2]=9208;c[va+48+4>>2]=0;c[va+48+8>>2]=1065353216;c[va+48+12>>2]=0;g[va+48+16>>2]=0.0;c[va+48+20>>2]=v;c[va+48+24>>2]=D;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;c[va+48+36>>2]=j;c[va+48+40>>2]=l;g[va+48+44>>2]=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);g[va+48+48>>2]=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);a[va+48+52>>0]=0;c[va+48+60>>2]=-1;c[va+48+72>>2]=1;c[va+48+76>>2]=1;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;pa=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);ra=pa+ra+ +g[(c[b+20>>2]|0)+752>>2];g[va+128+128>>2]=ra*ra;D=c[d+12>>2]|0;c[va+128>>2]=c[D>>2];c[va+128+4>>2]=c[D+4>>2];c[va+128+8>>2]=c[D+8>>2];c[va+128+12>>2]=c[D+12>>2];l=va+128+16|0;c[l>>2]=c[D+16>>2];c[l+4>>2]=c[D+16+4>>2];c[l+8>>2]=c[D+16+8>>2];c[l+12>>2]=c[D+16+12>>2];v=va+128+32|0;c[v>>2]=c[D+32>>2];c[v+4>>2]=c[D+32+4>>2];c[v+8>>2]=c[D+32+8>>2];c[v+12>>2]=c[D+32+12>>2];z=va+128+48|0;c[z>>2]=c[D+48>>2];c[z+4>>2]=c[D+48+4>>2];c[z+8>>2]=c[D+48+8>>2];c[z+12>>2]=c[D+48+12>>2];D=va+128+64|0;j=c[e+12>>2]|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];F=va+128+80|0;c[F>>2]=c[j+16>>2];c[F+4>>2]=c[j+16+4>>2];c[F+8>>2]=c[j+16+8>>2];c[F+12>>2]=c[j+16+12>>2];G=va+128+96|0;c[G>>2]=c[j+32>>2];c[G+4>>2]=c[j+32+4>>2];c[G+8>>2]=c[j+32+8>>2];c[G+12>>2]=c[j+32+12>>2];H=va+128+112|0;c[H>>2]=c[j+48>>2];c[H+4>>2]=c[j+48+4>>2];c[H+8>>2]=c[j+48+8>>2];c[H+12>>2]=c[j+48+12>>2];j=c[sa+4>>2]|0;if((j|0)<7?(m=c[ta+4>>2]|0,(m|0)<7):0){c[va+40>>2]=6080;if(!j){j=m;o=0.0}else{o=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);j=c[ta+4>>2]|0}if(!j)n=0.0;else n=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);c[va>>2]=6108;c[va+4>>2]=h;g[va+24>>2]=o;g[va+28>>2]=n;a[va+36>>0]=0;U=c[sa+52>>2]|0;a:do if(U|0){ma=c[ta+52>>2]|0;do if(!ma){if((c[ta+4>>2]|0)!=1)break a;z=va+624+16|0;a[z>>0]=1;D=va+624+12|0;c[D>>2]=0;v=va+624+4|0;c[v>>2]=0;m=va+624+8|0;c[m>>2]=0;j=c[e+12>>2]|0;pa=+g[ta+56>>2];ra=+g[ta+56+4>>2];p=+g[ta+56+8>>2];n=pa*+g[j>>2]+ra*+g[j+4>>2]+p*+g[j+8>>2]+ +g[j+48>>2];o=pa*+g[j+16>>2]+ra*+g[j+20>>2]+p*+g[j+24>>2]+ +g[j+52>>2];p=pa*+g[j+32>>2]+ra*+g[j+36>>2]+p*+g[j+40>>2]+ +g[j+56>>2];c[6435]=(c[6435]|0)+1;j=yc(35)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[D>>2]|0;if(!j)j=0;else{c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);j=c[v>>2]|0;c[D>>2]=0}a[z>>0]=1;c[D>>2]=k;c[m>>2]=1;g[k+(j<<4)>>2]=n;g[k+(j<<4)+4>>2]=o;g[k+(j<<4)+8>>2]=p;g[k+(j<<4)+12>>2]=0.0;j=(c[v>>2]|0)+1|0;c[v>>2]=j;ua=c[e+12>>2]|0;pa=+g[ta+56+16>>2];ra=+g[ta+56+20>>2];p=+g[ta+56+24>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+p*+g[ua+8>>2]+ +g[ua+48>>2];o=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+p*+g[ua+24>>2]+ +g[ua+52>>2];p=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+p*+g[ua+40>>2]+ +g[ua+56>>2];if((j|0)==(c[m>>2]|0)?(J=j|0?j<<1:1,(j|0)<(J|0)):0){if(!J)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((J<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[v>>2]|0}if((j|0)>0){k=0;do{ua=l+(k<<4)|0;qa=(c[D>>2]|0)+(k<<4)|0;c[ua>>2]=c[qa>>2];c[ua+4>>2]=c[qa+4>>2];c[ua+8>>2]=c[qa+8>>2];c[ua+12>>2]=c[qa+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}a[z>>0]=1;c[D>>2]=l;c[m>>2]=J;j=c[v>>2]|0}ua=c[D>>2]|0;g[ua+(j<<4)>>2]=n;g[ua+(j<<4)+4>>2]=o;g[ua+(j<<4)+8>>2]=p;g[ua+(j<<4)+12>>2]=0.0;j=(c[v>>2]|0)+1|0;c[v>>2]=j;ua=c[e+12>>2]|0;pa=+g[ta+56+32>>2];ra=+g[ta+56+36>>2];p=+g[ta+56+40>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+p*+g[ua+8>>2]+ +g[ua+48>>2];o=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+p*+g[ua+24>>2]+ +g[ua+52>>2];p=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+p*+g[ua+40>>2]+ +g[ua+56>>2];if((j|0)==(c[m>>2]|0)?(S=j|0?j<<1:1,(j|0)<(S|0)):0){if(!S)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((S<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[v>>2]|0}if((j|0)>0){k=0;do{ua=l+(k<<4)|0;e=(c[D>>2]|0)+(k<<4)|0;c[ua>>2]=c[e>>2];c[ua+4>>2]=c[e+4>>2];c[ua+8>>2]=c[e+8>>2];c[ua+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}a[z>>0]=1;c[D>>2]=l;c[m>>2]=S;j=c[v>>2]|0}ua=c[D>>2]|0;g[ua+(j<<4)>>2]=n;g[ua+(j<<4)+4>>2]=o;g[ua+(j<<4)+8>>2]=p;g[ua+(j<<4)+12>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1;q=+g[(c[b+20>>2]|0)+752>>2];Vc(va+48|0,va+128|0,va+40|0,c[f+20>>2]|0,0);n=+g[va+48+4>>2];o=+g[va+48+8>>2];p=+g[va+48+12>>2];if(n*n+o*o+p*p>1.1920928955078125e-07){pa=1.0/(n*n+o*o+p*p);g[va+384>>2]=n*pa;g[va+384+4>>2]=o*pa;g[va+384+8>>2]=p*pa;g[va+384+12>>2]=0.0;pa=+g[va+48+56>>2];ra=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=pa-ra-+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);Wc(va+384|0,c[sa+52>>2]|0,c[d+12>>2]|0,va+624|0,ra-q,q,h)}do if(a[b+16>>0]|0?(T=c[h+4>>2]|0,c[T+748>>2]|0):0){k=c[T+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){ef(T,k+4|0,j+4|0);break}else{ef(T,j+4|0,l+4|0);break}}while(0);j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}}else{ra=+g[(c[b+20>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){Vc(va+48|0,va+128|0,va,c[f+20>>2]|0,0);n=+g[va+32>>2];if(n<0.0&(a[va+36>>0]|0)!=0){p=+g[va+8>>2];q=+g[va+16>>2];j=c[va+20>>2]|0;o=+g[va+12>>2];qa=111}}else{z=c[d+12>>2]|0;D=c[e+12>>2]|0;c[6418]=(c[6418]|0)+1;ha=+g[U+64>>2];ia=+g[U+68>>2];n=+g[z+4>>2];ja=+g[U+72>>2];o=+g[z+8>>2];p=+g[z+16>>2];q=+g[z+20>>2];r=+g[z+24>>2];s=+g[z+32>>2];t=+g[z+36>>2];u=+g[z+40>>2];ka=+g[ma+64>>2];la=+g[ma+68>>2];pa=+g[ma+72>>2];na=ha*+g[z>>2]+ia*n+ja*o+ +g[z+48>>2]-(ka*+g[D>>2]+la*+g[D+4>>2]+pa*+g[D+8>>2]+ +g[D+48>>2]);oa=ha*p+ia*q+ja*r+ +g[z+52>>2]-(ka*+g[D+16>>2]+la*+g[D+20>>2]+pa*+g[D+24>>2]+ +g[D+52>>2]);pa=ha*s+ia*t+ja*u+ +g[z+56>>2]-(ka*+g[D+32>>2]+la*+g[D+36>>2]+pa*+g[D+40>>2]+ +g[D+56>>2]);l=c[U+28>>2]|0;c:do if((l|0)>0){A=o;B=p;y=q;C=0.0;E=3402823466385288598117041.0e14;k=0;p=0.0;q=0.0;o=0.0;while(1){f=c[U+36>>2]|0;ja=+g[f+(k*36|0)+20>>2];ka=+g[f+(k*36|0)+24>>2];la=+g[f+(k*36|0)+28>>2];w=ja*+g[z>>2]+ka*n+la*A;r=ja*B+ka*y+la*r;n=ja*s+ka*t+la*u;g[va+296>>2]=w;g[va+296+4>>2]=r;g[va+296+8>>2]=n;g[va+296+12>>2]=0.0;if(na*w+oa*r+pa*n<0.0){g[va+296>>2]=-w;g[va+296+4>>2]=-r;g[va+296+8>>2]=-n;x=-w;r=-r;n=-n}else x=w;c[6416]=(c[6416]|0)+1;if(Qi(z,D,na,oa,pa,x,r,n,U,ma,E)|0){c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);s=+g[va+384>>2];t=+g[va+380>>2];do if(s>2];w=+g[va+624>>2];if(u=(l|0)){n=w;break c}n=+g[z+4>>2];A=+g[z+8>>2];B=+g[z+16>>2];y=+g[z+20>>2];r=+g[z+24>>2];s=+g[z+32>>2];t=+g[z+36>>2];u=+g[z+40>>2];C=x;E=w;k=j}break b}else{n=3402823466385288598117041.0e14;p=0.0;q=0.0;o=0.0}while(0);l=c[ma+28>>2]|0;d:do if((l|0)>0){A=0.0;k=0;while(1){f=c[ma+36>>2]|0;ka=+g[f+(k*36|0)+20>>2];la=+g[f+(k*36|0)+24>>2];t=+g[f+(k*36|0)+28>>2];r=ka*+g[D>>2]+la*+g[D+4>>2]+t*+g[D+8>>2];s=ka*+g[D+16>>2]+la*+g[D+20>>2]+t*+g[D+24>>2];t=ka*+g[D+32>>2]+la*+g[D+36>>2]+t*+g[D+40>>2];g[va+296>>2]=r;g[va+296+4>>2]=s;g[va+296+8>>2]=t;g[va+296+12>>2]=0.0;if(na*r+oa*s+pa*t<0.0){g[va+296>>2]=-r;g[va+296+4>>2]=-s;g[va+296+8>>2]=-t;r=-r;s=-s;t=-t}c[6416]=(c[6416]|0)+1;if(Qi(z,D,na,oa,pa,r,s,t,U,ma,n)|0){c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);u=+g[va+384>>2];w=+g[va+380>>2];do if(u>2];y=+g[va+624>>2];if(x=(l|0))break d;else A=u}break b}while(0);j=c[U+48>>2]|0;e:do if((j|0)>0){l=c[ma+48>>2]|0;t=0.0;v=0;k=-1;m=-1;x=0.0;y=0.0;A=0.0;B=0.0;V=0.0;W=0.0;Y=0.0;r=0.0;s=0.0;P=0.0;M=0.0;L=0.0;E=0.0;I=0.0;K=0.0;u=0.0;w=0.0;C=0.0;f:while(1){f=c[U+56>>2]|0;ha=+g[f+(v<<4)>>2];ia=+g[f+(v<<4)+4>>2];la=+g[f+(v<<4)+8>>2];ja=ha*+g[z>>2]+ia*+g[z+4>>2]+la*+g[z+8>>2];ka=ha*+g[z+16>>2]+ia*+g[z+20>>2]+la*+g[z+24>>2];la=ha*+g[z+32>>2]+ia*+g[z+36>>2]+la*+g[z+40>>2];if((l|0)>0){X=t;l=0;ia=p;ha=q;ga=o;_=x;aa=y;ca=A;while(1){f=c[ma+56>>2]|0;ea=+g[f+(l<<4)>>2];fa=+g[f+(l<<4)+4>>2];ba=+g[f+(l<<4)+8>>2];Z=ea*+g[D>>2]+fa*+g[D+4>>2]+ba*+g[D+8>>2];$=ea*+g[D+16>>2]+fa*+g[D+20>>2]+ba*+g[D+24>>2];ba=ea*+g[D+32>>2]+fa*+g[D+36>>2]+ba*+g[D+40>>2];g[va+296>>2]=ka*ba-la*$;g[va+296+4>>2]=la*Z-ja*ba;g[va+296+8>>2]=ja*$-ka*Z;g[va+296+12>>2]=0.0;do if(!(+N(+(ka*ba-la*$))>1.0e-06)){if(+N(+(la*Z-ja*ba))>1.0e-06){qa=75;break}if(!(+N(+(ja*$-ka*Z))>1.0e-06)){p=ia;q=ha;o=ga;da=B;ea=V;fa=W}else qa=75}else qa=75;while(0);do if((qa|0)==75){qa=0;q=1.0/+O(+((ka*ba-la*$)*(ka*ba-la*$)+(la*Z-ja*ba)*(la*Z-ja*ba)+(ja*$-ka*Z)*(ja*$-ka*Z)));p=(ka*ba-la*$)*q;g[va+296>>2]=p;o=(la*Z-ja*ba)*q;g[va+296+4>>2]=o;q=(ja*$-ka*Z)*q;g[va+296+8>>2]=q;if(p*na+o*oa+pa*q<0.0){g[va+296>>2]=-p;g[va+296+4>>2]=-o;g[va+296+8>>2]=-q;p=-p;o=-o;q=-q}c[6416]=(c[6416]|0)+1;if(!(Qi(z,D,na,oa,pa,p,o,q,U,ma,n)|0)){p=ia;q=ha;o=ga;da=B;ea=V;fa=W;break}c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);t=+g[va+384>>2];x=+g[va+380>>2];do if(!(t>2];A=+g[va+624>>2];if(y>2];y=+g[va+344+4>>2];A=+g[va+344+8>>2];B=+g[va+328>>2];V=+g[va+328+4>>2];W=+g[va+328+8>>2];break}else{j=1;t=y-A;x=+g[va+360>>2];y=+g[va+360+4>>2];A=+g[va+360+8>>2];B=+g[va+312>>2];V=+g[va+312+4>>2];W=+g[va+312+8>>2];break}}else{j=0;t=X;x=_;y=aa;A=ca}while(0);if(!j)break f;if(!(t>2]|0;if((l|0)>=(j|0))break;else{ia=p;ha=q;ga=o;B=da;V=ea;W=fa}}l=j;j=c[U+48>>2]|0;t=X;x=_;y=aa;A=ca;B=da;V=ea;W=fa;X=Y}else X=Y;v=v+1|0;if((v|0)>=(j|0)){j=m;n=X;break e}else Y=X}break b}else{k=-1;j=-1;n=0.0;r=0.0;s=0.0;P=0.0;M=0.0;L=0.0;E=0.0;I=0.0;K=0.0;u=0.0;w=0.0;C=0.0}while(0);if((j|k|0)>-1){y=P-n;A=M-r;B=L-s;r=u*E+w*I+C*K;s=y*E+A*I+B*K;n=y*u+A*w+B*C;do if(1.0-r*r==0.0)t=0.0;else{if((s-n*r)/(1.0-r*r)<-1000000015047466219876688.0e6){t=-1000000015047466219876688.0e6;break}if(!((s-n*r)/(1.0-r*r)>1000000015047466219876688.0e6)){t=(s-n*r)/(1.0-r*r);break}t=1000000015047466219876688.0e6}while(0);n=r*t-n;do if(n<-1000000015047466219876688.0e6){if(s-r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}if(!(s-r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s-r*1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6}else{if(!(n>1000000015047466219876688.0e6)){r=t;break}if(s+r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}if(!(s+r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s+r*1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=1000000015047466219876688.0e6}while(0);x=u*n;w=w*n;u=C*n;t=x+(y-E*r);s=w+(A-I*r);n=u+(B-K*r);g[va+624>>2]=t;g[va+624+4>>2]=s;g[va+624+8>>2]=n;g[va+624+12>>2]=0.0;if(t*t+s*s+n*n>1.1920928955078125e-07){r=+O(+(t*t+s*s+n*n));g[va+624>>2]=t*(1.0/r);g[va+624+4>>2]=1.0/r*s;g[va+624+8>>2]=1.0/r*n;if(t*(1.0/r)*na+1.0/r*s*oa+1.0/r*n*pa<0.0){g[va+624>>2]=-(t*(1.0/r));g[va+624+4>>2]=-(1.0/r*s);g[va+624+8>>2]=-(1.0/r*n)}g[va+384>>2]=P+x;g[va+384+4>>2]=M+w;g[va+384+8>>2]=L+u;g[va+384+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,va+624|0,va+384|0,-r)}}if(na*p+oa*o+pa*q<0.0){n=-1000000015047466219876688.0e6;p=-p;q=-q;j=0;o=-o;qa=111}else{n=-1000000015047466219876688.0e6;j=0;qa=111}}while(0);if((qa|0)==111){U=c[sa+52>>2]|0;f=c[ta+52>>2]|0;T=c[d+12>>2]|0;S=c[e+12>>2]|0;K=n-ra;C=1.0/+O(+(p*p+o*o+q*q));I=p*C;E=o*C;C=q*C;g[va+624>>2]=I;g[va+624+4>>2]=E;g[va+624+8>>2]=C;c[va+624+12>>2]=j;k=c[f+28>>2]|0;v=c[f+36>>2]|0;if((k|0)>0){n=+g[S>>2];o=+g[S+4>>2];p=+g[S+8>>2];q=+g[S+16>>2];r=+g[S+20>>2];s=+g[S+24>>2];t=+g[S+32>>2];u=+g[S+36>>2];w=+g[S+40>>2];j=-1;B=-3402823466385288598117041.0e14;m=0;while(1){x=+g[v+(m*36|0)+20>>2];y=+g[v+(m*36|0)+24>>2];A=+g[v+(m*36|0)+28>>2];l=(x*n+y*o+A*p)*I+(x*q+y*r+A*s)*E+(x*t+y*u+A*w)*C>B;j=l?m:j;m=m+1|0;if((m|0)==(k|0)){H=j;break}else B=l?(x*n+y*o+A*p)*I+(x*q+y*r+A*s)*E+(x*t+y*u+A*w)*C:B}}else H=-1;a[va+384+16>>0]=1;J=va+384+12|0;c[J>>2]=0;F=va+384+4|0;c[F>>2]=0;c[va+384+8>>2]=0;G=c[v+(H*36|0)+4>>2]|0;g:do if((G|0)>0){D=v+(H*36|0)+12|0;j=0;l=0;k=0;while(1){d=c[(c[D>>2]|0)+(k<<2)>>2]|0;e=c[f+16>>2]|0;oa=+g[e+(d<<4)>>2];pa=+g[e+(d<<4)+4>>2];p=+g[e+(d<<4)+8>>2];n=oa*+g[S>>2]+pa*+g[S+4>>2]+p*+g[S+8>>2]+ +g[S+48>>2];o=oa*+g[S+16>>2]+pa*+g[S+20>>2]+p*+g[S+24>>2]+ +g[S+52>>2];p=oa*+g[S+32>>2]+pa*+g[S+36>>2]+p*+g[S+40>>2]+ +g[S+56>>2];if((j|0)==(l|0)){z=l|0?l<<1:1;if((l|0)<(z|0)){if(!z){v=0;j=l}else{c[6435]=(c[6435]|0)+1;j=yc((z<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}v=j;j=c[F>>2]|0}m=c[J>>2]|0;if((j|0)<=0){if(m)qa=126}else{l=0;do{d=v+(l<<4)|0;e=m+(l<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];l=l+1|0}while((l|0)!=(j|0));qa=126}if((qa|0)==126){qa=0;if(a[va+384+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);j=c[F>>2]|0}c[J>>2]=0}a[va+384+16>>0]=1;c[J>>2]=v;c[va+384+8>>2]=z}else j=l}d=c[J>>2]|0;g[d+(j<<4)>>2]=n;g[d+(j<<4)+4>>2]=o;g[d+(j<<4)+8>>2]=p;g[d+(j<<4)+12>>2]=0.0;j=(c[F>>2]|0)+1|0;c[F>>2]=j;k=k+1|0;if((k|0)>=(G|0))break g;l=c[va+384+8>>2]|0}}while(0);if((H|0)>-1)Wc(va+624|0,U,T,va+384|0,K,ra,h);j=c[J>>2]|0;if(j|0){if(a[va+384+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[J>>2]=0}}if(a[b+16>>0]|0?(ua=c[h+4>>2]|0,c[ua+748>>2]|0):0){k=c[ua+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){ef(ua,k+4|0,j+4|0);break}else{ef(ua,j+4|0,l+4|0);break}}}while(0);i=va;return}while(0)}Vc(va+48|0,va+128|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(K=+g[va+48+4>>2],L=+g[va+48+8>>2],M=+g[va+48+12>>2],K*K+L*L+M*M>1.1920928955078125e-07):0){B=1.0/(K*K+L*L+M*M);if(+N(+(M*B))>.7071067690849304){I=1.0/+O(+(M*B*M*B+L*B*L*B));C=0.0;E=L*B*I;I=-(M*B*I)}else{I=1.0/+O(+(K*B*K*B+L*B*L*B));C=-(L*B*I);E=0.0;I=K*B*I}A=+Sb[c[(c[sa>>2]|0)+16>>2]&15](sa);x=+Sb[c[(c[ta>>2]|0)+16>>2]&15](ta);n=.019999999552965164/(A>2]=c[va+128>>2];c[va+624+4>>2]=c[va+128+4>>2];c[va+624+8>>2]=c[va+128+8>>2];c[va+624+12>>2]=c[va+128+12>>2];c[va+624+16>>2]=c[l>>2];c[va+624+16+4>>2]=c[l+4>>2];c[va+624+16+8>>2]=c[l+8>>2];c[va+624+16+12>>2]=c[l+12>>2];c[va+624+32>>2]=c[v>>2];c[va+624+32+4>>2]=c[v+4>>2];c[va+624+32+8>>2]=c[v+8>>2];c[va+624+32+12>>2]=c[v+12>>2];c[va+624+48>>2]=c[z>>2];c[va+624+48+4>>2]=c[z+4>>2];c[va+624+48+8>>2]=c[z+8>>2];c[va+624+48+12>>2]=c[z+12>>2]}else{c[va+624>>2]=c[D>>2];c[va+624+4>>2]=c[D+4>>2];c[va+624+8>>2]=c[D+8>>2];c[va+624+12>>2]=c[D+12>>2];c[va+624+16>>2]=c[F>>2];c[va+624+16+4>>2]=c[F+4>>2];c[va+624+16+8>>2]=c[F+8>>2];c[va+624+16+12>>2]=c[F+12>>2];c[va+624+32>>2]=c[G>>2];c[va+624+32+4>>2]=c[G+4>>2];c[va+624+32+8>>2]=c[G+8>>2];c[va+624+32+12>>2]=c[G+12>>2];c[va+624+48>>2]=c[H>>2];c[va+624+48+4>>2]=c[H+4>>2];c[va+624+48+8>>2]=c[H+8>>2];c[va+624+48+12>>2]=c[H+12>>2]}j=c[b+28>>2]|0;if((j|0)>0){y=C*C+I*I+E*E;w=(n>.39269909262657166?.39269909262657166:n)*.5;k=0;do{if(y>1.1920928955078125e-07){t=+R(+w)/+O(+y);r=C*t;s=I*t;t=E*t;u=+Q(+w);q=+(k|0)*(6.2831854820251465/+(j|0))*.5;p=+R(+q)/+O(+(M*B*M*B+(K*B*K*B+L*B*L*B)));n=K*B*p;o=L*B*p;p=M*B*p;q=+Q(+q);if(A>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+4>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+8>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+12>>2]=0.0;g[va+128+16>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+20>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+24>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+28>>2]=0.0;g[va+128+32>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+36>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+40>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+44>>2]=0.0;ua=c[e+12>>2]|0;c[D>>2]=c[ua>>2];c[D+4>>2]=c[ua+4>>2];c[D+8>>2]=c[ua+8>>2];c[D+12>>2]=c[ua+12>>2];c[F>>2]=c[ua+16>>2];c[F+4>>2]=c[ua+16+4>>2];c[F+8>>2]=c[ua+16+8>>2];c[F+12>>2]=c[ua+16+12>>2];c[G>>2]=c[ua+32>>2];c[G+4>>2]=c[ua+32+4>>2];c[G+8>>2]=c[ua+32+8>>2];c[G+12>>2]=c[ua+32+12>>2];c[H>>2]=c[ua+48>>2];c[H+4>>2]=c[ua+48+4>>2];c[H+8>>2]=c[ua+48+8>>2];c[H+12>>2]=c[ua+48+12>>2]}else{ua=c[d+12>>2]|0;c[va+128>>2]=c[ua>>2];c[va+128+4>>2]=c[ua+4>>2];c[va+128+8>>2]=c[ua+8>>2];c[va+128+12>>2]=c[ua+12>>2];c[l>>2]=c[ua+16>>2];c[l+4>>2]=c[ua+16+4>>2];c[l+8>>2]=c[ua+16+8>>2];c[l+12>>2]=c[ua+16+12>>2];c[v>>2]=c[ua+32>>2];c[v+4>>2]=c[ua+32+4>>2];c[v+8>>2]=c[ua+32+8>>2];c[v+12>>2]=c[ua+32+12>>2];c[z>>2]=c[ua+48>>2];c[z+4>>2]=c[ua+48+4>>2];c[z+8>>2]=c[ua+48+8>>2];c[z+12>>2]=c[ua+48+12>>2];la=p*(r*-p+(s*q+u*-o)-t*-n)+(n*(u*q-r*-n-s*-o-t*-p)+q*(t*-o+(r*q+u*-n)-s*-p))-o*(s*-n+(t*q+u*-p)-r*-o);oa=n*(s*-n+(t*q+u*-p)-r*-o)+(q*(r*-p+(s*q+u*-o)-t*-n)+o*(u*q-r*-n-s*-o-t*-p))-p*(t*-o+(r*q+u*-n)-s*-p);aa=o*(t*-o+(r*q+u*-n)-s*-p)+(p*(u*q-r*-n-s*-o-t*-p)+q*(s*-n+(t*q+u*-p)-r*-o))-n*(r*-p+(s*q+u*-o)-t*-n);ja=q*(u*q-r*-n-s*-o-t*-p)-n*(t*-o+(r*q+u*-n)-s*-p)-o*(r*-p+(s*q+u*-o)-t*-n)-p*(s*-n+(t*q+u*-p)-r*-o);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[e+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128+64>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+68>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+72>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+76>>2]=0.0;g[va+128+80>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+84>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+88>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+92>>2]=0.0;g[va+128+96>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+100>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+104>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+108>>2]=0.0}j=c[f+20>>2]|0;c[va+384>>2]=6136;c[va+384+32>>2]=h;c[va+384+36>>2]=c[va+128>>2];c[va+384+36+4>>2]=c[va+128+4>>2];c[va+384+36+8>>2]=c[va+128+8>>2];c[va+384+36+12>>2]=c[va+128+12>>2];c[va+384+52>>2]=c[l>>2];c[va+384+52+4>>2]=c[l+4>>2];c[va+384+52+8>>2]=c[l+8>>2];c[va+384+52+12>>2]=c[l+12>>2];c[va+384+68>>2]=c[v>>2];c[va+384+68+4>>2]=c[v+4>>2];c[va+384+68+8>>2]=c[v+8>>2];c[va+384+68+12>>2]=c[v+12>>2];c[va+384+84>>2]=c[z>>2];c[va+384+84+4>>2]=c[z+4>>2];c[va+384+84+8>>2]=c[z+8>>2];c[va+384+84+12>>2]=c[z+12>>2];c[va+384+100>>2]=c[D>>2];c[va+384+100+4>>2]=c[D+4>>2];c[va+384+100+8>>2]=c[D+8>>2];c[va+384+100+12>>2]=c[D+12>>2];c[va+384+116>>2]=c[F>>2];c[va+384+116+4>>2]=c[F+4>>2];c[va+384+116+8>>2]=c[F+8>>2];c[va+384+116+12>>2]=c[F+12>>2];c[va+384+132>>2]=c[G>>2];c[va+384+132+4>>2]=c[G+4>>2];c[va+384+132+8>>2]=c[G+8>>2];c[va+384+132+12>>2]=c[G+12>>2];c[va+384+148>>2]=c[H>>2];c[va+384+148+4>>2]=c[H+4>>2];c[va+384+148+8>>2]=c[H+8>>2];c[va+384+148+12>>2]=c[H+12>>2];c[va+384+164>>2]=c[va+624>>2];c[va+384+164+4>>2]=c[va+624+4>>2];c[va+384+164+8>>2]=c[va+624+8>>2];c[va+384+164+12>>2]=c[va+624+12>>2];c[va+384+180>>2]=c[va+624+16>>2];c[va+384+180+4>>2]=c[va+624+16+4>>2];c[va+384+180+8>>2]=c[va+624+16+8>>2];c[va+384+180+12>>2]=c[va+624+16+12>>2];c[va+384+196>>2]=c[va+624+32>>2];c[va+384+196+4>>2]=c[va+624+32+4>>2];c[va+384+196+8>>2]=c[va+624+32+8>>2];c[va+384+196+12>>2]=c[va+624+32+12>>2];c[va+384+212>>2]=c[va+624+48>>2];c[va+384+212+4>>2]=c[va+624+48+4>>2];c[va+384+212+8>>2]=c[va+624+48+8>>2];c[va+384+212+12>>2]=c[va+624+48+12>>2];a[va+384+228>>0]=A>2]=j;Vc(va+48|0,va+128|0,va+384|0,j,0);j=c[b+28>>2]|0}k=k+1|0}while((k|0)<(j|0))}}if(!(a[b+16>>0]|0)){i=va;return}k=c[h+4>>2]|0;if(!(c[k+748>>2]|0)){i=va;return}l=c[k+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(m|0)){ef(k,l+4|0,j+4|0);i=va;return}else{ef(k,j+4|0,m+4|0);i=va;return}}function pc(d){d=d|0;var e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0;X=i;i=i+1024|0;tc(d);if(!(Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0)){i=X;return}if((c[d+328>>2]|0)<=0){i=X;return}Q=X+944+32|0;R=X+944+52|0;W=0;do{S=c[(c[d+336>>2]|0)+(W<<2)>>2]|0;if(Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0?(M=Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0,(Eb[c[(c[M>>2]|0)+48>>2]&127](M)|0)&1|0):0){e=c[d+72>>2]|0;if(!(a[S+473>>0]|0))M=e;else{c[X+864>>2]=c[S+520>>2];c[X+864+4>>2]=c[S+520+4>>2];c[X+864+8>>2]=c[S+520+8>>2];c[X+864+12>>2]=c[S+520+12>>2];j=+g[S+584>>2];l=+g[S+536>>2];m=+g[S+600>>2];u=+g[S+540>>2];v=+g[S+616>>2];w=+g[S+544>>2];x=+g[S+588>>2];y=+g[S+604>>2];z=+g[S+620>>2];A=+g[S+592>>2];B=+g[S+608>>2];D=+g[S+624>>2];E=+g[S+552>>2];F=+g[S+556>>2];G=+g[S+560>>2];H=+g[S+568>>2];I=+g[S+572>>2];J=+g[S+576>>2];ha=j*l+m*u+v*w+(l*x+u*y+w*z)*0.0+(l*A+u*B+w*D)*0.0;fa=(A*E+B*F+D*G)*0.0+(j*E+m*F+v*G+(x*E+y*F+z*G)*0.0);ea=(A*H+B*I+D*J)*0.0+(j*H+m*I+v*J+(x*H+y*I+z*J)*0.0);ga=1.0/+O(+(ha*ha+fa*fa+ea*ea));da=(j*l+m*u+v*w)*0.0+(l*x+u*y+w*z)+(l*A+u*B+w*D)*0.0;ba=(A*E+B*F+D*G)*0.0+(x*E+y*F+z*G+(j*E+m*F+v*G)*0.0);aa=(A*H+B*I+D*J)*0.0+(x*H+y*I+z*J+(j*H+m*I+v*J)*0.0);ca=1.0/+O(+(da*da+ba*ba+aa*aa));$=(j*l+m*u+v*w)*0.0+(l*x+u*y+w*z)*0.0+(l*A+u*B+w*D);Z=A*E+B*F+D*G+((j*E+m*F+v*G)*0.0+(x*E+y*F+z*G)*0.0);Y=A*H+B*I+D*J+((j*H+m*I+v*J)*0.0+(x*H+y*I+z*J)*0.0);_=1.0/+O(+($*$+Z*Z+Y*Y));M=c[(c[e>>2]|0)+8>>2]|0;fa=fa*ga*10.0+ +g[X+864+4>>2];ea=ga*ea*10.0+ +g[X+864+8>>2];g[X+848>>2]=ha*ga*10.0+ +g[X+864>>2];g[X+848+4>>2]=fa;g[X+848+8>>2]=ea;g[X+848+12>>2]=0.0;c[X+832>>2]=1065353216;c[X+832+4>>2]=0;c[X+832+8>>2]=0;g[X+832+12>>2]=0.0;mc[M&127](e,X+864|0,X+848|0,X+832|0);M=c[(c[e>>2]|0)+8>>2]|0;ba=ba*ca*10.0+ +g[X+864+4>>2];aa=ca*aa*10.0+ +g[X+864+8>>2];g[X+816>>2]=da*ca*10.0+ +g[X+864>>2];g[X+816+4>>2]=ba;g[X+816+8>>2]=aa;g[X+816+12>>2]=0.0;c[X+800>>2]=0;c[X+800+4>>2]=1065353216;c[X+800+8>>2]=0;g[X+800+12>>2]=0.0;mc[M&127](e,X+864|0,X+816|0,X+800|0);M=c[(c[e>>2]|0)+8>>2]|0;Z=Z*_*10.0+ +g[X+864+4>>2];Y=_*Y*10.0+ +g[X+864+8>>2];g[X+784>>2]=$*_*10.0+ +g[X+864>>2];g[X+784+4>>2]=Z;g[X+784+8>>2]=Y;g[X+784+12>>2]=0.0;c[X+768>>2]=0;c[X+768+4>>2]=0;c[X+768+8>>2]=1065353216;g[X+768+12>>2]=0.0;mc[M&127](e,X+864|0,X+784|0,X+768|0);if((c[S+484>>2]|0)>0){f=0;do{M=c[S+492>>2]|0;da=+g[M+(f<<4)>>2];ea=+g[M+(f<<4)+4>>2];ha=+g[M+(f<<4)+8>>2];fa=+g[X+864>>2]+((j*l+m*u+v*w)*da+(l*x+u*y+w*z)*ea+(l*A+u*B+w*D)*ha);ga=+g[X+864+4>>2]+((j*E+m*F+v*G)*da+(x*E+y*F+z*G)*ea+(A*E+B*F+D*G)*ha);ha=(j*H+m*I+v*J)*da+(x*H+y*I+z*J)*ea+(A*H+B*I+D*J)*ha+ +g[X+864+8>>2];c[X+752>>2]=1065353216;c[X+752+4>>2]=0;c[X+752+8>>2]=1065353216;g[X+752+12>>2]=0.0;M=c[(c[e>>2]|0)+8>>2]|0;g[X+1008>>2]=fa+-.10000000149011612;g[X+1008+4>>2]=ga;g[X+1008+8>>2]=ha;g[X+1008+12>>2]=0.0;g[X+944>>2]=fa+.10000000149011612;g[X+944+4>>2]=ga+0.0;g[X+944+8>>2]=ha+0.0;g[X+944+12>>2]=0.0;mc[M&127](e,X+1008|0,X+944|0,X+752|0);M=c[(c[e>>2]|0)+8>>2]|0;g[X+928>>2]=fa;g[X+928+4>>2]=ga+-.10000000149011612;g[X+928+8>>2]=ha;g[X+928+12>>2]=0.0;g[X+912>>2]=fa+0.0;g[X+912+4>>2]=ga+.10000000149011612;g[X+912+8>>2]=ha+0.0;g[X+912+12>>2]=0.0;mc[M&127](e,X+928|0,X+912|0,X+752|0);M=c[(c[e>>2]|0)+8>>2]|0;g[X+896>>2]=fa;g[X+896+4>>2]=ga;g[X+896+8>>2]=ha+-.10000000149011612;g[X+896+12>>2]=0.0;g[X+880>>2]=fa+0.0;g[X+880+4>>2]=ga+0.0;g[X+880+8>>2]=ha+.10000000149011612;g[X+880+12>>2]=0.0;mc[M&127](e,X+896|0,X+880|0,X+752|0);f=f+1|0}while((f|0)<(c[S+484>>2]|0))}M=c[d+72>>2]|0}L=c[d+344>>2]|0;c[X+864>>2]=0;c[X+864+4>>2]=0;c[X+864+8>>2]=0;c[X+864+12>>2]=0;c[X+848>>2]=1065353216;c[X+848+4>>2]=1065353216;c[X+848+8>>2]=1065353216;g[X+848+12>>2]=0.0;c[X+832>>2]=1065353216;c[X+832+4>>2]=0;c[X+832+8>>2]=0;g[X+832+12>>2]=0.0;if(!(L&256)){if(L&1|0?(T=c[S+712>>2]|0,(T|0)>0):0){e=T;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[(c[M>>2]|0)+8>>2]|0;K=f+(h*104|0)+8|0;s=f+(h*104|0)+12|0;q=c[s>>2]|0;t=f+(h*104|0)+16|0;r=c[t>>2]|0;g[X+800>>2]=+g[K>>2]+-.10000000149011612;c[X+800+4>>2]=q;c[X+800+8>>2]=r;g[X+800+12>>2]=0.0;ga=+g[s>>2]+0.0;ha=+g[t>>2]+0.0;g[X+784>>2]=+g[K>>2]+.10000000149011612;g[X+784+4>>2]=ga;g[X+784+8>>2]=ha;g[X+784+12>>2]=0.0;c[X+768>>2]=1065353216;c[X+768+4>>2]=0;c[X+768+8>>2]=0;g[X+768+12>>2]=0.0;mc[e&127](M,X+800|0,X+784|0,X+768|0);e=c[(c[M>>2]|0)+8>>2]|0;ha=+g[s>>2]+-.10000000149011612;r=c[t>>2]|0;c[X+752>>2]=c[K>>2];g[X+752+4>>2]=ha;c[X+752+8>>2]=r;g[X+752+12>>2]=0.0;ha=+g[s>>2]+.10000000149011612;ga=+g[t>>2]+0.0;g[X+736>>2]=+g[K>>2]+0.0;g[X+736+4>>2]=ha;g[X+736+8>>2]=ga;g[X+736+12>>2]=0.0;c[X+720>>2]=0;c[X+720+4>>2]=1065353216;c[X+720+8>>2]=0;g[X+720+12>>2]=0.0;mc[e&127](M,X+752|0,X+736|0,X+720|0);e=c[(c[M>>2]|0)+8>>2]|0;r=c[s>>2]|0;ga=+g[t>>2]+-.10000000149011612;c[X+704>>2]=c[K>>2];c[X+704+4>>2]=r;g[X+704+8>>2]=ga;g[X+704+12>>2]=0.0;ga=+g[s>>2]+0.0;ha=+g[t>>2]+.10000000149011612;g[X+688>>2]=+g[K>>2]+0.0;g[X+688+4>>2]=ga;g[X+688+8>>2]=ha;g[X+688+12>>2]=0.0;c[X+672>>2]=0;c[X+672+4>>2]=0;c[X+672+8>>2]=1065353216;g[X+672+12>>2]=0.0;mc[e&127](M,X+704|0,X+688|0,X+672|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&2|0?(U=c[S+732>>2]|0,(U|0)>0):0){e=U;h=0;do{f=c[S+740>>2]|0;if(c[(c[f+(h*52|0)+4>>2]|0)+16>>2]&1){mc[c[(c[M>>2]|0)+8>>2]&127](M,(c[f+(h*52|0)+8>>2]|0)+8|0,(c[f+(h*52|0)+12>>2]|0)+8|0,X+864|0);e=c[S+732>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&16|0?(V=c[S+712>>2]|0,(V|0)>0):0){e=V;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){fa=+g[f+(h*104|0)+72>>2]*.5;ha=+g[f+(h*104|0)+76>>2]*.5;ga=+g[f+(h*104|0)+80>>2]*.5;K=c[(c[M>>2]|0)+8>>2]|0;e=f+(h*104|0)+8|0;s=f+(h*104|0)+12|0;da=ha+ +g[s>>2];t=f+(h*104|0)+16|0;ea=ga+ +g[t>>2];g[X+656>>2]=fa+ +g[e>>2];g[X+656+4>>2]=da;g[X+656+8>>2]=ea;g[X+656+12>>2]=0.0;mc[K&127](M,e,X+656|0,X+848|0);K=c[(c[M>>2]|0)+8>>2]|0;ha=+g[s>>2]-ha;ga=+g[t>>2]-ga;g[X+640>>2]=+g[e>>2]-fa;g[X+640+4>>2]=ha;g[X+640+8>>2]=ga;g[X+640+12>>2]=0.0;ga=+g[X+848+4>>2]*.5;ha=+g[X+848+8>>2]*.5;g[X+624>>2]=+g[X+848>>2]*.5;g[X+624+4>>2]=ga;g[X+624+8>>2]=ha;g[X+624+12>>2]=0.0;mc[K&127](M,e,X+640|0,X+624|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&32|0){if((a[22536]|0)==0?Wa(22536)|0:0){c[5803]=1065353216;c[5804]=0;c[5805]=0;c[5806]=0;c[5807]=0;c[5808]=1065353216;c[5809]=0;c[5810]=0;c[5811]=0;c[5812]=0;c[5813]=1065353216;g[5814]=0.0;_a(22536)}if((c[S+812>>2]|0)>0){e=0;do{K=c[S+820>>2]|0;s=c[K+(e*104|0)+24>>2]|0;E=+g[s+8>>2];t=K+(e*104|0)+4|0;F=+g[t>>2];I=+g[s+12>>2];r=K+(e*104|0)+8|0;J=+g[r>>2];ga=+g[s+16>>2];s=K+(e*104|0)+12|0;ea=+g[s>>2];ca=+g[K+(e*104|0)+20>>2]+(E*F+I*J+ga*ea);g[X+1008>>2]=E-F*ca;g[X+1008+4>>2]=I-J*ca;g[X+1008+8>>2]=ga-ea*ca;g[X+1008+12>>2]=0.0;Y=+g[t>>2];_=+g[r>>2];G=+g[s>>2];K=Y<_?(Y>2];Z=+g[23212+(K<<4)+4>>2];$=+g[23212+(K<<4)>>2];aa=1.0/+O(+((Y*Z-_*$)*(Y*Z-_*$)+((_*H-G*Z)*(_*H-G*Z)+(G*$-Y*H)*(G*$-Y*H))));ba=G*(G*$-Y*H)*aa-_*(Y*Z-_*$)*aa;da=Y*(Y*Z-_*$)*aa-G*(_*H-G*Z)*aa;ha=_*(_*H-G*Z)*aa-Y*(G*$-Y*H)*aa;fa=1.0/+O(+(ha*ha+(ba*ba+da*da)));K=c[(c[M>>2]|0)+8>>2]|0;g[X+608>>2]=E-F*ca-(_*H-G*Z)*aa*.5;g[X+608+4>>2]=I-J*ca-(G*$-Y*H)*aa*.5;g[X+608+8>>2]=ga-ea*ca-(Y*Z-_*$)*aa*.5;g[X+608+12>>2]=0.0;g[X+592>>2]=(_*H-G*Z)*aa*.5+(E-F*ca);g[X+592+4>>2]=(G*$-Y*H)*aa*.5+(I-J*ca);g[X+592+8>>2]=(Y*Z-_*$)*aa*.5+(ga-ea*ca);g[X+592+12>>2]=0.0;mc[K&127](M,X+608|0,X+592|0,X+832|0);K=c[(c[M>>2]|0)+8>>2]|0;ca=+g[X+1008>>2];ea=+g[X+1008+4>>2];ga=+g[X+1008+8>>2];g[X+576>>2]=ca-fa*ba*.5;g[X+576+4>>2]=ea-fa*da*.5;g[X+576+8>>2]=ga-fa*ha*.5;g[X+576+12>>2]=0.0;g[X+560>>2]=fa*ba*.5+ca;g[X+560+4>>2]=fa*da*.5+ea;g[X+560+8>>2]=fa*ha*.5+ga;g[X+560+12>>2]=0.0;mc[K&127](M,X+576|0,X+560|0,X+832|0);K=c[(c[M>>2]|0)+8>>2]|0;ga=+g[r>>2]*.5*3.0+ +g[X+1008+4>>2];ha=+g[s>>2]*.5*3.0+ +g[X+1008+8>>2];g[X+544>>2]=+g[t>>2]*.5*3.0+ +g[X+1008>>2];g[X+544+4>>2]=ga;g[X+544+8>>2]=ha;g[X+544+12>>2]=0.0;c[X+528>>2]=1065353216;c[X+528+4>>2]=1065353216;c[X+528+8>>2]=0;g[X+528+12>>2]=0.0;mc[K&127](M,X+1008|0,X+544|0,X+528|0);e=e+1|0}while((e|0)<(c[S+812>>2]|0))}}if(L&4|0?(c[X+1008>>2]=0,c[X+1008+4>>2]=1060320051,c[X+1008+8>>2]=0,g[X+1008+12>>2]=0.0,N=c[S+752>>2]|0,(N|0)>0):0){e=N;h=0;do{f=c[S+760>>2]|0;if(c[(c[f+(h*44|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*44|0)+8>>2]|0;$=+g[e+8>>2];ca=+g[e+12>>2];fa=+g[e+16>>2];e=c[f+(h*44|0)+12>>2]|0;aa=+g[e+8>>2];da=+g[e+12>>2];ga=+g[e+16>>2];e=c[f+(h*44|0)+16>>2]|0;ba=+g[e+8>>2];ea=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[M>>2]|0)+28>>2]|0;g[X+512>>2]=($+aa+ba)*.3333333432674408+($-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+512+4>>2]=(ca+da+ea)*.3333333432674408+(ca-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+512+8>>2]=(fa+ga+ha)*.3333333432674408+(fa-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+512+12>>2]=0.0;g[X+496>>2]=($+aa+ba)*.3333333432674408+(aa-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+496+4>>2]=(ca+da+ea)*.3333333432674408+(da-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+496+8>>2]=(fa+ga+ha)*.3333333432674408+(ga-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+496+12>>2]=0.0;g[X+480>>2]=($+aa+ba)*.3333333432674408+(ba-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+480+4>>2]=(ca+da+ea)*.3333333432674408+(ea-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+480+8>>2]=(fa+ga+ha)*.3333333432674408+(ha-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+480+12>>2]=0.0;Pb[e&0](M,X+512|0,X+496|0,X+480|0,X+1008|0,1.0);e=c[S+752>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&8|0?(c[X+1008>>2]=1050253722,c[X+1008+4>>2]=1050253722,c[X+1008+8>>2]=1060320051,g[X+1008+12>>2]=0.0,P=c[S+772>>2]|0,(P|0)>0):0){e=P;h=0;do{f=c[S+780>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*104|0)+8>>2]|0;A=+g[e+8>>2];E=+g[e+12>>2];H=+g[e+16>>2];e=c[f+(h*104|0)+12>>2]|0;B=+g[e+8>>2];F=+g[e+12>>2];I=+g[e+16>>2];e=c[f+(h*104|0)+16>>2]|0;D=+g[e+8>>2];G=+g[e+12>>2];J=+g[e+16>>2];e=c[f+(h*104|0)+20>>2]|0;fa=+g[e+8>>2];ga=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[M>>2]|0)+28>>2]|0;ca=(A+B+D+fa)*.25+(A-(A+B+D+fa)*.25)*.800000011920929;da=(E+F+G+ga)*.25+(E-(E+F+G+ga)*.25)*.800000011920929;ea=(H+I+J+ha)*.25+(H-(H+I+J+ha)*.25)*.800000011920929;g[X+464>>2]=ca;g[X+464+4>>2]=da;g[X+464+8>>2]=ea;g[X+464+12>>2]=0.0;Y=(A+B+D+fa)*.25+(B-(A+B+D+fa)*.25)*.800000011920929;Z=(E+F+G+ga)*.25+(F-(E+F+G+ga)*.25)*.800000011920929;_=(H+I+J+ha)*.25+(I-(H+I+J+ha)*.25)*.800000011920929;g[X+448>>2]=Y;g[X+448+4>>2]=Z;g[X+448+8>>2]=_;g[X+448+12>>2]=0.0;$=(A+B+D+fa)*.25+(D-(A+B+D+fa)*.25)*.800000011920929;aa=(E+F+G+ga)*.25+(G-(E+F+G+ga)*.25)*.800000011920929;ba=(H+I+J+ha)*.25+(J-(H+I+J+ha)*.25)*.800000011920929;g[X+432>>2]=$;g[X+432+4>>2]=aa;g[X+432+8>>2]=ba;g[X+432+12>>2]=0.0;Pb[e&0](M,X+464|0,X+448|0,X+432|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+416>>2]=ca;g[X+416+4>>2]=da;g[X+416+8>>2]=ea;g[X+416+12>>2]=0.0;g[X+400>>2]=Y;g[X+400+4>>2]=Z;g[X+400+8>>2]=_;g[X+400+12>>2]=0.0;fa=(A+B+D+fa)*.25+(fa-(A+B+D+fa)*.25)*.800000011920929;ga=(E+F+G+ga)*.25+(ga-(E+F+G+ga)*.25)*.800000011920929;ha=(H+I+J+ha)*.25+(ha-(H+I+J+ha)*.25)*.800000011920929;g[X+384>>2]=fa;g[X+384+4>>2]=ga;g[X+384+8>>2]=ha;g[X+384+12>>2]=0.0;Pb[e&0](M,X+416|0,X+400|0,X+384|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+368>>2]=Y;g[X+368+4>>2]=Z;g[X+368+8>>2]=_;g[X+368+12>>2]=0.0;g[X+352>>2]=$;g[X+352+4>>2]=aa;g[X+352+8>>2]=ba;g[X+352+12>>2]=0.0;g[X+336>>2]=fa;g[X+336+4>>2]=ga;g[X+336+8>>2]=ha;g[X+336+12>>2]=0.0;Pb[e&0](M,X+368|0,X+352|0,X+336|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+320>>2]=$;g[X+320+4>>2]=aa;g[X+320+8>>2]=ba;g[X+320+12>>2]=0.0;g[X+304>>2]=ca;g[X+304+4>>2]=da;g[X+304+8>>2]=ea;g[X+304+12>>2]=0.0;g[X+288>>2]=fa;g[X+288+4>>2]=ga;g[X+288+8>>2]=ha;g[X+288+12>>2]=0.0;Pb[e&0](M,X+320|0,X+304|0,X+288|0,X+1008|0,1.0);e=c[S+772>>2]|0}h=h+1|0}while((h|0)<(e|0))}}else{c[5646]=1805;c[5647]=0;e=c[S+1112>>2]|0;if((e|0)>0){K=0;do{if(a[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+377>>0]|0){r=vr(c[5646]|0,c[5647]|0,1284865837,1481765933)|0;r=Kt(r|0,C|0,1,0)|0;h=C;s=us(r|0,h|0,33)|0;h=vr(r|0,h|0,1284865837,1481765933)|0;h=Kt(h|0,C|0,1,0)|0;r=C;t=us(h|0,r|0,33)|0;r=vr(h|0,r|0,1284865837,1481765933)|0;r=Kt(r|0,C|0,1,0)|0;h=C;c[5646]=r;c[5647]=h;h=us(r|0,h|0,33)|0;ha=1.0/+O(+(+(h|0)*4.656612873077393e-10*+(h|0)*4.656612873077393e-10+(+(s|0)*4.656612873077393e-10*+(s|0)*4.656612873077393e-10+ +(t|0)*4.656612873077393e-10*+(t|0)*4.656612873077393e-10)));g[X+1008>>2]=+(s|0)*4.656612873077393e-10*ha*.75;g[X+1008+4>>2]=+(t|0)*4.656612873077393e-10*ha*.75;g[X+1008+8>>2]=+(h|0)*4.656612873077393e-10*ha*.75;g[X+1008+12>>2]=0.0;h=c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+24>>2]|0;if((h|0)>0){c[6435]=(c[6435]|0)+1;e=yc((h<<4|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=0;do{t=f+(e<<4)|0;c[t>>2]=c[X+816>>2];c[t+4>>2]=c[X+816+4>>2];c[t+8>>2]=c[X+816+8>>2];c[t+12>>2]=c[X+816+12>>2];e=e+1|0}while((e|0)!=(h|0));e=0;do{t=f+(e<<4)|0;s=(c[(c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+32>>2]|0)+(e<<2)>>2]|0)+8|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];e=e+1|0}while((e|0)!=(h|0))}else f=0;a[X+944+16>>0]=1;c[X+944+12>>2]=0;c[X+944+4>>2]=0;c[X+944+8>>2]=0;a[X+944+36>>0]=1;c[Q>>2]=0;c[X+944+24>>2]=0;c[X+944+28>>2]=0;a[X+944+56>>0]=1;c[R>>2]=0;c[X+944+44>>2]=0;c[X+944+48>>2]=0;Dc(X+944|0,f,h);r=c[X+944+44>>2]|0;if((r|0)>0){p=c[Q>>2]|0;t=0;do{s=c[(c[R>>2]|0)+(t<<2)>>2]|0;h=c[p+(s*12|0)+4>>2]|0;e=p+(s*12|0)+(h*12|0)+((c[p+(s*12|0)+(h*12|0)>>2]|0)*12|0)|0;if((e|0)!=(p+(s*12|0)|0)){q=c[X+944+12>>2]|0;n=c[p+(s*12|0)+(h*12|0)+8>>2]|0;o=c[p+(s*12|0)+8>>2]|0;while(1){h=c[e+8>>2]|0;Pb[c[(c[M>>2]|0)+28>>2]&0](M,q+(n<<4)|0,q+(o<<4)|0,q+(h<<4)|0,X+1008|0,1.0);n=e+((c[e+4>>2]|0)*12|0)|0;e=n+((c[n>>2]|0)*12|0)|0;if((e|0)==(p+(s*12|0)|0))break;else{n=o;o=h}}}t=t+1|0}while((t|0)<(r|0))}e=c[R>>2]|0;if(e|0){if(a[X+944+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[R>>2]=0}a[X+944+56>>0]=1;c[R>>2]=0;c[X+944+44>>2]=0;c[X+944+48>>2]=0;e=c[Q>>2]|0;if(e|0){if(a[X+944+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[Q>>2]=0}a[X+944+36>>0]=1;c[Q>>2]=0;c[X+944+24>>2]=0;c[X+944+28>>2]=0;e=c[X+944+12>>2]|0;if(e|0){if(a[X+944+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[X+944+12>>2]=0}if(f|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}e=c[S+1112>>2]|0}K=K+1|0}while((K|0)<(e|0))}}if(L&64|0){if((c[S+792>>2]|0)>0){e=0;do{K=c[S+800>>2]|0;q=c[K+(e*96|0)+20>>2]|0;da=+g[K+(e*96|0)+4>>2];ea=+g[K+(e*96|0)+8>>2];fa=+g[K+(e*96|0)+12>>2];ga=da*+g[q+20>>2]+ea*+g[q+24>>2]+fa*+g[q+28>>2]+ +g[q+56>>2];ha=da*+g[q+36>>2]+ea*+g[q+40>>2]+fa*+g[q+44>>2]+ +g[q+60>>2];g[X+272>>2]=da*+g[q+4>>2]+ea*+g[q+8>>2]+fa*+g[q+12>>2]+ +g[q+52>>2];g[X+272+4>>2]=ga;g[X+272+8>>2]=ha;g[X+272+12>>2]=0.0;K=K+(e*96|0)|0;q=c[K>>2]|0;c[X+256>>2]=1065353216;c[X+256+4>>2]=0;c[X+256+8>>2]=0;g[X+256+12>>2]=0.0;t=c[(c[M>>2]|0)+8>>2]|0;ha=+g[q+8>>2];s=c[q+12>>2]|0;r=c[q+16>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=s;c[X+1008+8>>2]=r;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;fa=(c[k>>2]=r,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[t&127](M,X+1008|0,X+944|0,X+256|0);t=c[(c[M>>2]|0)+8>>2]|0;r=c[q+8>>2]|0;fa=+g[q+12>>2];s=c[q+16>>2]|0;c[X+928>>2]=r;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=s;g[X+928+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;ha=(c[k>>2]=s,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[t&127](M,X+928|0,X+912|0,X+256|0);t=c[(c[M>>2]|0)+8>>2]|0;s=c[q+8>>2]|0;r=c[q+12>>2]|0;ha=+g[q+16>>2];c[X+896>>2]=s;c[X+896+4>>2]=r;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=s,+g[k>>2])+0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[t&127](M,X+896|0,X+880|0,X+256|0);c[X+240>>2]=0;c[X+240+4>>2]=1065353216;c[X+240+8>>2]=0;g[X+240+12>>2]=0.0;t=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+272>>2];r=c[X+272+4>>2]|0;s=c[X+272+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=r;c[X+1008+8>>2]=s;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;fa=(c[k>>2]=s,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[t&127](M,X+1008|0,X+944|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;s=c[X+272>>2]|0;fa=+g[X+272+4>>2];r=c[X+272+8>>2]|0;c[X+928>>2]=s;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=r;g[X+928+12>>2]=0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;ha=(c[k>>2]=r,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[t&127](M,X+928|0,X+912|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;r=c[X+272>>2]|0;s=c[X+272+4>>2]|0;ha=+g[X+272+8>>2];c[X+896>>2]=r;c[X+896+4>>2]=s;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=r,+g[k>>2])+0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[t&127](M,X+896|0,X+880|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;K=(c[K>>2]|0)+8|0;c[X+224>>2]=1065353216;c[X+224+4>>2]=1065353216;c[X+224+8>>2]=1065353216;g[X+224+12>>2]=0.0;mc[t&127](M,K,X+272|0,X+224|0);e=e+1|0}while((e|0)<(c[S+792>>2]|0))}e=c[S+712>>2]|0;if((e|0)>0){h=0;do{f=c[S+720>>2]|0;if((c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[f+(h*104|0)+88>>2]<=0.0:0){t=f+(h*104|0)+8|0;c[X+208>>2]=1065353216;c[X+208+4>>2]=0;c[X+208+8>>2]=0;g[X+208+12>>2]=0.0;e=c[(c[M>>2]|0)+8>>2]|0;ha=+g[t>>2];K=f+(h*104|0)+12|0;r=c[K>>2]|0;s=f+(h*104|0)+16|0;q=c[s>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=r;c[X+1008+8>>2]=q;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;fa=(c[k>>2]=q,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[e&127](M,X+1008|0,X+944|0,X+208|0);e=c[(c[M>>2]|0)+8>>2]|0;q=c[t>>2]|0;fa=+g[K>>2];r=c[s>>2]|0;c[X+928>>2]=q;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=r;g[X+928+12>>2]=0.0;ga=(c[k>>2]=q,+g[k>>2])+0.0;ha=(c[k>>2]=r,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[e&127](M,X+928|0,X+912|0,X+208|0);e=c[(c[M>>2]|0)+8>>2]|0;t=c[t>>2]|0;K=c[K>>2]|0;ha=+g[s>>2];c[X+896>>2]=t;c[X+896+4>>2]=K;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[e&127](M,X+896|0,X+880|0,X+208|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}}if(L&128|0?(c[S+692>>2]|0)>0:0){h=0;do{e=c[S+700>>2]|0;f=e+(h*60|0)+8|0;c[X+1008>>2]=c[f>>2];c[X+1008+4>>2]=c[f+4>>2];c[X+1008+8>>2]=c[f+8>>2];c[X+1008+12>>2]=c[f+12>>2];f=c[e+(h*60|0)+24>>2]|0;if((f|0)>0){j=+g[X+1008>>2];l=+g[X+1008+4>>2];m=+g[X+1008+8>>2];n=0;do{K=c[e+(h*60|0)+28+(n<<2)>>2]|0;fa=+g[e+(h*60|0)+44+(n<<2)>>2];ga=fa*+g[K+12>>2];ha=fa*+g[K+16>>2];j=+g[K+8>>2]*fa+j;g[X+1008>>2]=j;l=ga+l;g[X+1008+4>>2]=l;m=ha+m;g[X+1008+8>>2]=m;n=n+1|0}while((n|0)!=(f|0))}ic[c[(c[M>>2]|0)+40>>2]&127](M,X+1008|0,c[e+(h*60|0)+4>>2]|0);h=h+1|0}while((h|0)<(c[S+692>>2]|0))}if(L&512|0){K=c[S+928>>2]|0;c[X+1008>>2]=1065353216;c[X+1008+4>>2]=0;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=1065353216;c[X+944+8>>2]=1065353216;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}if(L&1024|0){K=c[S+988>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=0;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}if(L&2048|0){K=c[S+1048>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}a:do if(L&4096|0?(c[S+852>>2]|0)>0:0){f=0;while(1){e=c[(c[S+860>>2]|0)+(f<<2)>>2]|0;switch(Eb[c[(c[e>>2]|0)+20>>2]&127](e)|0){case 0:{L=ri(e+4|0)|0;ha=+g[e+28>>2];ga=+g[e+32>>2];fa=+g[e+36>>2];ea=ha*+g[L+16>>2]+ga*+g[L+20>>2]+fa*+g[L+24>>2]+ +g[L+52>>2];da=ha*+g[L+32>>2]+ga*+g[L+36>>2]+fa*+g[L+40>>2]+ +g[L+56>>2];g[X+272>>2]=ha*+g[L>>2]+ga*+g[L+4>>2]+fa*+g[L+8>>2]+ +g[L+48>>2];g[X+272+4>>2]=ea;g[X+272+8>>2]=da;g[X+272+12>>2]=0.0;L=ri(e+16|0)|0;da=+g[e+44>>2];ea=+g[e+48>>2];fa=+g[e+52>>2];ga=da*+g[L+16>>2]+ea*+g[L+20>>2]+fa*+g[L+24>>2]+ +g[L+52>>2];ha=da*+g[L+32>>2]+ea*+g[L+36>>2]+fa*+g[L+40>>2]+ +g[L+56>>2];g[X+192>>2]=da*+g[L>>2]+ea*+g[L+4>>2]+fa*+g[L+8>>2]+ +g[L+48>>2];g[X+192+4>>2]=ga;g[X+192+8>>2]=ha;g[X+192+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;K=(ri(e+4|0)|0)+48|0;c[X+176>>2]=1065353216;c[X+176+4>>2]=1065353216;c[X+176+8>>2]=0;g[X+176+12>>2]=0.0;mc[L&127](M,K,X+272|0,X+176|0);K=c[(c[M>>2]|0)+8>>2]|0;L=(ri(e+16|0)|0)+48|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;mc[K&127](M,L,X+192|0,X+160|0);c[X+144>>2]=1065353216;c[X+144+4>>2]=1065353216;c[X+144+8>>2]=0;g[X+144+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+272>>2];K=c[X+272+4>>2]|0;t=c[X+272+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=K;c[X+1008+8>>2]=t;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[L&127](M,X+1008|0,X+944|0,X+144|0);L=c[(c[M>>2]|0)+8>>2]|0;t=c[X+272>>2]|0;fa=+g[X+272+4>>2];K=c[X+272+8>>2]|0;c[X+928>>2]=t;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=K;g[X+928+12>>2]=0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;ha=(c[k>>2]=K,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[L&127](M,X+928|0,X+912|0,X+144|0);L=c[(c[M>>2]|0)+8>>2]|0;K=c[X+272>>2]|0;t=c[X+272+4>>2]|0;ha=+g[X+272+8>>2];c[X+896>>2]=K;c[X+896+4>>2]=t;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=K,+g[k>>2])+0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[L&127](M,X+896|0,X+880|0,X+144|0);c[X+128>>2]=0;c[X+128+4>>2]=1065353216;c[X+128+8>>2]=1065353216;g[X+128+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+192>>2];t=c[X+192+4>>2]|0;K=c[X+192+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=t;c[X+1008+8>>2]=K;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;fa=(c[k>>2]=K,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[L&127](M,X+1008|0,X+944|0,X+128|0);L=c[(c[M>>2]|0)+8>>2]|0;K=c[X+192>>2]|0;fa=+g[X+192+4>>2];t=c[X+192+8>>2]|0;c[X+928>>2]=K;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=t;g[X+928+12>>2]=0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;ha=(c[k>>2]=t,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[L&127](M,X+928|0,X+912|0,X+128|0);L=c[(c[M>>2]|0)+8>>2]|0;t=c[X+192>>2]|0;K=c[X+192+4>>2]|0;ha=+g[X+192+8>>2];c[X+896>>2]=t;c[X+896+4>>2]=K;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[L&127](M,X+896|0,X+880|0,X+128|0);break}case 1:{L=(ri(e+4|0)|0)+48|0;c[X+1008>>2]=c[L>>2];c[X+1008+4>>2]=c[L+4>>2];c[X+1008+8>>2]=c[L+8>>2];c[X+1008+12>>2]=c[L+12>>2];L=(ri(e+16|0)|0)+48|0;c[X+944>>2]=c[L>>2];c[X+944+4>>2]=c[L+4>>2];c[X+944+8>>2]=c[L+8>>2];c[X+944+12>>2]=c[L+12>>2];L=ri(e+4|0)|0;ba=+g[e+28>>2];aa=+g[e+32>>2];ea=+g[e+36>>2];ca=+g[L>>2]*ba+ +g[L+4>>2]*aa+ +g[L+8>>2]*ea;da=ba*+g[L+16>>2]+aa*+g[L+20>>2]+ea*+g[L+24>>2];ea=ba*+g[L+32>>2]+aa*+g[L+36>>2]+ea*+g[L+40>>2];L=ri(e+16|0)|0;aa=+g[e+44>>2];ba=+g[e+48>>2];ha=+g[e+52>>2];fa=+g[L>>2]*aa+ +g[L+4>>2]*ba+ +g[L+8>>2]*ha;ga=aa*+g[L+16>>2]+ba*+g[L+20>>2]+ha*+g[L+24>>2];ha=aa*+g[L+32>>2]+ba*+g[L+36>>2]+ha*+g[L+40>>2];L=c[(c[M>>2]|0)+8>>2]|0;ba=da*10.0+ +g[X+1008+4>>2];aa=ea*10.0+ +g[X+1008+8>>2];g[X+112>>2]=ca*10.0+ +g[X+1008>>2];g[X+112+4>>2]=ba;g[X+112+8>>2]=aa;g[X+112+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=1065353216;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;mc[L&127](M,X+1008|0,X+112|0,X+96|0);L=c[(c[M>>2]|0)+8>>2]|0;aa=ga*10.0+ +g[X+1008+4>>2];ba=ha*10.0+ +g[X+1008+8>>2];g[X+80>>2]=fa*10.0+ +g[X+1008>>2];g[X+80+4>>2]=aa;g[X+80+8>>2]=ba;g[X+80+12>>2]=0.0;c[X+64>>2]=1065353216;c[X+64+4>>2]=1065353216;c[X+64+8>>2]=0;g[X+64+12>>2]=0.0;mc[L&127](M,X+1008|0,X+80|0,X+64|0);L=c[(c[M>>2]|0)+8>>2]|0;da=da*10.0+ +g[X+944+4>>2];ea=ea*10.0+ +g[X+944+8>>2];g[X+48>>2]=ca*10.0+ +g[X+944>>2];g[X+48+4>>2]=da;g[X+48+8>>2]=ea;g[X+48+12>>2]=0.0;c[X+32>>2]=0;c[X+32+4>>2]=1065353216;c[X+32+8>>2]=1065353216;g[X+32+12>>2]=0.0;mc[L&127](M,X+944|0,X+48|0,X+32|0);L=c[(c[M>>2]|0)+8>>2]|0;ga=ga*10.0+ +g[X+944+4>>2];ha=ha*10.0+ +g[X+944+8>>2];g[X+16>>2]=fa*10.0+ +g[X+944>>2];g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;c[X>>2]=0;c[X+4>>2]=1065353216;c[X+8>>2]=1065353216;g[X+12>>2]=0.0;mc[L&127](M,X+944|0,X+16|0,X);break}default:{}}f=f+1|0;if((f|0)>=(c[S+852>>2]|0))break a}}while(0)}e=c[d+72>>2]|0;if(e|0?(Eb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){e=b[d+348>>1]|0;if(!((e&255)<<24>>24))e=(e&65535)>>>8&255;else{M=c[d+72>>2]|0;e=c[S+928>>2]|0;c[X+1008>>2]=1065353216;c[X+1008+4>>2]=0;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=1065353216;c[X+944+8>>2]=1065353216;g[X+944+12>>2]=0.0;Of(M,e,0,X+1008|0,X+944|0);e=a[d+349>>0]|0}if(e<<24>>24){L=c[d+72>>2]|0;M=c[S+988>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=0;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(L,M,0,X+1008|0,X+944|0)}if(a[d+350>>0]|0){M=c[d+72>>2]|0;S=c[S+1048>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,S,0,X+1008|0,X+944|0)}}W=W+1|0}while((W|0)<(c[d+328>>2]|0));i=X;return}function qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0.0;fa=i;i=i+80|0;if((e|0)<=0){i=fa;return}ca=0;do{X=c[d+(ca<<2)>>2]|0;Y=c[X+740>>2]|0;Z=c[X+744>>2]|0;_=bk(b,Y,+g[f+12>>2])|0;$=bk(b,Z,+g[f+12>>2])|0;aa=c[b+16>>2]|0;if(!(((((+g[aa+(_*244|0)+128>>2]==0.0?+g[aa+(_*244|0)+132>>2]==0.0:0)?+g[aa+(_*244|0)+136>>2]==0.0:0)?+g[aa+($*244|0)+128>>2]==0.0:0)?+g[aa+($*244|0)+132>>2]==0.0:0)?+g[aa+($*244|0)+136>>2]==0.0:0))ea=9;if((ea|0)==9?(ea=0,ba=c[X+748>>2]|0,(ba|0)>0):0){j=ba;da=0;h=1;do{U=X+4+(da*184|0)|0;D=X+4+(da*184|0)+80|0;if(+g[D>>2]<=+g[X+756>>2]){V=c[b+28>>2]|0;if((V|0)==(c[b+32>>2]|0)?(W=V|0?V<<1:1,(V|0)<(W|0)):0){if(!W){j=0;l=V}else{c[6435]=(c[6435]|0)+1;j=yc((W*152|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=c[b+28>>2]|0}if((l|0)>0){o=0;do{_m(j+(o*152|0)|0,(c[b+36>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(l|0))}l=c[b+36>>2]|0;if(l|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=W;j=c[b+28>>2]|0}else j=V;c[b+28>>2]=j+1;T=c[b+36>>2]|0;G=(c[Y+236>>2]&2|0)==0?0:Y;H=(c[Z+236>>2]&2|0)==0?0:Z;c[T+(V*152|0)+144>>2]=_;c[T+(V*152|0)+148>>2]=$;c[T+(V*152|0)+132>>2]=U;z=+g[X+4+(da*184|0)+48>>2]-+g[Y+52>>2];A=+g[X+4+(da*184|0)+52>>2]-+g[Y+56>>2];y=+g[X+4+(da*184|0)+56>>2]-+g[Y+60>>2];g[fa+64>>2]=z;g[fa+64+4>>2]=A;g[fa+64+8>>2]=y;g[fa+64+12>>2]=0.0;C=+g[X+4+(da*184|0)+32>>2]-+g[Z+52>>2];E=+g[X+4+(da*184|0)+36>>2]-+g[Z+56>>2];B=+g[X+4+(da*184|0)+40>>2]-+g[Z+60>>2];g[fa+48>>2]=C;g[fa+48+4>>2]=E;g[fa+48+8>>2]=B;g[fa+48+12>>2]=0.0;if(!(c[aa+(_*244|0)+240>>2]|0)){j=0;o=0;r=0}else{M=+g[aa+(_*244|0)+192>>2]+ +g[aa+(_*244|0)+224>>2];P=+g[aa+(_*244|0)+196>>2]+ +g[aa+(_*244|0)+228>>2];L=+g[aa+(_*244|0)+200>>2]+ +g[aa+(_*244|0)+232>>2];j=(g[k>>2]=+g[aa+(_*244|0)+176>>2]+ +g[aa+(_*244|0)+208>>2]+(P*y-L*A),c[k>>2]|0);o=(g[k>>2]=+g[aa+(_*244|0)+180>>2]+ +g[aa+(_*244|0)+212>>2]+(L*z-M*y),c[k>>2]|0);r=(g[k>>2]=+g[aa+(_*244|0)+184>>2]+ +g[aa+(_*244|0)+216>>2]+(M*A-P*z),c[k>>2]|0)}if(!(c[aa+($*244|0)+240>>2]|0)){l=0;q=0;s=0}else{M=+g[aa+($*244|0)+192>>2]+ +g[aa+($*244|0)+224>>2];P=+g[aa+($*244|0)+196>>2]+ +g[aa+($*244|0)+228>>2];L=+g[aa+($*244|0)+200>>2]+ +g[aa+($*244|0)+232>>2];l=(g[k>>2]=+g[aa+($*244|0)+176>>2]+ +g[aa+($*244|0)+208>>2]+(P*B-L*E),c[k>>2]|0);q=(g[k>>2]=+g[aa+($*244|0)+180>>2]+ +g[aa+($*244|0)+212>>2]+(L*C-M*B),c[k>>2]|0);s=(g[k>>2]=+g[aa+($*244|0)+184>>2]+ +g[aa+($*244|0)+216>>2]+(M*E-P*C),c[k>>2]|0)}P=(c[k>>2]=j,+g[k>>2]);P=P-(c[k>>2]=l,+g[k>>2]);M=(c[k>>2]=o,+g[k>>2]);M=M-(c[k>>2]=q,+g[k>>2]);I=(c[k>>2]=r,+g[k>>2]);I=I-(c[k>>2]=s,+g[k>>2]);Q=X+4+(da*184|0)+64|0;J=+g[Q>>2];R=X+4+(da*184|0)+68|0;K=+g[R>>2];S=X+4+(da*184|0)+72|0;L=+g[S>>2];s=c[b+16>>2]|0;q=c[s+(_*244|0)+240>>2]|0;r=c[s+($*244|0)+240>>2]|0;if(q|0){o=(g[k>>2]=((A*L-y*K)*+g[q+264>>2]+(y*J-L*z)*+g[q+268>>2]+(K*z-A*J)*+g[q+272>>2])*+g[q+544>>2],c[k>>2]|0);j=(g[k>>2]=((A*L-y*K)*+g[q+280>>2]+(y*J-L*z)*+g[q+284>>2]+(K*z-A*J)*+g[q+288>>2])*+g[q+548>>2],c[k>>2]|0);l=(g[k>>2]=((A*L-y*K)*+g[q+296>>2]+(y*J-L*z)*+g[q+300>>2]+(K*z-A*J)*+g[q+304>>2])*+g[q+552>>2],c[k>>2]|0)}else{o=0;j=0;l=0}c[T+(V*152|0)+64>>2]=o;c[T+(V*152|0)+68>>2]=j;c[T+(V*152|0)+72>>2]=l;g[T+(V*152|0)+76>>2]=0.0;v=+g[S>>2];w=+g[R>>2];x=+g[Q>>2];u=(c[k>>2]=j,+g[k>>2]);t=(c[k>>2]=l,+g[k>>2]);n=(c[k>>2]=o,+g[k>>2]);if(r|0){j=(g[k>>2]=(+g[r+264>>2]*-(E*v-B*w)+ +g[r+268>>2]*-(B*x-v*C)+ +g[r+272>>2]*-(w*C-E*x))*+g[r+544>>2],c[k>>2]|0);l=(g[k>>2]=(+g[r+280>>2]*-(E*v-B*w)+ +g[r+284>>2]*-(B*x-v*C)+ +g[r+288>>2]*-(w*C-E*x))*+g[r+548>>2],c[k>>2]|0);o=(g[k>>2]=(+g[r+296>>2]*-(E*v-B*w)+ +g[r+300>>2]*-(B*x-v*C)+ +g[r+304>>2]*-(w*C-E*x))*+g[r+552>>2],c[k>>2]|0)}else{j=0;l=0;o=0}c[T+(V*152|0)+80>>2]=j;c[T+(V*152|0)+84>>2]=l;c[T+(V*152|0)+88>>2]=o;g[T+(V*152|0)+92>>2]=0.0;p=(c[k>>2]=j,+g[k>>2]);m=(c[k>>2]=l,+g[k>>2]);if(q|0)n=+g[q+344>>2]+((u*y-t*A)*+g[Q>>2]+(t*z-y*n)*+g[R>>2]+(A*n-u*z)*+g[S>>2]);else n=0.0;if(r|0){F=-(c[k>>2]=o,+g[k>>2]);m=+g[r+344>>2]+((B*-m-E*F)*+g[Q>>2]+(C*F-B*-p)*+g[R>>2]+(E*-p-C*-m)*+g[S>>2])}else m=0.0;g[T+(V*152|0)+108>>2]=1.0/(n+m);if(q|0){c[T+(V*152|0)+16>>2]=c[Q>>2];c[T+(V*152|0)+16+4>>2]=c[Q+4>>2];c[T+(V*152|0)+16+8>>2]=c[Q+8>>2];c[T+(V*152|0)+16+12>>2]=c[Q+12>>2];g[T+(V*152|0)>>2]=A*L-y*K;g[T+(V*152|0)+4>>2]=y*J-L*z;g[T+(V*152|0)+8>>2]=K*z-A*J;g[T+(V*152|0)+12>>2]=0.0}else{c[T+(V*152|0)>>2]=0;c[T+(V*152|0)+4>>2]=0;c[T+(V*152|0)+8>>2]=0;c[T+(V*152|0)+12>>2]=0;c[T+(V*152|0)+16>>2]=0;c[T+(V*152|0)+20>>2]=0;c[T+(V*152|0)+24>>2]=0;c[T+(V*152|0)+28>>2]=0}if(r|0){u=-+g[R>>2];F=-+g[S>>2];g[T+(V*152|0)+48>>2]=-+g[Q>>2];g[T+(V*152|0)+52>>2]=u;g[T+(V*152|0)+56>>2]=F;g[T+(V*152|0)+60>>2]=0.0;g[T+(V*152|0)+32>>2]=-(E*v-B*w);g[T+(V*152|0)+36>>2]=-(B*x-v*C);g[T+(V*152|0)+40>>2]=-(w*C-E*x);g[T+(V*152|0)+44>>2]=0.0}else{c[T+(V*152|0)+32>>2]=0;c[T+(V*152|0)+32+4>>2]=0;c[T+(V*152|0)+32+8>>2]=0;c[T+(V*152|0)+32+12>>2]=0;c[T+(V*152|0)+32+16>>2]=0;c[T+(V*152|0)+32+20>>2]=0;c[T+(V*152|0)+32+24>>2]=0;c[T+(V*152|0)+32+28>>2]=0}F=+g[D>>2]+ +g[f+56>>2];if(q|0){t=+g[q+332>>2];u=+g[q+336>>2];x=+g[q+328>>2];v=t*y-u*A+ +g[q+312>>2];u=+g[q+316>>2]+(u*z-y*x);t=A*x-t*z+ +g[q+320>>2]}else{v=0.0;u=0.0;t=0.0}if(r|0){m=+g[r+332>>2];n=+g[r+336>>2];A=+g[r+328>>2];p=m*B-n*E+ +g[r+312>>2];n=+g[r+316>>2]+(n*C-B*A);m=E*A-m*C+ +g[r+320>>2]}else{p=0.0;n=0.0;m=0.0}C=(v-p)*+g[Q>>2]+(u-n)*+g[R>>2]+(t-m)*+g[S>>2];c[T+(V*152|0)+104>>2]=c[X+4+(da*184|0)+84>>2];C=-(C*+g[X+4+(da*184|0)+92>>2]);C=C<=0.0?0.0:C;do if(!(c[f+64>>2]&4))g[T+(V*152|0)+100>>2]=0.0;else{m=+g[X+4+(da*184|0)+120>>2]*+g[f+60>>2];g[T+(V*152|0)+100>>2]=m;do if(q|0){if(!(c[s+(_*244|0)+240>>2]|0))break;E=m*+g[T+(V*152|0)+20>>2]*+g[s+(_*244|0)+132>>2]*+g[q+352>>2]*+g[s+(_*244|0)+116>>2];B=m*+g[T+(V*152|0)+24>>2]*+g[s+(_*244|0)+136>>2]*+g[q+356>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*m*+g[T+(V*152|0)+16>>2]*+g[s+(_*244|0)+128>>2]*+g[q+348>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=E+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=B+ +g[s+(_*244|0)+72>>2];B=m*+g[s+(_*244|0)+100>>2]*+g[T+(V*152|0)+68>>2];E=m*+g[s+(_*244|0)+104>>2]*+g[T+(V*152|0)+72>>2];g[s+(_*244|0)+80>>2]=m*+g[s+(_*244|0)+96>>2]*+g[T+(V*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=B+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=E+ +g[s+(_*244|0)+88>>2]}while(0);if(!r)break;m=+g[T+(V*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;E=+g[T+(V*152|0)+88>>2];B=+g[T+(V*152|0)+84>>2];A=+g[T+(V*152|0)+80>>2];y=m*+g[T+(V*152|0)+52>>2]*+g[s+($*244|0)+132>>2]*+g[r+352>>2]*+g[s+($*244|0)+116>>2];z=m*+g[T+(V*152|0)+56>>2]*+g[s+($*244|0)+136>>2]*+g[r+356>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*m*+g[T+(V*152|0)+48>>2]*+g[s+($*244|0)+128>>2]*+g[r+348>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=y+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=z+ +g[s+($*244|0)+72>>2];B=B*+g[s+($*244|0)+100>>2]*-m;E=E*+g[s+($*244|0)+104>>2]*-m;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-A*+g[s+($*244|0)+96>>2]*-m;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-B;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-E}while(0);g[T+(V*152|0)+96>>2]=0.0;if(!(c[s+(_*244|0)+240>>2]|0)){m=0.0;n=0.0;p=0.0;w=0.0;x=0.0;y=0.0}else{m=+g[s+(_*244|0)+208>>2];n=+g[s+(_*244|0)+212>>2];p=+g[s+(_*244|0)+216>>2];w=+g[s+(_*244|0)+224>>2];x=+g[s+(_*244|0)+228>>2];y=+g[s+(_*244|0)+232>>2]}if(!(c[s+($*244|0)+240>>2]|0)){t=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0}else{t=+g[s+($*244|0)+208>>2];u=+g[s+($*244|0)+212>>2];v=+g[s+($*244|0)+216>>2];z=+g[s+($*244|0)+224>>2];A=+g[s+($*244|0)+228>>2];B=+g[s+($*244|0)+232>>2]}m=C-((m+ +g[s+(_*244|0)+176>>2])*+g[T+(V*152|0)+16>>2]+(n+ +g[s+(_*244|0)+180>>2])*+g[T+(V*152|0)+20>>2]+(p+ +g[s+(_*244|0)+184>>2])*+g[T+(V*152|0)+24>>2]+((w+ +g[s+(_*244|0)+192>>2])*+g[T+(V*152|0)>>2]+(x+ +g[s+(_*244|0)+196>>2])*+g[T+(V*152|0)+4>>2]+(y+ +g[s+(_*244|0)+200>>2])*+g[T+(V*152|0)+8>>2])+((t+ +g[s+($*244|0)+176>>2])*+g[T+(V*152|0)+48>>2]+(u+ +g[s+($*244|0)+180>>2])*+g[T+(V*152|0)+52>>2]+(v+ +g[s+($*244|0)+184>>2])*+g[T+(V*152|0)+56>>2]+((z+ +g[s+($*244|0)+192>>2])*+g[T+(V*152|0)+32>>2]+(A+ +g[s+($*244|0)+196>>2])*+g[T+(V*152|0)+36>>2]+(B+ +g[s+($*244|0)+200>>2])*+g[T+(V*152|0)+40>>2])));j=(c[f+44>>2]|0)==0;n=+g[f+12>>2];if(F>0.0){p=0.0;m=m-F/n}else p=-(F*+g[(j|F>+g[f+48>>2]?f+32|0:f+36|0)>>2])/n;E=+g[T+(V*152|0)+108>>2];n=p*E;m=m*E;if(j|F>+g[f+48>>2]){g[T+(V*152|0)+112>>2]=n+m;g[T+(V*152|0)+128>>2]=0.0}else{g[T+(V*152|0)+112>>2]=m;g[T+(V*152|0)+128>>2]=n}g[T+(V*152|0)+116>>2]=0.0;g[T+(V*152|0)+120>>2]=0.0;g[T+(V*152|0)+124>>2]=1.0e10;c[T+(V*152|0)+140>>2]=c[b+68>>2];if(!G){l=0;r=0;s=0}else{l=c[G+328>>2]|0;r=c[G+332>>2]|0;s=c[G+336>>2]|0}if(!H){j=0;o=0;q=0}else{j=c[H+328>>2]|0;o=c[H+332>>2]|0;q=c[H+336>>2]|0}p=(c[k>>2]=j,+g[k>>2]);p=p-(c[k>>2]=l,+g[k>>2]);n=(c[k>>2]=o,+g[k>>2]);n=n-(c[k>>2]=r,+g[k>>2]);t=(c[k>>2]=q,+g[k>>2]);t=t-(c[k>>2]=s,+g[k>>2]);g[fa+32>>2]=p;g[fa+32+4>>2]=n;g[fa+32+8>>2]=t;g[fa+32+12>>2]=0.0;do if((h|0)>0?+g[X+4+(da*184|0)+88>>2]>0.0:0){h=h+-1|0;m=+O(+(p*p+n*n+t*t));if(m>+g[f+80>>2]){g[fa+32>>2]=p*(1.0/m);g[fa+32+4>>2]=n*(1.0/m);g[fa+32+8>>2]=t*(1.0/m);if(!(c[Y+180>>2]&2)){p=p*(1.0/m);n=n*(1.0/m);m=t*(1.0/m)}else{u=+g[Y+4>>2];x=+g[Y+20>>2];A=+g[Y+36>>2];v=+g[Y+8>>2];y=+g[Y+24>>2];C=+g[Y+40>>2];w=+g[Y+12>>2];z=+g[Y+28>>2];F=+g[Y+44>>2];B=(u*p*(1.0/m)+x*n*(1.0/m)+t*(1.0/m)*A)*+g[Y+164>>2];E=(p*(1.0/m)*v+n*(1.0/m)*y+t*(1.0/m)*C)*+g[Y+168>>2];m=(p*(1.0/m)*w+n*(1.0/m)*z+t*(1.0/m)*F)*+g[Y+172>>2];g[fa+32>>2]=u*B+v*E+w*m;g[fa+32+4>>2]=x*B+y*E+z*m;g[fa+32+8>>2]=A*B+C*E+F*m;g[fa+32+12>>2]=0.0;p=u*B+v*E+w*m;n=x*B+y*E+z*m;m=A*B+C*E+F*m}if(c[Z+180>>2]&2){u=+g[Z+4>>2];x=+g[Z+20>>2];A=+g[Z+36>>2];v=+g[Z+8>>2];y=+g[Z+24>>2];C=+g[Z+40>>2];w=+g[Z+12>>2];z=+g[Z+28>>2];F=+g[Z+44>>2];B=(u*p+x*n+A*m)*+g[Z+164>>2];E=(p*v+n*y+m*C)*+g[Z+168>>2];m=(p*w+n*z+m*F)*+g[Z+172>>2];g[fa+32>>2]=u*B+v*E+w*m;g[fa+32+4>>2]=x*B+y*E+z*m;g[fa+32+8>>2]=A*B+C*E+F*m;g[fa+32+12>>2]=0.0;p=u*B+v*E+w*m;n=x*B+y*E+z*m;m=A*B+C*E+F*m}if(!(+O(+(p*p+n*n+m*m))>.001))break;Nd(b,fa+32|0,_,$,V,U);break}Nd(b,Q,_,$,V,U);m=+g[S>>2];if(+N(+m)>.7071067690849304){F=+g[R>>2];E=1.0/+O(+(m*m+F*F));g[fa+16>>2]=0.0;g[fa+16+4>>2]=-(E*m);g[fa+16+8>>2]=E*F;g[fa>>2]=(m*m+F*F)*E;n=+g[Q>>2];g[fa+4>>2]=-(E*F*n);w=n*-(E*m);p=0.0;u=-(E*m);v=E*F;t=(m*m+F*F)*E;n=-(E*F*n)}else{t=+g[Q>>2];F=+g[R>>2];n=1.0/+O(+(t*t+F*F));g[fa+16>>2]=-(F*n);g[fa+16+4>>2]=n*t;g[fa+16+8>>2]=0.0;g[fa>>2]=-(n*t*m);g[fa+4>>2]=m*-(F*n);w=(t*t+F*F)*n;p=-(F*n);u=n*t;v=0.0;t=-(n*t*m);n=m*-(F*n)}g[fa+8>>2]=w;j=(c[Y+180>>2]&2|0)==0;if(!j){ha=+g[Y+4>>2];x=+g[Y+20>>2];A=+g[Y+36>>2];ga=+g[Y+8>>2];y=+g[Y+24>>2];C=+g[Y+40>>2];m=+g[Y+12>>2];z=+g[Y+28>>2];F=+g[Y+44>>2];B=(ha*p+x*u+A*v)*+g[Y+164>>2];E=(p*ga+u*y+v*C)*+g[Y+168>>2];v=(p*m+u*z+v*F)*+g[Y+172>>2];g[fa+16>>2]=ha*B+ga*E+m*v;g[fa+16+4>>2]=x*B+y*E+z*v;g[fa+16+8>>2]=A*B+C*E+F*v;g[fa+16+12>>2]=0.0;p=ha*B+ga*E+m*v;u=x*B+y*E+z*v;v=A*B+C*E+F*v}l=(c[Z+180>>2]&2|0)==0;if(!l){m=+g[Z+4>>2];z=+g[Z+20>>2];C=+g[Z+36>>2];x=+g[Z+8>>2];A=+g[Z+24>>2];F=+g[Z+40>>2];y=+g[Z+12>>2];B=+g[Z+28>>2];ha=+g[Z+44>>2];E=(m*p+z*u+C*v)*+g[Z+164>>2];ga=(p*x+u*A+v*F)*+g[Z+168>>2];v=(p*y+u*B+v*ha)*+g[Z+172>>2];g[fa+16>>2]=m*E+x*ga+y*v;g[fa+16+4>>2]=z*E+A*ga+B*v;g[fa+16+8>>2]=C*E+F*ga+ha*v;g[fa+16+12>>2]=0.0;p=m*E+x*ga+y*v;u=z*E+A*ga+B*v;v=C*E+F*ga+ha*v}if(j)m=w;else{ia=+g[Y+4>>2];z=+g[Y+20>>2];C=+g[Y+36>>2];x=+g[Y+8>>2];A=+g[Y+24>>2];F=+g[Y+40>>2];y=+g[Y+12>>2];B=+g[Y+28>>2];ha=+g[Y+44>>2];E=(ia*t+z*n+C*w)*+g[Y+164>>2];ga=(t*x+n*A+w*F)*+g[Y+168>>2];m=(t*y+n*B+w*ha)*+g[Y+172>>2];g[fa>>2]=ia*E+x*ga+y*m;g[fa+4>>2]=z*E+A*ga+B*m;g[fa+8>>2]=C*E+F*ga+ha*m;g[fa+12>>2]=0.0;t=ia*E+x*ga+y*m;n=z*E+A*ga+B*m;m=C*E+F*ga+ha*m}if(!l){x=+g[Z+4>>2];A=+g[Z+20>>2];E=+g[Z+36>>2];y=+g[Z+8>>2];B=+g[Z+24>>2];ga=+g[Z+40>>2];z=+g[Z+12>>2];C=+g[Z+28>>2];ia=+g[Z+44>>2];F=(x*t+A*n+E*m)*+g[Z+164>>2];ha=(t*y+n*B+m*ga)*+g[Z+168>>2];m=(t*z+n*C+m*ia)*+g[Z+172>>2];g[fa>>2]=x*F+y*ha+z*m;g[fa+4>>2]=A*F+B*ha+C*m;g[fa+8>>2]=E*F+ga*ha+ia*m;g[fa+12>>2]=0.0;t=x*F+y*ha+z*m;n=A*F+B*ha+C*m;m=E*F+ga*ha+ia*m}if(+O(+(p*p+u*u+v*v))>.001)Nd(b,fa+16|0,_,$,V,U);if(+O(+(t*t+n*n+m*m))>.001)Nd(b,fa,_,$,V,U)}while(0);do if(!(c[f+64>>2]&32))ea=95;else{if(!(a[X+4+(da*184|0)+116>>0]|0)){ea=95;break}qd(b,X+4+(da*184|0)+152|0,_,$,V,U,fa+64|0,fa+48|0,1.0,+g[X+4+(da*184|0)+132>>2],+g[X+4+(da*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;qd(b,X+4+(da*184|0)+168|0,_,$,V,U,fa+64|0,fa+48|0,1.0,+g[X+4+(da*184|0)+136>>2],+g[X+4+(da*184|0)+144>>2])}while(0);do if((ea|0)==95){ea=0;D=X+4+(da*184|0)+152|0;m=+g[Q>>2];x=+g[R>>2];w=+g[S>>2];n=P-(P*J+M*K+I*L)*m;u=M-(P*J+M*K+I*L)*x;t=I-(P*J+M*K+I*L)*w;g[X+4+(da*184|0)+152>>2]=n;r=X+4+(da*184|0)+156|0;g[r>>2]=u;s=X+4+(da*184|0)+160|0;g[s>>2]=t;j=X+4+(da*184|0)+164|0;g[j>>2]=0.0;if((c[f+64>>2]&64|0)==0?n*n+u*u+t*t>1.1920928955078125e-07:0){m=1.0/+O(+(n*n+u*u+t*t));g[D>>2]=n*m;g[r>>2]=m*u;g[s>>2]=m*t;do if(!Y){p=n*m;n=m*u;m=m*t}else{if(!(c[Y+180>>2]&1)){p=n*m;n=m*u;m=m*t;break}F=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];I=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];p=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(F*n*m+J*m*u+m*t*M)*+g[Y+164>>2];ha=(n*m*I+m*u*K+m*t*ga)*+g[Y+168>>2];m=(n*m*p+m*u*L+m*t*ia)*+g[Y+172>>2];g[D>>2]=F*P+I*ha+p*m;g[r>>2]=J*P+K*ha+L*m;g[s>>2]=M*P+ga*ha+ia*m;g[j>>2]=0.0;p=F*P+I*ha+p*m;n=J*P+K*ha+L*m;m=M*P+ga*ha+ia*m}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*p+I*n+L*m)*+g[Z+164>>2];ga=(p*E+n*J+m*P)*+g[Z+168>>2];ia=(p*F+n*K+m*ha)*+g[Z+172>>2];g[D>>2]=C*M+E*ga+F*ia;g[r>>2]=I*M+J*ga+K*ia;g[s>>2]=L*M+P*ga+ha*ia;g[j>>2]=0.0}while(0);qd(b,D,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;q=X+4+(da*184|0)+168|0;ha=+g[r>>2];p=+g[S>>2];M=+g[s>>2];P=+g[R>>2];ia=+g[Q>>2];ga=+g[D>>2];g[X+4+(da*184|0)+168>>2]=ha*p-M*P;j=X+4+(da*184|0)+172|0;l=X+4+(da*184|0)+176|0;o=X+4+(da*184|0)+180|0;g[o>>2]=0.0;n=1.0/+O(+((ha*p-M*P)*(ha*p-M*P)+(M*ia-p*ga)*(M*ia-p*ga)+(P*ga-ha*ia)*(P*ga-ha*ia)));m=(ha*p-M*P)*n;g[q>>2]=m;p=(M*ia-p*ga)*n;g[j>>2]=p;n=(P*ga-ha*ia)*n;g[l>>2]=n;do if(Y){if(!(c[Y+180>>2]&1))break;E=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];F=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];I=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(E*m+J*p+n*M)*+g[Y+164>>2];ha=(m*F+p*K+n*ga)*+g[Y+168>>2];n=(m*I+p*L+n*ia)*+g[Y+172>>2];g[q>>2]=E*P+F*ha+I*n;g[j>>2]=J*P+K*ha+L*n;g[l>>2]=M*P+ga*ha+ia*n;g[o>>2]=0.0;m=E*P+F*ha+I*n;p=J*P+K*ha+L*n;n=M*P+ga*ha+ia*n}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*m+I*p+L*n)*+g[Z+164>>2];ga=(m*E+p*J+n*P)*+g[Z+168>>2];ia=(m*F+p*K+n*ha)*+g[Z+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[j>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[o>>2]=0.0}while(0);qd(b,q,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);break}q=X+4+(da*184|0)+168|0;if(+N(+w)>.7071067690849304){ia=1.0/+O(+(w*w+x*x));g[D>>2]=0.0;g[r>>2]=-(ia*w);g[s>>2]=ia*x;u=-(ia*x*m);v=m*-(ia*w);t=(w*w+x*x)*ia;p=0.0;n=-(ia*w);m=ia*x}else{n=1.0/+O(+(m*m+x*x));g[D>>2]=-(x*n);g[r>>2]=n*m;g[s>>2]=0.0;u=w*-(x*n);v=(m*m+x*x)*n;t=-(n*m*w);p=-(x*n);n=n*m;m=0.0}g[q>>2]=t;o=X+4+(da*184|0)+172|0;g[o>>2]=u;l=X+4+(da*184|0)+176|0;g[l>>2]=v;do if(Y){if(!(c[Y+180>>2]&1))break;E=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];F=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];I=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(E*p+J*n+M*m)*+g[Y+164>>2];ha=(p*F+n*K+m*ga)*+g[Y+168>>2];m=(p*I+n*L+m*ia)*+g[Y+172>>2];g[D>>2]=E*P+F*ha+I*m;g[r>>2]=J*P+K*ha+L*m;g[s>>2]=M*P+ga*ha+ia*m;g[j>>2]=0.0;p=E*P+F*ha+I*m;n=J*P+K*ha+L*m;m=M*P+ga*ha+ia*m}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*p+I*n+L*m)*+g[Z+164>>2];ga=(p*E+n*J+m*P)*+g[Z+168>>2];ia=(p*F+n*K+m*ha)*+g[Z+172>>2];g[D>>2]=C*M+E*ga+F*ia;g[r>>2]=I*M+J*ga+K*ia;g[s>>2]=L*M+P*ga+ha*ia;g[j>>2]=0.0}while(0);qd(b,D,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0;if(j&16){do if(Y|0){if(!(c[Y+180>>2]&1))break;C=+g[Y+4>>2];A=+g[q>>2];I=+g[Y+20>>2];B=+g[o>>2];L=+g[Y+36>>2];ia=+g[l>>2];E=+g[Y+8>>2];J=+g[Y+24>>2];P=+g[Y+40>>2];F=+g[Y+12>>2];K=+g[Y+28>>2];ha=+g[Y+44>>2];M=(C*A+I*B+L*ia)*+g[Y+164>>2];ga=(A*E+B*J+ia*P)*+g[Y+168>>2];ia=(A*F+B*K+ia*ha)*+g[Y+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[o>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[X+4+(da*184|0)+180>>2]=0.0}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];A=+g[q>>2];I=+g[Z+20>>2];B=+g[o>>2];L=+g[Z+36>>2];ia=+g[l>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*A+I*B+L*ia)*+g[Z+164>>2];ga=(A*E+B*J+ia*P)*+g[Z+168>>2];ia=(A*F+B*K+ia*ha)*+g[Z+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[o>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[X+4+(da*184|0)+180>>2]=0.0}while(0);qd(b,q,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0}if((j&80|0)!=80)break;a[X+4+(da*184|0)+116>>0]=1}while(0);s=c[b+16>>2]|0;l=c[s+(_*244|0)+240>>2]|0;o=c[s+($*244|0)+240>>2]|0;q=c[T+(V*152|0)+140>>2]|0;r=c[b+76>>2]|0;j=c[f+64>>2]|0;do if(!(j&4))g[r+(q*152|0)+100>>2]=0.0;else{m=+g[X+4+(da*184|0)+124>>2]*+g[f+60>>2];g[r+(q*152|0)+100>>2]=m;if(l|0){ga=+g[l+344>>2];ia=m*ga*+g[r+(q*152|0)+20>>2]*+g[l+352>>2]*+g[s+(_*244|0)+116>>2];ha=m*ga*+g[r+(q*152|0)+24>>2]*+g[l+356>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*m*ga*+g[r+(q*152|0)+16>>2]*+g[l+348>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=ia+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=ha+ +g[s+(_*244|0)+72>>2];ha=m*+g[s+(_*244|0)+100>>2]*+g[r+(q*152|0)+68>>2];ia=m*+g[s+(_*244|0)+104>>2]*+g[r+(q*152|0)+72>>2];g[s+(_*244|0)+80>>2]=m*+g[s+(_*244|0)+96>>2]*+g[r+(q*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=ha+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=ia+ +g[s+(_*244|0)+88>>2]}if(!o)break;m=+g[o+344>>2];n=+g[r+(q*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;ia=+g[r+(q*152|0)+88>>2];ha=+g[r+(q*152|0)+84>>2];ga=+g[r+(q*152|0)+80>>2];M=n*m*+g[r+(q*152|0)+52>>2]*+g[o+352>>2]*+g[s+($*244|0)+116>>2];P=n*m*+g[r+(q*152|0)+56>>2]*+g[o+356>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*n*m*+g[r+(q*152|0)+48>>2]*+g[o+348>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=M+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=P+ +g[s+($*244|0)+72>>2];ha=ha*+g[s+($*244|0)+100>>2]*-n;ia=ia*+g[s+($*244|0)+104>>2]*-n;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-ga*+g[s+($*244|0)+96>>2]*-n;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-ha;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-ia}while(0);do if(j&16|0){if(!(j&4)){g[r+((q+1|0)*152|0)+100>>2]=0.0;break}n=+g[X+4+(da*184|0)+128>>2]*+g[f+60>>2];g[r+((q+1|0)*152|0)+100>>2]=n;do if(l|0){m=+g[l+344>>2];if(!(c[s+(_*244|0)+240>>2]|0))break;ia=n*m*+g[r+((q+1|0)*152|0)+20>>2]*+g[s+(_*244|0)+116>>2];ha=n*m*+g[r+((q+1|0)*152|0)+24>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*n*m*+g[r+((q+1|0)*152|0)+16>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=ia+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=ha+ +g[s+(_*244|0)+72>>2];ha=n*+g[s+(_*244|0)+100>>2]*+g[r+((q+1|0)*152|0)+68>>2];ia=n*+g[s+(_*244|0)+104>>2]*+g[r+((q+1|0)*152|0)+72>>2];g[s+(_*244|0)+80>>2]=n*+g[s+(_*244|0)+96>>2]*+g[r+((q+1|0)*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=ha+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=ia+ +g[s+(_*244|0)+88>>2]}while(0);if(!o)break;m=+g[o+344>>2];n=+g[r+((q+1|0)*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;ia=+g[r+((q+1|0)*152|0)+88>>2];ha=+g[r+((q+1|0)*152|0)+84>>2];ga=+g[r+((q+1|0)*152|0)+80>>2];M=n*m*+g[r+((q+1|0)*152|0)+52>>2]*+g[s+($*244|0)+116>>2];P=n*m*+g[r+((q+1|0)*152|0)+56>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*n*m*+g[r+((q+1|0)*152|0)+48>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=M+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=P+ +g[s+($*244|0)+72>>2];ha=ha*+g[s+($*244|0)+100>>2]*-n;ia=ia*+g[s+($*244|0)+104>>2]*-n;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-ga*+g[s+($*244|0)+96>>2]*-n;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-ha;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-ia}while(0);j=c[X+748>>2]|0}da=da+1|0}while((da|0)<(j|0))}ca=ca+1|0}while((ca|0)!=(e|0));i=fa;return}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;c[X+40>>2]=0;a[X+16>>0]=1;c[X+12>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;a[X+36>>0]=1;c[X+32>>2]=0;c[X+24>>2]=0;c[X+28>>2]=0;l=e>>>0<8?8:e;if((l|0)>0){c[6435]=(c[6435]|0)+1;h=yc((l<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{W=j+(h<<4)|0;c[W>>2]=c[X+80>>2];c[W+4>>2]=c[X+80+4>>2];c[W+8>>2]=c[X+80+8>>2];c[W+12>>2]=c[X+80+12>>2];h=h+1|0}while((h|0)!=(l|0));W=j}else W=0;do if(!e){h=0;q=0;j=0;n=0;o=0}else{j=c[X+24>>2]|0;if((j|0)<0){h=c[X+32>>2]|0;do if((c[X+28>>2]|0)<0){if(!h){a[X+36>>0]=1;c[X+32>>2]=0;c[X+28>>2]=0;h=0;break}if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}a[X+36>>0]=1;c[X+32>>2]=0;c[X+28>>2]=0;h=0}while(0);Qn(h+(j<<2)|0,0,_(j,-4)|0)|0}c[X+24>>2]=0;w=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;x=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;h=0;j=d;while(1){K=+g[j>>2];w=Kp?K:p;K=+g[j+4>>2];x=Kr?K:r;K=+g[j+8>>2];y=Kv?K:v;h=h+1|0;if((h|0)==(e|0))break;else j=j+16|0}s=p-w;r=r-x;p=v-y;E=w+s*.5;C=x+r*.5;B=y+p*.5;do if(e>>>0<3|(s<9.999999974752427e-07|r<9.999999974752427e-07|p<9.999999974752427e-07)){v=s>9.999999974752427e-07&s<3402823466385288598117041.0e14?s:3402823466385288598117041.0e14;v=r>9.999999974752427e-07&r9.999999974752427e-07&p>2]=K;g[W+4>>2]=I;g[W+8>>2]=H;g[W+16>>2]=J;g[W+20>>2]=I;g[W+24>>2]=H;g[W+32>>2]=J;g[W+36>>2]=r;g[W+40>>2]=H;g[W+48>>2]=K;g[W+52>>2]=r;g[W+56>>2]=H;g[W+64>>2]=K;g[W+68>>2]=I;g[W+72>>2]=s;g[W+80>>2]=J;g[W+84>>2]=I;g[W+88>>2]=s;g[W+96>>2]=J;g[W+100>>2]=r;g[W+104>>2]=s;g[W+112>>2]=K;g[W+116>>2]=r;g[W+120>>2]=s;T=8;s=1.0;r=1.0;p=1.0;V=53}else{j=0;q=0;h=0;o=d;do{y=1.0/s*+g[o>>2];z=1.0/r*+g[o+4>>2];A=1.0/p*+g[o+8>>2];o=o+16|0;a:do if(h){l=0;while(1){d=W+(l<<4)|0;v=+g[d>>2];m=W+(l<<4)+4|0;w=+g[m>>2];n=W+(l<<4)+8|0;x=+g[n>>2];if(+N(+(v-y))<1.0000000474974513e-03&+N(+(w-z))<1.0000000474974513e-03&+N(+(x-A))<1.0000000474974513e-03)break;l=l+1|0;if(l>>>0>=h>>>0){n=l;break a}}if((y-1.0/s*E)*(y-1.0/s*E)+(z-1.0/r*C)*(z-1.0/r*C)+(A-1.0/p*B)*(A-1.0/p*B)>(v-1.0/s*E)*(v-1.0/s*E)+(w-1.0/r*C)*(w-1.0/r*C)+(x-1.0/p*B)*(x-1.0/p*B)){g[d>>2]=y;g[m>>2]=z;g[n>>2]=A;n=l}else n=l}else n=0;while(0);if((n|0)==(h|0)){g[W+(h<<4)>>2]=y;g[W+(h<<4)+4>>2]=z;g[W+(h<<4)+8>>2]=A;h=h+1|0}if((j|0)==(c[X+28>>2]|0)?(t=j|0?j<<1:1,(j|0)<(t|0)):0){if((t|0)!=0?(c[6435]=(c[6435]|0)+1,u=yc((t<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;m=u+4+15&-16}else m=0;d=c[X+32>>2]|0;if((j|0)<=0){if(d)V=39}else{l=0;do{c[m+(l<<2)>>2]=c[d+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));V=39}if((V|0)==39){V=0;if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[X+32>>2]=0;j=c[X+24>>2]|0}a[X+36>>0]=1;c[X+32>>2]=m;c[X+28>>2]=t}c[(c[X+32>>2]|0)+(j<<2)>>2]=n;j=(c[X+24>>2]|0)+1|0;c[X+24>>2]=j;q=q+1|0}while((q|0)!=(e|0));if(!h){j=1;A=3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14}else{C=3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;E=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;G=3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;H=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;J=3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;K=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;q=0;while(1){B=+g[W+(q<<4)>>2];j=BE;x=l?B:x;F=+g[W+(q<<4)+4>>2];d=FH;w=m?F:w;I=+g[W+(q<<4)+8>>2];n=IK;v=o?I:v;q=q+1|0;if((q|0)==(h|0))break;else{C=j?B:C;E=l?B:E;G=d?F:G;H=m?F:H;J=n?I:J;K=o?I:K}}j=h>>>0<3}x=x-A;C=w-z;v=v-y;if(!(j|(x<9.999999974752427e-07|C<9.999999974752427e-07|v<9.999999974752427e-07))){if(h|0){T=h;V=53;break}break}B=A+x*.5;A=z+C*.5;z=y+v*.5;y=x>=9.999999974752427e-07&x<3402823466385288598117041.0e14?x:3402823466385288598117041.0e14;y=C>=9.999999974752427e-07&C=9.999999974752427e-07&v>2]=I;g[W+4>>2]=G;g[W+8>>2]=F;g[W+16>>2]=H;g[W+20>>2]=G;g[W+24>>2]=F;g[W+32>>2]=H;g[W+36>>2]=J;g[W+40>>2]=F;g[W+48>>2]=I;g[W+52>>2]=J;g[W+56>>2]=F;g[W+64>>2]=I;g[W+68>>2]=G;g[W+72>>2]=K;g[W+80>>2]=H;g[W+84>>2]=G;g[W+88>>2]=K;g[W+96>>2]=H;g[W+100>>2]=J;g[W+104>>2]=K;g[W+112>>2]=I;g[W+116>>2]=J;g[W+120>>2]=K;T=8;V=53}while(0);if((V|0)==53){h=0;do{U=W+(h<<4)|0;g[U>>2]=s*+g[U>>2];U=W+(h<<4)+4|0;g[U>>2]=r*+g[U>>2];U=W+(h<<4)+8|0;g[U>>2]=p*+g[U>>2];h=h+1|0}while(h>>>0>>0);if((T|0)>=4){p=+g[W>>2];r=+g[W+4>>2];v=+g[W+8>>2];U=T<<2;c[6435]=(c[6435]|0)+1;h=yc((U|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}a[X+100+16>>0]=1;Q=X+100+12|0;c[Q>>2]=0;c[X+100+4>>2]=0;c[X+100+8>>2]=0;c[6435]=(c[6435]|0)+1;h=yc((U|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}a[X+100+16>>0]=1;c[Q>>2]=h;c[X+100+8>>2]=T;o=0;q=T;y=p;z=r;s=v;w=p;x=r;h=T;m=j;n=0;while(1){if((o|0)==(q|0)?(D=q|0?q<<1:1,(q|0)<(D|0)):0){if((D|0)!=0?(c[6435]=(c[6435]|0)+1,L=yc((D<<2|3)+16|0)|0,(L|0)!=0):0){c[(L+4+15&-16)+-4>>2]=L;l=L+4+15&-16}else l=0;d=c[Q>>2]|0;if((q|0)<=0){if(d|0)V=68}else{j=0;do{c[l+(j<<2)>>2]=c[d+(j<<2)>>2];j=j+1|0}while((j|0)!=(q|0));V=68}if((V|0)==68){V=0;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[Q>>2]=0}a[X+100+16>>0]=1;c[Q>>2]=l;c[X+100+8>>2]=D}c[(c[Q>>2]|0)+(o<<2)>>2]=1;c[X+100+4>>2]=o+1;do if((n|0)==(h|0)){h=n|0?n<<1:1;if((n|0)<(h|0)){if((h|0)!=0?(c[6435]=(c[6435]|0)+1,M=yc((h<<2|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;l=M+4+15&-16}else l=0;if((n|0)<=0){if(!m){P=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[m+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);P=l}else{h=n;P=m}}else P=m;while(0);c[P+(n<<2)>>2]=0;j=n+1|0;p=+g[W+(n<<4)>>2];w=p>2];x=r>2];v=K=(T|0))break;o=c[X+100+4>>2]|0;q=c[X+100+8>>2]|0;y=p;z=r;m=P;n=j}H=+O(+((p-w)*(p-w)+(r-x)*(r-x)+(s-v)*(s-v)))*1.0000000474974513e-03;L=Qe(W,T,.009999999776482582,.019999999552965164,1.0,X+100|0)|0;M=Qe(W,T,-.009999999776482582,-.019999999552965164,-1.0,X+100|0)|0;n=W+(L<<4)|0;o=W+(M<<4)|0;w=+g[n>>2]-+g[o>>2];q=W+(L<<4)+4|0;t=W+(M<<4)+4|0;x=+g[q>>2]-+g[t>>2];u=W+(L<<4)+8|0;D=W+(M<<4)+8|0;y=+g[u>>2]-+g[D>>2];b:do if((L|0)!=(M|0)?!(y==0.0&x==0.0&w==0.0):0){p=+O(+((y*.019999999552965164-x*0.0)*(y*.019999999552965164-x*0.0)+(w*0.0-y)*(w*0.0-y)+(x-w*.019999999552965164)*(x-w*.019999999552965164)));r=+O(+((y-x*0.0)*(y-x*0.0)+(y*.019999999552965164+w*0.0)*(y*.019999999552965164+w*0.0)+(x*-.019999999552965164-w)*(x*-.019999999552965164-w)));if(p>r){s=(x-w*.019999999552965164)*(1.0/p);v=(y*.019999999552965164-x*0.0)*(1.0/p);p=(w*0.0-y)*(1.0/p)}else{s=(x*-.019999999552965164-w)*(1.0/r);v=(y-x*0.0)*(1.0/r);p=(y*.019999999552965164+w*0.0)*(1.0/r)}h=Qe(W,T,v,p,s,X+100|0)|0;if((h|0)==(L|0)|(h|0)==(M|0))m=Qe(W,T,-v,-p,-s,X+100|0)|0;else m=h;if(!((m|0)==(L|0)|(m|0)==(M|0))){j=W+(m<<4)|0;p=+g[j>>2]-+g[n>>2];l=W+(m<<4)+4|0;r=+g[l>>2]-+g[q>>2];d=W+(m<<4)+8|0;s=+g[d>>2]-+g[u>>2];v=1.0/+O(+((x*p-r*w)*(x*p-r*w)+((r*y-s*x)*(r*y-s*x)+(s*w-y*p)*(s*w-y*p))));h=Qe(W,T,(r*y-s*x)*v,(s*w-y*p)*v,(x*p-r*w)*v,X+100|0)|0;if((h|0)==(m|0)|((h|0)==(L|0)|(h|0)==(M|0)))h=Qe(W,T,-((r*y-s*x)*v),-((s*w-y*p)*v),-((x*p-r*w)*v),X+100|0)|0;if(!((h|0)==(m|0)|((h|0)==(L|0)|(h|0)==(M|0)))?(B=+g[n>>2],F=+g[q>>2],A=+g[u>>2],J=+g[o>>2]-B,C=+g[t>>2]-F,G=+g[D>>2]-A,I=+g[j>>2]-B,E=+g[l>>2]-F,K=+g[d>>2]-A,R=(+g[W+(h<<4)+8>>2]-A)*(J*E-C*I)+((+g[W+(h<<4)>>2]-B)*(C*K-G*E)+(+g[W+(h<<4)+4>>2]-F)*(G*I-J*K))<0.0,S=R?m:h,R=R?h:m,(L|0)!=-1):0){E=(+g[W+(L<<4)>>2]+ +g[W+(M<<4)>>2]+ +g[W+(R<<4)>>2]+ +g[W+(S<<4)>>2])*.25;F=(+g[W+(L<<4)+4>>2]+ +g[W+(M<<4)+4>>2]+ +g[W+(R<<4)+4>>2]+ +g[W+(S<<4)+4>>2])*.25;G=(+g[W+(L<<4)+8>>2]+ +g[W+(M<<4)+8>>2]+ +g[W+(R<<4)+8>>2]+ +g[W+(S<<4)+8>>2])*.25;h=Uh(X,R,S,M)|0;c[h+12>>2]=2;c[h+16>>2]=3;c[h+20>>2]=1;h=Uh(X,S,R,L)|0;c[h+12>>2]=3;c[h+16>>2]=2;c[h+20>>2]=0;h=Uh(X,L,M,S)|0;c[h+12>>2]=0;c[h+16>>2]=1;c[h+20>>2]=3;h=Uh(X,M,L,R)|0;c[h+12>>2]=1;c[h+16>>2]=0;c[h+20>>2]=2;c[P+(S<<2)>>2]=1;c[P+(R<<2)>>2]=1;c[P+(M<<2)>>2]=1;c[P+(L<<2)>>2]=1;h=c[X+4>>2]|0;if((h|0)>0){m=c[X+12>>2]|0;n=0;do{d=c[m+(n<<2)>>2]|0;R=c[d>>2]|0;M=c[d+4>>2]|0;S=c[d+8>>2]|0;w=+g[W+(M<<4)>>2];s=w-+g[W+(R<<4)>>2];x=+g[W+(M<<4)+4>>2];v=x-+g[W+(R<<4)+4>>2];r=+g[W+(M<<4)+8>>2];p=r-+g[W+(R<<4)+8>>2];w=+g[W+(S<<4)>>2]-w;x=+g[W+(S<<4)+4>>2]-x;r=+g[W+(S<<4)+8>>2]-r;y=+O(+((s*x-v*w)*(s*x-v*w)+((v*r-p*x)*(v*r-p*x)+(p*w-s*r)*(p*w-s*r))));if(y==0.0){z=1.0;p=0.0;r=0.0;j=1065353216;l=0;h=0}else{j=(g[k>>2]=1.0/y*(v*r-p*x),c[k>>2]|0);l=(g[k>>2]=1.0/y*(p*w-s*r),c[k>>2]|0);z=1.0/y*(v*r-p*x);p=1.0/y*(p*w-s*r);r=1.0/y*(s*x-v*w);h=(g[k>>2]=1.0/y*(s*x-v*w),c[k>>2]|0)}J=(c[k>>2]=j,+g[k>>2]);K=(c[k>>2]=l,+g[k>>2]);S=Qe(W,T,J,K,(c[k>>2]=h,+g[k>>2]),X+100|0)|0;c[d+28>>2]=S;h=c[d>>2]|0;g[d+32>>2]=(+g[W+(S<<4)>>2]-+g[W+(h<<4)>>2])*z+(+g[W+(S<<4)+4>>2]-+g[W+(h<<4)+4>>2])*p+(+g[W+(S<<4)+8>>2]-+g[W+(h<<4)+8>>2])*r;n=n+1|0;h=c[X+4>>2]|0}while((n|0)<(h|0))}if((e+-4|0)>0){q=e+-4|0;while(1){d=c[X+12>>2]|0;m=0;l=0;while(1){j=c[d+(m<<2)>>2]|0;do if(l){if(!j){j=l;break}if(!(+g[l+32>>2]<+g[j+32>>2]))j=l;else V=104}else V=104;while(0);if((V|0)==104)V=0;m=m+1|0;if((m|0)>=(h|0))break;else l=j}if((j|0)==0?1:!(+g[j+32>>2]>H)){h=1;break b}o=c[j+28>>2]|0;c[P+(o<<2)>>2]=1;h=c[X+4>>2]|0;c:do if(!h)h=0;else{l=W+(o<<4)|0;d=W+(o<<4)+4|0;m=W+(o<<4)+8|0;do{h=h+-1|0;j=c[(c[X+12>>2]|0)+(h<<2)>>2]|0;do if(j|0){S=c[j>>2]|0;R=c[j+4>>2]|0;e=c[j+8>>2]|0;s=+g[W+(R<<4)>>2];z=+g[W+(S<<4)>>2];v=+g[W+(R<<4)+4>>2];A=+g[W+(S<<4)+4>>2];p=+g[W+(R<<4)+8>>2];B=+g[W+(S<<4)+8>>2];w=+g[W+(e<<4)>>2]-s;x=+g[W+(e<<4)+4>>2]-v;r=+g[W+(e<<4)+8>>2]-p;y=+O(+(((s-z)*x-(v-A)*w)*((s-z)*x-(v-A)*w)+(((v-A)*r-(p-B)*x)*((v-A)*r-(p-B)*x)+((p-B)*w-(s-z)*r)*((p-B)*w-(s-z)*r))));if(y==0.0){C=1.0;r=0.0;p=0.0}else{C=1.0/y*((v-A)*r-(p-B)*x);r=1.0/y*((p-B)*w-(s-z)*r);p=1.0/y*((s-z)*x-(v-A)*w)}if(!(C*(+g[l>>2]-z)+r*(+g[d>>2]-A)+p*(+g[m>>2]-B)>H*.009999999776482582))break;ue(X,j,o)}while(0)}while((h|0)!=0);h=c[X+4>>2]|0;if(!h){h=0;break}else j=h;d:do{j=j+-1|0;m=c[X+12>>2]|0;n=c[m+(j<<2)>>2]|0;do if(n){d=c[n>>2]|0;do if((d|0)!=(o|0)){l=c[n+4>>2]|0;if((l|0)==(o|0)){l=o;break}if((c[n+8>>2]|0)!=(o|0))break d}else l=c[n+4>>2]|0;while(0);e=c[n+8>>2]|0;z=+g[W+(l<<4)>>2];B=+g[W+(d<<4)>>2];A=+g[W+(l<<4)+4>>2];C=+g[W+(d<<4)+4>>2];r=+g[W+(l<<4)+8>>2];w=+g[W+(d<<4)+8>>2];s=+g[W+(e<<4)>>2]-z;v=+g[W+(e<<4)+4>>2]-A;p=+g[W+(e<<4)+8>>2]-r;x=+O(+(((z-B)*v-(A-C)*s)*((z-B)*v-(A-C)*s)+(((A-C)*p-(r-w)*v)*((A-C)*p-(r-w)*v)+((r-w)*s-(z-B)*p)*((r-w)*s-(z-B)*p))));if(x==0.0){y=1.0;r=0.0;p=0.0}else{y=1.0/x*((A-C)*p-(r-w)*v);r=1.0/x*((r-w)*s-(z-B)*p);p=1.0/x*((z-B)*v-(A-C)*s)}if(!(xH*.009999999776482582))break;ue(X,c[m+(c[n+12>>2]<<2)>>2]|0,o);j=c[X+4>>2]|0;h=j}while(0)}while((j|0)!=0);if(!h){h=0;break}n=c[X+12>>2]|0;m=h;do{m=m+-1|0;o=c[n+(m<<2)>>2]|0;do if(o|0){if((c[o+28>>2]|0)>-1)break c;S=c[o>>2]|0;R=c[o+4>>2]|0;e=c[o+8>>2]|0;w=+g[W+(R<<4)>>2];s=w-+g[W+(S<<4)>>2];x=+g[W+(R<<4)+4>>2];v=x-+g[W+(S<<4)+4>>2];r=+g[W+(R<<4)+8>>2];p=r-+g[W+(S<<4)+8>>2];w=+g[W+(e<<4)>>2]-w;x=+g[W+(e<<4)+4>>2]-x;r=+g[W+(e<<4)+8>>2]-r;y=+O(+((s*x-v*w)*(s*x-v*w)+((v*r-p*x)*(v*r-p*x)+(p*w-s*r)*(p*w-s*r))));if(y==0.0){z=1.0;p=0.0;r=0.0;l=1065353216;d=0;j=0}else{l=(g[k>>2]=1.0/y*(v*r-p*x),c[k>>2]|0);d=(g[k>>2]=1.0/y*(p*w-s*r),c[k>>2]|0);z=1.0/y*(v*r-p*x);p=1.0/y*(p*w-s*r);r=1.0/y*(s*x-v*w);j=(g[k>>2]=1.0/y*(s*x-v*w),c[k>>2]|0)}J=(c[k>>2]=l,+g[k>>2]);K=(c[k>>2]=d,+g[k>>2]);j=Qe(W,T,J,K,(c[k>>2]=j,+g[k>>2]),X+100|0)|0;c[o+28>>2]=j;if(!(c[P+(j<<2)>>2]|0)){e=c[o>>2]|0;g[o+32>>2]=(+g[W+(j<<4)>>2]-+g[W+(e<<4)>>2])*z+(+g[W+(j<<4)+4>>2]-+g[W+(e<<4)+4>>2])*p+(+g[W+(j<<4)+8>>2]-+g[W+(e<<4)+8>>2])*r;break}else{c[o+28>>2]=-1;break}}while(0)}while((m|0)!=0)}while(0);if((q|0)<=1){h=1;break b}q=q+-1|0}}else h=1}else h=0}else h=0}else h=0;while(0);j=c[Q>>2]|0;if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);c[Q>>2]=0}if(P|0){c[6436]=(c[6436]|0)+1;hd(c[P+-4>>2]|0)}if(h){h=c[X+4>>2]|0;if((h|0)>0){j=c[X+12>>2]|0;t=0;o=0;l=0;d=0;while(1){n=c[j+(t<<2)>>2]|0;if(!n)m=o;else{do if((d|0)==(o|0)){m=o|0?o<<1:1;if((o|0)>=(m|0)){m=o;break}do if(!m)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((m<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((o|0)<=0){if(!l){l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);l=j}else m=o;while(0);c[l+(d<<2)>>2]=c[n>>2];o=d+1|0;q=(c[(c[X+12>>2]|0)+(t<<2)>>2]|0)+4|0;do if((o|0)==(m|0)){n=m|0?m<<1:1;if((m|0)>=(n|0))break;do if(!n)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((n<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((m|0)<=0){if(!l){m=n;l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);m=n;l=j}while(0);c[l+(o<<2)>>2]=c[q>>2];o=d+2|0;q=(c[(c[X+12>>2]|0)+(t<<2)>>2]|0)+8|0;do if((o|0)==(m|0)){n=m|0?m<<1:1;if((m|0)>=(n|0))break;do if(!n)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((n<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((m|0)<=0){if(!l){m=n;l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);m=n;l=j}while(0);c[l+(o<<2)>>2]=c[q>>2];j=c[X+12>>2]|0;h=c[j+(t<<2)>>2]|0;c[j+(c[h+24>>2]<<2)>>2]=0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}h=c[X+4>>2]|0;d=d+3|0}t=t+1|0;if((t|0)>=(h|0))break;else o=m}c[X+96>>2]=(d|0)/3|0;if((d|0)>0){c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Qn(h|0,0,d<<2|0)|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));m=l;M=d}else{h=0;m=l;M=d}}else{c[X+96>>2]=0;h=0;m=0;M=0}l=c[X+4>>2]|0;if((l|0)<0){j=c[X+12>>2]|0;if((c[X+8>>2]|0)<0){if(j|0){if(a[X+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[X+12>>2]=0}a[X+16>>0]=1;c[X+12>>2]=0;c[X+8>>2]=0;j=0}do{c[j+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=0)}c[X+4>>2]=0;if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}L=c[X+96>>2]|0;m=(T|0)>0;if(m){c[6435]=(c[6435]|0)+1;j=yc((T<<4|3)+16|0)|0;if(!j)l=0;else{c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}j=0;do{e=l+(j<<4)|0;c[e>>2]=c[X+64>>2];c[e+4>>2]=c[X+64+4>>2];c[e+8>>2]=c[X+64+8>>2];c[e+12>>2]=c[X+64+12>>2];j=j+1|0}while((j|0)!=(T|0));D=l}else D=0;l=c[X+24>>2]|0;do if((l|0)>0){c[6435]=(c[6435]|0)+1;j=yc((l<<2|3)+16|0)|0;if(!j)d=0;else{c[(j+4+15&-16)+-4>>2]=j;d=j+4+15&-16}Qn(d|0,0,l<<2|0)|0;if((c[X+24>>2]|0)<=0)break;j=c[X+32>>2]|0;l=0;do{c[d+(l<<2)>>2]=c[j+(l<<2)>>2];l=l+1|0}while((l|0)<(c[X+24>>2]|0))}else d=0;while(0);if(m){c[6435]=(c[6435]|0)+1;j=yc((U|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Qn(j|0,0,U|0)|0}else j=0;Qn(j|0,0,U|0)|0;if((L|0)<=0)if(!j)q=0;else{l=0;V=222}else{t=c[X+32>>2]|0;u=0;l=0;do{m=h+(u<<2)|0;o=c[m>>2]|0;q=j+(o<<2)|0;n=c[q>>2]|0;if(!n){c[m>>2]=l;c[D+(l<<4)>>2]=c[W+(o<<4)>>2];c[D+(l<<4)+4>>2]=c[W+(o<<4)+4>>2];c[D+(l<<4)+8>>2]=c[W+(o<<4)+8>>2];m=c[X+24>>2]|0;if((m|0)>0){n=0;do{if((c[d+(n<<2)>>2]|0)==(o|0))c[t+(n<<2)>>2]=l;n=n+1|0}while((n|0)!=(m|0))}l=l+1|0;c[q>>2]=l}else c[m>>2]=n+-1;u=u+1|0}while((u|0)!=(L*3|0));V=222}if((V|0)==222){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);q=l}if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}if((q|0)>0){c[6435]=(c[6435]|0)+1;j=yc((q<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=0;do{V=j+(l<<4)|0;c[V>>2]=c[X+48>>2];c[V+4>>2]=c[X+48+4>>2];c[V+8>>2]=c[X+48+8>>2];c[V+12>>2]=c[X+48+12>>2];l=l+1|0}while((l|0)!=(q|0))}else j=0;if((L|0)>0){c[6435]=(c[6435]|0)+1;l=yc((L*12|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}d=c[X+40>>2]|0;if(!d)c[X+40>>2]=l;else{c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[X+40>>2]=l}Qn(l|0,0,L*12|0)|0}_m(j|0,D|0,q<<4|0)|0;_m(c[X+40>>2]|0,h|0,L*12|0)|0;do if(M){if(!h){h=0;break}c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);h=0}while(0);if(!D){n=L;o=L*3|0;break}c[6436]=(c[6436]|0)+1;hd(c[D+-4>>2]|0);n=L;o=L*3|0;break}}}h=0;q=0;j=0;n=0;o=0}while(0);if(W|0){c[6436]=(c[6436]|0)+1;hd(c[W+-4>>2]|0)}if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[6435]=(c[6435]|0)+1;h=yc(1271)|0;if(!h)D=0;else{c[(h+4+15&-16)+-4>>2]=h;D=h+4+15&-16}Kc(D,b,q,j,0);if((n|0)>0){m=0;do{d=m*3|0;b=c[X+40>>2]|0;h=c[b+(d<<2)>>2]|0;l=c[b+(d+1<<2)>>2]|0;d=c[b+(d+2<<2)>>2]|0;if((h|0)<(l|0))Rf(D,h,l,0,0);if((l|0)<(d|0))Rf(D,l,d,0,0);if((d|0)<(h|0))Rf(D,d,h,0,0);Zf(D,h,l,d,0);m=m+1|0}while((m|0)!=(n|0))}if(q)if(!j)j=0;else{c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);j=0}if(o|0){h=c[X+40>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[X+40>>2]=0}c[X+40>>2]=0}if(f){l=c[D+732>>2]|0;if((l|0)>0){d=D+740|0;o=0;h=243703;do{m=c[d>>2]|0;n=m+(o*52|0)|0;h=(_(h,1664525)|0)+1013904223|0;q=X+100|0;t=n;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=n;t=m+(((h>>>0)%(l>>>0)|0)*52|0)|0;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=m+(((h>>>0)%(l>>>0)|0)*52|0)|0;t=X+100|0;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));o=o+1|0}while((o|0)!=(l|0))}else h=243703;m=c[D+752>>2]|0;if((m|0)>0){n=D+760|0;o=0;do{d=c[n>>2]|0;l=d+(o*44|0)|0;h=(_(h,1664525)|0)+1013904223|0;d=d+(((h>>>0)%(m>>>0)|0)*44|0)|0;q=X+100|0;t=l;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=l;t=d;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=d;t=X+100|0;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));o=o+1|0}while((o|0)!=(m|0))}}h=c[X+32>>2]|0;if(h|0){if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[X+32>>2]=0}a[X+36>>0]=1;c[X+32>>2]=0;c[X+24>>2]=0;c[X+28>>2]=0;h=c[X+12>>2]|0;if(h|0){if(a[X+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[X+12>>2]=0}h=c[X+40>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[X+40>>2]=0}c[X+40>>2]=0;if(!j){i=X;return D|0}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);i=X;return D|0}function sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,O=0.0;I=i;i=i+16|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){p=c[c[b+1120>>2]>>2]|0;f=c[p+348>>2]|0;if(f|0){hh(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(p);if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}f=c[b+1112>>2]|0;if((f|0)<=0){p=f;break a}l=c[b+1120>>2]|0;h=0;do{j=l+(h<<2)|0;if((c[j>>2]|0)==(p|0)){H=14;break}h=h+1|0}while((h|0)<(f|0));if((H|0)==14){H=0;if((h|0)<(f|0)){c[j>>2]=c[l+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=p;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){p=f;break}}else p=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((p|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[6435]=(c[6435]|0)+1;h=yc((f<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[b+1120>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));j=b+1120|0}else j=b+1120|0}else{h=0;j=b+1120|0}l=c[j>>2]|0;if(l|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=h;c[b+1116>>2]=f}else j=b+1120|0;h=p;do{c[(c[j>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;j=f+348|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;j=c[b+1120>>2]|0;a[(c[j+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=c[b+712>>2]|0;b:do if((h|0)>0){s=f;d=j;l=0;p=0;j=0;u=0;while(1){t=c[b+720>>2]|0;l=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+ +g[t+(u*104|0)+8>>2],c[k>>2]|0);j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[t+(u*104|0)+12>>2],c[k>>2]|0);p=(g[k>>2]=(c[k>>2]=p,+g[k>>2])+ +g[t+(u*104|0)+16>>2],c[k>>2]|0);s=c[d+(((u*29873|0)%(s|0)|0)<<2)>>2]|0;t=t+(u*104|0)|0;d=c[s+24>>2]|0;if((d|0)==(c[s+28>>2]|0)?(v=d|0?d<<1:1,(d|0)<(v|0)):0){if(!v)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((v<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[s+24>>2]|0}if((d|0)>0){r=0;do{c[h+(r<<2)>>2]=c[(c[s+32>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(d|0))}r=c[s+32>>2]|0;if(r){if(a[s+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[r+-4>>2]|0);d=c[s+24>>2]|0}c[s+32>>2]=0}a[s+36>>0]=1;c[s+32>>2]=h;c[s+28>>2]=v;h=c[b+712>>2]|0}c[(c[s+32>>2]|0)+(d<<2)>>2]=t;c[s+24>>2]=d+1;r=u+1|0;if((r|0)>=(h|0))break b;s=c[b+1112>>2]|0;d=c[b+1120>>2]|0;u=r}}else{l=0;p=0;j=0}while(0);m=1.0/+(h|0);o=(c[k>>2]=l,+g[k>>2])*m;n=(c[k>>2]=j,+g[k>>2])*m;m=(c[k>>2]=p,+g[k>>2])*m;if((f|0)<0)E=0;else{if((f|0)!=0?(c[6435]=(c[6435]|0)+1,w=yc((f<<4|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;h=w+4+15&-16}else h=0;j=0;do{g[h+(j<<4)>>2]=o;g[h+(j<<4)+4>>2]=n;g[h+(j<<4)+8>>2]=m;g[h+(j<<4)+12>>2]=0.0;j=j+1|0}while((j|0)!=(f|0));E=h}u=E+4|0;v=E+8|0;w=0;do{m=+(w|0)*.0625;m=2.0-(m>1.0?1.0:m);s=0;t=0;do{h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;r=c[h+24>>2]|0;if((r|0)>0){p=c[h+32>>2]|0;l=0;j=0;h=0;d=0;do{J=c[p+(d<<2)>>2]|0;l=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+ +g[J+8>>2],c[k>>2]|0);j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[J+12>>2],c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+ +g[J+16>>2],c[k>>2]|0);d=d+1|0}while((d|0)!=(r|0))}else{l=0;j=0;h=0}if(r){x=(c[k>>2]=l,+g[k>>2])*(1.0/+(r|0));z=(c[k>>2]=j,+g[k>>2])*(1.0/+(r|0));d=E+(t<<4)|0;y=+g[d>>2];J=E+(t<<4)+4|0;A=+g[J>>2];p=E+(t<<4)+8|0;q=+g[p>>2];B=q+m*((c[k>>2]=h,+g[k>>2])*(1.0/+(r|0))-q);l=s|(y+m*(x-y)-y)*(y+m*(x-y)-y)+(A+m*(z-A)-A)*(A+m*(z-A)-A)+(B-q)*(B-q)>1.1920928955078125e-07;g[d>>2]=y+m*(x-y);g[J>>2]=A+m*(z-A);g[p>>2]=B;g[E+(t<<4)+12>>2]=0.0;p=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;h=c[p+24>>2]|0;if((h|0)<0){if((c[p+28>>2]|0)<0){j=c[p+32>>2]|0;if(j|0){if(a[p+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=0;c[p+28>>2]=0}do{c[(c[p+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[p+24>>2]=0;s=l}t=t+1|0}while((t|0)<(f|0));w=w+1|0;h=c[b+712>>2]|0;c:do if((h|0)>0){if((f|0)>1)t=0;else{r=0;while(1){p=c[c[b+1120>>2]>>2]|0;d=(c[b+720>>2]|0)+(r*104|0)|0;j=c[p+24>>2]|0;if((j|0)==(c[p+28>>2]|0)?(D=j|0?j<<1:1,(j|0)<(D|0)):0){if(!D)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((D<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[p+24>>2]|0}if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[p+32>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}l=c[p+32>>2]|0;if(l){if(a[p+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);j=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=h;c[p+28>>2]=D;h=c[b+712>>2]|0}c[(c[p+32>>2]|0)+(j<<2)>>2]=d;c[p+24>>2]=j+1;r=r+1|0;if((r|0)>=(h|0))break c}}do{d=c[b+720>>2]|0;m=+g[d+(t*104|0)+8>>2];n=+g[d+(t*104|0)+12>>2];o=+g[d+(t*104|0)+16>>2];l=1;p=0;x=+N(+(+g[E>>2]-m))+ +N(+(+g[u>>2]-n))+ +N(+(+g[v>>2]-o));while(1){q=+N(+(+g[E+(l<<4)>>2]-m))+ +N(+(+g[E+(l<<4)+4>>2]-n))+ +N(+(+g[E+(l<<4)+8>>2]-o));j=q>2]|0)+(p<<2)>>2]|0;p=d+(t*104|0)|0;j=c[r+24>>2]|0;if((j|0)==(c[r+28>>2]|0)?(C=j|0?j<<1:1,(j|0)<(C|0)):0){if(!C)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((C<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[r+24>>2]|0}if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[r+32>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}l=c[r+32>>2]|0;if(l){if(a[r+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);j=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=h;c[r+28>>2]=C;h=c[b+712>>2]|0}c[(c[r+32>>2]|0)+(j<<2)>>2]=p;c[r+24>>2]=j+1;t=t+1|0}while((t|0)<(h|0))}while(0)}while((w|0)<(e|0)&s);if((h|0)>0){h=h<<2;c[6435]=(c[6435]|0)+1;f=yc((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Qn(f|0,-1,h|0)|0;w=f}else w=0;f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;p=0;do{h=c[d+(p<<2)>>2]|0;if((c[h+24>>2]|0)>0){j=c[b+720>>2]|0;l=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;f=0;while(1){c[w+((((c[(c[h+32>>2]|0)+(f<<2)>>2]|0)-j|0)/104|0)<<2)>>2]=p;f=f+1|0;if((f|0)<(c[l+24>>2]|0))h=l;else break}f=c[b+1112>>2]|0}p=p+1|0}while((p|0)<(f|0))}if((c[b+752>>2]|0)>0){t=0;do{J=c[b+760>>2]|0;f=c[b+720>>2]|0;h=((c[J+(t*44|0)+8>>2]|0)-f|0)/104|0;c[I>>2]=h;c[I+4>>2]=((c[J+(t*44|0)+12>>2]|0)-f|0)/104|0;c[I+8>>2]=((c[J+(t*44|0)+16>>2]|0)-f|0)/104|0;f=0;while(1){d=c[w+(h<<2)>>2]|0;s=1;do{h=c[I+(((s+f|0)%3|0)<<2)>>2]|0;d:do if((c[w+(h<<2)>>2]|0)!=(d|0)){r=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+720>>2]|0)+(h*104|0)|0;h=c[r+24>>2]|0;e:do if((h|0)>0){l=c[r+32>>2]|0;j=0;while(1){if((c[l+(j<<2)>>2]|0)==(p|0))break;j=j+1|0;if((j|0)>=(h|0))break e}if((j|0)!=(h|0))break d}while(0);if((h|0)==(c[r+28>>2]|0)?(F=h|0?h<<1:1,(h|0)<(F|0)):0){if(!F)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((F<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=h;h=c[r+24>>2]|0}if((h|0)>0){j=0;do{c[l+(j<<2)>>2]=c[(c[r+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[r+32>>2]|0;if(j){if(a[r+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=l;c[r+28>>2]=F}c[(c[r+32>>2]|0)+(h<<2)>>2]=p;c[r+24>>2]=h+1}while(0);s=s+1|0}while((s|0)!=3);f=f+1|0;if((f|0)>=3)break;h=c[I+(f<<2)>>2]|0}t=t+1|0}while((t|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;r=f+36|0;a[r>>0]=1;s=f+32|0;c[s>>2]=0;t=f+24|0;c[t>>2]=0;u=f+28|0;c[u>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;v=f+348|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;v=f;a[f+377>>0]=0;l=c[b+712>>2]|0;if((l|0)>0){c[6435]=(c[6435]|0)+1;f=yc((l<<2|3)+16|0)|0;if(!f)j=0;else{c[(f+4+15&-16)+-4>>2]=f;j=f+4+15&-16}f=c[t>>2]|0;if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[s>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=j;c[u>>2]=l;f=c[b+712>>2]|0;if((f|0)>0){j=c[t>>2]|0;h=l;d=0;while(1){p=(c[b+720>>2]|0)+(d*104|0)|0;do if((j|0)==(h|0)){l=h|0?h<<1:1;if((h|0)>=(l|0)){l=h;break}if(!l)f=0;else{c[6435]=(c[6435]|0)+1;f=yc((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[t>>2]|0}if((h|0)>0){j=0;do{c[f+(j<<2)>>2]=c[(c[s>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[s>>2]|0;if(j){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[t>>2]|0}c[s>>2]=0}a[r>>0]=1;c[s>>2]=f;c[u>>2]=l;f=c[b+712>>2]|0}else{l=h;h=j}while(0);c[(c[s>>2]|0)+(h<<2)>>2]=p;j=h+1|0;c[t>>2]=j;d=d+1|0;if((d|0)>=(f|0))break;else h=l}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(G=f|0?f<<1:1,(f|0)<(G|0)):0){if(!G)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((G<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=G}c[(c[b+1120>>2]|0)+(f<<2)>>2]=v;J=f+1|0;c[b+1112>>2]=J;F=c[b+1120>>2]|0;f=F+(f<<2)|0;G=c[F>>2]|0;c[F>>2]=c[f>>2];c[f>>2]=G;f=J}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;f:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){hh(b+1048|0,f)|0;j=c[b+1052>>2]|0;if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(d);if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}f=c[b+1112>>2]|0;if((f|0)>0){p=c[b+1120>>2]|0;j=0;while(1){l=p+(j<<2)|0;if((c[l>>2]|0)==(d|0))break;j=j+1|0;if((j|0)>=(f|0))break f}if((j|0)<(f|0)){c[l>>2]=c[p+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}}while(0);h=h+1|0}while((h|0)<(f|0))}if(w|0){c[6436]=(c[6436]|0)+1;hd(c[w+-4>>2]|0)}if(E|0){c[6436]=(c[6436]|0)+1;hd(c[E+-4>>2]|0)}}else H=212}else H=212;g:do if((H|0)==212){p=c[b+772>>2]|0;if(p|0){if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)l=0;else{c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){j=0;do{c[l+(j<<2)>>2]=c[(c[b+1120>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=l;c[b+1116>>2]=p;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)<=0)break;d=0;while(1){r=0;do{l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+780>>2]|0)+(d*104|0)+8+(r<<2)|0;f=c[l+24>>2]|0;if((f|0)==(c[l+28>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if(!s)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[l+24>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[l+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[l+32>>2]|0;if(h){if(a[l+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=j;c[l+28>>2]=s}c[(c[l+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[l+24>>2]=f+1;r=r+1|0}while((r|0)!=4);d=d+1|0;if((d|0)>=(c[b+772>>2]|0))break g}}p=c[b+752>>2]|0;if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){if(p){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[b+1120>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));l=b+1120|0}else l=b+1120|0}else{h=0;l=b+1120|0}j=c[l>>2]|0;if(j|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[l>>2]=0}a[b+1124>>0]=1;c[l>>2]=h;c[b+1116>>2]=p}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)>0){d=0;do{r=0;do{l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+760>>2]|0)+(d*44|0)+8+(r<<2)|0;f=c[l+24>>2]|0;if((f|0)==(c[l+28>>2]|0)?(t=f|0?f<<1:1,(f|0)<(t|0)):0){if(!t)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((t<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[l+24>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[l+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[l+32>>2]|0;if(h){if(a[l+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=j;c[l+28>>2]=t}c[(c[l+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[l+24>>2]=f+1;r=r+1|0}while((r|0)!=3);d=d+1|0}while((d|0)<(c[b+752>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){J=0;i=I;return J|0}if((f|0)>0){t=0;do{s=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;g[s+128>>2]=0.0;d=c[s+24>>2]|0;p=c[s+4>>2]|0;if((d|0)>(p|0)){do if((c[s+8>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6435]=(c[6435]|0)+1;f=yc((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+4>>2]|0}j=c[s+12>>2]|0;if((h|0)<=0){if(!j){a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d;break}}else{l=0;do{c[f+(l<<2)>>2]=c[j+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0))}if(a[s+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d}else f=c[s+12>>2]|0;while(0);Qn(f+(p<<2)|0,0,d-p<<2|0)|0;l=c[s+24>>2]|0}else l=d;c[s+4>>2]=d;if((l|0)>0){f=c[s+32>>2]|0;h=c[s+12>>2]|0;j=0;do{m=+g[(c[f+(j<<2)>>2]|0)+88>>2];if(m==0.0){a[s+376>>0]=1;m=999999984306749440.0}else m=1.0/m;g[h+(j<<2)>>2]=m;q=m+ +g[s+128>>2];g[s+128>>2]=q;j=j+1|0}while((j|0)!=(l|0));g[s+128>>2]=1.0/q;f=c[s+32>>2]|0;h=c[s+12>>2]|0;n=0.0;o=0.0;m=0.0;j=0;do{J=c[f+(j<<2)>>2]|0;B=+g[h+(j<<2)>>2];n=n+ +g[J+8>>2]*B;m=m+B*+g[J+12>>2];o=o+B*+g[J+16>>2];j=j+1|0}while((j|0)!=(l|0));q=1.0/q}else{q=1.0/+g[s+128>>2];g[s+128>>2]=q;n=0.0;o=0.0;m=0.0}z=n*q;x=m*q;o=o*q;g[s+228>>2]=z;g[s+232>>2]=x;g[s+236>>2]=o;g[s+240>>2]=0.0;f=s+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=s+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=c[s+24>>2]|0;if((f|0)>0){h=c[s+32>>2]|0;j=c[s+12>>2]|0;B=+g[s+132>>2];A=+g[s+152>>2];y=0.0;n=+g[s+136>>2];m=+g[s+140>>2];q=+g[s+156>>2];l=0;do{J=c[h+(l<<2)>>2]|0;O=+g[J+8>>2]-z;L=+g[J+12>>2]-x;M=+g[J+16>>2]-o;K=+g[j+(l<<2)>>2];B=B+K*(L*L+M*M);g[s+132>>2]=B;A=K*(O*O+M*M)+A;g[s+152>>2]=A;y=(O*O+L*L)*K+y;g[s+172>>2]=y;n=n-L*O*K;g[s+136>>2]=n;m=m-M*O*K;g[s+140>>2]=m;q=q-M*L*K;g[s+156>>2]=q;l=l+1|0}while((l|0)!=(f|0));j=(g[k>>2]=q,c[k>>2]|0);f=(g[k>>2]=m,c[k>>2]|0);l=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;x=A;h=(g[k>>2]=n,c[k>>2]|0);o=B}else{h=c[s+136>>2]|0;J=c[s+140>>2]|0;j=c[s+156>>2]|0;q=(c[k>>2]=j,+g[k>>2]);n=(c[k>>2]=h,+g[k>>2]);l=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;y=0.0;x=+g[s+152>>2];f=J;o=+g[s+132>>2];m=(c[k>>2]=J,+g[k>>2])}L=(c[k>>2]=j,+g[k>>2]);z=x*y-q*L;K=(c[k>>2]=f,+g[k>>2]);M=(c[k>>2]=h,+g[k>>2]);A=q*K-y*M;B=L*M-x*K;O=1.0/(z*o+n*A+B*m);g[s+132>>2]=z*O;g[l>>2]=(L*m-y*n)*O;g[p>>2]=(q*n-x*m)*O;g[s+144>>2]=0.0;g[s+148>>2]=A*O;g[r>>2]=(y*o-K*m)*O;g[d>>2]=(M*m-q*o)*O;g[s+160>>2]=0.0;g[s+164>>2]=B*O;g[s+168>>2]=(K*n-L*o)*O;g[s+172>>2]=(x*o-M*n)*O;g[s+176>>2]=0.0;c[s+60>>2]=1065353216;c[s+64>>2]=0;c[s+64+4>>2]=0;c[s+64+8>>2]=0;c[s+64+12>>2]=0;c[s+80>>2]=1065353216;c[s+84>>2]=0;c[s+84+4>>2]=0;c[s+84+8>>2]=0;c[s+84+12>>2]=0;c[s+100>>2]=1065353216;c[s+104>>2]=0;c[s+104+4>>2]=0;c[s+104+8>>2]=0;c[s+104+12>>2]=0;c[s+104+16>>2]=0;c[s+108>>2]=c[s+228>>2];c[s+108+4>>2]=c[s+228+4>>2];c[s+108+8>>2]=c[s+228+8>>2];c[s+108+12>>2]=c[s+228+12>>2];p=c[s+24>>2]|0;l=c[s+44>>2]|0;if((l|0)<(p|0)){if((c[s+48>>2]|0)<(p|0)){if(!p){f=0;h=l}else{c[6435]=(c[6435]|0)+1;f=yc((p<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+44>>2]|0}if((h|0)>0){j=0;do{J=f+(j<<4)|0;H=(c[s+52>>2]|0)+(j<<4)|0;c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];j=j+1|0}while((j|0)!=(h|0))}h=c[s+52>>2]|0;if(h|0){if(a[s+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[s+52>>2]=0}a[s+56>>0]=1;c[s+52>>2]=f;c[s+48>>2]=p;h=s+52|0}else h=s+52|0;f=l;do{J=(c[h>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];f=f+1|0}while((f|0)!=(p|0))}c[s+44>>2]=p;if((p|0)>0){f=0;do{J=c[s+52>>2]|0;H=c[(c[s+32>>2]|0)+(f<<2)>>2]|0;M=+g[H+12>>2]-+g[s+232>>2];O=+g[H+16>>2]-+g[s+236>>2];g[J+(f<<4)>>2]=+g[H+8>>2]-+g[s+228>>2];g[J+(f<<4)+4>>2]=M;g[J+(f<<4)+8>>2]=O;g[J+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[s+44>>2]|0))}t=t+1|0}while((t|0)<(c[b+1112>>2]|0))}$c(b);f=c[b+1112>>2]|0;d=_(f,f)|0;p=c[b+1132>>2]|0;if((d|0)>(p|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6435]=(c[6435]|0)+1;f=yc(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+1132>>2]|0}j=c[b+1140>>2]|0;if((h|0)<=0){if(!j){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{l=0;do{a[f+l>>0]=a[j+l>>0]|0;l=l+1|0}while((l|0)!=(h|0))}if(a[b+1144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);Qn(f+p|0,0,d-p|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){J=f;i=I;return J|0}t=c[b+1120>>2]|0;v=0;do{u=c[t+(v<<2)>>2]|0;c[u+380>>2]=v;w=0;do{h=c[t+(w<<2)>>2]|0;j=c[u+24>>2]|0;h:do if((j|0)>0){l=c[h+24>>2]|0;r=0;while(1){if((l|0)>0){p=c[(c[u+32>>2]|0)+(r<<2)>>2]|0;d=c[h+32>>2]|0;s=0;do{if((p|0)==(c[d+(s<<2)>>2]|0)){h=1;break h}s=s+1|0}while((s|0)<(l|0))}r=r+1|0;if((r|0)>=(j|0)){h=0;break}}}else h=0;while(0);J=(_(f,w)|0)+v|0;a[(c[b+1140>>2]|0)+J>>0]=h;w=w+1|0}while((w|0)!=(f|0));v=v+1|0}while((v|0)!=(f|0));i=I;return f|0}function tc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0;Y=i;i=i+320|0;li(11923);ae(b);a:do if(Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(X=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[X>>2]|0)+48>>2]&127](X)|0)&6144|0):0){E=Y+256+44|0;F=Y+256+4|0;G=Y+256+8|0;H=Y+256+16|0;I=Y+256+20|0;J=Y+256+24|0;L=Y+256+32|0;M=Y+256+36|0;N=Y+256+40|0;O=Y+256+48|0;P=Y+256+52|0;S=Y+256+56|0;T=Y+256+48|0;U=Y+256+16|0;V=Y+256+32|0;W=Y+256+48|0;B=Y+256+16|0;C=Y+256+32|0;D=Y+256+48|0;d=Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0;while(1){X=d+-1|0;if((d|0)<=0)break a;p=Zb[c[(c[b>>2]|0)+108>>2]&31](b,X)|0;d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=(Eb[c[(c[d>>2]|0)+48>>2]&127](d)|0)>>>11;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=(Eb[c[(c[o>>2]|0)+48>>2]&127](o)|0)>>>12;A=+g[p+40>>2];b:do if(!(A<=0.0))switch(c[p+4>>2]|0){case 3:{c[Y+256>>2]=1065353216;c[Y+256+4>>2]=0;c[Y+256+4+4>>2]=0;c[Y+256+4+8>>2]=0;c[Y+256+4+12>>2]=0;c[Y+256+20>>2]=1065353216;c[Y+256+24>>2]=0;c[Y+256+24+4>>2]=0;c[Y+256+24+8>>2]=0;c[Y+256+24+12>>2]=0;c[Y+256+40>>2]=1065353216;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;z=+g[p+300>>2];y=+g[p+304>>2];x=+g[p+308>>2];o=c[p+28>>2]|0;w=z*+g[o+20>>2]+y*+g[o+24>>2]+x*+g[o+28>>2]+ +g[o+56>>2];v=z*+g[o+36>>2]+y*+g[o+40>>2]+x*+g[o+44>>2]+ +g[o+60>>2];g[Y+256+48>>2]=z*+g[o+4>>2]+y*+g[o+8>>2]+x*+g[o+12>>2]+ +g[o+52>>2];g[Y+256+52>>2]=w;g[Y+256+56>>2]=v;g[Y+256+60>>2]=0.0;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[o>>2]|0)+56>>2]&7](o,Y+256|0,A);v=+g[p+316>>2];w=+g[p+320>>2];x=+g[p+324>>2];p=c[p+32>>2]|0;y=v*+g[p+20>>2]+w*+g[p+24>>2]+x*+g[p+28>>2]+ +g[p+56>>2];z=v*+g[p+36>>2]+w*+g[p+40>>2]+x*+g[p+44>>2]+ +g[p+60>>2];g[Y+256+48>>2]=v*+g[p+4>>2]+w*+g[p+8>>2]+x*+g[p+12>>2]+ +g[p+52>>2];g[Y+256+52>>2]=y;g[Y+256+56>>2]=z;g[Y+256+60>>2]=0.0;if(d&1|0){p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[p>>2]|0)+56>>2]&7](p,Y+256|0,A)}break b}case 4:{n=c[p+28>>2]|0;Z=+g[p+552>>2];da=+g[n+4>>2];e=+g[p+552+16>>2];ca=+g[n+8>>2];f=+g[p+552+32>>2];ba=+g[n+12>>2];h=+g[p+552+4>>2];j=+g[p+552+20>>2];q=+g[p+552+36>>2];r=+g[p+552+8>>2];t=+g[p+552+24>>2];v=+g[p+552+40>>2];aa=+g[n+20>>2];$=+g[n+24>>2];_=+g[n+28>>2];s=+g[n+36>>2];u=+g[n+40>>2];w=+g[n+44>>2];fa=+g[p+552+48>>2];ea=+g[p+552+52>>2];z=+g[p+552+56>>2];x=+g[n+52>>2]+(da*fa+ca*ea+ba*z);y=aa*fa+$*ea+_*z+ +g[n+56>>2];z=s*fa+u*ea+w*z+ +g[n+60>>2];g[Y+256>>2]=Z*da+e*ca+f*ba;g[Y+256+4>>2]=da*h+ca*j+ba*q;g[Y+256+8>>2]=da*r+ca*t+ba*v;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=Z*aa+e*$+f*_;g[Y+256+20>>2]=h*aa+j*$+q*_;g[Y+256+24>>2]=r*aa+t*$+v*_;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=Z*s+e*u+f*w;g[Y+256+36>>2]=h*s+j*u+q*w;g[Y+256+40>>2]=r*s+t*u+v*w;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=x;g[Y+256+52>>2]=y;g[Y+256+56>>2]=z;g[Y+256+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];j=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];Z=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[Y+256+4>>2]=h*x+j*y+q*z;g[Y+256+8>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=u*r+v*s+w*t;g[Y+256+20>>2]=x*r+y*s+z*t;g[Y+256+24>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=u*_+v*aa+w*ca;g[Y+256+36>>2]=x*_+y*aa+z*ca;g[Y+256+40>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=da;g[Y+256+52>>2]=ea;g[Y+256+56>>2]=fa;g[Y+256+60>>2]=0.0}else{n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A);n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];j=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];Z=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[Y+256+4>>2]=h*x+j*y+q*z;g[Y+256+8>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=u*r+v*s+w*t;g[Y+256+20>>2]=x*r+y*s+z*t;g[Y+256+24>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=u*_+v*aa+w*ca;g[Y+256+36>>2]=x*_+y*aa+z*ca;g[Y+256+40>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=da;g[Y+256+52>>2]=ea;g[Y+256+56>>2]=fa;g[Y+256+60>>2]=0.0;n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A)}j=+g[p+688>>2];f=+g[p+688+4>>2];e=+eh(j-f,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)h=e+-6.2831854820251465;else h=e;else h=e+6.2831854820251465;e=+eh(j+f,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(h==e)?(K=h>e,o&1|0):0){c[Y+240>>2]=c[Y+256+8>>2];c[Y+240+4>>2]=c[Y+256+24>>2];c[Y+240+8>>2]=c[Y+256+40>>2];g[Y+240+12>>2]=0.0;c[Y+224>>2]=c[Y+256>>2];c[Y+224+4>>2]=c[Y+256+16>>2];c[Y+224+8>>2]=c[Y+256+32>>2];g[Y+224+12>>2]=0.0;p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Y+208>>2]=0;c[Y+208+4>>2]=0;c[Y+208+8>>2]=0;c[Y+208+12>>2]=0;Lb[o&0](p,Y+256+48|0,Y+240|0,Y+224|0,A,A,K?0.0:h,K?6.2831854820251465:e,Y+208|0,K^1,10.0)}break b}case 5:{n=c[p+28>>2]|0;u=+g[p+300>>2];h=+g[n+4>>2];v=+g[p+300+16>>2];j=+g[n+8>>2];w=+g[p+300+32>>2];q=+g[n+12>>2];x=+g[p+300+4>>2];y=+g[p+300+20>>2];z=+g[p+300+36>>2];Z=+g[p+300+8>>2];$=+g[p+300+24>>2];ba=+g[p+300+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+300+48>>2];f=+g[p+300+52>>2];fa=+g[p+300+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];j=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];Z=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0}else{n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A);n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];j=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];Z=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0;n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A)}if(o&1|0){Ej(Y+240|0,p,6.0868353843688965,A);ba=+g[Y+240>>2];ca=+g[Y+240+4>>2];da=+g[Y+240+8>>2];ea=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[P>>2];fa=ba*+g[L>>2]+ca*+g[M>>2]+da*+g[N>>2]+ +g[S>>2];g[Y+240>>2]=ba*+g[Y+256>>2]+ca*+g[F>>2]+da*+g[G>>2]+ +g[O>>2];g[Y+240+4>>2]=ea;g[Y+240+8>>2]=fa;g[Y+240+12>>2]=0.0;d=0;do{Ej(Y+224|0,p,+(d|0)*6.283185005187988*.03125,A);ba=+g[Y+224>>2];ca=+g[Y+224+4>>2];da=+g[Y+224+8>>2];ea=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[P>>2];fa=ba*+g[L>>2]+ca*+g[M>>2]+da*+g[N>>2]+ +g[S>>2];g[Y+224>>2]=ba*+g[Y+256>>2]+ca*+g[F>>2]+da*+g[G>>2]+ +g[O>>2];g[Y+224+4>>2]=ea;g[Y+224+8>>2]=fa;g[Y+224+12>>2]=0.0;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Y+192>>2]=0;c[Y+192+4>>2]=0;c[Y+192+8>>2]=0;c[Y+192+12>>2]=0;mc[n&127](o,Y+240|0,Y+224|0,Y+192|0);if(!(d&3)){o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Y+176>>2]=0;c[Y+176+4>>2]=0;c[Y+176+8>>2]=0;c[Y+176+12>>2]=0;mc[n&127](o,T,Y+224|0,Y+176|0)}c[Y+240>>2]=c[Y+224>>2];c[Y+240+4>>2]=c[Y+224+4>>2];c[Y+240+8>>2]=c[Y+224+8>>2];c[Y+240+12>>2]=c[Y+224+12>>2];d=d+1|0}while((d|0)!=32);y=+g[p+452>>2];z=+g[p+512>>2];d=c[p+32>>2]|0;if(+g[d+344>>2]>0.0){ba=+g[p+364>>2];ca=+g[d+4>>2];da=+g[p+364+16>>2];ea=+g[d+8>>2];fa=+g[p+364+32>>2];v=+g[d+12>>2];$=+g[p+364+4>>2];aa=+g[p+364+20>>2];u=+g[p+364+36>>2];Z=+g[p+364+8>>2];_=+g[p+364+24>>2];t=+g[p+364+40>>2];ha=+g[d+20>>2];ga=+g[d+24>>2];s=+g[d+28>>2];r=+g[d+36>>2];q=+g[d+40>>2];j=+g[d+44>>2];h=+g[p+364+48>>2];f=+g[p+364+52>>2];e=+g[p+364+56>>2];w=r*h+q*f+j*e+ +g[d+60>>2];x=ha*h+ga*f+s*e+ +g[d+56>>2];e=+g[d+52>>2]+(ca*h+ea*f+v*e);f=Z*r+_*q+t*j;h=$*r+aa*q+u*j;j=ba*r+da*q+fa*j;q=Z*ha+_*ga+t*s;r=$*ha+aa*ga+u*s;s=ba*ha+da*ga+fa*s;t=ca*Z+ea*_+v*t;u=ca*$+ea*aa+v*u;v=ba*ca+da*ea+fa*v}else{o=c[p+28>>2]|0;da=+g[p+300>>2];ea=+g[o+4>>2];fa=+g[p+300+16>>2];ga=+g[o+8>>2];ha=+g[p+300+32>>2];v=+g[o+12>>2];ba=+g[p+300+4>>2];ca=+g[p+300+20>>2];u=+g[p+300+36>>2];$=+g[p+300+8>>2];aa=+g[p+300+24>>2];t=+g[p+300+40>>2];Z=+g[o+20>>2];_=+g[o+24>>2];s=+g[o+28>>2];r=+g[o+36>>2];q=+g[o+40>>2];j=+g[o+44>>2];h=+g[p+300+48>>2];f=+g[p+300+52>>2];e=+g[p+300+56>>2];w=r*h+q*f+j*e+ +g[o+60>>2];x=Z*h+_*f+s*e+ +g[o+56>>2];e=+g[o+52>>2]+(ea*h+ga*f+v*e);f=$*r+aa*q+t*j;h=ba*r+ca*q+u*j;j=da*r+fa*q+ha*j;q=$*Z+aa*_+t*s;r=ba*Z+ca*_+u*s;s=da*Z+fa*_+ha*s;t=ea*$+ga*aa+v*t;u=ea*ba+ga*ca+v*u;v=da*ea+fa*ga+ha*v}g[Y+256>>2]=v;g[F>>2]=u;g[G>>2]=t;g[Y+256+12>>2]=0.0;g[H>>2]=s;g[I>>2]=r;g[J>>2]=q;g[Y+256+28>>2]=0.0;g[L>>2]=j;g[M>>2]=h;g[N>>2]=f;g[Y+256+44>>2]=0.0;g[O>>2]=e;g[P>>2]=x;g[S>>2]=w;g[Y+256+60>>2]=0.0;c[Y+224>>2]=c[T>>2];c[Y+224+4>>2]=c[T+4>>2];c[Y+224+8>>2]=c[T+8>>2];c[Y+224+12>>2]=c[T+12>>2];g[Y+160>>2]=v;g[Y+160+4>>2]=s;g[Y+160+8>>2]=j;g[Y+160+12>>2]=0.0;g[Y+144>>2]=u;g[Y+144+4>>2]=r;g[Y+144+8>>2]=h;g[Y+144+12>>2]=0.0;p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Y+128>>2]=0;c[Y+128+4>>2]=0;c[Y+128+8>>2]=0;c[Y+128+12>>2]=0;Lb[o&0](p,Y+224|0,Y+160|0,Y+144|0,A,A,-z-y,y-z,Y+128|0,1,10.0)}break b}case 6:case 9:{c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];l=p+1064+16|0;c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];m=p+1064+32|0;c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];n=p+1064+48|0;c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];if(!(d&1)){c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[p+1128+48>>2];c[W+4>>2]=c[p+1128+48+4>>2];c[W+8>>2]=c[p+1128+48+8>>2];c[W+12>>2]=c[p+1128+48+12>>2]}else{d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[d>>2]|0)+56>>2]&7](d,Y+256|0,A);c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[p+1128+48>>2];c[W+4>>2]=c[p+1128+48+4>>2];c[W+8>>2]=c[p+1128+48+8>>2];c[W+12>>2]=c[p+1128+48+12>>2];d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[d>>2]|0)+56>>2]&7](d,Y+256|0,A)}if(o&1|0){c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];d=p+1128+48|0;c[Y+240>>2]=c[Y+256+8>>2];c[Y+240+4>>2]=c[Y+256+24>>2];c[Y+240+8>>2]=c[Y+256+40>>2];g[Y+240+12>>2]=0.0;c[Y+224>>2]=c[Y+256>>2];c[Y+224+4>>2]=c[Y+256+16>>2];c[Y+224+8>>2]=c[Y+256+32>>2];g[Y+224+12>>2]=0.0;da=+g[p+932>>2];e=+g[p+932+4>>2];ga=+g[p+996>>2];fa=+g[p+996+4>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+64>>2]|0;c[Y+112>>2]=0;c[Y+112+4>>2]=0;c[Y+112+8>>2]=0;c[Y+112+12>>2]=0;dc[ia&0](ja,d,Y+240|0,Y+224|0,A*.8999999761581421,da,e,ga,fa,Y+112|0,10.0,1);ja=c[Y+256+4>>2]|0;ia=c[Y+256+20>>2]|0;o=c[Y+256+36>>2]|0;c[Y+224>>2]=ja;c[Y+224+4>>2]=ia;c[Y+224+8>>2]=o;g[Y+224+12>>2]=0.0;fa=+g[p+1196>>2];ga=+g[p+1200>>2];e=+Q(+fa);fa=+R(+fa);da=+Q(+ga);ga=+R(+ga);ea=(c[k>>2]=ja,+g[k>>2]);ha=(c[k>>2]=ia,+g[k>>2]);f=(c[k>>2]=o,+g[k>>2]);g[Y+160>>2]=e*da*ea+e*ga*ha-fa*f;g[Y+160+4>>2]=da*ha-ga*ea;g[Y+160+8>>2]=fa*da*ea+fa*ga*ha+e*f;c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[d>>2];c[W+4>>2]=c[d+4>>2];c[W+8>>2]=c[d+8>>2];c[W+12>>2]=c[d+12>>2];f=-+g[Y+256+16>>2];e=-+g[Y+256+32>>2];g[Y+144>>2]=-+g[Y+256>>2];g[Y+144+4>>2]=f;g[Y+144+8>>2]=e;g[Y+144+12>>2]=0.0;e=+g[p+868>>2];f=+g[p+868+4>>2];if(!(e>f)){if(e>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y+80>>2]=0;c[Y+80+4>>2]=0;c[Y+80+8>>2]=0;c[Y+80+12>>2]=0;Lb[ia&0](ja,d,Y+144|0,Y+160|0,A,A,e,f,Y+80|0,1,10.0)}}else{ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y+96>>2]=0;c[Y+96+4>>2]=0;c[Y+96+8>>2]=0;c[Y+96+12>>2]=0;Lb[ia&0](ja,d,Y+144|0,Y+160|0,A,A,-3.1415927410125732,3.1415927410125732,Y+96|0,0,10.0)}c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];c[Y+64>>2]=c[p+680>>2];c[Y+64+4>>2]=c[p+680+4>>2];c[Y+64+8>>2]=c[p+680+8>>2];c[Y+64+12>>2]=c[p+680+12>>2];c[Y+48>>2]=c[p+680+16>>2];c[Y+48+4>>2]=c[p+680+16+4>>2];c[Y+48+8>>2]=c[p+680+16+8>>2];c[Y+48+12>>2]=c[p+680+16+12>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+72>>2]|0;c[Y+32>>2]=0;c[Y+32+4>>2]=0;c[Y+32+8>>2]=0;c[Y+32+12>>2]=0;yb[ia&31](ja,Y+64|0,Y+48|0,Y+256|0,Y+32|0)}break b}case 7:{c[Y+256>>2]=c[p+824>>2];c[Y+256+4>>2]=c[p+824+4>>2];c[Y+256+8>>2]=c[p+824+8>>2];c[Y+256+12>>2]=c[p+824+12>>2];c[B>>2]=c[p+824+16>>2];c[B+4>>2]=c[p+824+16+4>>2];c[B+8>>2]=c[p+824+16+8>>2];c[B+12>>2]=c[p+824+16+12>>2];c[C>>2]=c[p+824+32>>2];c[C+4>>2]=c[p+824+32+4>>2];c[C+8>>2]=c[p+824+32+8>>2];c[C+12>>2]=c[p+824+32+12>>2];c[D>>2]=c[p+824+48>>2];c[D+4>>2]=c[p+824+48+4>>2];c[D+8>>2]=c[p+824+48+8>>2];c[D+12>>2]=c[p+824+48+12>>2];if(!(d&1)){c[Y+256>>2]=c[p+888>>2];c[Y+256+4>>2]=c[p+888+4>>2];c[Y+256+8>>2]=c[p+888+8>>2];c[Y+256+12>>2]=c[p+888+12>>2];c[B>>2]=c[p+888+16>>2];c[B+4>>2]=c[p+888+16+4>>2];c[B+8>>2]=c[p+888+16+8>>2];c[B+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[D>>2]=c[p+888+48>>2];c[D+4>>2]=c[p+888+48+4>>2];c[D+8>>2]=c[p+888+48+8>>2];c[D+12>>2]=c[p+888+48+12>>2]}else{ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[ja>>2]|0)+56>>2]&7](ja,Y+256|0,A);c[Y+256>>2]=c[p+888>>2];c[Y+256+4>>2]=c[p+888+4>>2];c[Y+256+8>>2]=c[p+888+8>>2];c[Y+256+12>>2]=c[p+888+12>>2];c[B>>2]=c[p+888+16>>2];c[B+4>>2]=c[p+888+16+4>>2];c[B+8>>2]=c[p+888+16+8>>2];c[B+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[D>>2]=c[p+888+48>>2];c[D+4>>2]=c[p+888+48+4>>2];c[D+8>>2]=c[p+888+48+8>>2];c[D+12>>2]=c[p+888+48+12>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[ja>>2]|0)+56>>2]&7](ja,Y+256|0,A)}if(o&1|0){d=a[p+180>>0]|0?p+824|0:p+888|0;l=c[d>>2]|0;o=c[d+4>>2]|0;m=c[d+16>>2]|0;ia=c[d+20>>2]|0;n=c[d+32>>2]|0;ja=c[d+36>>2]|0;y=+g[d+48>>2];$=+g[d+52>>2];da=+g[d+56>>2];ga=+g[p+184>>2];_=(c[k>>2]=l,+g[k>>2]);Z=(c[k>>2]=o,+g[k>>2])*0.0;z=+g[d+8>>2]*0.0;ca=(c[k>>2]=m,+g[k>>2]);ba=(c[k>>2]=ia,+g[k>>2])*0.0;aa=+g[d+24>>2]*0.0;ha=(c[k>>2]=n,+g[k>>2]);fa=(c[k>>2]=ja,+g[k>>2])*0.0;ea=+g[d+40>>2]*0.0;g[Y+240>>2]=y+(z+(Z+_*ga));g[Y+240+4>>2]=$+(aa+(ba+ca*ga));g[Y+240+8>>2]=da+(ea+(fa+ha*ga));g[Y+240+12>>2]=0.0;ga=+g[p+188>>2];g[Y+224>>2]=y+(z+(Z+_*ga));g[Y+224+4>>2]=$+(aa+(ba+ca*ga));g[Y+224+8>>2]=da+(ea+(fa+ha*ga));g[Y+224+12>>2]=0.0;d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ka=c[(c[d>>2]|0)+8>>2]|0;c[Y+16>>2]=0;c[Y+16+4>>2]=0;c[Y+16+8>>2]=0;c[Y+16+12>>2]=0;mc[ka&127](d,Y+240|0,Y+224|0,Y+16|0);c[Y+160>>2]=l;c[Y+160+4>>2]=m;c[Y+160+8>>2]=n;g[Y+160+12>>2]=0.0;c[Y+144>>2]=o;c[Y+144+4>>2]=ia;c[Y+144+8>>2]=ja;g[Y+144+12>>2]=0.0;ga=+g[p+192>>2];ha=+g[p+196>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;Lb[ia&0](ja,p+888+48|0,Y+160|0,Y+144|0,A,A,ga,ha,Y,1,10.0)}break b}default:break b}while(0);d=X}}while(0);if((((Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(ka=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[ka>>2]|0)+48>>2]&127](ka)|0)&16387|0):0)?Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0:0)?(ka=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,Eb[c[(c[ka>>2]|0)+48>>2]&127](ka)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{ka=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Cb[c[(c[ka>>2]|0)+12>>2]&127](ka,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[2357]|0;ka=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=ka;if(ka|0){i=Y;return}do if(c[d+4>>2]|0){tb(Y+256|0,0)|0;ka=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[Y+256+4>>2]|0)-(c[ka+4>>2]|0)+(((c[Y+256>>2]|0)-(c[ka>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=Y;return}}while(0);c[2357]=c[d+20>>2];i=Y;return}function uc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;mf(b,e,f)|0;a[z+16>>0]=1;c[z+12>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;a[z+36>>0]=1;c[z+32>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;a[z+56>>0]=1;c[z+52>>2]=0;c[z+44>>2]=0;c[z+48>>2]=0;a[z+76>>0]=1;c[z+72>>2]=0;c[z+64>>2]=0;c[z+68>>2]=0;x=c[b+872>>2]|0;c[e+292>>2]=x;if(x){x=Zb[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=x;if(x|0){h=c[e+292>>2]|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){l=0;m=c[n+8>>2]|0;while(1){j=c[(c[b+880>>2]|0)+(l<<2)>>2]|0;if(!j){g=0;k=0}else{g=j;k=Zb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0}c[m>>2]=k;if(!(Zb[c[(c[f>>2]|0)+24>>2]&31](f,g)|0)){x=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;s=c[x+8>>2]|0;c[s+12>>2]=c[j+16>>2];c[s+4>>2]=c[j+8>>2];c[s>>2]=c[j+4>>2];c[s+8>>2]=c[j+12>>2];yb[c[(c[f>>2]|0)+20>>2]&31](f,x,10691,1414349395,g)}l=l+1|0;if((l|0)>=(h|0)){g=f;break}else m=m+4|0}}else g=f;yb[c[(c[g>>2]|0)+20>>2]&31](f,n,10691,1497453121,b+868|0)}}else c[e+260>>2]=0;x=c[b+712>>2]|0;c[e+296>>2]=x;if(x){x=Zb[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=x;if(x|0){p=c[e+296>>2]|0;q=Ob[c[(c[f>>2]|0)+16>>2]&63](f,100,p)|0;if((p|0)>0){r=0;s=c[q+8>>2]|0;while(1){h=c[b+720>>2]|0;c[s+52>>2]=c[h+(r*104|0)+56>>2];c[s+56>>2]=c[h+(r*104|0)+60>>2];c[s+60>>2]=c[h+(r*104|0)+64>>2];c[s+64>>2]=c[h+(r*104|0)+68>>2];c[s+88>>2]=c[h+(r*104|0)+92>>2];c[s+92>>2]=(a[h+(r*104|0)+100>>0]<<7&255)<<24>>24>>7<<24>>24;c[s+84>>2]=c[h+(r*104|0)+88>>2];g=c[h+(r*104|0)+4>>2]|0;if(!g){j=0;g=h}else{j=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;g=c[b+720>>2]|0}c[s>>2]=j;c[s+68>>2]=c[g+(r*104|0)+72>>2];c[s+72>>2]=c[g+(r*104|0)+76>>2];c[s+76>>2]=c[g+(r*104|0)+80>>2];c[s+80>>2]=c[g+(r*104|0)+84>>2];c[s+4>>2]=c[g+(r*104|0)+8>>2];c[s+8>>2]=c[g+(r*104|0)+12>>2];c[s+12>>2]=c[g+(r*104|0)+16>>2];c[s+16>>2]=c[g+(r*104|0)+20>>2];c[s+20>>2]=c[g+(r*104|0)+24>>2];c[s+24>>2]=c[g+(r*104|0)+28>>2];c[s+28>>2]=c[g+(r*104|0)+32>>2];c[s+32>>2]=c[g+(r*104|0)+36>>2];c[s+36>>2]=c[g+(r*104|0)+40>>2];c[s+40>>2]=c[g+(r*104|0)+44>>2];c[s+44>>2]=c[g+(r*104|0)+48>>2];c[s+48>>2]=c[g+(r*104|0)+52>>2];l=(c[b+720>>2]|0)+(r*104|0)|0;o=(l+~(l<<15)>>10^l+~(l<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);m=c[z+48>>2]|0;a:do if((o&m+-1)>>>0<(c[z+4>>2]|0)>>>0?(w=c[(c[z+12>>2]|0)+((o&m+-1)<<2)>>2]|0,(w|0)!=-1):0){h=c[z+72>>2]|0;j=c[z+32>>2]|0;g=w;while(1){if((l|0)==(c[h+(g<<3)>>2]|0))break;g=c[j+(g<<2)>>2]|0;if((g|0)==-1){y=27;break a}}c[(c[z+52>>2]|0)+(g<<2)>>2]=r}else y=27;while(0);if((y|0)==27){y=0;n=c[z+44>>2]|0;if((n|0)==(m|0)){g=m|0?m<<1:1;if((m|0)<(g|0)){if((g|0)!=0?(c[6435]=(c[6435]|0)+1,t=yc((g<<2|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;k=t+4+15&-16}else k=0;j=c[z+52>>2]|0;if((m|0)<=0)if(!j)h=m;else y=35;else{h=0;do{c[k+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));y=35}if((y|0)==35){y=0;if(a[z+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[z+52>>2]=0;h=c[z+44>>2]|0}a[z+56>>0]=1;c[z+52>>2]=k;c[z+48>>2]=g}else{g=m;h=m}}else{g=m;h=n}c[(c[z+52>>2]|0)+(h<<2)>>2]=r;c[z+44>>2]=h+1;h=c[z+64>>2]|0;if((h|0)==(c[z+68>>2]|0)?(u=h|0?h<<1:1,(h|0)<(u|0)):0){if((u|0)!=0?(c[6435]=(c[6435]|0)+1,v=yc((u<<3|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;j=v+4+15&-16}else j=0;if((h|0)>0){g=0;do{A=(c[z+72>>2]|0)+(g<<3)|0;k=c[A+4>>2]|0;x=j+(g<<3)|0;c[x>>2]=c[A>>2];c[x+4>>2]=k;g=g+1|0}while((g|0)!=(h|0))}g=c[z+72>>2]|0;if(g|0){if(a[z+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[z+72>>2]=0}a[z+76>>0]=1;c[z+72>>2]=j;c[z+68>>2]=u;h=c[z+64>>2]|0;g=c[z+48>>2]|0}c[(c[z+72>>2]|0)+(h<<3)>>2]=l;c[z+64>>2]=h+1;if((m|0)<(g|0)){m=c[z+4>>2]|0;do if((g|0)>(m|0)){if((g|0)>=(m|0)){b:do if((c[z+8>>2]|0)<(g|0)){do if(!g)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);j=c[z+12>>2]|0;do if((m|0)>0){k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(m|0))}else{if(j|0)break;a[z+16>>0]=1;c[z+12>>2]=h;c[z+8>>2]=g;break b}while(0);if(a[z+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[z+16>>0]=1;c[z+12>>2]=h;c[z+8>>2]=g}else h=c[z+12>>2]|0;while(0);Qn(h+(m<<2)|0,0,g-m<<2|0)|0}c[z+4>>2]=g;l=c[z+24>>2]|0;if((g|0)>(l|0)){c:do if((c[z+28>>2]|0)<(g|0)){do if(!g)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);j=c[z+32>>2]|0;do if((l|0)>0){k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(l|0))}else{if(j|0)break;a[z+36>>0]=1;c[z+32>>2]=h;c[z+28>>2]=g;break c}while(0);if(a[z+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[z+36>>0]=1;c[z+32>>2]=h;c[z+28>>2]=g}else h=c[z+32>>2]|0;while(0);Qn(h+(l<<2)|0,0,g-l<<2|0)|0}c[z+24>>2]=g;if((g|0)>0){A=g<<2;Qn(c[z+12>>2]|0,-1,A|0)|0;Qn(c[z+32>>2]|0,-1,A|0)|0}if((m|0)<=0){g=c[z+48>>2]|0;break}h=c[z+72>>2]|0;j=c[z+12>>2]|0;k=c[z+32>>2]|0;g=c[z+48>>2]|0;l=0;do{A=c[h+(l<<3)>>2]|0;A=(A+~(A<<15)>>10^A+~(A<<15))*9|0;A=j+((((A>>6^A)+~((A>>6^A)<<11)>>16^(A>>6^A)+~((A>>6^A)<<11))&g+-1)<<2)|0;c[k+(l<<2)>>2]=c[A>>2];c[A>>2]=l;l=l+1|0}while((l|0)!=(m|0))}while(0);g=o&g+-1}else g=o&m+-1;A=(c[z+12>>2]|0)+(g<<2)|0;c[(c[z+32>>2]|0)+(n<<2)>>2]=c[A>>2];c[A>>2]=n}r=r+1|0;if((r|0)>=(p|0))break;else s=s+100|0}}yb[c[(c[f>>2]|0)+20>>2]&31](f,q,10712,1145979475,b+708|0)}}else c[e+264>>2]=0;A=c[b+732>>2]|0;c[e+300>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=A;if(A|0){k=c[e+300>>2]|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,20,k)|0;if((k|0)>0){j=c[b+740>>2]|0;g=j;l=0;m=c[n+8>>2]|0;while(1){c[m+16>>2]=(a[j+(l*52|0)+20>>0]<<7&255)<<24>>24>>7<<24>>24;h=c[j+(l*52|0)+4>>2]|0;if(!h)h=0;else{h=Zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;j=c[b+740>>2]|0;g=j}c[m>>2]=h;h=c[j+(l*52|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+4>>2]=h;h=c[j+(l*52|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+8>>2]=h;c[m+12>>2]=c[j+(l*52|0)+16>>2];l=l+1|0;if((l|0)>=(k|0))break;else m=m+20|0}}else g=c[b+740>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,n,10729,1497453121,g)}}else c[e+268>>2]=0;A=c[b+752>>2]|0;c[e+304>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=A;if(A|0){j=c[e+304>>2]|0;m=Ob[c[(c[f>>2]|0)+16>>2]&63](f,36,j)|0;if((j|0)>0){g=c[b+760>>2]|0;k=0;l=c[m+8>>2]|0;while(1){h=c[g+(k*44|0)+4>>2]|0;if(!h)h=0;else{h=Zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+760>>2]|0}c[l+16>>2]=h;c[l>>2]=c[g+(k*44|0)+20>>2];c[l+4>>2]=c[g+(k*44|0)+24>>2];c[l+8>>2]=c[g+(k*44|0)+28>>2];c[l+12>>2]=c[g+(k*44|0)+32>>2];g=c[b+760>>2]|0;h=c[g+(k*44|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+20>>2]=h;h=c[g+(k*44|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+24>>2]=h;h=c[g+(k*44|0)+16>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+28>>2]=h;c[l+32>>2]=c[g+(k*44|0)+36>>2];k=k+1|0;if((k|0)>=(j|0))break;else l=l+36|0}}else g=c[b+760>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,m,10746,1497453121,g)}}else c[e+272>>2]=0;A=c[b+772>>2]|0;c[e+308>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=A;if(A|0){j=c[e+308>>2]|0;m=Ob[c[(c[f>>2]|0)+16>>2]&63](f,100,j)|0;if((j|0)>0){k=0;l=c[m+8>>2]|0;while(1){h=c[b+780>>2]|0;c[l>>2]=c[h+(k*104|0)+32>>2];c[l+4>>2]=c[h+(k*104|0)+36>>2];c[l+8>>2]=c[h+(k*104|0)+40>>2];c[l+12>>2]=c[h+(k*104|0)+44>>2];g=c[h+8>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+68>>2]=g;c[l+16>>2]=c[h+(k*104|0)+48>>2];c[l+20>>2]=c[h+(k*104|0)+52>>2];c[l+24>>2]=c[h+(k*104|0)+56>>2];c[l+28>>2]=c[h+(k*104|0)+60>>2];g=c[h+116>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+72>>2]=g;c[l+32>>2]=c[h+(k*104|0)+64>>2];c[l+36>>2]=c[h+(k*104|0)+68>>2];c[l+40>>2]=c[h+(k*104|0)+72>>2];c[l+44>>2]=c[h+(k*104|0)+76>>2];g=c[h+224>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+76>>2]=g;c[l+48>>2]=c[h+(k*104|0)+80>>2];c[l+52>>2]=c[h+(k*104|0)+84>>2];c[l+56>>2]=c[h+(k*104|0)+88>>2];c[l+60>>2]=c[h+(k*104|0)+92>>2];g=c[h+332>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+80>>2]=g;c[l+88>>2]=c[h+(k*104|0)+96>>2];g=c[b+780>>2]|0;c[l+92>>2]=c[g+(k*104|0)+100>>2];g=c[g+(k*104|0)+4>>2]|0;if(!g)g=0;else g=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[l+64>>2]=g;g=c[b+780>>2]|0;c[l+84>>2]=c[g+(k*104|0)+24>>2];k=k+1|0;if((k|0)>=(j|0))break;else l=l+100|0}}else g=c[b+780>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,m,10763,1497453121,g)}}else c[e+276>>2]=0;A=c[b+792>>2]|0;c[e+312>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=A;if(!A)x=f;else{j=c[e+312>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,92,j)|0;if((j|0)>0){l=0;m=c[k+8>>2]|0;while(1){h=c[b+800>>2]|0;c[m>>2]=c[h+(l*96|0)+28>>2];c[m+4>>2]=c[h+(l*96|0)+32>>2];c[m+8>>2]=c[h+(l*96|0)+36>>2];c[m+12>>2]=c[h+(l*96|0)+40>>2];c[m+16>>2]=c[h+(l*96|0)+44>>2];c[m+20>>2]=c[h+(l*96|0)+48>>2];c[m+24>>2]=c[h+(l*96|0)+52>>2];c[m+28>>2]=c[h+(l*96|0)+56>>2];c[m+32>>2]=c[h+(l*96|0)+60>>2];c[m+36>>2]=c[h+(l*96|0)+64>>2];c[m+40>>2]=c[h+(l*96|0)+68>>2];c[m+44>>2]=c[h+(l*96|0)+72>>2];c[m+48>>2]=c[h+(l*96|0)+76>>2];c[m+52>>2]=c[h+(l*96|0)+80>>2];c[m+56>>2]=c[h+(l*96|0)+84>>2];c[m+60>>2]=c[h+(l*96|0)+88>>2];c[m+88>>2]=c[h+(l*96|0)+92>>2];h=c[b+800>>2]|0;c[m+64>>2]=c[h+(l*96|0)+4>>2];c[m+68>>2]=c[h+(l*96|0)+8>>2];c[m+72>>2]=c[h+(l*96|0)+12>>2];c[m+76>>2]=c[h+(l*96|0)+16>>2];g=c[h+(l*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[h+(l*96|0)+20>>2]|0;if(!g)g=0;else g=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;l=l+1|0;if((l|0)>=(j|0))break;else m=m+92|0}}yb[c[(c[f>>2]|0)+20>>2]&31](f,k,10781,1497453121,c[b+800>>2]|0);x=f}}else{c[e+280>>2]=0;x=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];n=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=n;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,b+472|0)|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;m=c[n+8>>2]|0;c[m+96>>2]=c[b+632>>2];c[m+100>>2]=c[b+636>>2];c[m+104>>2]=c[b+640>>2];c[m+108>>2]=c[b+644>>2];c[m+112>>2]=c[b+648>>2];c[m+116>>2]=c[b+652>>2];c[m+120>>2]=c[b+656>>2];c[m+124>>2]=c[b+660>>2];c[m+128>>2]=c[b+664>>2];c[m+132>>2]=c[b+668>>2];c[m+136>>2]=c[b+672>>2];c[m+140>>2]=c[b+676>>2];c[m+180>>2]=d[b+473>>0];c[m+176>>2]=d[b+472>>0];c[m+144>>2]=c[b+520>>2];c[m+148>>2]=c[b+524>>2];c[m+152>>2]=c[b+528>>2];c[m+156>>2]=c[b+532>>2];A=c[b+484>>2]|0;c[m+168>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;h=c[m+168>>2]|0;c[m+160>>2]=A;if(h|0){l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[b+492>>2]|0;j=0;k=c[l+8>>2]|0;while(1){c[k>>2]=c[g+(j<<4)>>2];c[k+4>>2]=c[g+(j<<4)+4>>2];c[k+8>>2]=c[g+(j<<4)+8>>2];c[k+12>>2]=c[g+(j<<4)+12>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+16|0}}else g=c[b+492>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,l,19308,1497453121,g)}}else c[m+160>>2]=0;c[m+184>>2]=c[b+476>>2];c[m>>2]=c[b+536>>2];c[m+4>>2]=c[b+540>>2];c[m+8>>2]=c[b+544>>2];c[m+12>>2]=c[b+548>>2];c[m+16>>2]=c[b+552>>2];c[m+20>>2]=c[b+556>>2];c[m+24>>2]=c[b+560>>2];c[m+28>>2]=c[b+564>>2];c[m+32>>2]=c[b+568>>2];c[m+36>>2]=c[b+572>>2];c[m+40>>2]=c[b+576>>2];c[m+44>>2]=c[b+580>>2];c[m+48>>2]=c[b+584>>2];c[m+52>>2]=c[b+588>>2];c[m+56>>2]=c[b+592>>2];c[m+60>>2]=c[b+596>>2];c[m+64>>2]=c[b+600>>2];c[m+68>>2]=c[b+604>>2];c[m+72>>2]=c[b+608>>2];c[m+76>>2]=c[b+612>>2];c[m+80>>2]=c[b+616>>2];c[m+84>>2]=c[b+620>>2];c[m+88>>2]=c[b+624>>2];c[m+92>>2]=c[b+628>>2];A=c[b+504>>2]|0;c[m+172>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;k=c[m+172>>2]|0;c[m+164>>2]=A;if(!k)y=153;else{l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;if((k|0)>0){g=c[b+512>>2]|0;h=0;j=c[l+8>>2]|0;while(1){c[j>>2]=c[g+(h<<2)>>2];h=h+1|0;if((h|0)==(k|0))break;else j=j+4|0}}else g=c[b+512>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,l,10801,1497453121,g);w=f}}else{c[m+164>>2]=0;y=153}if((y|0)==153)w=f;yb[c[(c[w>>2]|0)+20>>2]&31](f,n,10807,1497453121,b+472|0);A=c[b+1112>>2]|0;c[e+316>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;q=c[e+316>>2]|0;c[e+284>>2]=A;if(q|0){r=Ob[c[(c[f>>2]|0)+16>>2]&63](f,348,q)|0;if((q|0)>0){s=c[z+12>>2]|0;t=c[z+52>>2]|0;u=0;v=c[r+8>>2]|0;while(1){h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;A=v+320|0;c[A>>2]=c[h+360>>2];c[v+256>>2]=c[h+332>>2];c[v+260>>2]=c[h+336>>2];c[v+264>>2]=c[h+340>>2];c[v+268>>2]=c[h+344>>2];c[v+344>>2]=c[h+380>>2];c[v+340>>2]=d[h+377>>0];c[v+160>>2]=c[h+228>>2];c[v+164>>2]=c[h+232>>2];c[v+168>>2]=c[h+236>>2];c[v+172>>2]=c[h+240>>2];c[v+336>>2]=d[h+376>>0];c[v+208>>2]=c[h+276>>2];c[v+212>>2]=c[h+280>>2];c[v+216>>2]=c[h+284>>2];c[v+220>>2]=c[h+288>>2];c[v+224>>2]=c[h+292>>2];c[v+228>>2]=c[h+296>>2];c[v+232>>2]=c[h+300>>2];c[v+236>>2]=c[h+304>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v>>2]=c[h+60>>2];c[v+4>>2]=c[h+64>>2];c[v+8>>2]=c[h+68>>2];c[v+12>>2]=c[h+72>>2];c[v+16>>2]=c[h+76>>2];c[v+20>>2]=c[h+80>>2];c[v+24>>2]=c[h+84>>2];c[v+28>>2]=c[h+88>>2];c[v+32>>2]=c[h+92>>2];c[v+36>>2]=c[h+96>>2];c[v+40>>2]=c[h+100>>2];c[v+44>>2]=c[h+104>>2];c[v+48>>2]=c[h+108>>2];c[v+52>>2]=c[h+112>>2];c[v+56>>2]=c[h+116>>2];c[v+60>>2]=c[h+120>>2];c[v+296>>2]=c[h+124>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+300>>2]=c[h+128>>2];c[v+112>>2]=c[h+180>>2];c[v+116>>2]=c[h+184>>2];c[v+120>>2]=c[h+188>>2];c[v+124>>2]=c[h+192>>2];c[v+128>>2]=c[h+196>>2];c[v+132>>2]=c[h+200>>2];c[v+136>>2]=c[h+204>>2];c[v+140>>2]=c[h+208>>2];c[v+144>>2]=c[h+212>>2];c[v+148>>2]=c[h+216>>2];c[v+152>>2]=c[h+220>>2];c[v+156>>2]=c[h+224>>2];g=v+316|0;c[g>>2]=c[h+356>>2];c[v+64>>2]=c[h+132>>2];c[v+68>>2]=c[h+136>>2];c[v+72>>2]=c[h+140>>2];c[v+76>>2]=c[h+144>>2];c[v+80>>2]=c[h+148>>2];c[v+84>>2]=c[h+152>>2];c[v+88>>2]=c[h+156>>2];c[v+92>>2]=c[h+160>>2];c[v+96>>2]=c[h+164>>2];c[v+100>>2]=c[h+168>>2];c[v+104>>2]=c[h+172>>2];c[v+108>>2]=c[h+176>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+240>>2]=c[h+316>>2];c[v+244>>2]=c[h+320>>2];c[v+248>>2]=c[h+324>>2];c[v+252>>2]=c[h+328>>2];c[v+324>>2]=c[h+364>>2];c[v+328>>2]=c[h+368>>2];c[v+312>>2]=c[h+352>>2];c[g>>2]=c[h+356>>2];c[A>>2]=c[h+360>>2];c[v+332>>2]=c[h+372>>2];A=c[h+44>>2]|0;g=v+284|0;c[g>>2]=A;m=v+292|0;c[m>>2]=c[h+4>>2];n=v+288|0;c[n>>2]=c[h+24>>2];c[v+304>>2]=c[h+308>>2];c[v+176>>2]=c[h+244>>2];c[v+180>>2]=c[h+248>>2];c[v+184>>2]=c[h+252>>2];c[v+188>>2]=c[h+256>>2];c[v+192>>2]=c[h+260>>2];c[v+196>>2]=c[h+264>>2];c[v+200>>2]=c[h+268>>2];c[v+204>>2]=c[h+272>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+308>>2]=c[h+312>>2];if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[h+52>>2]|0)|0;c[v+272>>2]=A;if(A|0){g=c[g>>2]|0;h=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,g)|0;if((g|0)>0){j=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+52>>2]|0;k=0;l=c[h+8>>2]|0;while(1){c[l>>2]=c[j+(k<<4)>>2];c[l+4>>2]=c[j+(k<<4)+4>>2];c[l+8>>2]=c[j+(k<<4)+8>>2];c[l+12>>2]=c[j+(k<<4)+12>>2];k=k+1|0;if((k|0)==(g|0))break;else l=l+16|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,h,19308,1497453121,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+52>>2]|0)}}else c[v+272>>2]=0;if(c[m>>2]|0){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0)|0;c[v+280>>2]=A;if(A|0){g=c[m>>2]|0;h=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,g)|0;if((g|0)>0){j=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0;k=0;l=c[h+8>>2]|0;while(1){c[l>>2]=c[j+(k<<2)>>2];k=k+1|0;if((k|0)==(g|0))break;else l=l+4|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,h,10801,1497453121,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0)}}else c[v+280>>2]=0;if(c[n>>2]|0){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+20|0)|0;c[v+276>>2]=A;if(A|0){k=c[m>>2]|0;l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;if((k|0)>0){m=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+32>>2]|0;n=c[z+32>>2]|0;o=0;p=c[l+8>>2]|0;while(1){h=c[m+(o<<2)>>2]|0;g=(h+~(h<<15)>>10^h+~(h<<15))*9|0;j=c[z+72>>2]|0;g=c[s+((((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11))&(c[z+48>>2]|0)+-1)<<2)>>2]|0;if((h|0)!=(c[j+(g<<3)>>2]|0))do g=c[n+(g<<2)>>2]|0;while((h|0)!=(c[j+(g<<3)>>2]|0));c[p>>2]=c[t+(g<<2)>>2];o=o+1|0;if((o|0)==(k|0))break;else p=p+4|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,l,10844,1497453121,(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+20|0)}}else c[v+276>>2]=0;u=u+1|0;if((u|0)>=(q|0))break;else v=v+348|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,r,10824,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;A=c[b+852>>2]|0;c[e+320>>2]=A;if(!A){c[e+288>>2]=0;pj(z);i=z;return 10868}A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=A;if(!A){pj(z);i=z;return 10868}j=c[b+852>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,104,j)|0;if((j|0)>0){m=0;n=c[k+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;c[n+96>>2]=Eb[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+860>>2]|0)+(m<<2)|0;h=c[g>>2]|0;c[n+8>>2]=c[h+28>>2];c[n+12>>2]=c[h+32>>2];c[n+16>>2]=c[h+36>>2];c[n+20>>2]=c[h+40>>2];c[n+24>>2]=c[h+44>>2];c[n+28>>2]=c[h+48>>2];c[n+32>>2]=c[h+52>>2];c[n+36>>2]=c[h+56>>2];c[n+40>>2]=c[h+60>>2];c[n+44>>2]=c[h+64>>2];c[n+48>>2]=c[h+68>>2];c[n+52>>2]=d[h+152>>0];h=n+56|0;c[n>>2]=0;l=n+4|0;c[l>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;g=c[g>>2]|0;h=c[g+4>>2]|0;if(h){c[n+88>>2]=1;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}if(c[g+12>>2]|0){c[n+88>>2]=3;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[(c[(c[b+860>>2]|0)+(m<<2)>>2]|0)+12>>2]|0)|0}g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;h=c[g+8>>2]|0;if(h){c[n+88>>2]=2;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+16>>2]|0;if(h){c[n+92>>2]=1;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+24>>2]|0;if(h){c[n+92>>2]=3;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[n+92>>2]=2;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,g)|0}m=m+1|0;if((m|0)>=(j|0))break;else n=n+104|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,k,10848,1497453121,c[b+860>>2]|0);pj(z);i=z;return 10868}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;K=i;i=i+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;i=K;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;k=c[f+88>>2]|0;l=c[f+200>>2]|0;j=c[f+92>>2]|0;g=c[f+204>>2]|0;if((k|0)==(l|0)){if((j|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=j;if((j|0)==(g|0)){I=(c[f+96>>2]|0)>(c[f+208>>2]|0);g=I?f+112|0:f;c[g>>2]=g;c[g+4>>2]=g;c[e>>2]=g;c[e+4>>2]=g;c[e+8>>2]=g;c[e+12>>2]=g;f=I?f:f+112|0}else{h=g;g=0;J=9}}else{h=g;g=(j|0)==(g|0);J=9}do if((J|0)==9){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;J=(j|0)<(h|0);c[e>>2]=(k|0)<(l|0)|(k|0)==(l|0)&J?f:f+112|0;c[e+4>>2]=(k|0)<(l|0)|(k|0)==(l|0)&J?f+112|0:f;if(J|(k|0)<(l|0)&g){c[e+8>>2]=f;c[e+12>>2]=f+112;g=f;f=f+112|0;break}else{c[e+8>>2]=f+112;c[e+12>>2]=f;g=f;f=f+112|0;break}}while(0);a=dg(a,g,f)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[f+8>>2]=a;i=K;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{n=((d-b|0)/2|0)+b|0;h=c[a+92>>2]|0;m=c[h+(n+-1<<2)>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;b:do if((n|0)<(d|0)){f=n;do{g=c[h+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(j|0))break b;if((c[g+92>>2]|0)!=(k|0))break b;if((c[g+96>>2]|0)!=(m|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);vc(a,b,n,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;vc(a,f,d,K+96|0);m=c[K+96+4>>2]|0;c:do if(m|0){A=c[e+4>>2]|0;if(!A){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;h=c[e+12>>2]|0;k=c[K+96+8>>2]|0;j=c[h+88>>2]|0;d:do if((j|0)==(c[k+88>>2]|0)?(l=c[h+92>>2]|0,(l|0)==(c[k+92>>2]|0)):0){n=c[k+4>>2]|0;if((n|0)==(k|0)){f=c[k+8>>2]|0;if(f){k=c[f+12>>2]|0;l=c[k+92>>2]|0;j=c[k+88>>2]|0}g=h;G=k;f=k;n=j+1|0;d=c[k+96>>2]|0;break}h=c[k>>2]|0;c[n>>2]=h;c[h+4>>2]=n;e:do if((k|0)==(c[K+96>>2]|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;do if((f|0)>=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)<(c[n+92>>2]|0):0)break;c[K+96>>2]=n;break e}while(0);c[K+96>>2]=h}while(0);if((k|0)==(m|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)>(c[n+92>>2]|0):0)break;c[K+96+4>>2]=n;h=n;J=39;break d}while(0);c[K+96+4>>2]=h;J=39}else{h=m;J=39}}else{h=m;J=39}while(0);if((J|0)==39){w=c[e>>2]|0;x=c[K+96>>2]|0;y=0;z=1;b=A;g=0;f=h;j=0;while(1){k=c[f+88>>2]|0;d=c[b+88>>2]|0;l=_(k-d|0,z)|0;f:do if((l|0)<=0){if((l|0)<0){v=(y|0)!=0;n=c[b+92>>2]|0;u=c[f+92>>2]|0;m=l;l=b;while(1){r=c[(v?f+4|0:f)>>2]|0;s=(r|0)==(f|0);t=f+88|0;q=m;while(1){m=l+88|0;o=u-n|0;if(!s?(B=c[r+88>>2]|0,D=_(B-k|0,z)|0,E=c[r+92>>2]|0,F=E-u|0,(F|0)>-1):0){if(!D)break;if((D|0)<0?(_(F,q)|0)<=(_(D,o)|0):0)break}p=c[(v?l+4|0:l)>>2]|0;if((p|0)==(l|0))break f;G=c[p+88>>2]|0;d=_(G-(c[m>>2]|0)|0,z)|0;b=c[p+92>>2]|0;m=b-n|0;k=c[t>>2]|0;n=q;q=_(k-G|0,z)|0;if(!((m|0)>0&(q|0)<0))break f;if(!d){n=b;l=p;continue}if((d|0)>=0)break f;if((_(m,n)|0)>=(_(d,o)|0))break f;else{n=b;l=p}}k=B;u=E;m=_(B-(c[m>>2]|0)|0,z)|0;f=r}}k=c[b+92>>2]|0;n=(y|0)!=0;g:do if(n){m=b;while(1){l=c[m>>2]|0;if((l|0)==(b|0))break g;if((c[l+88>>2]|0)!=(d|0))break g;G=k;k=c[l+92>>2]|0;if((k|0)>(G|0))break;else m=l}}else{m=b;while(1){l=c[m+4>>2]|0;if((l|0)==(b|0))break g;if((c[l+88>>2]|0)!=(d|0))break g;G=k;k=c[l+92>>2]|0;if((k|0)>(G|0))break;else m=l}}while(0);l=c[f+92>>2]|0;if(n){n=f;while(1){k=c[n+4>>2]|0;if((k|0)==(f|0)){l=m;f=n;break f}if((c[k+88>>2]|0)!=(d|0)){l=m;f=n;break f}G=l;l=c[k+92>>2]|0;if((l|0)<(G|0)){l=m;f=n;break}else n=k}}else{n=f;while(1){k=c[n>>2]|0;if((k|0)==(f|0)){l=m;f=n;break f}if((c[k+88>>2]|0)!=(d|0)){l=m;f=n;break f}G=l;l=c[k+92>>2]|0;if((l|0)<(G|0)){l=m;f=n;break}else n=k}}}else{u=(y|0)!=0;s=d;t=c[f+92>>2]|0;r=l;while(1){q=f+88|0;m=c[b+92>>2]|0;k=t-m|0;l=c[(u?b:b+4|0)>>2]|0;h:do if((l|0)!=(b|0))if(u){p=s;o=m;d=r;while(1){m=p;p=c[l+88>>2]|0;m=_(p-m|0,z)|0;n=o;o=c[l+92>>2]|0;n=o-n|0;if((n|0)>=1){o=k;l=b;break h}if(m|0){if((m|0)>=0){o=k;l=b;break h}if((_(n,d)|0)>(_(m,k)|0)){o=k;l=b;break h}}n=_((c[q>>2]|0)-p|0,z)|0;k=t-o|0;m=c[l>>2]|0;if((m|0)==(l|0)){o=k;d=n;break}else{b=l;l=m;d=n}}}else{p=s;o=m;d=r;while(1){m=p;p=c[l+88>>2]|0;m=_(p-m|0,z)|0;n=o;o=c[l+92>>2]|0;n=o-n|0;if((n|0)>=1){o=k;l=b;break h}if(m|0){if((m|0)>=0){o=k;l=b;break h}if((_(n,d)|0)>(_(m,k)|0)){o=k;l=b;break h}}n=_((c[q>>2]|0)-p|0,z)|0;k=t-o|0;m=c[l+4>>2]|0;if((m|0)==(l|0)){o=k;d=n;break}else{b=l;l=m;d=n}}}else{o=k;d=r;l=b}while(0);n=c[(u?f:f+4|0)>>2]|0;if((n|0)==(f|0))break f;r=c[n+88>>2]|0;k=_(r-(c[q>>2]|0)|0,z)|0;m=t;t=c[n+92>>2]|0;m=t-m|0;s=c[l+88>>2]|0;r=_(r-s|0,z)|0;if(!((m|0)<0&(r|0)>0))break f;if(!k){b=l;f=n;continue}if((k|0)>=0)break f;if((_(m,d)|0)>=(_(k,o)|0))break;else{b=l;f=n}}}while(0);k=(y|0)==0;j=k?f:j;g=k?l:g;f=k?x:f;b=k?w:l;y=y+1|0;if((y|0)==2)break;else z=k?-1:z}c[b+4>>2]=f;c[f>>2]=b;c[g>>2]=j;c[j+4>>2]=g;if((c[x+88>>2]|0)<(c[w+88>>2]|0))c[e>>2]=x;if((c[h+88>>2]|0)>=(c[A+88>>2]|0))c[e+4>>2]=h;c[e+12>>2]=c[K+96+12>>2];h=g;F=j;s=c[j+88>>2]|0;d=c[g+88>>2]|0;t=c[j+92>>2]|0;u=c[g+92>>2]|0;v=c[j+96>>2]|0;b=c[g+96>>2]|0;w=((t-u|0)<0)<<31>>31;x=0-(s-d)|0;y=Is(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=vr(v-b|0,((v-b|0)<0)<<31>>31|0,y|0,C|0)|0;z=C;A=vr(v-b|0,((v-b|0)<0)<<31>>31|0,t-u|0,w|0)|0;B=C;o=vr(s-d|0,((s-d|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;E=C;D=vr(t-u|0,w|0,t-u|0,w|0)|0;D=Is(o|0,E|0,D|0,C|0)|0;E=C;o=c[g+8>>2]|0;c[K+120>>2]=0;if(!o)p=0;else{p=Is(0,0,t-u|0,w|0)|0;q=C;f=0;r=o;while(1){m=c[r+12>>2]|0;k=c[m+88>>2]|0;l=c[m+92>>2]|0;m=c[m+96>>2]|0;n=vr(l-u|0,((l-u|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=C;e=vr(k-d|0,((k-d|0)<0)<<31>>31|0,p|0,q|0)|0;i:do if((n|0)==(e|0)&(G|0)==(C|0)?(e=vr(k-d|0,((k-d|0)<0)<<31>>31|0,y|0,z|0)|0,n=C,G=vr(l-u|0,((l-u|0)<0)<<31>>31|0,A|0,B|0)|0,n=Kt(G|0,C|0,e|0,n|0)|0,e=C,G=vr(m-b|0,((m-b|0)<0)<<31>>31|0,D|0,E|0)|0,G=Kt(n|0,e|0,G|0,C|0)|0,e=C,(e|0)>0|(e|0)==0&G>>>0>0):0){do if(f|0){n=(c[f+4>>2]|0)==(r|0);if((c[f>>2]|0)!=(r|0))if(n)break;else break i;if(!n)break i;e=c[f+12>>2]|0;L=c[(c[r+8>>2]|0)+12>>2]|0;G=c[L+88>>2]|0;n=c[L+92>>2]|0;L=c[L+96>>2]|0;M=(c[e+96>>2]|0)-L|0;n=(_(m-L|0,(c[e+92>>2]|0)-n|0)|0)-(_(M,l-n|0)|0)|0;G=(_(M,k-G|0)|0)-(_(m-L|0,(c[e+88>>2]|0)-G|0)|0)|0;n=vr(n|0,((n|0)<0)<<31>>31|0,t-u|0,w|0)|0;e=C;G=vr(G|0,((G|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=Kt(n|0,e|0,G|0,C|0)|0;e=C;if((e|0)>0|(e|0)==0&G>>>0>0)break i}while(0);c[K+120>>2]=r;f=r}while(0);r=c[r>>2]|0;if((r|0)==(o|0)){p=f;break}}}n=c[j+8>>2]|0;c[K+72>>2]=0;if(!n)f=0;else{d=Is(0,0,t-u|0,w|0)|0;b=C;f=0;o=n;do{m=c[o+12>>2]|0;k=c[m+88>>2]|0;l=c[m+92>>2]|0;m=c[m+96>>2]|0;G=vr(l-t|0,((l-t|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;M=C;L=vr(k-s|0,((k-s|0)<0)<<31>>31|0,d|0,b|0)|0;do if((G|0)==(L|0)&(M|0)==(C|0)?(L=vr(k-s|0,((k-s|0)<0)<<31>>31|0,y|0,z|0)|0,G=C,M=vr(l-t|0,((l-t|0)<0)<<31>>31|0,A|0,B|0)|0,G=Kt(M|0,C|0,L|0,G|0)|0,L=C,M=vr(m-v|0,((m-v|0)<0)<<31>>31|0,D|0,E|0)|0,M=Kt(G|0,L|0,M|0,C|0)|0,L=C,(L|0)>0|(L|0)==0&M>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(L=c[f+12>>2]|0,e=c[(c[o+8>>2]|0)+12>>2]|0,M=c[e+88>>2]|0,G=c[e+92>>2]|0,e=c[e+96>>2]|0,r=(c[L+96>>2]|0)-e|0,G=(_(m-e|0,(c[L+92>>2]|0)-G|0)|0)-(_(r,l-G|0)|0)|0,M=(_(r,k-M|0)|0)-(_(m-e|0,(c[L+88>>2]|0)-M|0)|0)|0,G=vr(G|0,((G|0)<0)<<31>>31|0,t-u|0,w|0)|0,L=C,M=vr(M|0,((M|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0,M=Kt(G|0,L|0,M|0,C|0)|0,L=C,!((L|0)>0|(L|0)==0&M>>>0>0)):0)break}c[K+72>>2]=o;f=o}while(0);o=c[o>>2]|0}while((o|0)!=(n|0))}if((p|0)!=0|(f|0)!=0){Ac(a,g,j,K+120|0,K+72|0);f=c[K+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[K+72>>2]|0;if(!f)f=F;else{f=c[f+12>>2]|0;j=f}}else f=F;G=j;n=c[j+88>>2]|0;d=(c[j+96>>2]|0)+1|0;l=c[j+92>>2]|0}w=G;x=g;j=0;D=0;e=1;k=0;m=0;y=0;A=0;B=n;o=d;F=0;n=0;while(1){z=x+88|0;u=(c[w+88>>2]|0)-(c[z>>2]|0)|0;M=x+92|0;E=(c[w+92>>2]|0)-(c[M>>2]|0)|0;t=x+96|0;r=(c[w+96>>2]|0)-(c[t>>2]|0)|0;c[K+120>>2]=u;c[K+120+4>>2]=E;c[K+120+8>>2]=r;c[K+120+12>>2]=-1;z=B-(c[z>>2]|0)|0;M=l-(c[M>>2]|0)|0;t=o-(c[t>>2]|0)|0;s=(_(r,M)|0)-(_(E,t)|0)|0;t=(_(u,t)|0)-(_(r,z)|0)|0;M=(_(E,z)|0)-(_(u,M)|0)|0;c[K+72>>2]=s;c[K+72+4>>2]=((s|0)<0)<<31>>31;c[K+72+8>>2]=t;c[K+72+8+4>>2]=((t|0)<0)<<31>>31;c[K+72+16>>2]=M;c[K+72+16+4>>2]=((M|0)<0)<<31>>31;z=vr(E|0,((E|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;L=C;v=vr(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;v=Is(z|0,L|0,v|0,C|0)|0;L=C;r=vr(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;z=C;M=vr(u|0,((u|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Is(r|0,z|0,M|0,C|0)|0;z=C;t=vr(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=C;E=vr(s|0,((s|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;E=Is(t|0,u|0,E|0,C|0)|0;c[K+48>>2]=v;c[K+48+4>>2]=L;c[K+48+8>>2]=M;c[K+48+8+4>>2]=z;c[K+48+16>>2]=E;c[K+48+16+4>>2]=C;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;E=Id(a,0,x,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;z=Id(a,1,w,K+120|0,K+72|0,K+48|0,K)|0;do if((E|0)!=0|(z|0)!=0){d=E|0?-1:1;do if((E|0)!=0&(z|0)!=0){v=c[K+24+16>>2]|0;d=c[K+16>>2]|0;if((v|0)!=(d|0)){u=v-d|0;break}if(!v)u=0;else{M=c[K+24>>2]|0;t=c[K+24+4>>2]|0;p=c[K+8>>2]|0;N=c[K+8+4>>2]|0;b=vr(p|0,0,M|0,0)|0;d=C;M=vr(N|0,0,M|0,0)|0;L=C;p=vr(p|0,0,t|0,0)|0;q=C;t=vr(N|0,0,t|0,0)|0;N=C;p=Kt(M|0,0,p|0,0)|0;M=C;N=Kt(L|0,0,t|0,N|0)|0;q=Kt(N|0,C|0,q|0,0)|0;M=Kt(q|0,C|0,M|0,0)|0;q=C;d=Kt(0,p|0,b|0,d|0)|0;b=C;p=Kt(M|0,q|0,(b>>>0

>>0|(b|0)==(p|0)&d>>>0<0)&1|0,0)|0;q=C;M=c[K+24+8>>2]|0;N=c[K+24+8+4>>2]|0;t=c[K>>2]|0;L=c[K+4>>2]|0;s=vr(t|0,0,M|0,0)|0;r=C;M=vr(L|0,0,M|0,0)|0;O=C;t=vr(t|0,0,N|0,0)|0;u=C;N=vr(L|0,0,N|0,0)|0;L=C;t=Kt(M|0,0,t|0,0)|0;M=C;L=Kt(O|0,0,N|0,L|0)|0;u=Kt(L|0,C|0,u|0,0)|0;M=Kt(u|0,C|0,M|0,0)|0;u=C;r=Kt(0,t|0,s|0,r|0)|0;s=C;t=Kt(M|0,u|0,(s>>>0>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=C;if(!(q>>>0>>0|(q|0)==(u|0)&p>>>0>>0))if(!(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0))if(b>>>0>>0|(b|0)==(s|0)&d>>>0>>0)d=-1;else d=(b>>>0>s>>>0|(b|0)==(s|0)&d>>>0>r>>>0)&1;else d=1;else d=-1;u=_(d,v)|0}}else u=d;while(0);do if(!e)if((u|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){b=y;t=A;break}else{J=136;break}else if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){b=y;t=A;break}else{J=136;break}else J=136;while(0);if((J|0)==136){J=0;b=dg(a,x,w)|0;if(!y)k=b;else c[y+4>>2]=b;c[b>>2]=y;d=c[b+8>>2]|0;if(!A)m=d;else c[A>>2]=d;c[d+4>>2]=A;t=d}c[K+116>>2]=E;c[K+112>>2]=z;if(!u){Ac(a,h,f,K+116|0,K+112|0);s=c[K+112>>2]|0}else s=z;if((u|0)>-1&(s|0)!=0){r=(n|0)!=0;if(r?(H=c[n>>2]|0,(H|0)!=(z|0)):0){p=H;do{q=p;p=c[p>>2]|0;o=c[q+8>>2]|0;d=c[o+12>>2]|0;if((p|0)==(q|0))l=0;else{c[p+4>>2]=c[q+4>>2];c[c[q+4>>2]>>2]=p;l=p}c[d+8>>2]=l;l=c[o>>2]|0;d=c[q+12>>2]|0;if((l|0)==(o|0))l=0;else{c[l+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=l}c[d+8>>2]=l;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((p|0)!=(z|0))}if(!t){n=s;l=r?D:z}else{if(r){c[n>>2]=m;d=z+4|0;l=D}else{n=c[z+4>>2]|0;c[n>>2]=m;d=z+4|0;l=m}c[m+4>>2]=n;c[t>>2]=z;c[d>>2]=t;n=c[K+112>>2]|0;m=0}y=f;f=c[n+12>>2]|0;D=l;t=0;d=c[y+88>>2]|0;o=c[y+96>>2]|0;l=c[y+92>>2]|0;y=c[n+8>>2]|0}else{d=B;y=n}s=c[K+116>>2]|0;if((u|0)<1&(s|0)!=0){r=(F|0)!=0;if(r?(I=c[F+4>>2]|0,(I|0)!=(E|0)):0){p=I;do{n=p+4|0;q=p;p=c[n>>2]|0;l=c[q>>2]|0;o=c[q+8>>2]|0;d=c[o+12>>2]|0;if((l|0)==(q|0))l=0;else{c[l+4>>2]=p;c[c[n>>2]>>2]=l}c[d+8>>2]=l;l=c[o>>2]|0;n=c[q+12>>2]|0;if((l|0)==(o|0))l=0;else{c[l+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=l}c[n+8>>2]=l;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((p|0)!=(E|0))}if(!b){n=s;j=r?j:E}else{if(r){c[F+4>>2]=k;n=E;l=F}else{l=c[E>>2]|0;c[l+4>>2]=k;n=E;j=k}c[k>>2]=l;c[n>>2]=b;c[b+4>>2]=E;n=c[K+116>>2]|0;k=0}l=h;h=c[n+12>>2]|0;u=0;w=c[l+88>>2]|0;x=c[l+96>>2]|0;l=c[l+92>>2]|0;v=c[n+8>>2]|0}else{u=b;w=d;x=o;v=F}if((h|0)==(g|0)&(f|0)==(G|0)){if(v){r=v+4|0;n=c[r>>2]|0;if((n|0)!=(j|0))do{b=n+4|0;q=n;n=c[b>>2]|0;d=c[q>>2]|0;p=c[q+8>>2]|0;o=c[p+12>>2]|0;if((d|0)==(q|0))d=0;else{c[d+4>>2]=n;c[c[b>>2]>>2]=d}c[o+8>>2]=d;d=c[p>>2]|0;b=c[q+12>>2]|0;if((d|0)==(p|0))d=0;else{c[d+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=d}c[b+8>>2]=d;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((n|0)!=(j|0));if(u|0){c[k>>2]=v;c[r>>2]=k;c[j>>2]=u;c[u+4>>2]=j}}else{c[k>>2]=u;c[u+4>>2]=k;c[h+8>>2]=u}if(!y){c[t>>2]=m;c[m+4>>2]=t;c[G+8>>2]=t;s=0;q=D;r=e;p=u;b=w;o=x;d=v;n=0;break}n=c[y>>2]|0;if((n|0)!=(D|0))do{p=n;n=c[n>>2]|0;o=c[p+8>>2]|0;b=c[o+12>>2]|0;if((n|0)==(p|0))d=0;else{c[n+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=n;d=n}c[b+8>>2]=d;d=c[o>>2]|0;b=c[p+12>>2]|0;if((d|0)==(o|0))d=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d}c[b+8>>2]=d;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((n|0)!=(D|0));if(!t){s=0;q=D;r=e;p=u;t=0;b=w;o=x;d=v;n=y}else{c[y>>2]=m;c[m+4>>2]=y;c[t>>2]=D;c[D+4>>2]=t;s=0;q=D;r=e;p=u;b=w;o=x;d=v;n=y}}else{s=1;q=D;r=0;p=u;b=w;o=x;d=v;n=y}}else{s=dg(a,x,w)|0;c[s>>2]=s;c[s+4>>2]=s;c[x+8>>2]=s;s=c[s+8>>2]|0;c[s>>2]=s;c[s+4>>2]=s;c[f+8>>2]=s;s=0;q=D;r=e;p=y;t=A;b=B;d=F}while(0);if(!s)break c;w=f;x=h;D=q;e=r;y=p;A=t;B=b;F=d}}while(0);i=K;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;i=K;return}function wc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=i;i=i+368|0;e=c[b+24>>2]|0;if((e|0)<=0){i=ga;return}K=ga+56+76|0;V=ga+272+16|0;W=ga+272+32|0;J=0;do{I=c[(c[b+32>>2]|0)+(J<<2)>>2]|0;switch(c[I+216>>2]|0){case 2:case 5:break;default:{if(a[I+924>>0]|0){a[I+924>>0]=0;h=c[I+732>>2]|0;if((h|0)>0){e=c[I+740>>2]|0;f=0;do{G=c[e+(f*52|0)+8>>2]|0;H=c[e+(f*52|0)+12>>2]|0;D=+g[G+8>>2]-+g[H+8>>2];E=+g[G+12>>2]-+g[H+12>>2];F=+g[G+16>>2]-+g[H+16>>2];F=+O(+(D*D+E*E+F*F));g[e+(f*52|0)+16>>2]=F;g[e+(f*52|0)+28>>2]=F*F;f=f+1|0}while((f|0)!=(h|0));e=c[I+740>>2]|0;f=0;do{g[e+(f*52|0)+24>>2]=(+g[(c[e+(f*52|0)+8>>2]|0)+88>>2]+ +g[(c[e+(f*52|0)+12>>2]|0)+88>>2])/+g[(c[e+(f*52|0)+4>>2]|0)+4>>2];f=f+1|0}while((f|0)!=(h|0))}eg(I);e=c[I+988>>2]|0;if(e|0)xn(I+988|0,e);e=c[I+992>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[I+992>>2]=0;c[I+996>>2]=-1;e=c[I+1020>>2]|0;if(e|0){if(a[I+1024>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[I+1020>>2]=0}a[I+1024>>0]=1;c[I+1020>>2]=0;c[I+1012>>2]=0;c[I+1016>>2]=0;c[I+1004>>2]=0;if(c[I+388>>2]&16|0)gg(I)}m=+g[I+368>>2]*d;g[I+452>>2]=m;g[I+456>>2]=1.0/m;g[I+460>>2]=m*3.0;e=c[I+192>>2]|0;m=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);g[I+464>>2]=m;g[I+468>>2]=m*.25;e=c[I+684>>2]|0;m=+g[I+452>>2];j=+g[e+40>>2]*m;l=m*+g[e+44>>2];m=m*+g[e+48>>2];e=c[I+712>>2]|0;if((e|0)>0){f=c[I+720>>2]|0;h=0;do{if(+g[f+(h*104|0)+88>>2]>0.0){H=f+(h*104|0)+40|0;g[H>>2]=j+ +g[H>>2];H=f+(h*104|0)+44|0;g[H>>2]=l+ +g[H>>2];H=f+(h*104|0)+48|0;g[H>>2]=m+ +g[H>>2]}h=h+1|0}while((h|0)!=(e|0))}li(11033);E=+g[I+308>>2];F=+g[I+312>>2];n=+g[I+304>>2]>0.0?1:+g[I+300>>2]>0.0;y=c[I+712>>2]|0;if(E!=0.0|F>0.0){if((y|0)>0){e=c[I+720>>2]|0;l=+g[e+8>>2];m=+g[e+12>>2];o=+g[e+16>>2];e=c[I+752>>2]|0;if((e|0)>0){f=c[I+760>>2]|0;h=0;j=0.0;do{H=c[f+(h*44|0)+8>>2]|0;G=c[f+(h*44|0)+12>>2]|0;C=+g[G+8>>2]-l;x=+g[G+12>>2]-m;A=+g[G+16>>2]-o;G=c[f+(h*44|0)+16>>2]|0;B=+g[G+8>>2]-l;z=+g[G+12>>2]-m;D=+g[G+16>>2]-o;j=j+((+g[H+16>>2]-o)*(C*z-x*B)+((+g[H+8>>2]-l)*(x*D-A*z)+(+g[H+12>>2]-m)*(A*B-C*D)));h=h+1|0}while((h|0)!=(e|0))}else j=0.0;j=j/6.0}else j=0.0;D=E*(1.0/+N(+j));C=F*(+g[I+476>>2]-j)}else{C=0.0;D=0.0}a:do if((y|0)>0){if(!n){e=c[I+720>>2]|0;f=0;while(1){if(+g[e+(f*104|0)+88>>2]>0.0){if(E!=0.0){z=D*+g[e+(f*104|0)+92>>2];A=z*+g[e+(f*104|0)+76>>2];B=z*+g[e+(f*104|0)+80>>2];H=e+(f*104|0)+56|0;g[H>>2]=+g[e+(f*104|0)+72>>2]*z+ +g[H>>2];H=e+(f*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=e+(f*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}if(F>0.0){z=C*+g[e+(f*104|0)+92>>2];A=z*+g[e+(f*104|0)+76>>2];B=z*+g[e+(f*104|0)+80>>2];H=e+(f*104|0)+56|0;g[H>>2]=+g[e+(f*104|0)+72>>2]*z+ +g[H>>2];H=e+(f*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=e+(f*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}}f=f+1|0;if((f|0)==(y|0))break a}}f=c[I+720>>2]|0;h=0;do{x=+g[f+(h*104|0)+88>>2];if(x>0.0){z=+g[I+452>>2];q=+g[I+304>>2];o=+g[I+300>>2];b:do if((q>0.0|o>0.0?(L=c[c[I+684>>2]>>2]|0,(c[I+288>>2]|0)<4):0)?(M=+g[f+(h*104|0)+40>>2],P=M-+g[I+1212>>2],Q=+g[f+(h*104|0)+44>>2],R=Q-+g[I+1216>>2],S=+g[f+(h*104|0)+48>>2],T=S-+g[I+1220>>2],U=+O(+(P*P+R*R+T*T)),P*P+R*R+T*T>1.1920928955078125e-07):0){u=P*(1.0/U);A=R*(1.0/U);B=T*(1.0/U);s=+g[f+(h*104|0)+72>>2];t=+g[f+(h*104|0)+76>>2];v=+g[f+(h*104|0)+80>>2];switch(c[I+288>>2]|0){case 2:break;case 1:case 3:case 0:{j=P*s+R*t+T*v<0.0?-1.0:1.0;if(!(T*v*j+(P*s*j+R*t*j)>0.0))break b;w=-((c[k>>2]=L,+g[k>>2])*(P*P+R*R+T*T)*(T*v*j+(P*s*j+R*t*j))*+g[f+(h*104|0)+92>>2]*.5);m=u*o*w+(s*j*q*w+0.0);l=A*o*w+(t*j*q*w+0.0);j=B*o*w+(v*j*q*w+0.0);e=f+(h*104|0)+56|0;if(z*x*j*z*x*j+(z*x*m*z*x*m+z*x*l*z*x*l)>M*M+Q*Q+S*S){B=1.0/+O(+(j*j+(m*m+l*l)));g[e>>2]=+g[e>>2]-1.0/(z*x)*m*B*(S*j*B+(M*m*B+Q*l*B));H=f+(h*104|0)+60|0;g[H>>2]=+g[H>>2]-1.0/(z*x)*l*B*(S*j*B+(M*m*B+Q*l*B));H=f+(h*104|0)+64|0;g[H>>2]=+g[H>>2]-1.0/(z*x)*j*B*(S*j*B+(M*m*B+Q*l*B));break b}else{g[e>>2]=m+ +g[e>>2];H=f+(h*104|0)+60|0;g[H>>2]=l+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=j+ +g[H>>2];break b}}default:break b}p=P*s+R*t+T*v<0.0?-1.0:1.0;j=B*v*p+(u*s*p+A*t*p);l=+g[f+(h*104|0)+92>>2]*.5;m=(c[k>>2]=L,+g[k>>2]);w=j*o*.5*m*(P*P+R*R+T*T)*l;if(j>0.0&j<.9847999811172485){o=q*.5*m*U*l*+O(+(1.0-j*j));q=(B*(u*v*p-B*s*p)-A*(A*s*p-u*t*p))*o;r=(u*(A*s*p-u*t*p)-B*(B*t*p-A*v*p))*o;o=(A*(B*t*p-A*v*p)-u*(u*v*p-B*s*p))*o}else{q=0.0;r=0.0;o=0.0}j=z*x*-(B*w)*z*x*-(B*w)+(x*-(u*w)*z*x*-(u*w)*z+z*x*-(A*w)*z*x*-(A*w));if(j>0.0?j>=M*M+Q*Q+S*S:0){j=+O(+(M*M+Q*Q+S*S))/+O(+j)*.800000011920929;m=j*-(u*w);l=j*-(B*w);j=j*-(A*w)}else{m=-(u*w);l=-(B*w);j=-(A*w)}n=f+(h*104|0)+56|0;G=f+(h*104|0)+60|0;A=j+ +g[G>>2];H=f+(h*104|0)+64|0;B=l+ +g[H>>2];g[n>>2]=q+(m+ +g[n>>2]);g[G>>2]=r+A;g[H>>2]=o+B}while(0);if(E!=0.0){z=D*+g[f+(h*104|0)+92>>2];A=z*+g[f+(h*104|0)+76>>2];B=z*+g[f+(h*104|0)+80>>2];H=f+(h*104|0)+56|0;g[H>>2]=+g[f+(h*104|0)+72>>2]*z+ +g[H>>2];H=f+(h*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}if(F>0.0){z=C*+g[f+(h*104|0)+92>>2];A=z*+g[f+(h*104|0)+76>>2];B=z*+g[f+(h*104|0)+80>>2];H=f+(h*104|0)+56|0;g[H>>2]=+g[f+(h*104|0)+72>>2]*z+ +g[H>>2];H=f+(h*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}}h=h+1|0}while((h|0)!=(y|0))}while(0);G=c[I+752>>2]|0;if((G|0)>0){H=0;do{w=+g[I+452>>2];q=+g[I+304>>2];p=+g[I+300>>2];c:do if((q>0.0|p>0.0?(X=c[I+288>>2]|0,(X|0)>3):0)?(Y=c[I+760>>2]|0,Z=c[Y+(H*44|0)+8>>2]|0,n=c[Y+(H*44|0)+12>>2]|0,_=+g[Z+40>>2],$=+g[Z+44>>2],aa=+g[Z+48>>2],y=c[Y+(H*44|0)+16>>2]|0,ba=c[c[I+684>>2]>>2]|0,ca=(_+ +g[n+40>>2]+ +g[y+40>>2])*.3333333432674408-+g[I+1212>>2],da=($+ +g[n+44>>2]+ +g[y+44>>2])*.3333333432674408-+g[I+1216>>2],ea=(aa+ +g[n+48>>2]+ +g[y+48>>2])*.3333333432674408-+g[I+1220>>2],fa=+O(+(ca*ca+da*da+ea*ea)),ca*ca+da*da+ea*ea>1.1920928955078125e-07):0){s=ca*(1.0/fa);u=da*(1.0/fa);x=ea*(1.0/fa);r=+g[Y+(H*44|0)+20>>2];t=+g[Y+(H*44|0)+24>>2];v=+g[Y+(H*44|0)+28>>2];switch(X|0){case 5:break;case 4:case 6:{j=ca*r+da*t+ea*v<0.0?-1.0:1.0;if(!(ea*v*j+(ca*r*j+da*t*j)>0.0))break c;l=-((c[k>>2]=ba,+g[k>>2])*(ca*ca+da*da+ea*ea)*(ea*v*j+(ca*r*j+da*t*j))*+g[Y+(H*44|0)+36>>2]);s=(s*p*l+(r*j*q*l+0.0))*.3333333432674408;r=(u*p*l+(t*j*q*l+0.0))*.3333333432674408;l=(x*p*l+(v*j*q*l+0.0))*.3333333432674408;h=Z;m=_;o=$;p=aa;e=0;while(1){j=w*+g[h+88>>2];f=h+56|0;if(l*j*l*j+(s*j*s*j+r*j*r*j)>m*m+o*o+p*p){E=1.0/+O(+(l*l+(s*s+r*r)));F=p*l*E+(m*s*E+o*r*E);g[f>>2]=+g[f>>2]-1.0/j*s*E*F;y=h+60|0;g[y>>2]=+g[y>>2]-1.0/j*r*E*F;y=h+64|0;g[y>>2]=+g[y>>2]-1.0/j*l*E*F}else{g[f>>2]=s+ +g[f>>2];y=h+60|0;g[y>>2]=r+ +g[y>>2];y=h+64|0;g[y>>2]=l+ +g[y>>2]}e=e+1|0;if((e|0)==3)break c;y=c[Y+(H*44|0)+8+(e<<2)>>2]|0;h=y;m=+g[y+40>>2];o=+g[y+44>>2];p=+g[y+48>>2]}}default:break c}o=ca*r+da*t+ea*v<0.0?-1.0:1.0;j=x*v*o+(s*r*o+u*t*o);l=+g[Y+(H*44|0)+36>>2]*.5;m=(c[k>>2]=ba,+g[k>>2]);p=j*(ca*ca+da*da+ea*ea)*p*.5*m*l;if(j>0.0&j<.9847999811172485){F=fa*q*.5*m*l*+O(+(1.0-j*j));w=(x*(s*v*o-x*r*o)-u*(u*r*o-s*t*o))*F*.3333333432674408;z=(u*(x*t*o-u*v*o)-s*(s*v*o-x*r*o))*F*.3333333432674408;t=(s*(u*r*o-s*t*o)-x*(x*t*o-u*v*o))*F*.3333333432674408}else{w=0.0;z=0.0;t=0.0}h=(g[k>>2]=s*p*-.3333333432674408,c[k>>2]|0);n=(g[k>>2]=u*p*-.3333333432674408,c[k>>2]|0);y=Z;e=(g[k>>2]=x*p*-.3333333432674408,c[k>>2]|0);f=0;while(1){j=+g[y+88>>2];if(j>0.0){p=(c[k>>2]=h,+g[k>>2]);q=(c[k>>2]=n,+g[k>>2]);r=(c[k>>2]=e,+g[k>>2]);l=+g[I+452>>2];j=r*j*l*r*j*l+(p*j*l*p*j*l+q*j*l*q*j*l);l=+g[y+40>>2];m=+g[y+44>>2];o=+g[y+48>>2];if(j>0.0?j>=l*l+m*m+o*o:0){F=+O(+(l*l+m*m+o*o))/+O(+j)*.800000011920929;h=(g[k>>2]=p*F,c[k>>2]|0);n=(g[k>>2]=q*F,c[k>>2]|0);e=(g[k>>2]=r*F,c[k>>2]|0)}ia=y+56|0;D=(c[k>>2]=h,+g[k>>2])+ +g[ia>>2];ha=y+60|0;E=(c[k>>2]=n,+g[k>>2])+ +g[ha>>2];y=y+64|0;F=(c[k>>2]=e,+g[k>>2])+ +g[y>>2];g[ia>>2]=w+D;g[ha>>2]=t+E;g[y>>2]=z+F}f=f+1|0;if((f|0)==3)break c;y=c[Y+(H*44|0)+8+(f<<2)>>2]|0}}while(0);H=H+1|0}while((H|0)!=(G|0))}e=c[2357]|0;ia=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=ia;do if(!ia){if(c[e+4>>2]|0){tb(ga+320|0,0)|0;ia=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[ga+320+4>>2]|0)-(c[ia+4>>2]|0)+(((c[ga+320>>2]|0)-(c[ia>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);e=c[I+712>>2]|0;if((e|0)>0){f=0;do{ha=c[I+720>>2]|0;ia=ha+(f*104|0)+24|0;H=ha+(f*104|0)+8|0;c[ia>>2]=c[H>>2];c[ia+4>>2]=c[H+4>>2];c[ia+8>>2]=c[H+8>>2];c[ia+12>>2]=c[H+12>>2];ia=ha+(f*104|0)+56|0;E=+g[ha+(f*104|0)+88>>2];F=+g[I+452>>2];C=+g[ia>>2]*E*F;D=E*+g[ha+(f*104|0)+60>>2]*F;E=F*E*+g[ha+(f*104|0)+64>>2];F=+g[(c[I+684>>2]|0)+12>>2]/F;C=C>F?F:C;D=D>F?F:D;E=E>F?F:E;G=ha+(f*104|0)+40|0;C=(C<-F?-F:C)+ +g[G>>2];g[G>>2]=C;G=ha+(f*104|0)+44|0;D=(D<-F?-F:D)+ +g[G>>2];g[G>>2]=D;G=ha+(f*104|0)+48|0;E=(E<-F?-F:E)+ +g[G>>2];g[G>>2]=E;F=+g[I+452>>2];g[H>>2]=C*F+ +g[H>>2];H=ha+(f*104|0)+12|0;g[H>>2]=F*D+ +g[H>>2];ha=ha+(f*104|0)+16|0;g[ha>>2]=E*F+ +g[ha>>2];c[ia>>2]=0;c[ia+4>>2]=0;c[ia+8>>2]=0;c[ia+12>>2]=0;f=f+1|0}while((f|0)!=(e|0))}$c(I);e=c[I+928>>2]|0;if(e){ia=c[I+192>>2]|0;D=+Sb[c[(c[ia>>2]|0)+48>>2]&15](ia);F=+g[e+4>>2]-D;E=+g[e+8>>2]-D;g[I+892>>2]=+g[e>>2]-D;g[I+896>>2]=F;g[I+900>>2]=E;g[I+904>>2]=0.0;E=D+ +g[e+20>>2];F=D+ +g[e+24>>2];g[I+908>>2]=D+ +g[e+16>>2];g[I+912>>2]=E;g[I+916>>2]=F;g[I+920>>2]=0.0;e=c[I+188>>2]|0;if(e|0){ia=c[I+684>>2]|0;ha=c[ia+32>>2]|0;yb[c[(c[ha>>2]|0)+16>>2]&31](ha,e,I+892|0,I+908|0,c[ia+36>>2]|0)}}else{c[I+892>>2]=0;c[I+892+4>>2]=0;c[I+892+8>>2]=0;c[I+892+12>>2]=0;c[I+892+16>>2]=0;c[I+892+20>>2]=0;c[I+892+24>>2]=0;c[I+892+28>>2]=0}e=c[I+712>>2]|0;if((e|0)>0){f=0;do{ha=c[I+720>>2]|0;E=+g[I+464>>2];C=+g[ha+(f*104|0)+8>>2];F=+g[ha+(f*104|0)+12>>2];D=+g[ha+(f*104|0)+16>>2];g[ga+192>>2]=C-E;g[ga+192+4>>2]=F-E;g[ga+192+8>>2]=D-E;g[ga+192+12>>2]=0.0;g[ga+192+16>>2]=E+C;g[ga+192+20>>2]=E+F;g[ga+192+24>>2]=E+D;g[ga+192+28>>2]=0.0;ia=c[ha+(f*104|0)+96>>2]|0;D=+g[I+460>>2];E=D*+g[ha+(f*104|0)+44>>2];F=D*+g[ha+(f*104|0)+48>>2];g[ga+176>>2]=+g[ha+(f*104|0)+40>>2]*D;g[ga+176+4>>2]=E;g[ga+176+8>>2]=F;g[ga+176+12>>2]=0.0;jh(I+928|0,ia,ga+192|0,ga+176|0,+g[I+468>>2])|0;f=f+1|0}while((f|0)!=(e|0))}if(c[I+988>>2]|0?(c[I+752>>2]|0)>0:0){e=0;do{ia=c[I+760>>2]|0;G=c[ia+(e*44|0)+8>>2]|0;H=c[ia+(e*44|0)+12>>2]|0;ha=c[ia+(e*44|0)+16>>2]|0;C=(+g[G+40>>2]+ +g[H+40>>2]+ +g[ha+40>>2])*.3333333432674408;D=(+g[G+44>>2]+ +g[H+44>>2]+ +g[ha+44>>2])*.3333333432674408;E=(+g[G+48>>2]+ +g[H+48>>2]+ +g[ha+48>>2])*.3333333432674408;x=+g[I+464>>2];u=+g[G+8>>2];w=+g[G+12>>2];A=+g[G+16>>2];F=+g[G+20>>2];B=+g[H+8>>2];p=B>2];q=z>2];r=v>2];s=t>2];v=+g[ha+12>>2];z=+g[ha+16>>2];B=+g[ha+20>>2];g[ga+192>>2]=(t>2]=(v>2]=(z>2]=B>2]=x+(u>2]=x+(w>2]=x+(A>2]=F>2]|0;F=+g[I+460>>2];g[ga+160>>2]=C*F;g[ga+160+4>>2]=D*F;g[ga+160+8>>2]=E*F;g[ga+160+12>>2]=0.0;jh(I+988|0,ia,ga+192|0,ga+160|0,+g[I+468>>2])|0;e=e+1|0}while((e|0)<(c[I+752>>2]|0))}do if(a[I+473>>0]|0){y=c[I+712>>2]|0;if((y|0)>0){e=c[I+720>>2]|0;f=c[I+512>>2]|0;j=0.0;l=0.0;m=0.0;h=0;do{F=+g[f+(h<<2)>>2];j=j+ +g[e+(h*104|0)+8>>2]*F;l=l+F*+g[e+(h*104|0)+12>>2];m=m+F*+g[e+(h*104|0)+16>>2];h=h+1|0}while((h|0)!=(y|0))}else{j=0.0;l=0.0;m=0.0}g[I+520>>2]=j;g[I+524>>2]=l;g[I+528>>2]=m;g[I+532>>2]=0.0;h=ga+320|0;n=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));g[ga+320>>2]=1.1920928955078125e-07;g[ga+320+20>>2]=2.384185791015625e-07;g[ga+320+40>>2]=3.5762786865234375e-07;if((y|0)>0){e=c[I+512>>2]|0;f=c[I+720>>2]|0;h=c[I+492>>2]|0;o=1.1920928955078125e-07;p=+g[ga+320+4>>2];q=+g[ga+320+8>>2];r=+g[ga+320+16>>2];s=2.384185791015625e-07;t=+g[ga+320+24>>2];u=0.0;v=0.0;w=3.5762786865234375e-07;n=0;do{E=+g[e+(n<<2)>>2];A=(+g[f+(n*104|0)+8>>2]-j)*E;B=(+g[f+(n*104|0)+12>>2]-l)*E;E=E*(+g[f+(n*104|0)+16>>2]-m);C=+g[h+(n<<4)>>2];D=+g[h+(n<<4)+4>>2];F=+g[h+(n<<4)+8>>2];o=A*C+o;p=A*D+p;q=A*F+q;r=B*C+r;s=B*D+s;t=B*F+t;u=E*C+u;v=E*D+v;w=E*F+w;n=n+1|0}while((n|0)!=(y|0));g[ga+320>>2]=o;g[ga+320+4>>2]=p;g[ga+320+8>>2]=q;g[ga+320+16>>2]=r;g[ga+320+20>>2]=s;g[ga+320+24>>2]=t;g[ga+320+32>>2]=u;g[ga+320+36>>2]=v;g[ga+320+40>>2]=w}if((a[22520]|0)==0?Wa(22520)|0:0){g[5787]=9.999999747378752e-05;c[5788]=16;_a(22520)}md(ga+320|0,ga+272|0,ga+224|0);c[I+536>>2]=c[ga+272>>2];c[I+536+4>>2]=c[ga+272+4>>2];c[I+536+8>>2]=c[ga+272+8>>2];c[I+536+12>>2]=c[ga+272+12>>2];c[I+552>>2]=c[V>>2];c[I+552+4>>2]=c[V+4>>2];c[I+552+8>>2]=c[V+8>>2];c[I+552+12>>2]=c[V+12>>2];c[I+568>>2]=c[W>>2];c[I+568+4>>2]=c[W+4>>2];c[I+568+8>>2]=c[W+8>>2];c[I+568+12>>2]=c[W+12>>2];la=+g[ga+272>>2];w=+g[V>>2];B=+g[W>>2];ka=+g[ga+272+4>>2];x=+g[ga+272+20>>2];D=+g[ga+272+36>>2];ja=+g[ga+272+8>>2];z=+g[ga+272+24>>2];F=+g[ga+272+40>>2];p=+g[I+632>>2];o=+g[I+636>>2];m=+g[I+640>>2];ra=+g[I+648>>2];qa=+g[I+652>>2];q=+g[I+656>>2];C=+g[I+664>>2];E=+g[I+668>>2];u=+g[I+672>>2];pa=+g[ga+320>>2];oa=+g[ga+320+16>>2];r=+g[ga+320+32>>2];j=(la*p+ka*o+ja*m)*pa+(w*p+x*o+z*m)*oa+(B*p+D*o+F*m)*r;na=+g[ga+320+4>>2];ma=+g[ga+320+20>>2];s=+g[ga+320+36>>2];l=(la*p+ka*o+ja*m)*na+(w*p+x*o+z*m)*ma+(B*p+D*o+F*m)*s;v=+g[ga+320+8>>2];A=+g[ga+320+24>>2];t=+g[ga+320+40>>2];m=(la*p+ka*o+ja*m)*v+(w*p+x*o+z*m)*A+(B*p+D*o+F*m)*t;o=(la*ra+ka*qa+ja*q)*pa+(w*ra+x*qa+z*q)*oa+(B*ra+D*qa+F*q)*r;p=(la*ra+ka*qa+ja*q)*na+(w*ra+x*qa+z*q)*ma+(B*ra+D*qa+F*q)*s;q=(la*ra+ka*qa+ja*q)*v+(w*ra+x*qa+z*q)*A+(B*ra+D*qa+F*q)*t;r=pa*(la*C+ka*E+ja*u)+oa*(w*C+x*E+z*u)+(B*C+D*E+F*u)*r;s=(la*C+ka*E+ja*u)*na+(w*C+x*E+z*u)*ma+(B*C+D*E+F*u)*s;t=(la*C+ka*E+ja*u)*v+(w*C+x*E+z*u)*A+(B*C+D*E+F*u)*t;g[I+584>>2]=j;g[I+588>>2]=l;g[I+592>>2]=m;g[I+596>>2]=0.0;g[I+600>>2]=o;g[I+604>>2]=p;g[I+608>>2]=q;g[I+612>>2]=0.0;g[I+616>>2]=r;g[I+620>>2]=s;g[I+624>>2]=t;g[I+628>>2]=0.0;u=+g[I+364>>2];if(u>1.0){ra=1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)))<1.0?1.0:u<1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)))?u:1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)));g[I+584>>2]=j*ra;g[I+588>>2]=l*ra;g[I+592>>2]=m*ra;g[I+596>>2]=0.0;g[I+600>>2]=o*ra;g[I+604>>2]=p*ra;g[I+608>>2]=q*ra;g[I+612>>2]=0.0;g[I+616>>2]=r*ra;g[I+620>>2]=s*ra;g[I+624>>2]=ra*t;g[I+628>>2]=0.0}if(a[I+473>>0]|0){if(!(+g[I+320>>2]>0.0))break;j=+g[I+536>>2];l=+g[I+540>>2];m=+g[I+544>>2];o=+g[I+552>>2];p=+g[I+556>>2];q=+g[I+560>>2];r=+g[I+568>>2];s=+g[I+572>>2];t=+g[I+576>>2];e=c[I+712>>2]|0;if((e|0)<=0)break;h=0;do{f=c[I+720>>2]|0;if(+g[f+(h*104|0)+88>>2]>0.0){H=c[I+492>>2]|0;ma=+g[H+(h<<4)>>2];na=+g[H+(h<<4)+4>>2];oa=+g[H+(h<<4)+8>>2];la=+g[I+320>>2];H=f+(h*104|0)+8|0;pa=+g[H>>2];ha=f+(h*104|0)+12|0;qa=+g[ha>>2];ia=f+(h*104|0)+16|0;ra=+g[ia>>2];qa=qa+la*(o*ma+p*na+q*oa+ +g[I+524>>2]-qa);ra=ra+la*(r*ma+s*na+t*oa+ +g[I+528>>2]-ra);g[H>>2]=pa+la*(+g[I+520>>2]+(j*ma+l*na+m*oa)-pa);g[ha>>2]=qa;g[ia>>2]=ra;g[f+(h*104|0)+20>>2]=0.0}h=h+1|0}while((h|0)!=(e|0))}}while(0);h=ga+56|0;n=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+812>>2]|0;if((e|0)<0){if((c[I+816>>2]|0)<0){f=c[I+820>>2]|0;if(f|0){if(a[I+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[I+820>>2]=0}a[I+824>>0]=1;c[I+820>>2]=0;c[I+816>>2]=0}do{ia=c[I+820>>2]|0;ha=ia+(e*104|0)|0;c[ha>>2]=c[ga+56>>2];c[ha+4>>2]=c[ga+56+4>>2];c[ha+8>>2]=c[ga+56+8>>2];c[ha+12>>2]=c[ga+56+12>>2];c[ha+16>>2]=c[ga+56+16>>2];c[ha+20>>2]=c[ga+56+20>>2];c[ha+24>>2]=c[ga+56+24>>2];ha=ia+(e*104|0)+28|0;c[ha>>2]=c[ga+56+28>>2];c[ha+4>>2]=c[ga+56+28+4>>2];c[ha+8>>2]=c[ga+56+28+8>>2];c[ha+12>>2]=c[ga+56+28+12>>2];ha=ia+(e*104|0)+44|0;c[ha>>2]=c[ga+56+44>>2];c[ha+4>>2]=c[ga+56+44+4>>2];c[ha+8>>2]=c[ga+56+44+8>>2];c[ha+12>>2]=c[ga+56+44+12>>2];ha=ia+(e*104|0)+60|0;c[ha>>2]=c[ga+56+60>>2];c[ha+4>>2]=c[ga+56+60+4>>2];c[ha+8>>2]=c[ga+56+60+8>>2];c[ha+12>>2]=c[ga+56+60+12>>2];ia=ia+(e*104|0)+76|0;c[ia>>2]=c[K>>2];c[ia+4>>2]=c[K+4>>2];c[ia+8>>2]=c[K+8>>2];c[ia+12>>2]=c[K+12>>2];c[ia+16>>2]=c[K+16>>2];c[ia+20>>2]=c[K+20>>2];c[ia+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=0)}c[I+812>>2]=0;h=ga;n=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+832>>2]|0;if((e|0)<0){if((c[I+836>>2]|0)<0){f=c[I+840>>2]|0;if(f|0){if(a[I+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[I+840>>2]=0}a[I+844>>0]=1;c[I+840>>2]=0;c[I+836>>2]=0}do{h=(c[I+840>>2]|0)+(e*56|0)|0;f=ga;n=h+56|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(n|0));e=e+1|0}while((e|0)!=0)}c[I+832>>2]=0;ig(I+928|0,1);ig(I+988|0,1);ig(I+1048|0,1);e=c[b+24>>2]|0}}J=J+1|0}while((J|0)<(e|0));i=ga;return} -function Wj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3640;a[b+8>>0]=g&1;c[b+12>>2]=3668;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;if(g){c[b+16>>2]=c[f+8>>2];d=e;d=d+8|0;d=c[d>>2]|0;g=b+20|0;c[g>>2]=d;cg(b+12|0);return}else{c[b+16>>2]=c[e+8>>2];d=f;d=d+8|0;d=c[d>>2]|0;g=b+20|0;c[g>>2]=d;cg(b+12|0);return}}function Xj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function Yj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+kj(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;f=+g[b+692>>2];do if(f>=0.0){e=+eh(e-+g[b+688>>2],6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-f){a[b+716>>0]=1;g[b+708>>2]=-(e+f);g[b+712>>2]=1.0;break}if(e>f){a[b+716>>0]=1;g[b+708>>2]=f-e;g[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function Zj(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0;c[6435]=(c[6435]|0)+1;f=yc(203)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=4872;h=f+60|0;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}function _j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=5632;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;ic[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;ic[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function $j(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(379)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4544;d=h+300|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=h+316|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function bk(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;f=i;i=i+496|0;e=c[b+212>>2]|0;if((e|0)>-1){a=e;i=f;return a|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Qn(f+244|0,0,244)|0;Me(Ff(a+4|0,f+244|0)|0,b,d);c[b+212>>2]=h;i=f;return h|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){h=e;i=f;return h|0}c[a+188>>2]=c[a+8>>2];Qn(f|0,0,244)|0;Me(Ff(a+4|0,f)|0,0,d);h=c[a+188>>2]|0;i=f;return h|0}function ck(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;j=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=j;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];j=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=j;g[a+572>>2]=0.0;return}function dk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;c[6435]=(c[6435]|0)+1;i=yc(1407)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}Le(i,b,d,e,f,h);c[i>>2]=4484;c[i+4>>2]=9;a[i+1309>>0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1310>>0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1311>>0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1312>>0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;a[i+1313>>0]=0;g[i+1332>>2]=0.0;g[i+1356>>2]=0.0;g[i+1380>>2]=1.0;a[i+1314>>0]=0;g[i+1336>>2]=0.0;g[i+1360>>2]=0.0;g[i+1384>>2]=1.0;return i|0}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+280>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+288>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+288>>2]|0;if(f){if(a[b+292>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function fk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0;e=i;i=i+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;mc[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+j*j);g[d+4>>2]=b/12.0*(h*h+j*j);g[d+8>>2]=b/12.0*(h*h+f*f);i=e;return}function gk(){var a=0,b=0,d=0,e=0;e=i;i=i+48|0;if(kb(26248,3)|0)ej(21924,e);a=hb(c[6563]|0)|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+32>>2]=22103;ej(22198,e+32|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+44>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Ql(2736,d,e+44|0)|0){d=c[e+44>>2]|0;d=Eb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e+8>>2]=22103;c[e+8+4>>2]=a;c[e+8+8>>2]=d;ej(22112,e+8|0)}else{c[e+24>>2]=22103;c[e+24+4>>2]=a;ej(22157,e+24|0)}}ej(22236,e+40|0)}function hk(b){b=b|0;var d=0,e=0,f=0;while(1){f=yc(5260)|0;if(f|0)break;d=c[6564]|0;c[6564]=d+0;if(!d){e=5;break}jc[d&3]()}if((e|0)==5){f=Ya(4)|0;c[f>>2]=9640;pb(f|0,2800,251)}c[f>>2]=5132;c[f+4>>2]=2;a[f+24>>0]=1;c[f+20>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+28>>2]=5604;c[f+5256>>2]=b;c[f+60>>2]=79;c[f+64>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[f+68>>2]=Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0;d=0;do{b=0;do{e=c[f+5256>>2]|0;c[f+72+(d*144|0)+(b<<2)>>2]=Ob[c[(c[e>>2]|0)+16>>2]&63](e,d,b)|0;b=b+1|0}while((b|0)<36);d=d+1|0}while((d|0)<36);return f|0}function ik(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;if(b>=c)return +a;if(a3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+N(+d);d=+eh(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=e<+N(+d);a=f?a:a+6.2831854820251465;return +a}if(!(a>c))return +a;d=+eh(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+N(+d);d=+eh(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=+N(+d)>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+Sb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}j=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];l=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:j;k=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+O(+(f*f+(l*l+k*k)));j=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+j*h*l;g[a+4>>2]=j*h*k+ +g[a+4>>2];g[a+8>>2]=j*h*f+ +g[a+8>>2];i=e;return}function kk(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];e=+eh(b-h,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){b=+eh(f+h,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}else{b=+eh(h-f,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+kj(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+96>>2]|0;if((k|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+12>>2];p=+g[d>>2]*o;l=+g[b+16>>2];m=+g[d+4>>2]*l;n=+g[b+20>>2];j=+g[d+8>>2]*n;d=c[b+104>>2]|0;f=0;h=-3402823466385288598117041.0e14;i=-1;while(1){e=p*+g[d+(f<<4)>>2]+m*+g[d+(f<<4)+4>>2]+j*+g[d+(f<<4)+8>>2];b=e>h;i=b?f:i;f=f+1|0;if((f|0)==(k|0))break;else h=b?e:h}m=+g[d+(i<<4)+4>>2]*l;p=+g[d+(i<<4)+8>>2]*n;g[a>>2]=+g[d+(i<<4)>>2]*o;g[a+4>>2]=m;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function nk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)==(c[d+8>>2]|0)){g=c[d+16>>2]|0;if(!g){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((g|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}else{g=c[b+12>>2]|0;no(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{no(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}while(0);return}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6166]=(c[6166]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;e=c[(e?b:d)+12>>2]|0;b=((e<<16|f)+~((e<<16|f)<<15)>>10^(e<<16|f)+~((e<<16|f)<<15))*9|0;b=((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[d+(b<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;g=8;break}}if((g|0)==8)return b|0;g=d+(b<<4)|0;return g|0}function pk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(1407)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}qe(f,b,d,e);c[f>>2]=4484;c[f+4>>2]=9;a[f+1309>>0]=0;g[f+1316>>2]=0.0;g[f+1340>>2]=0.0;g[f+1364>>2]=1.0;a[f+1310>>0]=0;g[f+1320>>2]=0.0;g[f+1344>>2]=0.0;g[f+1368>>2]=1.0;a[f+1311>>0]=0;g[f+1324>>2]=0.0;g[f+1348>>2]=0.0;g[f+1372>>2]=1.0;a[f+1312>>0]=0;g[f+1328>>2]=0.0;g[f+1352>>2]=0.0;g[f+1376>>2]=1.0;a[f+1313>>0]=0;g[f+1332>>2]=0.0;g[f+1356>>2]=0.0;g[f+1380>>2]=1.0;a[f+1314>>0]=0;g[f+1336>>2]=0.0;g[f+1360>>2]=0.0;g[f+1384>>2]=1.0;return f|0}function qk(b){b=b|0;var d=0;c[b>>2]=3872;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+452>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Sg(b);return}if(a[b+340>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Sg(b);return}function rk(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=i;i=i+16|0;li(12327);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;kc[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[2357]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){i=e;return}do if(c[d+4>>2]|0){tb(e|0,0)|0;f=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=e;return}}while(0);c[2357]=c[d+20>>2];i=e;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);return c[b>>2]|0}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0;f=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];switch(d|0){case 0:{c[b>>2]=1065353216;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 1:{c[b>>2]=-1082130432;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 2:{c[b>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;g[b+12>>2]=-h;return}case 3:{c[b>>2]=0;c[b+4>>2]=-1082130432;c[b+8>>2]=0;g[b+12>>2]=-h;return}case 4:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;g[b+12>>2]=-e;return}case 5:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1082130432;g[b+12>>2]=-e;return}default:return}}function uk(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;h=i;i=i+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];j=+g[b+8>>2];l=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*j;k=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=l;g[h+12>>2]=k;g[h+16>>2]=j;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+_b[c[(c[f>>2]|0)+12>>2]&15](f,h,1);i=h;return +d}function vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,l=0.0,m=0,n=0;f=i;i=i+48|0;ic[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);n=c[f+32>>2]|0;m=c[f+32+4>>2]|0;e=c[f+32+8>>2]|0;c[b>>2]=n;c[b+4>>2]=m;c[b+8>>2]=e;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;l=-(c[k>>2]=n,+g[k>>2]);j=-(c[k>>2]=m,+g[k>>2]);h=-(c[k>>2]=e,+g[k>>2]);g[f>>2]=l;g[f+4>>2]=j;g[f+8>>2]=h;g[f+12>>2]=0.0;ic[b&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];i=f;return}function wk(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=4356;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function yk(b){b=b|0;var d=0;c[b>>2]=8724;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function zk(b){b=b|0;var d=0;c[b>>2]=5456;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function Ak(b){b=b|0;var d=0;c[b>>2]=9324;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Bk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0;j=i;i=i+64|0;c[j+48>>2]=f;c[j+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){i=j;return +e}c[j>>2]=c[a+216>>2];c[j+4>>2]=j+48;c[j+8>>2]=c[b>>2];c[j+8+4>>2]=c[b+4>>2];c[j+8+8>>2]=c[b+8>>2];c[j+8+12>>2]=c[b+12>>2];c[j+24>>2]=c[d>>2];c[j+24+4>>2]=c[d+4>>2];c[j+24+8>>2]=c[d+8>>2];c[j+24+12>>2]=c[d+12>>2];g[j+40>>2]=e;e=+_b[c[(c[f>>2]|0)+12>>2]&15](f,j,0);i=j;return +e}function Ck(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0;j=i;i=i+64|0;c[j+48>>2]=f;c[j+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){i=j;return +e}c[j>>2]=c[a+216>>2];c[j+4>>2]=j+48;c[j+8>>2]=c[b>>2];c[j+8+4>>2]=c[b+4>>2];c[j+8+8>>2]=c[b+8>>2];c[j+8+12>>2]=c[b+12>>2];c[j+24>>2]=c[d>>2];c[j+24+4>>2]=c[d+4>>2];c[j+24+8>>2]=c[d+8>>2];c[j+24+12>>2]=c[d+12>>2];g[j+40>>2]=e;e=+_b[c[(c[f>>2]|0)+12>>2]&15](f,j,1);i=j;return +e}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0;h=+g[b+60>>2]*.5;l=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];j=+g[d+8>>2];j=+O(+(e*e+f*f+j*j));i=c[b+64>>2]|0;if(+g[d+(l<<2)>>2]>j*+g[b+52>>2]){g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=h;g[a+(c[b+72>>2]<<2)>>2]=0.0;return}j=+g[d+(i<<2)>>2];k=c[b+72>>2]|0;e=+g[d+(k<<2)>>2];f=+O(+(j*j+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(i<<2)>>2]=j*f;g[a+(l<<2)>>2]=-h;g[a+(k<<2)>>2]=e*f;return}else{g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=-h;g[a+(k<<2)>>2]=0.0;return}}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(Fo(e)|0)){g=c[e+16>>2]|0;h=5}}else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0>>0){Ob[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){g=d;break b}g=h+-1|0;if((a[b+g>>0]|0)==10)break;else h=g}if((Ob[c[e+36>>2]&63](e,b,h)|0)>>>0>>0)break a;g=d-h|0;b=b+h|0;f=c[e+20>>2]|0}else g=d;while(0);_m(f|0,b|0,g|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+g}while(0);return}function Fk(b){b=b|0;var d=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;ic[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];j=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];l=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:j;k=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+O(+(f*f+(l*l+k*k)));j=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+j*h*l;g[a+4>>2]=j*h*k+ +g[a+4>>2];g[a+8>>2]=j*h*f+ +g[a+8>>2];i=e;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;ic[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;ic[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Ik(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(Eb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Ib[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function Jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6138]=(c[6138]|0)+-1;Cb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(_(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;i=c[b+16>>2]|0;j=0;b=0;do{h=c[i+(j<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;e=g+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=g+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=g+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[h+208>>2]=d;c[g+(b<<3)+4>>2]=j;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}j=j+1|0}while((j|0)!=(k|0));return}function Lk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Lk(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;ic[c[(c[b>>2]|0)+8>>2]&127](b,g>>21,g&2097151);return}function Mk(a,d){a=a|0;d=d|0;var e=0,f=0;while(1){e=yc(84)|0;if(e|0){f=6;break}e=c[6564]|0;c[6564]=e+0;if(!e){f=5;break}jc[e&3]()}if((f|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((f|0)==6){g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=2948;c[e+20>>2]=c[a>>2];c[e+20+4>>2]=c[a+4>>2];c[e+20+8>>2]=c[a+8>>2];c[e+20+12>>2]=c[a+12>>2];c[e+36>>2]=c[d>>2];c[e+36+4>>2]=c[d+4>>2];c[e+36+8>>2]=c[d+8>>2];c[e+36+12>>2]=c[d+12>>2];return e|0}return 0}function Nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];h=d+(f<<4)|0;i=a+56+((k>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function Ok(a,b){a=a|0;b=+b;var d=0,e=0;d=i;i=i+16|0;hf(a,b);li(11758);a=c[a+452>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[2357]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){i=d;return}do if(c[a+4>>2]|0){tb(d|0,0)|0;e=c[6434]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2357]|0;break}else{i=d;return}}while(0);c[2357]=c[a+20>>2];i=d;return}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 0:{c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 1:{c[d>>2]=-1082130432;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 2:{c[d>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 3:{c[d>>2]=0;c[d+4>>2]=-1082130432;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 4:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=1065353216;g[d+12>>2]=0.0;return}case 5:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=-1082130432;g[d+12>>2]=0.0;return}default:return}}function Qk(b,d){b=b|0;d=d|0;a[b+148>>0]=0;if((((ke(b,d)|0?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)a[b+148>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];Bp(b+112|0,d|0,16)|0;return}function Rk(a,d){a=a|0;d=d|0;var e=0,f=0;while(1){e=yc(80)|0;if(e|0){f=6;break}e=c[6564]|0;c[6564]=e+0;if(!e){f=5;break}jc[e&3]()}if((f|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((f|0)==6){g[e+4>>2]=1.0;b[e+8>>1]=1;b[e+10>>1]=-1;c[e>>2]=2872;c[e+12>>2]=c[a>>2];c[e+12+4>>2]=c[a+4>>2];c[e+12+8>>2]=c[a+8>>2];c[e+12+12>>2]=c[a+12>>2];c[e+28>>2]=c[d>>2];c[e+28+4>>2]=c[d+4>>2];c[e+28+8>>2]=c[d+8>>2];c[e+28+12>>2]=c[d+12>>2];c[e+76>>2]=0;return e|0}return 0}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+O(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function Tk(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;dh(d,b,a+68|0);c[a+4>>2]=c[d>>2];c[a+4+4>>2]=c[d+4>>2];c[a+4+8>>2]=c[d+8>>2];c[a+4+12>>2]=c[d+12>>2];c[a+20>>2]=c[d+16>>2];c[a+20+4>>2]=c[d+16+4>>2];c[a+20+8>>2]=c[d+16+8>>2];c[a+20+12>>2]=c[d+16+12>>2];c[a+36>>2]=c[d+32>>2];c[a+36+4>>2]=c[d+32+4>>2];c[a+36+8>>2]=c[d+32+8>>2];c[a+36+12>>2]=c[d+32+12>>2];c[a+52>>2]=c[d+48>>2];c[a+52+4>>2]=c[d+48+4>>2];c[a+52+8>>2]=c[d+48+8>>2];c[a+52+12>>2]=c[d+48+12>>2];i=d;return}function Uk(b){b=b|0;var d=0;if(!b)return;d=c[b+156>>2]|0;if(d|0){if(!((a[b+160>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(!((a[b+140>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(!((a[b+120>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;hd(b);return}function Vk(){var b=0,d=0;while(1){b=yc(100)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){g[b>>2]=1.2000000476837158;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=1.0e3;c[b+16>>2]=0;c[b+16+4>>2]=0;c[b+16+8>>2]=0;c[b+16+12>>2]=0;c[b+16+16>>2]=0;c[b+16+20>>2]=0;c[b+16+24>>2]=0;c[b+44>>2]=-1054867456;c[b+48>>2]=0;g[b+52>>2]=0.0;a[b+72>>0]=1;c[b+68>>2]=0;c[b+60>>2]=0;c[b+64>>2]=0;return b|0}return 0}function Wk(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6164;d=c[b+12>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if(e|0){Ab[c[c[e>>2]>>2]&255](e);e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+60>>2]&127](e,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(d|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;h=+g[a+56>>2];j=+g[a+72>>2]-h;i=+g[a+60>>2];k=+g[a+76>>2]-i;d=+g[a+64>>2];f=+g[a+80>>2]-d;h=+g[a+88>>2]-h;i=+g[a+92>>2]-i;d=+g[a+96>>2]-d;g[c+12>>2]=0.0;e=1.0/+O(+((j*i-k*h)*(j*i-k*h)+((k*d-f*i)*(k*d-f*i)+(f*h-j*d)*(f*h-j*d))));g[c>>2]=(k*d-f*i)*e;g[c+4>>2]=(f*h-j*d)*e;g[c+8>>2]=(j*i-k*h)*e;if(!b)return;g[c>>2]=-((k*d-f*i)*e);g[c+4>>2]=-((f*h-j*d)*e);g[c+8>>2]=-((j*i-k*h)*e);return}function Yk(b,d){b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(115)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=7692;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;vj(e);return e|0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=c[a+720>>2]|0;h=c[a+752>>2]|0;if((h|0)<=0){e=0;return e|0}a=c[a+760>>2]|0;f=0;while(1){i=c[a+(f*44|0)+8>>2]|0;if(((i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))?(i=c[a+(f*44|0)+12>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0)?(i=c[a+(f*44|0)+16>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0){a=1;f=7;break}f=f+1|0;if((f|0)>=(h|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;d=+g[a+348>>2];f=+g[a+352>>2];h=+g[b+4>>2]*f;i=+g[a+356>>2];j=+g[b+8>>2]*i;g[a+412>>2]=+g[a+412>>2]+ +g[b>>2]*d;g[a+416>>2]=+g[a+416>>2]+h;g[a+420>>2]=+g[a+420>>2]+j;d=+g[b>>2]*d;f=+g[b+4>>2]*f;i=+g[b+8>>2]*i;j=+g[c+4>>2];h=+g[c+8>>2];k=+g[c>>2];e=(h*d-k*i)*+g[a+548>>2];d=(k*f-j*d)*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+(j*i-h*f)*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+e;g[a+436>>2]=+g[a+436>>2]+d;return}function $k(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}if((h-d)*d+(i-e)*e+(j-f)*f>0.0){g[k>>2]=+O(+(d*d+e*e+f*f));k=1;return k|0}if((h-d)*h+(i-e)*i+(j-f)*j<0.0){g[k>>2]=+O(+(h*h+i*i+j*j));k=1;return k|0}else{c=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));g[k>>2]=+O(+(c>0.0?c:0.0));k=1;return k|0}return 0}function al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0;while(1){h=yc(44)|0;if(h|0){i=6;break}h=c[6564]|0;c[6564]=h+0;if(!h){i=5;break}jc[h&3]()}if((i|0)==5){e=Ya(4)|0;c[e>>2]=9640;pb(e|0,2800,251)}else if((i|0)==6){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=c[d>>2];c[h+8+4>>2]=c[d+4>>2];c[h+8+8>>2]=c[d+8>>2];c[h+8+12>>2]=c[d+12>>2];c[h+24>>2]=c[e>>2];c[h+24+4>>2]=c[e+4>>2];c[h+24+8>>2]=c[e+8>>2];c[h+24+12>>2]=c[e+12>>2];g[h+40>>2]=f;return h|0}return 0}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,j=0;e=i;i=i+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){a=0;i=e;return a|0}b=c[b>>2]|0;if(!(Zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;i=e;return a|0}h=c[a+192>>2]|0;j=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=j;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Ic(h,a+36|0,a+100|0,e,d,f);a=1;i=e;return a|0}function dl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];a=c[a+8>>2]|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=1065353216;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a+24>>2]=1065353216;c[a+28>>2]=0;c[a+28+4>>2]=0;c[a+28+8>>2]=0;c[a+28+12>>2]=0;c[a+44>>2]=1065353216;c[a+48>>2]=0;c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];i=d;return}function el(b){b=b|0;var d=0,e=0;if((a[22480]|0)==0?Wa(22480)|0:0){g[5730]=.6000000238418579;g[5731]=1.0;g[5732]=.30000001192092896;g[5733]=.01666666753590107;g[5734]=0.0;g[5736]=20.0;c[5735]=10;g[5738]=.20000000298023224;g[5739]=.800000011920929;g[5740]=0.0;g[5737]=1.0;c[5741]=1;g[5742]=-.03999999910593033;g[5743]=.10000000149011612;g[5744]=0.0;g[5745]=.8500000238418579;c[5746]=260;c[5747]=2;c[5748]=128;g[5749]=100.0;g[5750]=1000000015047466219876688.0e6;_a(22480)}e=22920;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22920}function fl(b){b=b|0;var d=0,e=0;if((a[22440]|0)==0?Wa(22440)|0:0){g[5673]=.6000000238418579;g[5674]=1.0;g[5675]=.30000001192092896;g[5676]=.01666666753590107;g[5677]=0.0;g[5679]=20.0;c[5678]=10;g[5681]=.20000000298023224;g[5682]=.800000011920929;g[5683]=0.0;g[5680]=1.0;c[5684]=1;g[5685]=-.03999999910593033;g[5686]=.10000000149011612;g[5687]=0.0;g[5688]=.8500000238418579;c[5689]=260;c[5690]=2;c[5691]=128;g[5692]=100.0;g[5693]=1000000015047466219876688.0e6;_a(22440)}e=22692;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22692}function gl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;li(14499);d=c[a+68>>2]|0;Cb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[2357]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){i=b;return}do if(c[a+4>>2]|0){tb(b|0,0)|0;d=c[6434]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2357]|0;break}else{i=b;return}}while(0);c[2357]=c[a+20>>2];i=b;return}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{f=0;b=1;break}case 1:{f=0;b=2;break}case 2:{f=1;b=3;break}case 3:{f=2;break}case 4:{f=0;break}case 5:{f=1;break}case 6:{f=2;break}case 7:{f=3;break}case 8:{f=4;b=5;break}case 9:{f=4;b=6;break}case 10:{f=5;b=7;break}case 11:{f=6;b=7;break}default:{f=0;b=0}}while(0);ic[c[(c[a>>2]|0)+108>>2]&127](a,f,d);ic[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function il(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);d=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+N(+(+g[b>>2]));i=+N(+(+g[b+4>>2]));e=+N(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function jl(b){b=b|0;var d=0,e=0;if((a[22424]|0)==0?Wa(22424)|0:0){g[5648]=.6000000238418579;g[5649]=1.0;g[5650]=.30000001192092896;g[5651]=.01666666753590107;g[5652]=0.0;g[5654]=20.0;c[5653]=10;g[5656]=.20000000298023224;g[5657]=.800000011920929;g[5658]=0.0;g[5655]=1.0;c[5659]=1;g[5660]=-.03999999910593033;g[5661]=.10000000149011612;g[5662]=0.0;g[5663]=.8500000238418579;c[5664]=260;c[5665]=2;c[5666]=128;g[5667]=100.0;g[5668]=1000000015047466219876688.0e6;_a(22424)}e=22592;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22592}function kl(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;Fc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]>2]>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function ll(b){b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(115)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=7692;c[d+92>>2]=b;c[d+4>>2]=3;vj(d);return d|0}function ml(){if(a[22456]|0)return;if(!(Wa(22456)|0))return;if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456);return}function nl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+Mh(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function pl(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+20+4>>2]=c[b+16+4>>2];c[a+20+8>>2]=c[b+16+8>>2];c[a+20+12>>2]=c[b+16+12>>2];c[a+36>>2]=c[b+32>>2];c[a+36+4>>2]=c[b+32+4>>2];c[a+36+8>>2]=c[b+32+8>>2];c[a+36+12>>2]=c[b+32+12>>2];c[a+52>>2]=c[b+48>>2];c[a+52+4>>2]=c[b+48+4>>2];c[a+52+8>>2]=c[b+48+8>>2];c[a+52+12>>2]=c[b+48+12>>2];return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Sb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];j=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:h;i=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:f;e=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:e;f=1.0/+O(+(e*e+(j*j+i*i)));h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*f*j;g[a+4>>2]=h*f*i+ +g[a+4>>2];g[a+8>>2]=h*f*e+ +g[a+8>>2];return}function rl(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];j=+g[b+68>>2];i=1.0/+O(+(f*f+h*h+j*j));if(+O(+(j*i*j*i+(f*i*f*i+h*i*h*i)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*i;h=h*i;f=j*i;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function sl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;f=+g[b>>2];d=+g[b+4>>2];j=+g[b+8>>2];h=+g[b+12>>2];e=f*(2.0/(f*f+d*d+j*j+h*h));c=d*(2.0/(f*f+d*d+j*j+h*h));i=j*(2.0/(f*f+d*d+j*j+h*h));g[a>>2]=1.0-(d*c+j*i);g[a+4>>2]=f*c-h*i;g[a+8>>2]=f*i+h*c;g[a+12>>2]=0.0;g[a+16>>2]=f*c+h*i;g[a+20>>2]=1.0-(f*e+j*i);g[a+24>>2]=d*i-h*e;g[a+28>>2]=0.0;g[a+32>>2]=f*i-h*c;g[a+36>>2]=d*i+h*e;g[a+40>>2]=1.0-(f*e+d*c);g[a+44>>2]=0.0;return}function tl(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[6435]=(c[6435]|0)+1;d=yc(103)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=7048;j=+g[a>>2];i=+g[a+4>>2];h=+g[a+8>>2];a=c[a+12>>2]|0;f=1.0/+O(+(j*j+i*i+h*h));g[d+48>>2]=j*f;g[d+52>>2]=i*f;g[d+56>>2]=h*f;c[d+60>>2]=a;g[d+64>>2]=b;a=d+68|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[e>>2]=28;return d|0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17871}function vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17417}function wl(b,d){b=b|0;d=d|0;do if(!b)b=0;else{if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}if(!0)b=25748;else b=c[(ib()|0)+64>>2]|0;c[b>>2]=84;b=-1}while(0);return b|0}function xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 16426}function yl(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+20+4>>2]=c[b+16+4>>2];c[a+20+8>>2]=c[b+16+8>>2];c[a+20+12>>2]=c[b+16+12>>2];c[a+36>>2]=c[b+32>>2];c[a+36+4>>2]=c[b+32+4>>2];c[a+36+8>>2]=c[b+32+8>>2];c[a+36+12>>2]=c[b+32+12>>2];c[a+52>>2]=c[b+48>>2];c[a+52+4>>2]=c[b+48+4>>2];c[a+52+8>>2]=c[b+48+8>>2];c[a+52+12>>2]=c[b+48+12>>2];return}function zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function Al(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0;e=i;i=i+16|0;k=c[a+52>>2]|0;l=c[a+28+(((k+2|0)%3|0)<<2)>>2]|0;c[e>>2]=l;c[e+4>>2]=l;c[e+8>>2]=l;g[e+12>>2]=0.0;g[e+(k<<2)>>2]=+g[a+28+(k<<2)>>2]+ +g[e+(k<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;j=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+j*j);g[d+4>>2]=b*.0833333283662796*(h*h+j*j);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);i=e;return}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];h=+g[a+28>>2];i=b+(m<<4)|0;l=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];k=+O(+(l*l+f*f));if(k!=0.0){j=f*(e/k);f=+g[i>>2]<0.0?-h:h;e=l*(e/k)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0)return;i=c[a+276>>2]|0;f=0;while(1){g=i+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(h|0))return;c[g>>2]=c[i+(h+-1<<2)>>2];c[a+268>>2]=h+-1;k=c[a+284>>2]|0;Ib[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){a=0;i=e;return a|0}b=c[b>>2]|0;if(!(Zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;i=e;return a|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;bd(a+68|0,a+132|0,e,d);a=1;i=e;return a|0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 11212}function Fl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(c[d+28>>2]|0)!=1:0)c[d+28>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Gl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+256|0;do if((d|0)>(e|0)&(f&73728|0)==0){Qn(h|0,b|0,((d-e|0)>>>0>256?256:d-e|0)|0)|0;f=c[a>>2]|0;if((d-e|0)>>>0>255){g=d-e|0;b=f;f=(f&32|0)==0;do{if(f){Ek(h,256,a);b=c[a>>2]|0}g=g+-256|0;f=(b&32|0)==0}while(g>>>0>255);if(f)b=d-e&255;else break}else if(!(f&32))b=d-e|0;else break;Ek(h,b,a)}while(0);i=h;return}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 17117}function Il(){var b=0,d=0.0,e=0.0;b=i;i=i+16|0;if((a[22544]|0)==0?Wa(22544)|0:0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;og(23268,0.0,0,0,b);_a(22544)}c[5868]=c[5868]|1;g[5903]=0.0;d=+g[5913]*0.0;e=+g[5914]*0.0;g[5908]=+g[5912]*0.0;g[5909]=d;g[5910]=e;g[5911]=0.0;c[5916]=0;c[5917]=0;c[5918]=0;c[5919]=0;e=+g[5905]*0.0;d=+g[5906]*0.0;g[5957]=+g[5904]*0.0;g[5958]=e;g[5959]=d;g[5960]=0.0;i=b;return}function Jl(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];i=+g[b+68>>2];h=1.0/+O(+(e*e+f*f+i*i));if(+O(+(i*h*i*h+(e*h*e*h+f*h*f*h)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*h;f=f*h;e=i*h;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function Kl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[a+60>>2]*(+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]);g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+O(+(e*e+f*f));f=+N(+(+g[b>>2]));e=+N(+(+g[b+4>>2]));d=+N(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+36>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+4>>2];k=+O(+(l*l+f*f));h=+g[b+(m<<4)+8>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=j;g[c+(m<<4)+8>>2]=f;m=m+1|0}while((m|0)!=(d|0));return}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+32>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+8>>2];k=+O(+(l*l+f*f));h=+g[b+(m<<4)+4>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+48|0;c[f+32>>2]=8976;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];bg(c[a+4>>2]|0,f,f+32|0);bg(c[a+64>>2]|0,f,f+32|0);i=f;return}function Ol(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Qb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}j=b[a+56>>1]|0;if((j&65535)<<1>>>0<=1)return;d=1;h=1;do{i=c[a+68>>2]|0;if(b[i+(d<<2)>>1]&1){Zb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[i+(d<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}h=h+1<<16>>16;d=h&65535}while(d>>>0<((j&65535)<<1|1)>>>0);return}function Pl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5508;a[b+8>>0]=1;c[b+12>>2]=5536;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Cb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+64|0;if((a|0)!=(b|0))if((b|0)!=0?(f=wj(b,2744)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;mc[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=g;return b|0}function Rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5508;a[b+8>>0]=0;c[b+12>>2]=5536;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Cb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function Sl(){var a=0,b=0,d=0;d=i;i=i+32|0;while(1){a=yc(112)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((b|0)==6){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=4096;c[d+12>>2]=4096;c[d+16>>2]=0;c[d+20>>2]=1;qg(a,d);i=d;return a|0}return 0}function Tl(b){b=b|0;var d=0;c[b>>2]=5088;d=c[b+284>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+284>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b>>2]=5044;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5008;return}if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5008;return}function Ul(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;switch(c[b+216>>2]|0){case 2:case 5:break;default:if(!(c[b+204>>2]&3)){h=+g[b+368>>2]*+g[b+352>>2];f=+g[b+372>>2]*+g[b+356>>2];g[b+412>>2]=+g[b+364>>2]*+g[b+348>>2]+ +g[b+412>>2];g[b+416>>2]=h+ +g[b+416>>2];g[b+420>>2]=f+ +g[b+420>>2]}}d=d+1|0}while((d|0)!=(e|0));return}function Vl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;b=a[b+16>>0]|0;h=c[(b<<24>>24==0?d:e)+8>>2]|0;b=b<<24>>24?d:e;d=c[b+8>>2]|0;e=c[h+268>>2]|0;a:do if((e|0)>0){g=c[h+276>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0))return}while(0);e=c[h+284>>2]|0;ic[c[(c[e>>2]|0)+36>>2]&127](e,h,b);return}function Wl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);d=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;g=0;a:while(1){while(1){e=c[a+16>>2]|0;f=e+(g<<4)|0;if(!(Zb[c[(c[b>>2]|0)+8>>2]&31](b,f)|0))break;Ib[c[(c[a>>2]|0)+12>>2]&31](a,c[f>>2]|0,c[e+(g<<4)+4>>2]|0,d)|0;c[6163]=(c[6163]|0)+-1;if((g|0)>=(c[a+8>>2]|0)){e=7;break a}}g=g+1|0;if((g|0)>=(c[a+8>>2]|0)){e=7;break}}if((e|0)==7)return}function Yl(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+O(+(a*a+b*b));c[d>>2]=6472;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function Zl(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+O(+(a*a+b*b));c[d>>2]=6572;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function _l(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=6372;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+O(+(a*a+b*b));return d|0}function $l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5576;a[b+8>>0]=0;c[b+12>>2]=0;if(!(Ob[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function am(){var a=0,b=0,d=0;d=i;i=i+32|0;while(1){a=yc(92)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((b|0)==6){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=4096;c[d+12>>2]=4096;c[d+16>>2]=0;c[d+20>>2]=1;Zd(a,d);i=d;return a|0}return 0}function bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){d=0;return d|0}e=c[a+740>>2]|0;f=0;while(1){a=c[e+(f*52|0)+8>>2]|0;if((a|0)==(g+(b*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((a|0)==(g+(d*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}f=f+1|0;if((f|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];b=b+56+((f>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d>>2]|0;g=Zb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=6004;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=b;if(h|0)return g|0;c[g+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if((b|0)==(c[d+8>>2]|0)){b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((b|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}else{b=c[b+8>>2]|0;mc[c[(c[b>>2]|0)+28>>2]&127](b,d,e,f)}while(0);return}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+48|0;c[f>>2]=7008;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];a=c[a+48>>2]|0;mc[c[(c[a>>2]|0)+8>>2]&127](a,f,d,e);i=f;return}function hm(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function im(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=Zb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;g=c[d+4>>2]|0;i=c[b+12>>2]|0;h=c[b+8>>2]|0;e=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6052;c[f+8>>2]=i;c[f+12>>2]=h;a[f+16>>0]=0;c[f+20>>2]=g;a[f+24>>0]=0;c[f+28>>2]=e;c[f+32>>2]=b;return f|0}function jm(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Pd(a,d);i=d;return}function km(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+280>>2]*h+ +g[a+284>>2]*f+ +g[a+288>>2]*e)*+g[a+548>>2];c=(+g[a+296>>2]*h+ +g[a+300>>2]*f+ +g[a+304>>2]*e)*+g[a+552>>2];g[a+328>>2]=+g[a+328>>2]+(+g[a+264>>2]*h+ +g[a+268>>2]*f+ +g[a+272>>2]*e)*+g[a+544>>2];g[a+332>>2]=+g[a+332>>2]+d;g[a+336>>2]=+g[a+336>>2]+c;return}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){d=1;return d|0}g=c[b+488>>2]|0;if((g|0)<=0){d=1;return d|0}b=c[b+496>>2]|0;f=0;while(1){e=c[b+(f<<2)>>2]|0;if(a[e+20>>0]|0){if((c[e+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[e+32>>2]|0)==(d|0)){b=0;e=8;break}}f=f+1|0;if((f|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(j+i)-+(b&1|0)*(j+i);g[d+4>>2]=+(b>>>1&1^1|0)*(h+f)-+(b>>>1&1|0)*(h+f);g[d+8>>2]=+(b>>>2&1^1|0)*e-+(b>>>2&1|0)*e;g[d+12>>2]=0.0;return}function nm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+20>>2]*h+ +g[a+24>>2]*f+ +g[a+28>>2]*e)*+g[a+352>>2];c=(+g[a+36>>2]*h+ +g[a+40>>2]*f+ +g[a+44>>2]*e)*+g[a+356>>2];g[a+412>>2]=+g[a+412>>2]+(+g[a+4>>2]*h+ +g[a+8>>2]*f+ +g[a+12>>2]*e)*+g[a+348>>2];g[a+416>>2]=+g[a+416>>2]+d;g[a+420>>2]=+g[a+420>>2]+c;return}function om(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;a[h>>0]=e;f=c[b+16>>2]|0;if(!f)if(!(Fo(b)|0)){f=c[b+16>>2]|0;g=4}else f=-1;else g=4;do if((g|0)==4){g=c[b+20>>2]|0;if(g>>>0>>0?(e&255|0)!=(a[b+75>>0]|0):0){c[b+20>>2]=g+1;a[g>>0]=e;f=e&255;break}if((Ob[c[b+36>>2]&63](b,h,1)|0)==1)f=d[h>>0]|0;else f=-1}while(0);i=h;return f|0}function pm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Is(h^a|0,g^b|0,h|0,g|0)|0;b=C;$e(a,b,Is(k^d|0,j^e|0,k|0,j|0)|0,C,f|0)|0;e=Is(c[f>>2]^h|0,c[f+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function qm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+20>>2]*h+ +g[a+24>>2]*f+ +g[a+28>>2]*e)*+g[a+548>>2];c=(+g[a+36>>2]*h+ +g[a+40>>2]*f+ +g[a+44>>2]*e)*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+(+g[a+4>>2]*h+ +g[a+8>>2]*f+ +g[a+12>>2]*e)*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+d;g[a+436>>2]=+g[a+436>>2]+c;return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+32>>2];g[a+12>>2]=0.0;c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+36>>2];g[a+28>>2]=0.0;c[a+32>>2]=c[b+8>>2];c[a+36>>2]=c[b+24>>2];c[a+40>>2]=c[b+40>>2];g[a+44>>2]=0.0;c[a+48>>2]=c[b+48>>2];c[a+52>>2]=c[b+52>>2];c[a+56>>2]=c[b+56>>2];g[a+60>>2]=0.0;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);f=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +Sb[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function um(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=yc(64)|0;if(d|0){e=6;break}d=c[6564]|0;c[6564]=d+0;if(!d){e=5;break}jc[d&3]()}if((e|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((e|0)==6){sl(d,a);c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];return d|0}return 0}function vm(b){b=b|0;var d=0,e=0;c[b>>2]=6292;d=c[b+64>>2]|0;if(d|0?(pi(d),e=c[b+64>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function wm(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function xm(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{f=(_(c[a+64>>2]|0,f)|0)+e|0;h=+g[(c[a+92>>2]|0)+(f<<2)>>2];return +h}case 5:{h=+(d[(_(c[a+64>>2]|0,f)|0)+e+(c[a+92>>2]|0)>>0]|0)*+g[a+88>>2];return +h}case 3:{f=(_(c[a+64>>2]|0,f)|0)+e|0;h=+(b[(c[a+92>>2]|0)+(f<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function ym(b){b=b|0;var d=0,e=0;c[b>>2]=7256;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7124;d=c[b+52>>2]|0;if(d|0?(Ab[c[c[d>>2]>>2]&255](d),e=c[b+52>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function zm(){var b=0,d=0;while(1){b=yc(40)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=2996;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}return 0}function Am(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+Q(+b);f=+Q(+c);h=+Q(+d);b=+R(+b);c=+R(+c);d=+R(+d);g[a>>2]=f*h;g[a+4>>2]=c*b*h-e*d;g[a+8>>2]=c*e*h+b*d;g[a+12>>2]=0.0;g[a+16>>2]=f*d;g[a+20>>2]=c*b*d+e*h;g[a+24>>2]=c*e*d-b*h;g[a+28>>2]=0.0;g[a+32>>2]=-c;g[a+36>>2]=f*b;g[a+40>>2]=f*e;g[a+44>>2]=0.0;return}function Bm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function Cm(){var a=0,b=0;while(1){a=yc(8)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[6434]=a;tb(a|0,0)|0;c[6424]=19390;c[6425]=0;c[6426]=0;c[6427]=0;c[6428]=0;c[6429]=0;c[6430]=0;c[6431]=0;c[6432]=0;Vq(25696);return}}function Dm(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7592;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function Em(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7492;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Fm(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=7392;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Gm(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=us(d|0,e|0,52)|0;switch(f&2047|0){case 0:{if(a!=0.0){a=+Gm(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Hm(){var a=0,b=0;while(1){a=yc(24)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return a|0}return 0}function Im(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=i;i=i+16|0;c[d>>2]=8940;c[d+4>>2]=e;Be(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);Be(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);i=d;return}function Jm(b){b=b|0;var d=0;c[b>>2]=7256;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7124;d=c[b+52>>2]|0;if(!d)return;Ab[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(!d)return;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);return}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=f+20;c[f+16>>2]=d;b=ub(140,f|0)|0;if(b>>>0<=4294963200)if((b|0)<0)e=7;else a=c[f+20>>2]|0;else{if(!0)a=25748;else a=c[(ib()|0)+64>>2]|0;c[a>>2]=0-b;e=7}if((e|0)==7){c[f+20>>2]=-1;a=-1}i=f;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=i;i=i+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+_b[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];i=e;return +f}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function Nm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[b+4>>2]=c[d>>2];c[b>>2]=6164;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=g&1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[(g?f:e)+4>>2]|0)+68>>2];lh(b,e,f);return}function Om(){var a=0,b=0;while(1){a=yc(24)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return a|0}return 0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function Qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=i;i=i+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+_b[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];i=e;return +f}function Rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if((b|0)==(c[d+8>>2]|0)){b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((b|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}while(0);return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=9256;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Um(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=Eb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function Vm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=lr(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=b;b=Xv(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=C}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Wm(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function Xm(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;d=c[a+56>>2]|0;if((d&65535)<<16>>16)return;b[a+64>>1]=1;g=c[a+60>>2]|0;if((d>>>16&65535)>1){e=1;d=1;while(1){b[g+(e<<6)+48>>1]=e+1;f=d+1<<16>>16;d=b[a+58>>1]|0;if((f&65535)<(d&65535)){e=f&65535;d=f}else break}}else d=d>>>16&65535;b[g+((d&65535)+-1<<6)+48>>1]=0;return}function Ym(a){a=a|0;var b=0,d=0;while(1){b=yc(112)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){qg(b,a);return b|0}return 0}function Zm(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;while(1){f=yc(16)|0;if(f|0){h=6;break}f=c[6564]|0;c[6564]=f+0;if(!f){h=5;break}jc[f&3]()}if((h|0)==5){h=Ya(4)|0;c[h>>2]=9640;pb(h|0,2800,251)}else if((h|0)==6){g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}return 0}function _m(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return db(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=Ob[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function an(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;g=b>>31|((b|0)<0?-1:0)<<1;e=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;h=d>>31|((d|0)<0?-1:0)<<1;f=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=Is(g^a|0,e^b|0,g|0,e|0)|0;b=C;return Is(($e(a,b,Is(h^c|0,f^d|0,h|0,f|0)|0,C,0)|0)^(h^g)|0,C^(f^e)|0,h^g|0,f^e|0)|0}function bn(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;cb(a|0)|0;if(kb(26248,3)|0)ej(21924,d);a=hb(c[6563]|0)|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0){jc[c[b+12>>2]&3]();ej(22248,d+8|0)}b=c[2387]|0;c[2387]=b+0;jc[b&3]();ej(22248,d+16|0)}function cn(){var a=0,d=0;while(1){a=yc(8)|0;if(a|0){d=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){d=5;break}jc[a&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){c[a>>2]=0;c[a+4>>2]=0;b[a+4>>1]=1;b[a+6>>1]=-1;c[a>>2]=2972;return a|0}return 0}function dn(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;b=+g[(c[a+28>>2]|0)+344>>2];d=+g[(c[a+32>>2]|0)+344>>2];if(d==0.0)b=1.0;else b=b/(b+d);f=1.0-b;e=b*+g[a+1116>>2]+f*+g[a+1180>>2];d=b*+g[a+1120>>2]+f*+g[a+1184>>2];g[a+1284>>2]=b*+g[a+1112>>2]+f*+g[a+1176>>2];g[a+1288>>2]=e;g[a+1292>>2]=d;g[a+1296>>2]=0.0;return}function en(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function fn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function gn(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){a=0;return a|0}d=c[d+4>>2]|0;if(!((b[a+10>>1]&(d&65535))<<16>>16)){a=0;return a|0}if(!((b[a+8>>1]&(d>>>16&65535))<<16>>16)){a=0;return a|0}a=c[a+92>>2]|0;a=Ob[c[(c[a>>2]|0)+28>>2]&63](a,f,e)|0;return a|0}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+28>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+O(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function jn(a,b){a=a|0;b=+b;var c=0,d=0.0;c=i;i=i+16|0;if(!(+g[a+68>>2]>0.0)){i=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;jj(a+4|0,c,a+164|0);jj(a+16|0,a+88|0,a+180|0);i=c;return}function kn(a){a=a|0;var b=0,d=0;while(1){b=yc(92)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){Zd(b,a);return b|0}return 0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0;if((d|0)>-1|(d|0)==-1&c>>>0>4294967295){e=(+(c>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+(a>>>0)+4294967296.0*+(b>>>0));return +e}else{g=Is(0,0,a|0,b|0)|0;f=C;d=Kt((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+ln(g,f,d,C);return +e}return 0.0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+36>>2];j=+g[c>>2];f=+g[c+4>>2];i=+O(+(j*j+f*f));e=+g[c+8>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=f;return}function nn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+32>>2];j=+g[c>>2];f=+g[c+8>>2];i=+O(+(j*j+f*f));e=+g[c+4>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=f;return}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Cb[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function pn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+48|0;f=c[b+192>>2]|0;mc[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=5956;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;a=c[a+68>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&127](a,e+32|0,e+16|0,e);i=e;return}function rn(){var a=0,b=0;while(1){a=yc(12)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return a|0}return 0}function sn(a,b,d){a=a|0;b=b|0;d=d|0;si(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 12599}function tn(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{b=0;break}default:break a}return b|0}default:{}}while(0);if(!(c[b+256>>2]|0)){a=1;return a|0}a=Zb[c[c[b>>2]>>2]&31](b,d)|0;return a|0}function un(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];f=+g[a+344>>2];e=+g[a+352>>2]*f;d=+g[a+356>>2]*f;g[a+560>>2]=+g[a+348>>2]*f;g[a+564>>2]=e;g[a+568>>2]=d;g[a+572>>2]=0.0;return}function vn(a){a=a|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;return}function wn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[b>>2]|0;a=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;if(!((f|0)==0?1:(c[f+236>>2]|0)!=4))mc[c[(c[f>>2]|0)+32>>2]&127](f,d,e,b);if(!a)return 0;mc[c[(c[a>>2]|0)+32>>2]&127](a,b,e,d);return 0}function xn(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){xn(a,c[b+36>>2]|0);xn(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Hg(a,Sd(a,b,f)|0);Hg(a,Sd(a,d,f)|0);Hg(a,Sd(a,e,f)|0);return}function zn(a){a=a|0;var b=0,d=0;while(1){b=yc(8)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){c[b>>2]=4852;c[b+4>>2]=a;return b|0}return 0}function An(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))xe(a,d)}while((e|0)>1);Ab[c[(c[a>>2]|0)+68>>2]&255](a);return}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f>>2]=a;c[f+4>>2]=e;a=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;a=Ib[c[(c[a>>2]|0)+8>>2]&31](a,f,b,d)|0;i=f;return a|0}function Dn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(_(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function En(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function Fn(a){a=+a;var b=0;c[6435]=(c[6435]|0)+1;b=yc(71)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;c[b>>2]=6672;c[b+4>>2]=8;g[b+28>>2]=a;g[b+44>>2]=a;return b|0}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Cb[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Hn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+Q(+(b*.5));b=+R(+(b*.5));f=+Q(+(c*.5));c=+R(+(c*.5));h=+Q(+(d*.5));d=+R(+(d*.5));g[a>>2]=d*f*e-h*c*b;g[a+4>>2]=h*c*e+d*f*b;g[a+8>>2]=h*f*b-d*c*e;g[a+12>>2]=h*f*e+d*c*b;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Hg(a,Sd(a,b,0)|0);Hg(a,Sd(a,d,0)|0);Hg(a,Sd(a,e,0)|0);return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Kn(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=i;i=i+32|0;g[e+20>>2]=b;g[e+16>>2]=d;g[e+12>>2]=0.0;g[e+8>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+12|0:b>1.0?e+8|0:e+20|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+16|0)>>2];i=e;return}function Ln(){var a=0,b=0;while(1){a=yc(196)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){Zh(a,0);return a|0}return 0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function Nn(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=+eh((c-b)*.5+b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function On(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Qb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+i|0,h&2|0?f:2,g);return}function Pn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[6435]=(c[6435]|0)+1;a=yc(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function Qn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(f&~3|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;a=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;if(!((e|0)==0?1:(c[e+236>>2]|0)!=4))ic[c[(c[e>>2]|0)+28>>2]&127](e,d,b);if(!a)return 0;ic[c[(c[a>>2]|0)+28>>2]&127](a,b,d);return 0}function Sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))zl(b,d,e,f);else{a=c[a+8>>2]|0;Qb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=Eb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ob[d&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function Un(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a+692>>2]=(c-b)*.5;b=+eh((c-b)*.5+b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=1.0;return}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function Wn(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{Bg(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0;e=Eb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Yn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function Zn(a,b){a=a|0;b=b|0;var d=0,e=0;e=Eb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function _n(){var a=0,b=0;while(1){a=yc(4)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[a>>2]=2920;return a|0}return 0}function $n(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;yb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+h|0,g&2|0?e:2,f);return}function ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,156)|0;Wj(a,b,d,e,1);return a|0}function bo(b){b=b|0;var d=0;c[b>>2]=5044;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5008;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function co(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+g[a+344>>2];d=+g[b+4>>2]*+g[a+352>>2]*e;c=+g[b+8>>2]*+g[a+356>>2]*e;g[a+312>>2]=+g[a+312>>2]+ +g[b>>2]*+g[a+348>>2]*e;g[a+316>>2]=+g[a+316>>2]+d;g[a+320>>2]=+g[a+320>>2]+c;return}function eo(b){b=b|0;var d=0;c[b>>2]=4108;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5008;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function fo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function go(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;c[6435]=(c[6435]|0)+1;i=yc(783)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}ne(i,a,b,d,e,f,g,h);return i|0}function ho(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)break;c=+eh(+g[b+(d<<2)>>2],6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+868+(d<<6)+4>>2]=c;d=d+1|0}return}function io(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22472]|0)==0?Wa(22472)|0:0)_a(22472);Cb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5726]=c[d>>2];c[5727]=c[d+4>>2];c[5728]=c[d+8>>2];c[5729]=c[d+12>>2];i=d;return 22904}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,156)|0;Wj(a,b,d,e,0);return a|0}function lo(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22432]|0)==0?Wa(22432)|0:0)_a(22432);Cb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5669]=c[d>>2];c[5670]=c[d+4>>2];c[5671]=c[d+8>>2];c[5672]=c[d+12>>2];i=d;return 22676}function mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function no(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&127](a,b,d+g|0,f&2|0?e:2);return}function oo(b){b=b|0;var d=0;c[b>>2]=4872;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function po(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)break;c=+eh(+g[b+(d<<2)>>2],6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+868+(d<<6)>>2]=c;d=d+1|0}return}function qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;Nm(a,b,d,e,1);return a|0}function ro(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;ic[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function so(b){b=b|0;var d=0;c[b>>2]=9368;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[6435]=(c[6435]|0)+1;e=yc(343)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}je(e,a,b,d);return e|0}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;Nm(a,b,d,e,0);return a|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(783)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}ne(h,a,b,d,e,f,g,0);return h|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 17222}function xo(){var a=0,b=0;while(1){a=yc(1)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6)return a|0;return 0}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=Zb[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;b=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=3612;a[f+16>>0]=b;return f|0}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function Bo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[6435]=(c[6435]|0)+1;g=yc(1331)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}Le(g,a,b,d,e,f);return g|0}function Co(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22488]|0)==0?Wa(22488)|0:0)_a(22488);Wg(b,d);c[5751]=c[d>>2];c[5752]=c[d+4>>2];c[5753]=c[d+8>>2];c[5754]=c[d+12>>2];i=d;return 23004}function Do(){var a=0,b=0;while(1){a=yc(64)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6)return a|0;return 0}function Eo(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Fo(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Go(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function Ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[6435]=(c[6435]|0)+1;g=yc(135)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}pe(g,a,b,d&65535,e,f);return g|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;Ob[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;a=(c[a+4>>2]|0)+160|0;c[a>>2]=(c[a>>2]|0)+1;return}function Jo(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=i;i=i+32|0;ic[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+8+4>>2];d=+g[b+8+8>>2];d=+O(+(f*f+e*e+d*d));i=b;return +(d+ +g[b>>2])}function Ko(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+g[b+4>>2]*+g[a+352>>2];c=+g[b+8>>2]*+g[a+356>>2];g[a+412>>2]=+g[a+412>>2]+ +g[b>>2]*+g[a+348>>2];g[a+416>>2]=+g[a+416>>2]+d;g[a+420>>2]=+g[a+420>>2]+c;return}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>0)a=0;else return;do{b=d+(a<<4)|0;a=a+1|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}while((a|0)!=(e|0));return}function Mo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f>>2]=5204;c[f+4>>2]=d;c[f+8>>2]=a;ic[c[(c[b>>2]|0)+48>>2]&127](b,f,e);i=f;return}function No(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+g[b+4>>2]*+g[a+548>>2];c=+g[b+8>>2]*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+ +g[b>>2]*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+d;g[a+436>>2]=+g[a+436>>2]+c;return}function Oo(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;f=+g[a>>2];e=+g[a+4>>2];d=+g[a+8>>2];c=+g[a+12>>2];b=1.0/+O(+(f*f+e*e+d*d+c*c));g[a>>2]=f*b;g[a+4>>2]=e*b;g[a+8>>2]=d*b;g[a+12>>2]=c*b;return}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(135)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}pe(f,a,b,d&65535,e,0);return f|0}function Qo(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Ab[c[c[a>>2]>>2]&255](a);Cb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function Ro(b){b=b|0;var d=0;c[b>>2]=5044;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5008;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=8820;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;ic[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function To(b){b=b|0;var d=0;c[b>>2]=6772;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+52>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Uo(b){b=b|0;var d=0;c[b>>2]=4108;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5008;return}function Vo(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}a=c[a+720>>2]|0;d=0;b=0.0;do{f=+g[a+(d*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);d=d+1|0}while((d|0)!=(e|0));return +b}function Wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(1331)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}qe(e,a,b,d);return e|0}function Xo(b){b=b|0;var d=0;c[b>>2]=4872;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function Yo(a){a=a|0;var b=0;c[a>>2]=5508;c[a+12>>2]=5536;b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);hd(a);return}function Zo(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,24)|0;c[a+4>>2]=c[b>>2];c[a>>2]=4080;return a|0}function $o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(95)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}Ze(e,a,b,d);return e|0}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(135)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}pe(e,a,b,d&65535,0,0);return e|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(1271)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Kc(f,a,b,d,e);return f|0}function dp(b){b=b|0;var d=0;c[b>>2]=8840;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+136>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}pi(b+64|0);pi(b+4|0);return}function ep(b){b=b|0;var d=0;c[b>>2]=9368;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function fp(a){a=a|0;var b=0;c[a>>2]=5508;c[a+12>>2]=5536;b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function gp(b){b=b|0;var d=0;c[b>>2]=2996;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function hp(a){a=a|0;var b=0,d=0;c[a>>2]=7124;b=c[a+52>>2]|0;if(b|0?(Ab[c[c[b>>2]>>2]&255](b),d=c[a+52>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ip(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];vj(a);return}function jp(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function kp(b){b=b|0;var d=0;c[b>>2]=5132;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,8)|0;c[a+4>>2]=c[b>>2];c[a>>2]=9228;return a|0}function mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(783)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}Jf(e,a,b,d);return e|0}function np(b){b=b|0;var d=0;c[b>>2]=8584;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[b+8>>2]|0;b=c[a+284>>2]|0;ic[c[(c[b>>2]|0)+40>>2]&127](b,a,c[d+8>>2]|0);return}function pp(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Ze(d,a,b,1);return d|0}function qp(b,d){b=b|0;d=d|0;if((a[22448]|0)==0?Wa(22448)|0:0)_a(22448);c[5694]=c[b+(d<<4)>>2];c[5695]=c[b+(d<<4)+4>>2];c[5696]=c[b+(d<<4)+8>>2];c[5697]=c[b+(d<<4)+12>>2];return 22776}function rp(b){b=b|0;var d=0;if(!b)return;d=c[b+68>>2]|0;if(d|0){if(!((a[b+72>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+68>>2]=0}a[b+72>>0]=1;hd(b);return}function sp(b){b=b|0;var d=0;c[b>>2]=6772;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;Ab[c[c[d>>2]>>2]&255](d);b=c[b+52>>2]|0;if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+204>>2]|0;if(a&4|0){d=0;return d|0}b=c[d+204>>2]|0;if(b&4|0){d=0;return d|0}if(!(a&3)){d=1;return d|0}d=(b&3|0)==0;return d|0}function up(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(135)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}pe(d,a,b,16384,0,0);return d|0}function vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=8800;c[e+4>>2]=b;ic[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function wp(b){b=b|0;var d=0,e=0;c[b>>2]=6004;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function xp(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);c[b>>2]=8348;c[b+52>>2]=2;return b|0}function yp(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);c[b>>2]=8244;c[b+52>>2]=0;return b|0}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=c[a+60>>2];a=qb(6,d|0)|0;if(a>>>0>4294963200){if(!0)b=25748;else b=c[(ib()|0)+64>>2]|0;c[b>>2]=0-a;a=-1}i=d;return a|0}function Ap(b){b=b|0;var d=0,e=0;c[b>>2]=9256;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _m(b,c,d)|0;return b|0}function Cp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_(b&65535,a&65535)|0;e=(c>>>16)+(_(b&65535,a>>>16)|0)|0;d=_(b>>>16,a&65535)|0;return (C=(e>>>16)+(_(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function Dp(b){b=b|0;var d=0,e=0;c[b>>2]=5480;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))zl(b,d,e,f);return}function Fp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+N(+(+g[b>>2]));d=+N(+(+g[b+4>>2]));c=+N(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function Gp(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(783)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Jf(d,a,b,0);return d|0}function Hp(a,b){a=a|0;b=b|0;Vf(a,c[b+36>>2]|0);return}function Ip(b){b=b|0;var d=0;if(!b)return;d=c[b+12>>2]|0;if(d|0){if(!((a[b+16>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;hd(b);return}function Jp(b){b=b|0;var d=0,e=0;c[b>>2]=5576;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Kp(a){a=a|0;var b=0;c[a>>2]=5536;b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);hd(a);return}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;dc[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function Mp(b){b=b|0;var d=0,e=0;c[b>>2]=6052;if(!(a[b+16>>0]|0)){hd(b);return}d=c[b+20>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Np(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0;c[6435]=(c[6435]|0)+1;f=yc(35)|0;c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16;g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}function Op(a){a=a|0;var b=0;c[a>>2]=7124;b=c[a+52>>2]|0;if(!b)return;Ab[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Pp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+nb(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function Qp(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){Hk(a,b);return}else{Cb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function Rp(a){a=a|0;var b=0;c[a>>2]=5536;b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function Sp(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Tp(a,b,d){a=+a;b=+b;d=+d;var e=0;c[6435]=(c[6435]|0)+1;e=yc(35)|0;c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=d;g[e+12>>2]=0.0;return e|0}function Up(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];vj(a);return}function Vp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Db[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Wp(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return Zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Xp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +$b[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Yp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function _p(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function $p(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Lb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function aq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function bq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function cq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function dq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Yb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=c[d>>2];a=Ob[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=e;return a&1|0}function fq(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;e=+g[a>>2];d=+g[a+4>>2];c=+g[a+8>>2];b=1.0/+O(+(e*e+d*d+c*c));g[a>>2]=e*b;g[a+4>>2]=d*b;g[a+8>>2]=c*b;return}function gq(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Yf(d,a,b);return d|0}function hq(b){b=b|0;var d=0;c[b>>2]=6004;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function iq(b){b=b|0;var d=0;c[b>>2]=9256;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function jq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function kq(b){b=b|0;var d=0;c[b>>2]=5480;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function lq(b){b=b|0;var d=0;c[b>>2]=2996;d=c[b+32>>2]|0;if(!d){hd(b);return}if(!(a[b+36>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function mq(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function nq(b){b=b|0;if(a[22512]|0)return 23132;if(!(Wa(22512)|0))return 23132;c[5783]=1065353216;c[5784]=1065353216;c[5785]=1065353216;g[5786]=0.0;_a(22512);return 23132}function oq(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return Zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function pq(b){b=b|0;var d=0;c[b>>2]=5132;d=c[b+20>>2]|0;if(!d){hd(b);return}if(!(a[b+24>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function qq(b){b=b|0;var d=0;c[b>>2]=5576;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function rq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);return b|0}function sq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+6>>1])<<16>>16)){a=0;return a|0}a=(b[a+4>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function tq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+10>>1])<<16>>16)){a=0;return a|0}a=(b[a+8>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function uq(b){b=b|0;var d=0;c[b>>2]=6052;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function vq(a,b){a=a|0;b=+b;b=+eh(b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+196>>2]=b;return}function wq(a,b){a=a|0;b=+b;b=+eh(b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+192>>2]=b;return}function xq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+14>>1])<<16>>16)){a=0;return a|0}a=(b[a+12>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function yq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function zq(b){b=b|0;var d=0;c[b>>2]=8584;d=c[b+16>>2]|0;if(!d){hd(b);return}if(!(a[b+20>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function Aq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;Te(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function Bq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +bc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Cq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(191)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Yf(b,a,1);return b|0}function Dq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+Kb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function Eq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(131)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}kg(a,0,0,16);return a|0}function Fq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(111)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Sj(b,a);return b|0}function Gq(a,b){a=a|0;b=b|0;Ab[c[(c[b>>2]|0)+32>>2]&255](b);td(a,b);Ab[c[(c[b>>2]|0)+36>>2]&255](b);return}function Hq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Xb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ic[c[(c[a>>2]|0)+108>>2]&127](a,b,d);ic[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Jq(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Kq(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Lq(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Mq(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Nq(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Oq(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Pq(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Qq(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Rq(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function Sq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(191)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}Yf(a,1,1);return a|0}function Tq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(111)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}Sj(a,1);return a|0}function Uq(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function Vq(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)Vq(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function Wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Kd(a,b,c,d,e,f);return}function Xq(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function Yq(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function Zq(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function _q(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function $q(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function ar(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function br(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function cr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function dr(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function er(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +Kb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function fr(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function gr(a,b,d){a=a|0;b=b|0;d=+d;Cb[c[(c[a>>2]|0)+32>>2]&127](a,b);kc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function hr(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function ir(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function jr(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function kr(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function lr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;$e(a,b,d,e,f|0)|0;i=f;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function mr(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function nr(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function or(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+52>>2]<<2)>>2]=1.0;return}function pr(a){a=a|0;var b=0;b=i;i=i+16|0;hd(a);if(!(ob(c[6563]|0,0)|0)){i=b;return}else ej(21821,b)}function qr(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function rr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return rc(b,c,d,e)|0}function sr(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function tr(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Cp(a,c)|0;f=C;return (C=(_(b,c)|0)+(_(d,a)|0)+f|f&0,e|0|0)|0}function wr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Wb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function xr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function yr(a){a=a|0;c[a>>2]=3640;c[a+12>>2]=3668;cg(a+12|0);pj(a+72|0);hd(a);return}function zr(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function Ar(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qj(a,b,c,d);return}function Br(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Cr(b){b=b|0;if(!(Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Dr(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;ic[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Er(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Fr(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;Cb[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function Gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Pg(a,b,c,d);return}function Hr(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Ir(a){a=a|0;c[a>>2]=3640;c[a+12>>2]=3668;cg(a+12|0);pj(a+72|0);return}function Jr(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Kr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Tb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Lr(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=e;return}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Nr(a){a=a|0;lg(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Pr(a,b){a=a|0;b=+b;g[a>>2]=+g[a>>2]*b;g[a+4>>2]=+g[a+4>>2]*b;g[a+8>>2]=+g[a+8>>2]*b;return a|0}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;Ae(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function Rr(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function Sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Tr(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function Vr(){var a=0;a=i;i=i+16|0;if(!(mb(26252,255)|0)){i=a;return}else ej(21874,a)}function Wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +Ub[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function Xr(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function Yr(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;Zb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function Zr(a){a=a|0;var b=0.0,c=0.0,d=0.0;d=+g[a>>2];c=+g[a+4>>2];b=+g[a+8>>2];return +(+O(+(d*d+c*c+b*b)))}function _r(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function $r(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Qb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function as(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ba(33)}function bs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function cs(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function es(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function fs(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function hs(a,b,d){a=a|0;b=+b;d=d|0;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function is(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function ks(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function ls(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function ms(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function ns(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function os(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function ps(a,b){a=a|0;b=b|0;ic[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function qs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Pb[a&0](b|0,c|0,d|0,e|0,f|0,+g)}function rs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Bb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function ss(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function ts(a,b,d){a=a|0;b=b|0;d=+d;kc[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function us(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function xs(a,b){a=a|0;b=b|0;return +(+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2])}function ys(a){a=a|0;qk(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function zs(a){a=a|0;Tl(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function As(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Gb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function Bs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(29);return 0.0}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function Ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Es(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function Fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function Gs(a){a=a|0;Sg(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Hs(){}function Is(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function Js(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Rf(a,b,c,d,e);return}function Ks(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Zf(a,b,c,d,e);return}function Ls(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(5);return 0}function Ms(a,b){a=a|0;b=b|0;Yd(a,b);return}function Ns(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ba(13)}function Os(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +Mb[a&15](b|0,c|0,d|0,e|0,f|0)}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function Qs(a,b){a=a|0;b=+b;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function Ss(a){a=a|0;c[a>>2]=3668;cg(a);pj(a+60|0);hd(a);return}function Ts(a,b,d){a=a|0;b=b|0;d=+d;kc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function Us(a){a=a|0;wi(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Vs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(26)}function Ws(a){a=a|0;Cj(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Xs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +ec[a&3](b|0,c|0,+d,e|0,f|0)}function Ys(a){a=a|0;c[a>>2]=8060;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Zs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&31](b|0,c|0,d|0,e|0,f|0)}function _s(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function $s(a){a=a|0;vm(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function at(a,b,d){a=a|0;b=b|0;d=+d;zb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function bt(a,b){a=a|0;b=b|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function ct(a,b,d){a=a|0;b=+b;d=d|0;Jb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function dt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function et(a){a=a|0;xi(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ft(a){a=a|0;Ai(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function gt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(31);return 0.0}function ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ac[a&1](b|0,c|0,d|0,e|0,+f)}function it(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Vb[a&0](b|0,c|0,+d,e|0,f|0)}function jt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(36);return 0}function kt(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function lt(a){a=a|0;c[a>>2]=3668;cg(a);pj(a+60|0);return}function mt(a){a=a|0;c[a>>2]=4432;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function nt(a){a=a|0;c[a>>2]=5008;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ot(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function pt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zc(a,b,c,d)|0;return 1}function rt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function st(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function tt(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function vt(a,b){a=a|0;b=b|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function wt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;bi(b,c);return}function yt(a){a=a|0;Bd(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function zt(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function At(a,b){a=a|0;b=b|0;ic[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function Bt(a,b){a=a|0;b=b|0;return Zb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Ct(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Dt(a,b,d){a=a|0;b=b|0;d=+d;Cb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Et(a){a=a|0;a=c[a+68>>2]|0;return Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Ft(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ib[a&31](b|0,c|0,d|0,e|0)|0}function Ht(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function It(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Jt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(25)}function Kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (C=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function Lt(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function Mt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function Nt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function Ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +fc[a&1](b|0,c|0,d|0,e|0)}function Pt(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Qt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function Rt(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+8>>2]&255](a);return}function St(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+Q(+b);return}function Tt(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ut(a,b){a=a|0;b=+b;return +(+Sb[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function Vt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ba(12);return 0.0}function Wt(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Xt(a,b){a=a|0;b=b|0;c[a+176>>2]=(b|0)<0?0:(b|0)>2?2:b;return}function Yt(a,b){a=a|0;b=b|0;Se(a,b);return}function Zt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function _t(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;Ii(a,b,c);return}function au(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mc[a&127](b|0,c|0,d|0,e|0)}function bu(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function cu(a,b,c){a=a|0;b=b|0;c=c|0;gj(a,b,c);return}function du(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function eu(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function fu(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function gu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function hu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ju(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return lc[a&1](b|0,+c,d|0,+e)|0}function ku(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function lu(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function mu(a,b,c){a=a|0;b=b|0;c=c|0;return sc(a,b,c)|0}function nu(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function ou(a,b){a=a|0;b=b|0;xe(a,b);return}function pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;hc[a&15](b|0,c|0,d|0,+e)}function qu(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function ru(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Fb[a&7](b|0,c|0,+d,e|0)}function su(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Hb[a&0](b|0,+c,d|0,e|0)}function tu(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function uu(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function vu(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function wu(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function xu(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b*80|0)+64>>2]|0}function yu(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function zu(a){a=a|0;return Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Au(a){a=a|0;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Bu(a,b){a=a|0;b=+b;zb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Cu(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function Du(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function Eu(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function Fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Gu(a){a=a|0;Ab[c[(c[a>>2]|0)+44>>2]&255](a);return}function Hu(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&63](b|0,c|0,d|0)|0}function Ju(a,b){a=a|0;b=b|0;Ii(a,b,1);return}function Ku(a){a=a|0;if(!a)a=0;else a=(wj(a,2832)|0)!=0;return a&1|0}function Lu(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function Mu(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function Nu(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function Ou(a){a=a|0;Tj(a);hd(a);return}function Pu(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function Qu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +_b[a&15](b|0,c|0,d|0)}function Ru(a,b){a=a|0;b=b|0;return sc(a,b,8192)|0}function Su(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function Tu(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Uu(a){a=a|0;return Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Vu(a){a=a|0;return Eb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function Wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Xu(a,b){a=a|0;b=b|0;sl(a,b);return}function Yu(a,b){a=a|0;b=b|0;Wg(a,b);return}function Zu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Rb[a&7](b|0,c|0,+d)|0}function _u(a){a=a|0;return +(+g[a+132>>2])}function $u(a){a=a|0;return +(+g[a+128>>2])}function av(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function bv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(24)}function cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ic[a&127](b|0,c|0,d|0)}function dv(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function ev(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function fv(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function gv(a){a=a|0;return +(+Sb[c[(c[a>>2]|0)+48>>2]&15](a))}function hv(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function iv(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function jv(a){a=a|0;Lj(a);hd(a);return}function kv(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function lv(a,b){a=a|0;b=b|0;return c[(c[a+12>>2]|0)+(b<<2)>>2]|0}function mv(a,b){a=a|0;b=b|0;Pd(a,b);return}function nv(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function ov(a){a=a|0;return +(+g[a+136>>2])}function pv(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function qv(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function rv(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function sv(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function tv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(21);return 0}function uv(a,b){a=a|0;b=b|0;return ((c[b+236>>2]&2|0)==0?0:b)|0}function vv(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function wv(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Jb[a&15](b|0,+c,d|0)}function xv(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function yv(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function zv(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function Av(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function Bv(a){a=a|0;return ~~+g[a+48>>2]|0}function Cv(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function Dv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;kc[a&7](b|0,c|0,+d)}function Ev(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(22);return 0.0}function Fv(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Gv(a){a=a|0;a=c[a+216>>2]|0;return (a|0)!=5&(a|0)!=2|0}function Hv(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function Iv(a){a=a|0;return +(+g[a+116>>2])}function Jv(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function Kv(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function Lv(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Mv(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function Nv(a){a=a|0;return +(+g[a+124>>2])}function Ov(a,b,c){a=a|0;b=+b;c=c|0;return}function Pv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Qv(a,b){a=a|0;b=b|0;return ((c[b+236>>2]|0)==8?b:0)|0}function Rv(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function Sv(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function Tv(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function Uv(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function Vv(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function Wv(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $e(a,b,c,d,0)|0}function Yv(a){a=a|0;kf(a);hd(a);return}function Zv(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function _v(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function $v(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function aw(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function bw(a,b,c){a=a|0;b=+b;c=c|0;return}function cw(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function dw(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Nb[a&7](b|0,+c,+d)}function ew(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function fw(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function gw(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function hw(a,b){a=a|0;b=b|0;return (c[a+12>>2]|0)+(b*104|0)|0}function iw(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function jw(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function kw(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function lw(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function mw(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function nw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(18)}function ow(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function pw(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function qw(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;return Zb[a&31](b|0,c|0)|0}function sw(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function tw(a){a=a|0;return +(+g[a+104>>2])}function uw(a){a=a|0;yk(a);hd(a);return}function vw(a){a=a|0;Wk(a);hd(a);return}function ww(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function xw(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function yw(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ba(17)}function Aw(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function Bw(a){a=a|0;return +(+g[a+96>>2])}function Cw(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function Dw(a){a=a|0;xk(a);hd(a);return}function Ew(a){a=a|0;return +(+g[a+92>>2])}function Fw(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Hw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(3)}function Iw(a){a=a|0;return +(+g[a+108>>2])}function Jw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(14);return 0.0}function Kw(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function Lw(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function Mw(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Nw(a){a=a|0;return b[a+10>>1]|0}function Ow(a){a=a|0;return b[a+8>>1]|0}function Pw(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function Qw(a){a=a|0;zk(a);hd(a);return}function Rw(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ba(8)}function Sw(a){a=a|0;return +(+g[a+220>>2])}function Tw(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function Uw(a){a=a|0;return +(+g[a+100>>2])}function Vw(a){a=a|0;return b[a+12>>1]|0}function Ww(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(34);return 0.0}function Xw(a){a=a|0;return +(+g[a+224>>2])}function Yw(a){a=a|0;return ph(a)|0}function Zw(a){a=a|0;return b[a+14>>1]|0}function _w(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function $w(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function ax(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function bx(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function cx(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function dx(a){a=a|0;return (c[a+48>>2]|0)==1|0}function ex(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function fx(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function gx(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function hx(a){a=a|0;return (c[a+92>>2]|0)+4|0}function ix(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function jx(a,b,c){a=a|0;b=b|0;c=+c;return +cc[a&1](b|0,+c)}function kx(a){a=a|0;return +(+g[a+276>>2])}function lx(a){a=a|0;return +(+g[a+204>>2])}function mx(a){a=a|0;return +(+g[a+208>>2])}function nx(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function ox(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function px(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function qx(a){a=a|0;Ak(a);hd(a);return}function rx(a){a=a|0;return +(+g[a+112>>2])}function sx(a){a=a|0;return +(+g[a+216>>2])}function tx(a){a=a|0;return c[a+268>>2]|0}function ux(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function vx(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function wx(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function xx(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function yx(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function zx(a,b,c){a=a|0;b=b|0;c=c|0;return}function Ax(a){a=a|0;return +(+g[a+248>>2])}function Bx(a){a=a|0;if(!a)return;hd(a);return}function Cx(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function Dx(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function Ex(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function Fx(a,b,c){a=a|0;b=b|0;c=+c;return 0}function Gx(a,b){a=a|0;b=b|0;return}function Hx(a){a=a|0;return c[a+36>>2]|0}function Ix(a){a=a|0;return c[a+32>>2]|0}function Jx(a){a=a|0;return c[a+748>>2]|0}function Kx(a){a=a|0;return (c[a+48>>2]|0)+4|0}function Lx(a){a=a|0;return +(+g[a+120>>2])}function Mx(a){a=a|0;return a+44|0}function Nx(a,b,c){a=a|0;b=b|0;c=+c;zb[a&31](b|0,+c)}function Ox(a){a=a|0;return c[a+8>>2]|0}function Px(a){a=a|0;return (c[a+8>>2]|0)!=0|0}function Qx(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function Rx(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function Sx(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function Tx(a){a=a|0;return a+60|0}function Ux(a){a=a|0;return c[a+200>>2]|0}function Vx(a){a=a|0;return +(+g[a+244>>2])}function Wx(a){a=a|0;return +g[a+4>>2]<1.0|0}function Xx(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function Yx(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function Zx(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function _x(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function $x(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function ay(a){a=a|0;return c[a+212>>2]|0}function by(a){a=a|0;c[a+192>>2]=0;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;return}function dy(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function ey(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(0)}function fy(a){a=a|0;return +(+g[a+212>>2])}function gy(a){a=a|0;return +(+g[a+228>>2])}function hy(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function iy(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function jy(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function ky(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ba(30)}function ly(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(23)}function my(a){a=a|0;return +(+g[a+252>>2])}function ny(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function oy(a){a=a|0;return a+156|0}function py(a){a=a|0;return c[a+116>>2]|0}function qy(a){a=a|0;return c[a+136>>2]|0}function ry(a){a=a|0;return c[a+744>>2]|0}function sy(a){a=a|0;return c[a+740>>2]|0}function ty(a){a=a|0;return a+20|0}function uy(a){a=a|0;return a+324|0}function vy(a){a=a|0;return c[a+192>>2]|0}function wy(a){a=a|0;return c[a+204>>2]|0}function xy(a){a=a|0;return c[a+24>>2]|0}function yy(a){a=a|0;return c[a+68>>2]|0}function zy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(35);return 0.0}function Ay(a){a=a|0;return +(+g[a+232>>2])}function By(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Cy(a){a=a|0;return 348}function Dy(a){a=a|0;return c[a+12>>2]|0}function Ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10);return 0}function Fy(a){a=a|0;return c[a+480>>2]|0}function Gy(a){a=a|0;Ci(a);hd(a);return}function Hy(a){a=a|0;dp(a);hd(a);return}function Iy(a){a=a|0;_j(a);hd(a);return}function Jy(a){a=a|0;return a+352|0}function Ky(a){a=a|0;return a+348|0}function Ly(a){a=a|0;return c[a>>2]|0}function My(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ny(a){a=a|0;return c[a+240>>2]|0}function Oy(a){a=a|0;return a+24|0}function Py(a){a=a|0;return a+316|0}function Qy(a){a=a|0;return a+300|0}function Ry(a){a=a|0;return a+64|0}function Sy(a){a=a|0;return +(+g[a+64>>2])}function Ty(a){a=a|0;return +(+g[a+68>>2])}function Uy(a){a=a|0;return a+32|0}function Vy(a){a=a|0;return c[a+84>>2]|0}function Wy(a){a=a|0;return c[a+88>>2]|0}function Xy(a){a=a|0;return c[a+92>>2]|0}function Yy(a){a=a|0;return c[a+100>>2]|0}function Zy(a){a=a|0;return 252}function _y(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ba(41);return 0}function $y(a){a=a|0;return a+52|0}function az(a){a=a|0;return +(+g[a+80>>2])}function bz(a){a=a|0;return +(+g[a+76>>2])}function cz(a){a=a|0;return 28}function dz(a){a=a|0;return c[a+72>>2]|0}function ez(a,b){a=a|0;b=b|0;return +Sb[a&15](b|0)}function fz(a){a=a|0;return a+40|0}function gz(a){a=a|0;return c[a+16>>2]|0}function hz(a){a=a|0;return +(+g[a+60>>2])}function iz(a){a=a|0;return +(+g[a+52>>2])}function jz(a){a=a|0;return +(+g[a+56>>2])}function kz(a){a=a|0;return a+108|0}function lz(a){a=a|0;return 212}function mz(a){a=a|0;return c[a+96>>2]|0}function nz(a){a=a|0;return a+16|0}function oz(a,b){a=a|0;b=b|0;return 1}function pz(a){a=a|0;return a+328|0}function qz(a){a=a|0;return a+28|0}function rz(a,b){a=a|0;b=b|0;i=a;j=b}function sz(a){a=a|0;return a+312|0}function tz(a){a=a|0;return 204}function uz(a,b){a=a|0;b=b|0;return}function vz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(42)}function wz(a){a=a|0;return a+36|0}function xz(a){a=a|0;return +(+g[a+44>>2])}function yz(a){a=a|0;return +(+g[a+40>>2])}function zz(a){a=a|0;return +(+g[a+36>>2])}function Az(a){a=a|0;return +(+g[a+48>>2])}function Bz(a){a=a|0;return 220}function Cz(a){a=a|0;return 256}function Dz(a){a=a|0;return +(+g[a+72>>2])}function Ez(a){a=a|0;c[a>>2]=8060;return}function Fz(a){a=a|0;return +(+g[a+24>>2])}function Gz(a){a=a|0;return +(+g[a+20>>2])}function Hz(a){a=a|0;return +(+g[a+32>>2])}function Iz(a){a=a|0;return +(+g[a+16>>2])}function Jz(a){a=a|0;return +(+g[a+28>>2])}function Kz(a){a=a|0;return a+12|0}function Lz(a){a=a|0;return 52}function Mz(a){a=a|0;return 68}function Nz(a){a=a|0;return 84}function Oz(a){a=a|0;return c[a+4>>2]|0}function Pz(a){a=a|0;return a+868|0}function Qz(a){a=a|0;return a+4|0}function Rz(a,b){a=a|0;b=b|0;Ab[a&255](b|0)}function Sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ba(37)}function Tz(a){a=a|0;return 24}function Uz(a,b){a=a|0;b=+b;return}function Vz(a){a=a|0;return +(+g[a+12>>2])}function Wz(a){a=a|0;return a+68|0}function Xz(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ba(9)}function Yz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ba(7)}function Zz(a){a=a|0;return +(+g[a+8>>2])}function _z(a){a=a|0;return +(+g[a+4>>2])}function $z(a){a=a|0;Ai(a);return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;ba(28);return 0.0}function bA(a){a=a|0;return a+708|0}function cA(a){a=a|0;return 488}function dA(a,b,c){a=a|0;b=b|0;c=c|0;ba(16);return 0}function eA(a){a=a|0;hd(a+-4|0);return}function fA(a){a=a|0;return 32}function gA(a){a=a|0;return a+76|0}function hA(a){a=a|0;return 60}function iA(a){a=a|0;return 428}function jA(a){a=a|0;return a+48|0}function kA(a){a=a|0;return a+288|0}function lA(a){a=a|0;c[a>>2]=4432;return}function mA(a){a=a|0;c[a>>2]=5008;return}function nA(a){a=a|0;return +(+g[a>>2])}function oA(a,b,c){a=a|0;b=b|0;c=+c;ba(19);return 0}function pA(a){a=a|0;return 11200}function qA(a){a=a|0;return 4}function rA(a){a=a|0;return 17831}function sA(a){a=a|0;return 17518}function tA(a){a=a|0;return 11009}function uA(a){a=a|0;return a|0}function vA(a){a=a|0;return 16532}function wA(a){a=a|0;return a+72|0}function xA(a,b,c){a=a|0;b=b|0;c=c|0;ba(38)}function yA(a){a=a|0;return a+8|0}function zA(a){a=a|0;return 16945}function AA(a){a=a|0;return 0}function BA(a){a=a|0;return 17105}function CA(a){a=a|0;return 17303}function DA(a){a=a|0;return 1}function EA(a,b,c){a=a|0;b=b|0;c=+c;ba(40)}function FA(a,b,c){a=a|0;b=+b;c=c|0;ba(11)}function GA(a){a=a|0;return 17939}function HA(a){a=a|0;return 17910}function IA(a){a=a|0;return 3}function JA(a){a=a|0;return 11635}function KA(a){a=a|0;return 17861}function LA(a){a=a|0;return 16353}function MA(a){a=a|0;return 17481}function NA(a){a=a|0;return 17454}function OA(a){a=a|0;return 17404}function PA(a){a=a|0;return 8}function QA(a,b,c){a=a|0;b=+b;c=+c;ba(15)}function RA(a){a=a|0;return 16500}function SA(a,b){a=a|0;b=b|0;ba(27);return 0}function TA(a){a=a|0;return 16457}function UA(a){a=a|0;return 16478}function VA(a){a=a|0;return 6}function WA(a){a=a|0;return 12}function XA(){return 4}function YA(a){a=a|0;return 16421}function ZA(a,b){a=a|0;b=+b;ba(32);return 0.0}function _A(a){a=a|0;return 2}function $A(a){a=a|0;return 17591}function aB(a){a=a|0;hd(a);return}function bB(a){a=a|0;return 22301}function cB(a){a=a|0;jc[a&3]()}function dB(){return 2}function eB(){return 1}function fB(){return 5}function gB(){return 3}function hB(){return 0}function iB(){vb()}function jB(a,b){a=a|0;b=b|0;ba(4)}function kB(a){a=a|0;i=a}function lB(a,b){a=a|0;b=+b;ba(1)}function mB(a){a=a|0;C=a}function nB(a){a=a|0;ba(20);return 0.0}function oB(a){a=a|0;ba(6);return 0}function pB(){return C|0}function qB(a){a=a|0;return}function rB(){return i|0}function sB(a){a=a|0;ba(2)}function tB(){ba(39)} +function te(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0;r=sa;sa=sa+16|0;Ki(16515);e=c[b+232>>2]|0;if((e|0)>0){q=0;do{p=c[(c[b+240>>2]|0)+(q<<2)>>2]|0;if(!(c[p+204>>2]&3)){n=+g[p+444>>2];h=+y(+(1.0-n),+d);i=+g[p+312>>2]*h;g[p+312>>2]=i;f=h*+g[p+316>>2];g[p+316>>2]=f;h=h*+g[p+320>>2];g[p+320>>2]=h;o=+g[p+448>>2];k=+y(+(1.0-o),+d);j=+g[p+328>>2]*k;g[p+328>>2]=j;l=k*+g[p+332>>2];g[p+332>>2]=l;k=k*+g[p+336>>2];g[p+336>>2]=k;do if(a[p+452>>0]|0){if(j*j+l*l+k*k<+g[p+464>>2]?i*i+f*f+h*h<+g[p+460>>2]:0){s=+g[p+456>>2];g[p+328>>2]=j*s;g[p+332>>2]=l*s;g[p+336>>2]=k*s;g[p+312>>2]=i*s;g[p+316>>2]=f*s;g[p+320>>2]=h*s;f=f*s;m=h*s;j=j*s;l=l*s;k=k*s;i=i*s}else m=h;h=+x(+(i*i+f*f+m*m));do if(h.004999999888241291){g[p+312>>2]=i-i*(1.0/h)*.004999999888241291;g[p+316>>2]=f-f*(1.0/h)*.004999999888241291;g[p+320>>2]=m-m*(1.0/h)*.004999999888241291;break}else{c[p+312>>2]=0;c[p+312+4>>2]=0;c[p+312+8>>2]=0;c[p+312+12>>2]=0;break}while(0);f=+x(+(j*j+l*l+k*k));if(f.004999999888241291){g[p+328>>2]=j-j*(1.0/f)*.004999999888241291;g[p+332>>2]=l-l*(1.0/f)*.004999999888241291;g[p+336>>2]=k-k*(1.0/f)*.004999999888241291;break}else{c[p+328>>2]=0;c[p+328+4>>2]=0;c[p+328+8>>2]=0;c[p+328+12>>2]=0;break}}while(0);jg(p+4|0,+g[p+312>>2],+g[p+316>>2],+g[p+320>>2],p+328|0,d,p+68|0);e=c[b+232>>2]|0}q=q+1|0}while((q|0)<(e|0))}e=c[3084]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){sa=r;return}do if(c[e+4>>2]|0){la(r|0,0)|0;b=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[r+4>>2]|0)-(c[b+4>>2]|0)+(((c[r>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3084]|0;break}else{sa=r;return}}while(0);c[3084]=c[e+20>>2];sa=r;return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}f=c[b+40>>2]|0;if(!f)l=b;else{e=+g[d>>2]+ +g[d+16>>2];j=+g[d+4>>2]+ +g[d+20>>2];k=+g[d+8>>2]+ +g[d+24>>2];do{m=c[b+36>>2]|0;n=+w(+(e-(+g[m>>2]+ +g[m+16>>2])))+ +w(+(j-(+g[m+4>>2]+ +g[m+20>>2])))+ +w(+(k-(+g[m+8>>2]+ +g[m+24>>2])));b=c[b+36+((!(n<+w(+(e-(+g[f>>2]+ +g[f+16>>2])))+ +w(+(j-(+g[f+4>>2]+ +g[f+20>>2])))+ +w(+(k-(+g[f+8>>2]+ +g[f+24>>2]))))&1)<<2)>>2]|0;f=c[b+40>>2]|0}while((f|0)!=0);l=b}m=l+32|0;h=c[m>>2]|0;b=c[a+4>>2]|0;if(!b){c[7182]=(c[7182]|0)+1;b=xb(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;i=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0))}else c[a+4>>2]=0;c[b+32>>2]=h;c[b+36>>2]=0;f=b+40|0;c[f>>2]=0;n=+g[d>>2];k=+g[l>>2];g[b>>2]=n>2];n=+g[l+16>>2];g[b+16>>2]=k>n?k:n;n=+g[d+4>>2];k=+g[l+4>>2];g[b+4>>2]=n>2];n=+g[l+20>>2];g[b+20>>2]=k>n?k:n;n=+g[d+8>>2];k=+g[l+8>>2];g[b+8>>2]=n>2];n=+g[l+24>>2];g[b+24>>2]=k>n?k:n;if(!h){c[b+36>>2]=l;c[m>>2]=b;c[f>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[h+36+(((c[(c[m>>2]|0)+40>>2]|0)==(l|0)&1)<<2)>>2]=b;c[b+36>>2]=l;c[m>>2]=b;c[f>>2]=d;c[d+32>>2]=b;f=b;e=+g[b>>2];while(1){b=h+4|0;if(((((+g[h>>2]<=e?+g[b>>2]<=+g[f+4>>2]:0)?+g[h+8>>2]<=+g[f+8>>2]:0)?+g[h+16>>2]>=+g[f+16>>2]:0)?+g[h+20>>2]>=+g[f+20>>2]:0)?+g[h+24>>2]>=+g[f+24>>2]:0){b=21;break}a=c[h+36>>2]|0;d=c[h+40>>2]|0;k=+g[a>>2];e=+g[d>>2];e=k>2]=e;k=+g[a+16>>2];n=+g[d+16>>2];g[h+16>>2]=k>n?k:n;n=+g[a+4>>2];k=+g[d+4>>2];g[b>>2]=n>2];n=+g[d+20>>2];g[h+20>>2]=k>n?k:n;n=+g[a+8>>2];k=+g[d+8>>2];g[h+8>>2]=n>2];n=+g[d+24>>2];g[h+24>>2]=k>n?k:n;b=c[h+32>>2]|0;if(!b){b=21;break}else{f=h;h=b}}if((b|0)==21)return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){f=a+244|0;f=c[f>>2]|0;d=b+212|0;c[d>>2]=f;d=a+248|0;d=c[d>>2]|0;f=b+216|0;c[f>>2]=d;f=a+252|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+256|0;d=c[d>>2]|0;f=b+248|0;c[f>>2]=d;return 17495}Va[c[(c[d>>2]|0)+48>>2]&127](d,e);f=a+244|0;f=c[f>>2]|0;d=b+212|0;c[d>>2]=f;d=a+248|0;d=c[d>>2]|0;f=b+216|0;c[f>>2]=d;f=a+252|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+256|0;d=c[d>>2]|0;f=b+248|0;c[f>>2]=d;return 17495}function we(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(!(RC(b,c[d+8>>2]|0)|0)){if(!(RC(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;wn(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;wn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;wn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;wn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;j=b+16+(c[b+12>>2]<<3)|0;h=0;i=b+16|0;k=0;b:while(1){if(i>>>0>=j>>>0){f=18;break}a[d+52>>0]=0;a[d+53>>0]=0;dn(i,d,e,e,1,g);if(a[d+54>>0]|0){f=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;f=18;break b}else{h=1;f=k;break}if((c[d+24>>2]|0)==1){f=23;break b}if(!(c[b+8>>2]&2)){f=23;break b}else{h=1;f=1}}else f=k;while(0);i=i+8|0;k=f}do if((f|0)==18){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){f=23;break}else{h=4;break}}if(h)f=23;else h=4}while(0);if((f|0)==23)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Er(d,e,f);while(0);return}function xe(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;kc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;l=+g[b+192>>2];m=+g[b+196>>2];do if(l<=m){h=+g[b+892>>2];i=+g[b+908>>2];f=+g[b+924>>2];f=+F(+(+g[b+832>>2]*h+ +g[b+848>>2]*i+ +g[b+864>>2]*f),+(+g[b+828>>2]*h+ +g[b+844>>2]*i+ +g[b+860>>2]*f));do if(!(l>=m)){if(f3.1415927410125732)h=(l-f)%6.2831854820251465+-6.2831854820251465;else h=(l-f)%6.2831854820251465;else h=(l-f)%6.2831854820251465+6.2831854820251465;i=+w(+h);if(!((m-f)%6.2831854820251465<-3.1415927410125732))if((m-f)%6.2831854820251465>3.1415927410125732)h=(m-f)%6.2831854820251465+-6.2831854820251465;else h=(m-f)%6.2831854820251465;else h=(m-f)%6.2831854820251465+6.2831854820251465;k=i<+w(+h);f=k?f:f+6.2831854820251465;break}if(f>m){if(!((f-m)%6.2831854820251465<-3.1415927410125732))if((f-m)%6.2831854820251465>3.1415927410125732)h=(f-m)%6.2831854820251465+-6.2831854820251465;else h=(f-m)%6.2831854820251465;else h=(f-m)%6.2831854820251465+6.2831854820251465;i=+w(+h);if(!((f-l)%6.2831854820251465<-3.1415927410125732))if((f-l)%6.2831854820251465>3.1415927410125732)h=(f-l)%6.2831854820251465+-6.2831854820251465;else h=(f-l)%6.2831854820251465;else h=(f-l)%6.2831854820251465+6.2831854820251465;k=+w(+h)>2]=f;if(f>2]=f-l;a[b+297>>0]=1;k=1;break}if(f>m){g[b+1088>>2]=f-m;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;f=+g[b+184>>2];h=+g[b+188>>2];i=(c[j>>2]=e,+g[j>>2]);do if(!(f<=h))e=32;else{if(!(hi)){e=32;break}}else f=h;g[b+1032>>2]=i-f;a[b+296>>0]=1;e=34}while(0);if((e|0)==32?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=34;if((e|0)==34){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;k=sa;sa=sa+128|0;a=c[a+16>>2]|0;n=+g[a+892>>2];x=+g[a+896>>2];y=+g[a+900>>2];w=+g[a+908>>2];l=+g[a+912>>2];h=+g[a+916>>2];v=+g[b>>2];u=+g[b+4>>2];t=+g[b+8>>2];r=+g[b+16>>2];q=+g[b+20>>2];p=+g[b+24>>2];m=+g[b+32>>2];f=+g[b+36>>2];i=+g[b+40>>2];s=+g[b+48>>2];o=+g[b+52>>2];j=+g[b+56>>2];g[k>>2]=n*v+x*u+y*t+s;g[k+4>>2]=n*r+x*q+y*p+o;g[k+8>>2]=n*m+x*f+y*i+j;g[k+12>>2]=0.0;g[k+16>>2]=w*v+x*u+y*t+s;g[k+20>>2]=w*r+x*q+y*p+o;g[k+24>>2]=w*m+x*f+y*i+j;g[k+28>>2]=0.0;g[k+32>>2]=w*v+l*u+y*t+s;g[k+36>>2]=w*r+l*q+y*p+o;g[k+40>>2]=w*m+l*f+y*i+j;g[k+44>>2]=0.0;g[k+48>>2]=n*v+l*u+y*t+s;g[k+52>>2]=n*r+l*q+y*p+o;g[k+56>>2]=n*m+l*f+y*i+j;g[k+60>>2]=0.0;g[k+64>>2]=n*v+x*u+h*t+s;g[k+68>>2]=n*r+x*q+h*p+o;g[k+72>>2]=n*m+x*f+h*i+j;g[k+76>>2]=0.0;g[k+80>>2]=w*v+x*u+h*t+s;g[k+84>>2]=w*r+x*q+h*p+o;g[k+88>>2]=w*m+x*f+h*i+j;g[k+92>>2]=0.0;g[k+96>>2]=w*v+l*u+h*t+s;g[k+100>>2]=w*r+l*q+h*p+o;g[k+104>>2]=w*m+l*f+h*i+j;g[k+108>>2]=0.0;g[k+112>>2]=n*v+l*u+h*t+s;g[k+116>>2]=n*r+l*q+h*p+o;g[k+120>>2]=n*m+l*f+h*i+j;g[k+124>>2]=0.0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];a=1;do{f=+g[k+(a<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[k+(a<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;i=+g[k+(a<<4)+8>>2];if(i<+g[d+8>>2])g[d+8>>2]=i;j=+g[k+(a<<4)+12>>2];if(j<+g[d+12>>2])g[d+12>>2]=j;if(+g[e>>2]>2]=f;if(+g[e+4>>2]>2]=h;if(+g[e+8>>2]>2]=i;if(+g[e+12>>2]>2]=j;a=a+1|0}while((a|0)!=8);sa=k;return}function ze(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=sa;sa=sa+64|0;dg(c[b+116>>2]|0,d,0);e=+g[d+204>>2]+ +g[d+212>>2];o=e*+g[d+56>>2]+ +g[d+40>>2];p=e*+g[d+60>>2]+ +g[d+44>>2];g[d+16>>2]=+g[d+52>>2]*e+ +g[d+36>>2];g[d+20>>2]=o;g[d+24>>2]=p;g[d+28>>2]=0.0;g[q+32>>2]=-1.0;r=c[b+100>>2]|0;r=Ka[c[(c[r>>2]|0)+8>>2]&31](r,d+36|0,d+16|0,q)|0;c[d+88>>2]=0;if(!r){c[d+32>>2]=c[d+204>>2];g[d+272>>2]=0.0;o=-+g[d+56>>2];p=-+g[d+60>>2];g[d>>2]=-+g[d+52>>2];g[d+4>>2]=o;g[d+8>>2]=p;g[d+12>>2]=0.0;p=-1.0;o=1.0;r=d+268|0;g[r>>2]=o;sa=q;return +p}p=e*+g[q+32>>2];c[d>>2]=c[q+16>>2];c[d+4>>2]=c[q+16+4>>2];c[d+8>>2]=c[q+16+8>>2];c[d+12>>2]=c[q+16+12>>2];a[d+84>>0]=1;if((a[26712]|0)==0?mz(26712)|0:0){c[q+40>>2]=0;c[q+40+4>>2]=0;c[q+40+8>>2]=0;c[q+40+12>>2]=0;Cf(28012,0.0,0,0,q+40|0)}c[7054]=c[7054]|1;g[7089]=0.0;o=+g[7099]*0.0;e=+g[7100]*0.0;g[7094]=+g[7098]*0.0;g[7095]=o;g[7096]=e;g[7097]=0.0;c[7102]=0;c[7103]=0;c[7104]=0;c[7105]=0;e=+g[7091]*0.0;o=+g[7092]*0.0;g[7143]=+g[7090]*0.0;g[7144]=e;g[7145]=o;g[7146]=0.0;c[d+88>>2]=28012;o=p-+g[d+212>>2];g[d+32>>2]=o;e=+g[d+204>>2];f=+g[d+208>>2]*.009999999776482582;h=oe+f)g[d+32>>2]=h>e+f?e+f:h;c[d+16>>2]=c[q>>2];c[d+16+4>>2]=c[q+4>>2];c[d+16+8>>2]=c[q+8>>2];c[d+16+12>>2]=c[q+12>>2];l=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];o=l*+g[d+52>>2]+m*+g[d+56>>2]+n*+g[d+60>>2];b=c[b+116>>2]|0;h=+g[d+16>>2]-+g[b+52>>2];i=+g[d+20>>2]-+g[b+56>>2];j=+g[d+24>>2]-+g[b+60>>2];k=+g[b+332>>2];e=+g[b+336>>2];f=+g[b+328>>2];if(!(o>=-.10000000149011612)){g[d+272>>2]=-1.0/o*(l*(k*j-i*e+ +g[b+312>>2])+m*(h*e-j*f+ +g[b+316>>2])+n*(i*f-h*k+ +g[b+320>>2]));o=-1.0/o;r=d+268|0;g[r>>2]=o;sa=q;return +p}else{g[d+272>>2]=0.0;o=10.0;r=d+268|0;g[r>>2]=o;sa=q;return +p}return 0.0}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+x(+(u*u+t*t+s*s));z=+g[d>>2];y=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+x(+(z*z+y*y+w*w));C=s*r*y*v-t*r*w*v;B=u*r*w*v-s*r*z*v;A=t*r*z*v-u*r*y*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=j*A+(e*C+h*B);g[a+52>>2]=j*w*v+(e*z*v+h*y*v);g[a+56>>2]=e*u*r+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=A*k+(f*C+i*B);g[a+68>>2]=z*v*f+y*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=C*l+B*n+A*p;g[a+84>>2]=z*v*l+y*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=C*q+B*p+A*o;g[a+116>>2]=z*v*q+y*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=C*n+B*m+A*l;g[a+132>>2]=z*v*n+y*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=C*k+B*i+A*f;g[a+148>>2]=z*v*k+y*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;tc(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function Be(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0,k=0;h=sa;sa=sa+16|0;if(!(a[b+1308>>0]|0)){sa=h;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;tc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Pa[c[(c[b>>2]|0)+44>>2]&511](b);d=+g[b+1284>>2];e=+g[b+1288>>2];f=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){k=(a[b+1300>>0]|0)==0;i=c[(k?b+1160|0:b+1096|0)>>2]|0;j=c[(k?b+1144|0:b+1080|0)>>2]|0;c[h>>2]=c[(k?b+1128|0:b+1064|0)>>2];c[h+4>>2]=j;c[h+8>>2]=i;g[h+12>>2]=0.0;Vg(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,h,d,e,f,d,e,f)}if(+g[b+700>>2]>=+g[b+684>>2]){i=(a[b+1300>>0]|0)==0;k=c[(i?b+1164|0:b+1100|0)>>2]|0;j=c[(i?b+1148|0:b+1084|0)>>2]|0;c[h>>2]=c[(i?b+1132|0:b+1068|0)>>2];c[h+4>>2]=j;c[h+8>>2]=k;g[h+12>>2]=0.0;Vg(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,h,d,e,f,d,e,f)}if(+g[b+704>>2]>=+g[b+688>>2]){i=(a[b+1300>>0]|0)==0;k=c[(i?b+1168|0:b+1104|0)>>2]|0;j=c[(i?b+1152|0:b+1088|0)>>2]|0;c[h>>2]=c[(i?b+1136|0:b+1072|0)>>2];c[h+4>>2]=j;c[h+8>>2]=k;g[h+12>>2]=0.0;Vg(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,h,d,e,f,d,e,f)}if(of(b,0)|0){c[h>>2]=c[b+1208>>2];c[h+4>>2]=c[b+1208+4>>2];c[h+8>>2]=c[b+1208+8>>2];c[h+12>>2]=c[b+1208+12>>2];_f(c[b+28>>2]|0,c[b+32>>2]|0,b+428|0,h)}if(of(b,1)|0){c[h>>2]=c[b+1224>>2];c[h+4>>2]=c[b+1224+4>>2];c[h+8>>2]=c[b+1224+8>>2];c[h+12>>2]=c[b+1224+12>>2];_f(c[b+28>>2]|0,c[b+32>>2]|0,b+512|0,h)}if(of(b,2)|0){c[h>>2]=c[b+1240>>2];c[h+4>>2]=c[b+1240+4>>2];c[h+8>>2]=c[b+1240+8>>2];c[h+12>>2]=c[b+1240+12>>2];_f(c[b+28>>2]|0,c[b+32>>2]|0,b+596|0,h)}sa=h;return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0,z=0;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;z=d;y=(z|0)>0;z=y?z:0;a=a+4+(z*184|0)|0;Bh(a|0,b|0,184)|0;return z|0}k=+g[b+80>>2];x=+g[a+84>>2];v=x>2];t=u>2];z=+g[a+636>>2]<(s>31;k=+g[b>>2];if(d){n=+g[a+188>>2];h=+g[b+4>>2];q=+g[a+192>>2];j=+g[b+8>>2];p=+g[a+196>>2];m=+g[a+556>>2];s=+g[a+372>>2];f=+g[a+560>>2];o=+g[a+376>>2];e=+g[a+564>>2];l=+g[a+380>>2];i=((k-n)*(f-o)-(h-q)*(m-s))*((k-n)*(f-o)-(h-q)*(m-s))+(((h-q)*(e-l)-(j-p)*(f-o))*((h-q)*(e-l)-(j-p)*(f-o))+((j-p)*(m-s)-(k-n)*(e-l))*((j-p)*(m-s)-(k-n)*(e-l)));if((d|0)==1){k=k-+g[a+4>>2];u=h-+g[a+8>>2];t=j-+g[a+12>>2];h=0.0;j=p;y=7}else{t=m-s;u=f-o;r=e-l;y=6}}else{m=+g[a+556>>2];s=+g[a+372>>2];f=+g[a+560>>2];o=+g[a+376>>2];e=+g[a+564>>2];l=+g[a+380>>2];t=m-s;u=f-o;r=e-l;n=+g[a+188>>2];q=+g[a+192>>2];p=+g[a+196>>2];i=0.0;h=+g[b+4>>2];j=+g[b+8>>2];y=6}if((y|0)==6){k=k-+g[a+4>>2];h=h-+g[a+8>>2];j=j-+g[a+12>>2];x=h*r-j*u;v=j*t-k*r;r=k*u-h*t;if((d|0)==2){u=h;t=j;m=o;j=p;f=l;e=0.0;h=r*r+(x*x+v*v);y=8}else{u=h;t=j;h=r*r+(x*x+v*v);j=p;y=7}}if((y|0)==7){p=m-n;x=f-q;e=e-j;r=u*e-t*x;e=t*p-k*e;p=k*x-u*p;if(z){e=p*p+(r*r+e*e);f=0.0}else{m=o;f=l;e=p*p+(r*r+e*e);y=8}}if((y|0)==8){v=s-n;s=m-q;f=f-j;x=u*f-t*s;f=t*v-k*f;v=k*s-u*v;f=v*v+(x*x+f*f)}x=+w(+i);u=+w(+h);s=+w(+e);r=+w(+f);v=x>-999999984306749440.0?x:-999999984306749440.0;t=u>v?u:v;z=r>(s>t?s:t)?3:s>t?2:u>v?1:(x>-999999984306749440.0^1)<<31>>31;y=(z|0)>0;z=y?z:0;a=a+4+(z*184|0)|0;Bh(a|0,b|0,184)|0;return z|0}function De(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7160]=(c[7160]|0)+1;g=c[d+24>>2]|0;if(!g){if(!((b[f+6>>1]&b[e+4>>1])<<16>>16)){d=0;return d|0}if(!((b[e+6>>1]&b[f+4>>1])<<16>>16)){d=0;return d|0}}else if(!(Ja[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;i=c[m+12>>2]|0;l=l?e:f;f=c[l+12>>2]|0;j=(f<<16|i)+~((f<<16|i)<<15)|0;j=((10?j>>10:j)^j)*9|0;j=(6?j>>6:j)^j;j=(16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11);k=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((j&k+-1)<<2)>>2]|0;a:do if((g|0)!=-1){h=c[d+16>>2]|0;e=g;while(1){g=h+(e<<4)|0;if((c[(c[g>>2]|0)+12>>2]|0)==(i|0)?(c[(c[h+(e<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;e=c[(c[d+64>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1)break a}return g|0}while(0);i=c[d+8>>2]|0;if((i|0)==(k|0)){h=(k|0)==0?1:k<<1;if((k|0)<(h|0)){if(!h){g=0;f=k}else{c[7182]=(c[7182]|0)+1;g=xb((h<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}f=c[d+8>>2]|0}if((f|0)>0){e=0;do{n=c[d+16>>2]|0;c[g+(e<<4)>>2]=c[n+(e<<4)>>2];c[g+(e<<4)+4>>2]=c[n+(e<<4)+4>>2];c[g+(e<<4)+8>>2]=c[n+(e<<4)+8>>2];c[g+(e<<4)+12>>2]=c[n+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[d+16>>2]|0;if(e|0){if(a[d+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=g;c[d+12>>2]=h;e=c[d+8>>2]|0;g=h}else{e=k;g=k}}else{e=i;g=k}c[d+8>>2]=e+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){Ja[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((k|0)<(g|0)){Re(d);g=(c[d+12>>2]|0)+-1&j}else g=j&k+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=sa;sa=sa+32|0;a[p+16>>0]=1;c[p+12>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;if((c[b+8>>2]|0)>0){l=0;g=0;h=0;e=0;f=0;while(1){m=c[b+16>>2]|0;n=m+(l<<4)|0;if((g|0)==(f|0)){k=(f|0)==0?1:f<<1;if((f|0)<(k|0)){if(k){c[7182]=(c[7182]|0)+1;e=xb((k<<4|3)+16|0)|0;if(!e){h=0;f=g}else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16;f=g}}else h=0;if((f|0)>0){e=0;do{j=c[p+12>>2]|0;c[h+(e<<4)>>2]=c[j+(e<<4)>>2];c[h+(e<<4)+4>>2]=c[j+(e<<4)+4>>2];c[h+(e<<4)+8>>2]=c[j+(e<<4)+8>>2];c[h+(e<<4)+12>>2]=c[j+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[p+12>>2]|0;if(!e)g=f;else{if(!(a[p+16>>0]|0))g=f;else{c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=h;j=k;i=g;e=k}else{j=f;i=f}}else{j=f;i=g}c[h+(i<<4)>>2]=c[n>>2];c[h+(i<<4)+4>>2]=c[m+(l<<4)+4>>2];c[h+(i<<4)+8>>2]=c[m+(l<<4)+8>>2];c[h+(i<<4)+12>>2]=c[m+(l<<4)+12>>2];g=i+1|0;l=l+1|0;if((l|0)>=(c[b+8>>2]|0))break;else f=j}c[p+4>>2]=g;c[p+8>>2]=e;if((i|0)>-1){f=c[p+12>>2]|0;e=0;while(1){Ka[c[(c[b>>2]|0)+12>>2]&31](b,c[f+(e<<4)>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;if((e|0)<(i|0))e=e+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){f=c[b+64>>2]|0;e=0;do{c[f+(e<<2)>>2]=-1;e=e+1|0}while((e|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)<=0){e=c[p+12>>2]|0;if(!e){sa=p;return}}else o=26;else{Ed(p,0,g+-1|0);o=26}if((o|0)==26){e=c[p+12>>2]|0;f=0;do{Ja[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);c[p+12>>2]=0;sa=p;return}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0;x=sa;sa=sa+32|0;r=c[a+12>>2]|0;s=+g[r+(((e+d|0)/2|0)*24|0)>>2];u=+g[r+(((e+d|0)/2|0)*24|0)+4>>2];v=+g[r+(((e+d|0)/2|0)*24|0)+8>>2];w=+g[r+(((e+d|0)/2|0)*24|0)+16>>2];t=c[r+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=e;h=d;while(1){n=+g[b>>2];o=+g[b+4>>2];p=+g[b+8>>2];q=(s-n)*(s-n)+(u-o)*(u-o)+(v-p)*(v-p);a:while(1){m=r+(h*24|0)|0;i=+g[r+(h*24|0)+16>>2];do if(i!=w){if(!(i>2]-n;j=+g[r+(h*24|0)+4>>2]-o;k=+g[r+(h*24|0)+8>>2]-p;if(i*i+j*j+k*k!=q)if(i*i+j*j+k*k>2]|0)<(t|0))break;else break a}while(0);h=h+1|0}b:while(1){l=r+(f*24|0)|0;i=+g[r+(f*24|0)+16>>2];do if(w!=i){if(!(w>2]-n;j=+g[r+(f*24|0)+4>>2]-o;k=+g[r+(f*24|0)+8>>2]-p;if(q!=i*i+j*j+k*k)if(q>2]|0))break;else break b}while(0);f=f+-1|0}if((h|0)<=(f|0)){c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];c[x+16>>2]=c[m+16>>2];c[x+20>>2]=c[m+20>>2];c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];c[m+20>>2]=c[l+20>>2];r=(c[a+12>>2]|0)+(f*24|0)|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];c[r+16>>2]=c[x+16>>2];c[r+20>>2]=c[x+20>>2];f=f+-1|0;h=h+1|0}if((h|0)>(f|0))break;r=c[a+12>>2]|0}if((f|0)>(d|0))Fe(a,b,d,f);if((h|0)>=(e|0)){sa=x;return}Fe(a,b,h,e);sa=x;return}function Ge(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;h=c[b+8>>2]|0;g[h>>2]=1.0;f=c[b+24>>2]|0;g[h+(f+1<<2)>>2]=1.0;g[h+((f<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];e=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*e;m=l*+g[j+20>>2]+q*+g[j+24>>2]+e*+g[j+28>>2];e=l*+g[j+36>>2]+q*+g[j+40>>2]+e*+g[j+44>>2];h=c[b+12>>2]|0;c[h>>2]=0;g[h+4>>2]=e;g[h+8>>2]=-m;g[h+12>>2]=0.0;g[h+(f<<2)>>2]=-e;c[h+(f<<2)+4>>2]=0;g[h+(f<<2)+8>>2]=o;g[h+(f<<2)+12>>2]=0.0;g[h+(f<<1<<2)>>2]=m;g[h+(f<<1<<2)+4>>2]=-o;c[h+(f<<1<<2)+8>>2]=0;g[h+(f<<1<<2)+12>>2]=0.0;h=c[b+16>>2]|0;g[h>>2]=-1.0;g[h+(f+1<<2)>>2]=-1.0;g[h+((f<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(f<<2)>>2]=d;c[h+(f<<2)+4>>2]=0;g[h+(f<<2)+8>>2]=-p;g[h+(f<<2)+12>>2]=0.0;g[h+(f<<1<<2)>>2]=-n;g[h+(f<<1<<2)+4>>2]=p;c[h+(f<<1<<2)+8>>2]=0;g[h+(f<<1<<2)+12>>2]=0.0;h=c[a+332>>2]|0;l=+g[((h&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(f<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(f<<1<<2)>>2]=l*(d+ +g[k+60>>2]-e-+g[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(f<<2)>>2]=c[a+340>>2];c[k+(f<<1<<2)>>2]=c[a+340>>2]}e=+g[a+356>>2];if(e>0.0){g[c[b+36>>2]>>2]=-e;g[c[b+40>>2]>>2]=e;d=+g[a+356>>2]}else d=e;if(d>0.0){g[(c[b+36>>2]|0)+(f<<2)>>2]=-e;g[(c[b+40>>2]|0)+(f<<2)>>2]=e;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}g[(c[b+36>>2]|0)+(f<<1<<2)>>2]=-e;g[(c[b+40>>2]|0)+(f<<1<<2)>>2]=e;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function He(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[7159]=(c[7159]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;f=c[j+12>>2]|0;i=(f<<16|h)+~((f<<16|h)<<15)|0;i=((10?i>>10:i)^i)*9|0;i=(6?i>>6:i)^i;i=((16?i+~(i<<11)>>16:i+~(i<<11)|0)^i+~(i<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}g=c[a+16>>2]|0;while(1){d=g+(b<<4)|0;if((c[(c[d>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(b<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;o=25;break}}if((o|0)==25)return b|0;Za[c[(c[a>>2]|0)+32>>2]&127](a,d,e);n=c[g+(b<<4)+12>>2]|0;m=d-(c[a+16>>2]|0)|0;m=4?m>>4:m;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;f=c[a+64>>2]|0;if((b|0)!=(m|0)){d=b;while(1){g=f+(d<<2)|0;b=c[g>>2]|0;if((b|0)==(m|0))break;else d=b}b=c[f+(m<<2)>>2]|0;if((d|0)==-1)o=12;else c[g>>2]=b}else{b=c[f+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)Ka[c[(c[b>>2]|0)+12>>2]&31](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}j=c[a+16>>2]|0;h=c[(c[j+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[j+(k<<4)>>2]|0)+12>>2];h=((10?h+~(h<<15)>>10:h+~(h<<15)|0)^h+~(h<<15))*9|0;h=(6?h>>6:h)^h;h=((16?h+~(h<<11)>>16:h+~(h<<11)|0)^h+~(h<<11))&(c[a+12>>2]|0)+-1;i=(c[a+44>>2]|0)+(h<<2)|0;b=c[i>>2]|0;f=c[a+64>>2]|0;if((b|0)!=(k|0)){d=b;while(1){g=f+(d<<2)|0;b=c[g>>2]|0;if((b|0)==(k|0))break;else d=b}b=c[f+(k<<2)>>2]|0;if((d|0)==-1)o=23;else c[g>>2]=b}else{b=c[f+(k<<2)>>2]|0;o=23}if((o|0)==23)c[i>>2]=b;c[j+(m<<4)>>2]=c[j+(k<<4)>>2];c[j+(m<<4)+4>>2]=c[j+(k<<4)+4>>2];c[j+(m<<4)+8>>2]=c[j+(k<<4)+8>>2];c[j+(m<<4)+12>>2]=c[j+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(h<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function Ie(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0;ih(a,b,e)|0;c[b+52>>2]=c[a+552>>2];c[b+56>>2]=c[a+556>>2];c[b+60>>2]=c[a+560>>2];c[b+64>>2]=c[a+564>>2];c[b+68>>2]=c[a+568>>2];c[b+72>>2]=c[a+572>>2];c[b+76>>2]=c[a+576>>2];c[b+80>>2]=c[a+580>>2];c[b+84>>2]=c[a+584>>2];c[b+88>>2]=c[a+588>>2];c[b+92>>2]=c[a+592>>2];c[b+96>>2]=c[a+596>>2];c[b+100>>2]=c[a+600>>2];c[b+104>>2]=c[a+604>>2];c[b+108>>2]=c[a+608>>2];c[b+112>>2]=c[a+612>>2];c[b+116>>2]=c[a+616>>2];c[b+120>>2]=c[a+620>>2];c[b+124>>2]=c[a+624>>2];c[b+128>>2]=c[a+628>>2];c[b+132>>2]=c[a+632>>2];c[b+136>>2]=c[a+636>>2];c[b+140>>2]=c[a+640>>2];c[b+144>>2]=c[a+644>>2];c[b+148>>2]=c[a+648>>2];c[b+152>>2]=c[a+652>>2];c[b+156>>2]=c[a+656>>2];c[b+160>>2]=c[a+660>>2];c[b+164>>2]=c[a+664>>2];c[b+168>>2]=c[a+668>>2];c[b+172>>2]=c[a+672>>2];c[b+176>>2]=c[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];c[b+196>>2]=c[a+684>>2];c[b+192>>2]=c[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+g[a+688>>2];i=+g[a+692>>2];if(!((h-i)%6.2831854820251465<-3.1415927410125732))if((h-i)%6.2831854820251465>3.1415927410125732)f=(h-i)%6.2831854820251465+-6.2831854820251465;else f=(h-i)%6.2831854820251465;else f=(h-i)%6.2831854820251465+6.2831854820251465;g[b+200>>2]=f;if((h+i)%6.2831854820251465<-3.1415927410125732){i=(h+i)%6.2831854820251465+6.2831854820251465;e=b+204|0;g[e>>2]=i;e=a+696|0;e=c[e>>2]|0;j=b+208|0;c[j>>2]=e;j=a+700|0;j=c[j>>2]|0;e=b+212|0;c[e>>2]=j;a=a+704|0;a=c[a>>2]|0;b=b+216|0;c[b>>2]=a;return 17096}if(!((h+i)%6.2831854820251465>3.1415927410125732)){i=(h+i)%6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 17096}i=(h+i)%6.2831854820251465+-6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 17096}function Je(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;B=(a[b+28>>0]|0)!=0;C=B?e:d;B=B?d:e;z=c[b+12>>2]|0;if((z|0)<=0){x=1.0;return +x}A=(c[C+192>>2]|0)+24|0;j=+g[C+4>>2];u=+g[C+8>>2];v=+g[C+12>>2];w=c[C+16>>2]|0;x=+g[C+20>>2];k=+g[C+24>>2];l=+g[C+28>>2];e=c[C+32>>2]|0;m=+g[C+36>>2];n=+g[C+40>>2];o=+g[C+44>>2];p=c[C+48>>2]|0;q=+g[C+52>>2];r=+g[C+56>>2];s=+g[C+60>>2];t=c[C+64>>2]|0;i=1.0;d=0;y=c[C+260>>2]|0;do{E=c[A>>2]|0;P=+g[E+(d*80|0)>>2];O=+g[E+(d*80|0)+16>>2];N=+g[E+(d*80|0)+32>>2];M=+g[E+(d*80|0)+4>>2];L=+g[E+(d*80|0)+20>>2];K=+g[E+(d*80|0)+36>>2];J=+g[E+(d*80|0)+8>>2];I=+g[E+(d*80|0)+24>>2];H=+g[E+(d*80|0)+40>>2];G=+g[E+(d*80|0)+48>>2];F=+g[E+(d*80|0)+52>>2];D=+g[E+(d*80|0)+56>>2];c[C+260>>2]=y+1;g[C+4>>2]=j*P+u*O+v*N;g[C+8>>2]=j*M+u*L+v*K;g[C+12>>2]=j*J+u*I+v*H;g[C+16>>2]=0.0;g[C+20>>2]=x*P+k*O+l*N;g[C+24>>2]=x*M+k*L+l*K;g[C+28>>2]=x*J+k*I+l*H;g[C+32>>2]=0.0;g[C+36>>2]=m*P+n*O+o*N;g[C+40>>2]=m*M+n*L+o*K;g[C+44>>2]=m*J+n*I+o*H;g[C+48>>2]=0.0;g[C+52>>2]=q+(j*G+u*F+v*D);g[C+56>>2]=r+(x*G+k*F+l*D);g[C+60>>2]=s+(m*G+n*F+o*D);g[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;D=+Ba[c[(c[E>>2]|0)+12>>2]&15](E,C,B,f,h);i=D>2]|0)+1|0;c[C+260>>2]=y;g[C+4>>2]=j;g[C+8>>2]=u;g[C+12>>2]=v;c[C+16>>2]=w;g[C+20>>2]=x;g[C+24>>2]=k;g[C+28>>2]=l;c[C+32>>2]=e;g[C+36>>2]=m;g[C+40>>2]=n;g[C+44>>2]=o;c[C+48>>2]=p;g[C+52>>2]=q;g[C+56>>2]=r;g[C+60>>2]=s;c[C+64>>2]=t;d=d+1|0}while((d|0)!=(z|0));return +i}function Ke(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=xs()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=7408;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[f>>2];c[i+116+4>>2]=c[f+4>>2];c[i+116+8>>2]=c[f+8>>2];c[i+116+12>>2]=c[f+12>>2];c[i+132>>2]=c[f+16>>2];c[i+132+4>>2]=c[f+16+4>>2];c[i+132+8>>2]=c[f+16+8>>2];c[i+132+12>>2]=c[f+16+12>>2];c[i+148>>2]=c[f+32>>2];c[i+148+4>>2]=c[f+32+4>>2];c[i+148+8>>2]=c[f+32+8>>2];c[i+148+12>>2]=c[f+32+12>>2];c[i+164>>2]=c[f+48>>2];c[i+164+4>>2]=c[f+48+4>>2];c[i+164+8>>2]=c[f+48+8>>2];c[i+164+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;kc(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0;c[7157]=(c[7157]|0)+1;if(!(c[b+4>>2]&2))j=.019999999552965164;else{k=c[d+192>>2]|0;i=+wa[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);k=c[e+192>>2]|0;j=+wa[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);j=i>2];i=+g[e+184>>2];i=m>2]|0;h=c[f+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;return b|0}c[7182]=(c[7182]|0)+1;f=xb(791)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f}else{n=c[f+12>>2]|0;c[f+12>>2]=c[n>>2];c[f+8>>2]=h+-1;k=n;f=n}c[f>>2]=1025;c[k+116>>2]=0;a[k+120>>0]=0;f=k+124|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+300>>2]=0;a[k+304>>0]=0;f=k+308|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+484>>2]=0;a[k+488>>0]=0;f=k+492|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+668>>2]=0;a[k+672>>0]=0;f=k+676|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+740>>2]=d;c[k+744>>2]=e;c[k+748>>2]=0;g[k+752>>2]=j;g[k+756>>2]=i;e=k;f=c[b+12>>2]|0;c[k+768>>2]=f;if((f|0)==(c[b+16>>2]|0)?(l=(f|0)==0?1:f<<1,(f|0)<(l|0)):0){if(!l)d=0;else{c[7182]=(c[7182]|0)+1;f=xb((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}d=f;f=c[b+12>>2]|0}if((f|0)>0){h=0;do{c[d+(h<<2)>>2]=c[(c[b+20>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=l}c[(c[b+20>>2]|0)+(f<<2)>>2]=e;c[b+12>>2]=f+1;n=k;return n|0}function Me(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;n=sa;sa=sa+64|0;e=c[d+192>>2]|0;ab[c[(c[e>>2]|0)+8>>2]&127](e,d+4|0,n+48|0,n+32|0);f=+g[n+48>>2]+-.019999999552965164;g[n+48>>2]=f;i=+g[n+48+4>>2]+-.019999999552965164;g[n+48+4>>2]=i;j=+g[n+48+8>>2]+-.019999999552965164;g[n+48+8>>2]=j;h=+g[n+32>>2]+.019999999552965164;g[n+32>>2]=h;k=+g[n+32+4>>2]+.019999999552965164;g[n+32+4>>2]=k;l=+g[n+32+8>>2]+.019999999552965164;g[n+32+8>>2]=l;if(((a[b+44>>0]|0)!=0?(c[d+236>>2]|0)==2:0)?(c[d+204>>2]&3|0)==0:0){e=c[d+192>>2]|0;ab[c[(c[e>>2]|0)+8>>2]&127](e,d+68|0,n+16|0,n);f=+g[n+16>>2]+-.019999999552965164;g[n+16>>2]=f;j=+g[n+16+4>>2]+-.019999999552965164;g[n+16+4>>2]=j;k=+g[n+16+8>>2]+-.019999999552965164;g[n+16+8>>2]=k;h=+g[n>>2]+.019999999552965164;g[n>>2]=h;l=+g[n+4>>2]+.019999999552965164;g[n+4>>2]=l;m=+g[n+8>>2]+.019999999552965164;g[n+8>>2]=m;i=+g[n+48>>2];if(f>2]=f;else f=i;i=+g[n+48+4>>2];if(j>2]=j;i=j}j=+g[n+48+8>>2];if(k>2]=k;j=k}k=+g[n+16+12>>2];if(k<+g[n+48+12>>2])g[n+48+12>>2]=k;k=+g[n+32>>2];if(k>2]=h;else h=k;k=+g[n+32+4>>2];if(k>2]=l;k=l}l=+g[n+32+8>>2];if(l>2]=m;l=m}m=+g[n+12>>2];if(+g[n+32+12>>2]>2]=m}e=c[b+68>>2]|0;if((c[d+204>>2]&1|0)==0?(h=h-f,k=k-i,m=l-j,!(h*h+k*k+m*m<999999995904.0)):0){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=5;if(!(a[19314]|0)){sa=n;return}e=c[b+72>>2]|0;if(!e){sa=n;return}a[19314]=0;Va[c[(c[e>>2]|0)+36>>2]&127](e,19315);d=c[b+72>>2]|0;Va[c[(c[d>>2]|0)+36>>2]&127](d,19364);d=c[b+72>>2]|0;Va[c[(c[d>>2]|0)+36>>2]&127](d,19432);b=c[b+72>>2]|0;Va[c[(c[b>>2]|0)+36>>2]&127](b,19497);sa=n;return}eb[c[(c[e>>2]|0)+16>>2]&31](e,c[d+188>>2]|0,n+48|0,n+32|0,c[b+24>>2]|0);sa=n;return}function Ne(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=fs(460)|0;jd(i,b,d,e);c[i>>2]=6632;a[i+340>>0]=1;c[i+336>>2]=0;c[i+328>>2]=0;c[i+332>>2]=0;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;g[i+364>>2]=1.0e3;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+368+16>>2]=0;c[i+368+20>>2]=0;c[i+368+24>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;a[i+424>>0]=1;c[i+420>>2]=0;c[i+412>>2]=0;c[i+416>>2]=0;c[i+452>>2]=h;a[i+456>>0]=0;if(!h){c[7182]=(c[7182]|0)+1;f=xb(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=5756;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[i+452>>2]=f;a[i+456>>0]=1}c[i+344>>2]=4302;a[i+348>>0]=1;a[i+349>>0]=0;a[i+350>>0]=0;c[i+384>>2]=d;c[i+388>>2]=b;Oh(i+408|0);h=c[i+412>>2]|0;if((h|0)<=0){d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;Oh(i+408|0);return i|0}e=0;do{d=(c[i+420>>2]|0)+(e<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;GI(d)}while((f|0)!=0);e=e+1|0}while((e|0)!=(h|0));d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;Oh(i+408|0);return i|0}function Oe(a,b,e){a=a|0;b=b|0;e=e|0;ih(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 16814}function Pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=(i|0)==0?1:i<<1,(i|0)<(h|0)):0){if(!h){e=0;g=i}else{c[7182]=(c[7182]|0)+1;e=xb((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+4>>2]|0}if((g|0)>0){f=0;do{k=e+(f*244|0)|0;j=c[b+12>>2]|0;l=j+(f*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=j+(f*244|0)+16|0;l=e+(f*244|0)+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];l=j+(f*244|0)+32|0;k=e+(f*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(f*244|0)+48|0;l=j+(f*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];Bh(e+(f*244|0)+64|0,j+(f*244|0)+64|0,180)|0;f=f+1|0}while((f|0)!=(g|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];Bh(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function Qe(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;i=sa;sa=sa+32|0;k=+g[a+56>>2];p=+g[a+72>>2]-k;j=+g[a+60>>2];n=+g[a+76>>2]-j;l=+g[a+64>>2];q=+g[a+80>>2]-l;m=+g[a+88>>2]-k;o=+g[a+92>>2]-j;f=+g[a+96>>2]-l;h=1.0/+x(+((p*o-n*m)*(p*o-n*m)+((n*f-q*o)*(n*f-q*o)+(q*m-p*f)*(q*m-p*f))));e=(n*f-q*o)*h;f=(q*m-p*f)*h;h=(p*o-n*m)*h;j=+g[b+8>>2]*h+(+g[b>>2]*e+ +g[b+4>>2]*f)-(l*h+(k*e+j*f));if(!(j>=-d)|!(j<=d)){b=0;sa=i;return b|0}ab[c[(c[a>>2]|0)+104>>2]&127](a,0,i+16|0,i);l=+g[i+16>>2];p=+g[i>>2]-l;n=+g[i+16+4>>2];m=+g[i+4>>2]-n;k=+g[i+16+8>>2];o=+g[i+8>>2]-k;q=1.0/+x(+((f*p-e*m)*(f*p-e*m)+((h*m-f*o)*(h*m-f*o)+(e*o-h*p)*(e*o-h*p))));if(+g[b+8>>2]*(f*p-e*m)*q+(+g[b>>2]*(h*m-f*o)*q+ +g[b+4>>2]*(e*o-h*p)*q)-(k*(f*p-e*m)*q+(l*(h*m-f*o)*q+n*(e*o-h*p)*q))<-d){b=0;sa=i;return b|0}ab[c[(c[a>>2]|0)+104>>2]&127](a,1,i+16|0,i);l=+g[i+16>>2];p=+g[i>>2]-l;n=+g[i+16+4>>2];m=+g[i+4>>2]-n;k=+g[i+16+8>>2];o=+g[i+8>>2]-k;q=1.0/+x(+((f*p-e*m)*(f*p-e*m)+((h*m-f*o)*(h*m-f*o)+(e*o-h*p)*(e*o-h*p))));if(+g[b+8>>2]*(f*p-e*m)*q+(+g[b>>2]*(h*m-f*o)*q+ +g[b+4>>2]*(e*o-h*p)*q)-(k*(f*p-e*m)*q+(l*(h*m-f*o)*q+n*(e*o-h*p)*q))<-d){b=0;sa=i;return b|0}ab[c[(c[a>>2]|0)+104>>2]&127](a,2,i+16|0,i);l=+g[i+16>>2];p=+g[i>>2]-l;n=+g[i+16+4>>2];m=+g[i+4>>2]-n;k=+g[i+16+8>>2];o=+g[i+8>>2]-k;q=1.0/+x(+((f*p-e*m)*(f*p-e*m)+((h*m-f*o)*(h*m-f*o)+(e*o-h*p)*(e*o-h*p))));if(+g[b+8>>2]*(f*p-e*m)*q+(+g[b>>2]*(h*m-f*o)*q+ +g[b+4>>2]*(e*o-h*p)*q)-(k*(f*p-e*m)*q+(l*(h*m-f*o)*q+n*(e*o-h*p)*q))<-d){b=0;sa=i;return b|0}b=1;sa=i;return b|0}function Re(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+36>>2]|0;if((k|0)>=(j|0))return;do if((c[b+40>>2]|0)<(j|0)){if(!j){d=0;f=k}else{c[7182]=(c[7182]|0)+1;d=xb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+36>>2]|0}g=c[b+44>>2]|0;if((f|0)<=0){if(!g){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+48>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0}else{i=b+44|0;d=c[b+44>>2]|0}while(0);mk(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+36>>2]=j;h=c[b+56>>2]|0;if((h|0)<(j|0)){do if((c[b+60>>2]|0)<(j|0)){if(!j){d=0;f=h}else{c[7182]=(c[7182]|0)+1;d=xb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+56>>2]|0}g=c[b+64>>2]|0;if((f|0)<=0){if(!g){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+68>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j}else d=c[b+64>>2]|0;while(0);mk(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+56>>2]=j;if((j|0)>0){mk(c[i>>2]|0,-1,j<<2|0)|0;mk(c[b+64>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+64>>2]|0;d=0;do{j=c[(c[g+(d<<4)+4>>2]|0)+12>>2]<<16|c[(c[g+(d<<4)>>2]|0)+12>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=e+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[j>>2];c[j>>2]=d;d=d+1|0}while((d|0)!=(k|0));return}function Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0;k=sa;sa=sa+64|0;m=+g[a+20>>2];t=+g[a+40>>2];o=+g[a+24>>2];r=+g[a+36>>2];s=+g[a+32>>2];l=+g[a+16>>2];j=+g[a>>2];i=+g[a+4>>2];p=+g[a+8>>2];h=1.0/((m*t-o*r)*j+i*(o*s-t*l)+(r*l-m*s)*p);z=+g[b>>2];y=+g[b+4>>2];A=+g[b+8>>2];w=+g[b+16>>2];v=+g[b+20>>2];u=+g[b+24>>2];q=+g[b+32>>2];n=+g[b+36>>2];f=+g[b+40>>2];g[k+16>>2]=A*(r*l-m*s)*h+(z*(m*t-o*r)*h+y*(o*s-t*l)*h);g[k+16+4>>2]=A*(s*i-r*j)*h+(z*(r*p-t*i)*h+y*(t*j-s*p)*h);g[k+16+8>>2]=A*(m*j-l*i)*h+(z*(o*i-m*p)*h+y*(l*p-o*j)*h);g[k+16+12>>2]=0.0;g[k+16+16>>2]=(m*t-o*r)*h*w+(o*s-t*l)*h*v+(r*l-m*s)*h*u;g[k+16+20>>2]=(r*p-t*i)*h*w+(t*j-s*p)*h*v+(s*i-r*j)*h*u;g[k+16+24>>2]=(o*i-m*p)*h*w+(l*p-o*j)*h*v+(m*j-l*i)*h*u;g[k+16+28>>2]=0.0;g[k+16+32>>2]=(m*t-o*r)*h*q+(o*s-t*l)*h*n+(r*l-m*s)*h*f;g[k+16+36>>2]=(r*p-t*i)*h*q+(t*j-s*p)*h*n+(s*i-r*j)*h*f;g[k+16+40>>2]=(o*i-m*p)*h*q+(l*p-o*j)*h*n+(m*j-l*i)*h*f;g[k+16+44>>2]=0.0;Og(k+16|0,k);f=+g[k>>2];h=+g[k+4>>2];i=+g[k+8>>2];l=+g[k+12>>2];j=1.0/+x(+(f*f+h*h+i*i+l*l));g[k>>2]=f*j;g[k+4>>2]=h*j;g[k+8>>2]=i*j;g[k+12>>2]=l*j;l=l*j<-1.0?-1.0:l*j;g[e>>2]=+C(+(l>1.0?1.0:l))*2.0;g[d>>2]=f*j;g[d+4>>2]=h*j;g[d+8>>2]=i*j;g[d+12>>2]=0.0;if(f*j*f*j+h*j*h*j+i*j*i*j<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;sa=k;return}else{A=1.0/+x(+(f*j*f*j+h*j*h*j+i*j*i*j));g[d>>2]=f*j*A;g[d+4>>2]=h*j*A;g[d+8>>2]=i*j*A;sa=k;return}}function Te(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+32>>2]|0;if((k|0)>=(j|0))return;do if((c[b+36>>2]|0)<(j|0)){if(!j){d=0;f=k}else{c[7182]=(c[7182]|0)+1;d=xb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+32>>2]|0}g=c[b+40>>2]|0;if((f|0)<=0){if(!g){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0}else{i=b+40|0;d=c[b+40>>2]|0}while(0);mk(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+32>>2]=j;h=c[b+52>>2]|0;if((h|0)<(j|0)){do if((c[b+56>>2]|0)<(j|0)){if(!j){d=0;f=h}else{c[7182]=(c[7182]|0)+1;d=xb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+52>>2]|0}g=c[b+60>>2]|0;if((f|0)<=0){if(!g){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j}else d=c[b+60>>2]|0;while(0);mk(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+52>>2]=j;if((j|0)>0){mk(c[i>>2]|0,-1,j<<2|0)|0;mk(c[b+60>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+60>>2]|0;d=0;do{j=c[g+(d*12|0)+4>>2]<<16|c[g+(d*12|0)>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=e+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[j>>2];c[j>>2]=d;d=d+1|0}while((d|0)!=(k|0));return}function Ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=sa;sa=sa+384|0;h=c[(c[a>>2]|0)+8>>2]|0;g=JI(b)|0;ns(f+368|0,g,g+4|0,g+8|0);b=JI(d)|0;ns(f+352|0,b,g+4|0,g+8|0);ab[h&127](a,f+368|0,f+352|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+336|0,b,g+4|0,g+8|0);ns(f+320|0,b,b+4|0,g+8|0);ab[d&127](a,f+336|0,f+320|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+304|0,b,b+4|0,g+8|0);ns(f+288|0,g,b+4|0,g+8|0);ab[d&127](a,f+304|0,f+288|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+272|0,g,b+4|0,g+8|0);ns(f+256|0,g,g+4|0,g+8|0);ab[d&127](a,f+272|0,f+256|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+240|0,g,g+4|0,g+8|0);ns(f+224|0,g,g+4|0,b+8|0);ab[d&127](a,f+240|0,f+224|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+208|0,b,g+4|0,g+8|0);ns(f+192|0,b,g+4|0,b+8|0);ab[d&127](a,f+208|0,f+192|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+176|0,b,b+4|0,g+8|0);ns(f+160|0,b,b+4|0,b+8|0);ab[d&127](a,f+176|0,f+160|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+144|0,g,b+4|0,g+8|0);ns(f+128|0,g,b+4|0,b+8|0);ab[d&127](a,f+144|0,f+128|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+112|0,g,g+4|0,b+8|0);ns(f+96|0,b,g+4|0,b+8|0);ab[d&127](a,f+112|0,f+96|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+80|0,b,g+4|0,b+8|0);ns(f+64|0,b,b+4|0,b+8|0);ab[d&127](a,f+80|0,f+64|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+48|0,b,b+4|0,b+8|0);ns(f+32|0,g,b+4|0,b+8|0);ab[d&127](a,f+48|0,f+32|0,e);d=c[(c[a>>2]|0)+8>>2]|0;ns(f+16|0,g,b+4|0,b+8|0);ns(f,g,g+4|0,b+8|0);ab[d&127](a,f+16|0,f,e);sa=f;return}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 20703;g=Ja[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(Ha[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=Fa[c[(c[i>>2]|0)+52>>2]&127](i)|0;i=Ja[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=Ja[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;eb[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;eb[c[(c[e>>2]|0)+20>>2]&31](d,g,20678,1497453121,c[g+8>>2]|0);return 20703}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;f=sa;sa=sa+256|0;c[f+32>>2]=8500;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];l=f+32+52|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];m=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+x(+(m*m+j*j+i*i));p=m*h==0.0?999999984306749440.0:1.0/(m*h);g[f+32+4>>2]=p;o=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+8>>2]=o;n=i*h==0.0?999999984306749440.0:1.0/(i*h);g[f+32+12>>2]=n;c[f+32+20>>2]=p<0.0&1;c[f+32+24>>2]=o<0.0&1;c[f+32+28>>2]=n<0.0&1;g[f+32+32>>2]=m*h*(+g[l>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);e=c[a+68>>2]|0;a=c[(c[e>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;gb[a&7](e,b,d,f+32|0,f+16|0,f);sa=f;return}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=sa;sa=sa+128|0;if(!b){sa=h;return}if(c[b+40>>2]|0){Xe(a,c[b+36>>2]|0,d+1|0,e,f);Xe(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){sa=h;return}l=+g[b>>2];q=+g[b+16>>2];j=+g[b+4>>2];p=+g[b+20>>2];i=+g[b+8>>2];o=+g[b+24>>2];k=(l+q)*.5-(q-l)*.5;m=(j+p)*.5-(p-j)*.5;n=(i+o)*.5-(o-i)*.5;l=(l+q)*.5+(q-l)*.5;j=(j+p)*.5+(p-j)*.5;i=(i+o)*.5+(o-i)*.5;f=(c[b+40>>2]|0)==0?f:e;g[h>>2]=k;g[h+4>>2]=m;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+16>>2]=l;g[h+20>>2]=m;g[h+24>>2]=n;g[h+28>>2]=0.0;g[h+32>>2]=l;g[h+36>>2]=j;g[h+40>>2]=n;g[h+44>>2]=0.0;g[h+48>>2]=k;g[h+52>>2]=j;g[h+56>>2]=n;g[h+60>>2]=0.0;g[h+64>>2]=k;g[h+68>>2]=m;g[h+72>>2]=i;g[h+76>>2]=0.0;g[h+80>>2]=l;g[h+84>>2]=m;g[h+88>>2]=i;g[h+92>>2]=0.0;g[h+96>>2]=l;g[h+100>>2]=j;g[h+104>>2]=i;g[h+108>>2]=0.0;g[h+112>>2]=k;g[h+116>>2]=j;g[h+120>>2]=i;g[h+124>>2]=0.0;ab[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,f);sa=h;return}function Ye(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=sa;sa=sa+96|0;l=q;m=l+96|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));if(!i)o=c[c[b+880>>2]>>2]|0;else o=i;i=c[b+772>>2]|0;if((i|0)==(c[b+776>>2]|0)?(p=(i|0)==0?1:i<<1,(i|0)<(p|0)):0){if(!p)n=0;else{c[7182]=(c[7182]|0)+1;i=xb((p*104|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=i;i=c[b+772>>2]|0}if((i|0)>0){j=0;do{l=n+(j*104|0)|0;k=(c[b+780>>2]|0)+(j*104|0)|0;m=l+104|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));j=j+1|0}while((j|0)!=(i|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=n;c[b+776>>2]=p;i=c[b+772>>2]|0}l=c[b+780>>2]|0;c[l+(i*104|0)>>2]=0;c[l+(i*104|0)+4>>2]=o;l=l+(i*104|0)+8|0;k=q;m=l+96|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));p=c[b+772>>2]|0;c[b+772>>2]=p+1;o=c[b+780>>2]|0;k=c[b+720>>2]|0;c[o+(p*104|0)+8>>2]=k+(d*104|0);n=c[b+720>>2]|0;c[o+(p*104|0)+12>>2]=n+(e*104|0);l=c[b+720>>2]|0;c[o+(p*104|0)+16>>2]=l+(f*104|0);m=c[b+720>>2]|0;c[o+(p*104|0)+20>>2]=m+(h*104|0);y=+g[k+(d*104|0)+8>>2];v=+g[k+(d*104|0)+12>>2];z=+g[k+(d*104|0)+16>>2];s=+g[l+(f*104|0)+8>>2]-y;x=+g[l+(f*104|0)+12>>2]-v;u=+g[l+(f*104|0)+16>>2]-z;t=+g[m+(h*104|0)+8>>2]-y;w=+g[m+(h*104|0)+12>>2]-v;r=+g[m+(h*104|0)+16>>2]-z;g[o+(p*104|0)+24>>2]=(+g[n+(e*104|0)+16>>2]-z)*(s*w-x*t)+((+g[n+(e*104|0)+8>>2]-y)*(x*r-u*w)+(+g[n+(e*104|0)+12>>2]-v)*(u*t-s*r));a[b+924>>0]=1;sa=q;return}function Ze(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0;x=c[a+832>>2]|0;if((x|0)<=0)return;s=c[a+840>>2]|0;a=0;do{w=c[s+(a*56|0)>>2]|0;l=c[s+(a*56|0)+4>>2]|0;j=c[l+8>>2]|0;k=c[l+12>>2]|0;l=c[l+16>>2]|0;f=s+(a*56|0)+8|0;u=+g[f>>2];h=s+(a*56|0)+12|0;t=+g[h>>2];i=s+(a*56|0)+16|0;r=+g[i>>2];b=+g[j+8>>2]*u+ +g[k+8>>2]*t+ +g[l+8>>2]*r;d=+g[j+12>>2]*u+ +g[k+12>>2]*t+ +g[l+12>>2]*r;e=+g[j+16>>2]*u+ +g[k+16>>2]*t+ +g[l+16>>2]*r;m=+g[w+8>>2];n=+g[w+12>>2];o=+g[w+16>>2];p=m-+g[w+24>>2]-(b-(u*+g[j+24>>2]+t*+g[k+24>>2]+r*+g[l+24>>2]));q=n-+g[w+28>>2]-(d-(u*+g[j+28>>2]+t*+g[k+28>>2]+r*+g[l+28>>2]));r=o-+g[w+32>>2]-(e-(u*+g[j+32>>2]+t*+g[k+32>>2]+r*+g[l+32>>2]));t=+g[s+(a*56|0)+24>>2];u=+g[s+(a*56|0)+28>>2];v=+g[s+(a*56|0)+32>>2];if(p*t+q*u+r*v<0.0){e=+g[s+(a*56|0)+40>>2]-(m*t+n*u+o*v-(b*t+d*u+e*v));b=t*e+0.0;d=u*e+0.0;e=v*e+0.0}else{b=0.0;d=0.0;e=0.0}y=+g[s+(a*56|0)+44>>2];b=b-y*(p-t*(p*t+q*u+r*v));d=d-y*(q-u*(p*t+q*u+r*v));u=e-y*(r-v*(p*t+q*u+r*v));v=+g[s+(a*56|0)+48>>2];g[w+8>>2]=m+v*b;g[w+12>>2]=n+v*d;g[w+16>>2]=o+v*u;w=s+(a*56|0)+52|0;v=+g[w>>2]*+g[f>>2];g[j+8>>2]=+g[j+8>>2]-b*v;g[j+12>>2]=+g[j+12>>2]-d*v;g[j+16>>2]=+g[j+16>>2]-u*v;v=+g[w>>2]*+g[h>>2];g[k+8>>2]=+g[k+8>>2]-b*v;g[k+12>>2]=+g[k+12>>2]-d*v;g[k+16>>2]=+g[k+16>>2]-u*v;v=+g[w>>2]*+g[i>>2];g[l+8>>2]=+g[l+8>>2]-b*v;g[l+12>>2]=+g[l+12>>2]-d*v;g[l+16>>2]=+g[l+16>>2]-u*v;a=a+1|0}while((a|0)!=(x|0));return}function _e(a,b,c,d,e,f,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=+h;i=+i;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;y=+g[e>>2];x=+g[e+16>>2];w=+g[e+32>>2];v=+g[e+4>>2];u=+g[e+20>>2];t=+g[e+36>>2];s=+g[e+8>>2];r=+g[e+24>>2];q=+g[e+40>>2];j=d-((y*0.0+x*-i+w*h)*0.0+(v*0.0+u*-i+t*h)*i+(s*0.0+r*-i+q*h)*-h)+c;o=0.0-((y*0.0+x*-i+w*h)*-i+(v*0.0+u*-i+t*h)*0.0+(s*0.0+r*-i+q*h)*f)+0.0;l=0.0-((y*0.0+x*-i+w*h)*h+(v*0.0+u*-i+t*h)*-f+(s*0.0+r*-i+q*h)*0.0)+0.0;m=0.0-((y*i+x*0.0+w*-f)*0.0+(v*i+u*0.0+t*-f)*i+(s*i+r*0.0+q*-f)*-h)+0.0;n=d-((y*i+x*0.0+w*-f)*-i+(v*i+u*0.0+t*-f)*0.0+(s*i+r*0.0+q*-f)*f)+c;k=0.0-((y*i+x*0.0+w*-f)*h+(v*i+u*0.0+t*-f)*-f+(s*i+r*0.0+q*-f)*0.0)+0.0;p=0.0-((y*-h+x*f+w*0.0)*0.0+(v*-h+u*f+t*0.0)*i+(s*-h+r*f+q*0.0)*-h)+0.0;i=0.0-((y*-h+x*f+w*0.0)*-i+(v*-h+u*f+t*0.0)*0.0+(s*-h+r*f+q*0.0)*f)+0.0;c=d-((y*-h+x*f+w*0.0)*h+(v*-h+u*f+t*0.0)*-f+(s*-h+r*f+q*0.0)*0.0)+c;d=1.0/(l*(i*m-n*p)+(j*(n*c-k*i)+o*(k*p-c*m)));g[a>>2]=(i*m-n*p)*d*0.0+(1.0/b*(n*c-k*i)*d+(k*p-c*m)*d*0.0);g[a+4>>2]=(p*o-i*j)*d*0.0+(1.0/b*(i*l-c*o)*d+(c*j-p*l)*d*0.0);g[a+8>>2]=(n*j-m*o)*d*0.0+(1.0/b*(k*o-n*l)*d+(m*l-k*j)*d*0.0);g[a+12>>2]=0.0;g[a+16>>2]=(i*m-n*p)*d*0.0+((n*c-k*i)*d*0.0+1.0/b*(k*p-c*m)*d);g[a+20>>2]=(p*o-i*j)*d*0.0+((i*l-c*o)*d*0.0+1.0/b*(c*j-p*l)*d);g[a+24>>2]=(n*j-m*o)*d*0.0+((k*o-n*l)*d*0.0+1.0/b*(m*l-k*j)*d);g[a+28>>2]=0.0;g[a+32>>2]=1.0/b*(i*m-n*p)*d+((n*c-k*i)*d*0.0+(k*p-c*m)*d*0.0);g[a+36>>2]=1.0/b*(p*o-i*j)*d+((i*l-c*o)*d*0.0+(c*j-p*l)*d*0.0);g[a+40>>2]=1.0/b*(n*j-m*o)*d+((k*o-n*l)*d*0.0+(m*l-k*j)*d*0.0);g[a+44>>2]=0.0;return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0;f=sa;sa=sa+784|0;c[f+712>>2]=1065353216;c[f+712+4>>2]=0;c[f+712+4+4>>2]=0;c[f+712+4+8>>2]=0;c[f+712+4+12>>2]=0;c[f+712+20>>2]=1065353216;c[f+712+24>>2]=0;c[f+712+24+4>>2]=0;c[f+712+24+8>>2]=0;c[f+712+24+12>>2]=0;c[f+712+40>>2]=1065353216;e=f+712+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+536>>2]=6448;c[f+536+168>>2]=0;g[f+536+172>>2]=0.0;c[f+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+480+8>>2]=0;c[f+480+12>>2]=1065353216;c[f+480+16>>2]=1065353216;c[f+480+20>>2]=1065353216;g[f+480+24>>2]=0.0;c[f+480>>2]=9480;c[f+480+4>>2]=8;c[f+480+28>>2]=e;c[f+480+44>>2]=e;c[f+376+8>>2]=0;c[f+376+12>>2]=1065353216;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;g[f+376+24>>2]=0.0;g[f+376+44>>2]=.03999999910593033;c[f+376+52>>2]=0;c[f+376>>2]=6476;c[f+376+4>>2]=1;c[f+376+56>>2]=c[d>>2];c[f+376+56+4>>2]=c[d+4>>2];c[f+376+56+8>>2]=c[d+8>>2];c[f+376+56+12>>2]=c[d+12>>2];c[f+376+72>>2]=c[d+16>>2];c[f+376+72+4>>2]=c[d+16+4>>2];c[f+376+72+8>>2]=c[d+16+8>>2];c[f+376+72+12>>2]=c[d+16+12>>2];c[f+376+88>>2]=c[d+32>>2];c[f+376+88+4>>2]=c[d+32+4>>2];c[f+376+88+8>>2]=c[d+32+8>>2];c[f+376+88+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=7772;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(rc(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+536+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=9932;e=c[f+376+52>>2]|0;if(!e){sa=f;return}Pa[c[c[e>>2]>>2]&511](e);e=c[f+376+52>>2]|0;if(!e){sa=f;return}c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);sa=f;return}function af(d,e,f,g,h,i,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;n=sa;sa=sa+48|0;c[7182]=(c[7182]|0)+1;g=xb(83)|0;if(!g)m=0;else{c[(g+4+15&-16)+-4>>2]=g;m=g+4+15&-16}c[m>>2]=h;b[m+4>>1]=i;b[m+6>>1]=j;h=m+16|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];h=m+32|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[m+8>>2]=0;h=m+56|0;c[h>>2]=0;i=m+52|0;c[i>>2]=0;c[n+16>>2]=c[e>>2];c[n+16+4>>2]=c[e+4>>2];c[n+16+8>>2]=c[e+8>>2];c[n+16+12>>2]=c[e+12>>2];c[n+16+16>>2]=c[f>>2];c[n+16+16+4>>2]=c[f+4>>2];c[n+16+16+8>>2]=c[f+8>>2];c[n+16+16+12>>2]=c[f+12>>2];c[m+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[m+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[7182]=(c[7182]|0)+1;g=xb(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}k=g;l=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=m;c[g+40>>2]=0;c[g>>2]=c[n+16>>2];c[g+4>>2]=c[n+16+4>>2];c[g+8>>2]=c[n+16+8>>2];c[g+12>>2]=c[n+16+12>>2];c[g+16>>2]=c[n+16+16>>2];c[g+20>>2]=c[n+16+20>>2];c[g+24>>2]=c[n+16+24>>2];c[g+28>>2]=c[n+16+28>>2];ue(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[m+48>>2]=g;k=d+124+(c[d+144>>2]<<2)|0;c[i>>2]=0;c[h>>2]=c[k>>2];g=c[k>>2]|0;if(g|0)c[g+52>>2]=m;c[k>>2]=m;if(a[d+193>>0]|0){sa=n;return m|0}c[n>>2]=11812;c[n+4>>2]=d;c[n+8>>2]=m;le(c[d+4>>2]|0,n+16|0,n);le(c[d+64>>2]|0,n+16|0,n);sa=n;return m|0}function bf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=sa;sa=sa+160|0;i=c[b+12>>2]|0;if(!i){sa=k;return}l=(a[b+16>>0]|0)!=0;m=l?e:d;e=l?d:e;n=c[m+4>>2]|0;d=c[e+4>>2]|0;c[h+4>>2]=i;i=c[i+752>>2]|0;c[k+136>>2]=12212;c[k+136+4>>2]=n;c[k+136+8>>2]=d;c[k+136+12>>2]=i;g[k+128>>2]=999999984306749440.0;i=c[m+12>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[k+16>>2]=c[i+16>>2];c[k+16+4>>2]=c[i+16+4>>2];c[k+16+8>>2]=c[i+16+8>>2];c[k+16+12>>2]=c[i+16+12>>2];c[k+32>>2]=c[i+32>>2];c[k+32+4>>2]=c[i+32+4>>2];c[k+32+8>>2]=c[i+32+8>>2];c[k+32+12>>2]=c[i+32+12>>2];c[k+48>>2]=c[i+48>>2];c[k+48+4>>2]=c[i+48+4>>2];c[k+48+8>>2]=c[i+48+8>>2];c[k+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[k+64>>2]=c[i>>2];c[k+64+4>>2]=c[i+4>>2];c[k+64+8>>2]=c[i+8>>2];c[k+64+12>>2]=c[i+12>>2];c[k+80>>2]=c[i+16>>2];c[k+80+4>>2]=c[i+16+4>>2];c[k+80+8>>2]=c[i+16+8>>2];c[k+80+12>>2]=c[i+16+12>>2];c[k+96>>2]=c[i+32>>2];c[k+96+4>>2]=c[i+32+4>>2];c[k+96+8>>2]=c[i+32+8>>2];c[k+96+12>>2]=c[i+32+12>>2];c[k+112>>2]=c[i+48>>2];c[k+112+4>>2]=c[i+48+4>>2];c[k+112+8>>2]=c[i+48+8>>2];c[k+112+12>>2]=c[i+48+12>>2];dd(k+136|0,k,h,c[f+20>>2]|0,l);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){b=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((b|0)==(d|0)){re(j,b+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);break}}while(0);sa=k;return}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;d=c[a+752>>2]|0;if((d|0)>0){e=c[a+760>>2]|0;b=0;do{f=c[e+(b*44|0)+8>>2]|0;h=c[e+(b*44|0)+12>>2]|0;i=c[e+(b*44|0)+16>>2]|0;l=+g[f+8>>2];n=+g[f+12>>2];j=+g[f+16>>2];k=+g[h+8>>2]-l;o=+g[h+12>>2]-n;m=+g[h+16>>2]-j;l=+g[i+8>>2]-l;n=+g[i+12>>2]-n;j=+g[i+16>>2]-j;g[e+(b*44|0)+36>>2]=+x(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));b=b+1|0}while((b|0)!=(d|0))}d=c[a+712>>2]|0;if((d|0)>0){c[7182]=(c[7182]|0)+1;b=xb((d<<2|3)+16|0)|0;if(!b)e=0;else{c[(b+4+15&-16)+-4>>2]=b;e=b+4+15&-16}mk(e|0,0,d<<2|0)|0;f=c[a+712>>2]|0;if((f|0)>0){d=c[a+720>>2]|0;b=0;do{g[d+(b*104|0)+92>>2]=0.0;b=b+1|0}while((b|0)!=(f|0));i=e;h=e;b=f}else{i=e;h=e;b=f}}else{i=0;h=0;b=d}f=c[a+752>>2]|0;if((f|0)>0){d=c[a+760>>2]|0;e=c[a+720>>2]|0;b=0;do{o=+w(+(+g[d+(b*44|0)+36>>2]));p=c[d+(b*44|0)+8>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+12>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+16>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];b=b+1|0}while((b|0)!=(f|0));b=c[a+712>>2]|0}if((b|0)>0){d=0;do{e=c[i+(d<<2)>>2]|0;if((e|0)>0){q=(c[a+720>>2]|0)+(d*104|0)+92|0;g[q>>2]=+g[q>>2]/+(e|0)}else g[(c[a+720>>2]|0)+(d*104|0)+92>>2]=0.0;d=d+1|0}while((d|0)!=(b|0));if(!h)return}else if((i|0)==0|(h|0)==0)return;c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);return}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[7182]=(c[7182]|0)+1;e=xb(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[7182]=(c[7182]|0)+1;f=xb((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e>>2]|0;g=c[e+4>>2]|0;if((g|0)>0?(c[h>>2]=(g|0)!=1?h+24|0:0,(g|0)!=1):0){e=1;f=h+24|0;do{e=e+1|0;i=(e|0)<(g|0);j=f;f=f+24|0;c[j>>2]=i?f:0}while(i)}}else h=e;c[a+56>>2]=c[h>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[7182]=(c[7182]|0)+1;e=xb(31)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[a+60>>2]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=0;c[7182]=(c[7182]|0)+1;e=xb((e*24|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[f>>2]=e;c[g>>2]=c[a+48>>2];c[a+48>>2]=f}else{c[a+52>>2]=c[e+8>>2];f=e}e=c[f>>2]|0;i=c[f+4>>2]|0;if((i|0)>0?(c[e>>2]=(i|0)!=1?e+24|0:0,(i|0)!=1):0){f=1;g=e+24|0;do{f=f+1|0;j=(f|0)<(i|0);k=g;g=g+24|0;c[k>>2]=j?g:0}while(j)}}c[a+56>>2]=c[e>>2];k=e;c[k>>2]=0;c[k+4>>2]=0;c[h+8>>2]=e;c[e+8>>2]=h;k=c[a+100>>2]|0;c[h+20>>2]=k;c[e+20>>2]=k;c[h+12>>2]=d;c[e+12>>2]=b;c[h+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return h|0;c[a+120>>2]=e+1;return h|0}function ef(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;e=sa;sa=sa+128|0;F=c[(c[a+8>>2]|0)+24>>2]|0;h=c[F+(d*80|0)+64>>2]|0;f=c[a+12>>2]|0;w=+g[F+(d*80|0)>>2];C=+g[f>>2];v=+g[F+(d*80|0)+16>>2];B=+g[f+4>>2];u=+g[F+(d*80|0)+32>>2];A=+g[f+8>>2];t=+g[F+(d*80|0)+4>>2];s=+g[F+(d*80|0)+20>>2];r=+g[F+(d*80|0)+36>>2];q=+g[F+(d*80|0)+8>>2];o=+g[F+(d*80|0)+24>>2];m=+g[F+(d*80|0)+40>>2];z=+g[f+16>>2];y=+g[f+20>>2];x=+g[f+24>>2];p=+g[f+32>>2];n=+g[f+36>>2];l=+g[f+40>>2];E=+g[F+(d*80|0)+48>>2];D=+g[F+(d*80|0)+52>>2];i=+g[F+(d*80|0)+56>>2];k=+g[f+48>>2]+(C*E+B*D+A*i);j=z*E+y*D+x*i+ +g[f+52>>2];i=p*E+n*D+l*i+ +g[f+56>>2];g[e+56>>2]=w*C+v*B+u*A;g[e+56+4>>2]=C*t+B*s+A*r;g[e+56+8>>2]=C*q+B*o+A*m;g[e+56+12>>2]=0.0;g[e+56+16>>2]=w*z+v*y+u*x;g[e+56+20>>2]=t*z+s*y+r*x;g[e+56+24>>2]=q*z+o*y+m*x;g[e+56+28>>2]=0.0;g[e+56+32>>2]=w*p+v*n+u*l;g[e+56+36>>2]=t*p+s*n+r*l;g[e+56+40>>2]=q*p+o*n+m*l;g[e+56+44>>2]=0.0;g[e+56+48>>2]=k;g[e+56+52>>2]=j;g[e+56+56>>2]=i;g[e+56+60>>2]=0.0;f=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=f;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;f=c[a+24>>2]|0;g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=8604;c[e+20>>2]=f;c[e+24>>2]=d;c[e+4>>2]=c[f+4>>2];c[e+16>>2]=c[f+16>>2];_b(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);sa=e;return}function ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;i=sa;sa=sa+80|0;h=+va[c[(c[a>>2]|0)+48>>2]&15](a);f=0;do{p=i+64+(f<<2)|0;c[i+64>>2]=0;c[i+64+4>>2]=0;c[i+64+8>>2]=0;c[i+64+12>>2]=0;g[p>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];l=+g[i+64+4>>2];m=+g[i+64+8>>2];n=k*+g[b+4>>2]+l*+g[b+20>>2]+m*+g[b+36>>2];o=k*+g[b+8>>2]+l*+g[b+24>>2]+m*+g[b+40>>2];g[i+32>>2]=+g[b>>2]*k+ +g[b+16>>2]*l+ +g[b+32>>2]*m;g[i+32+4>>2]=n;g[i+32+8>>2]=o;g[i+32+12>>2]=0.0;Za[j&127](i+48|0,a,i+32|0);o=+g[i+48>>2];n=+g[i+48+4>>2];m=+g[i+48+8>>2];l=o*+g[b+16>>2]+n*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];k=o*+g[b+32>>2]+n*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=o*+g[b>>2]+n*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=l;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;j=i+32+(f<<2)|0;g[e+(f<<2)>>2]=h+ +g[j>>2];g[p>>2]=-1.0;p=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];l=+g[i+64+4>>2];m=+g[i+64+8>>2];n=k*+g[b+4>>2]+l*+g[b+20>>2]+m*+g[b+36>>2];o=k*+g[b+8>>2]+l*+g[b+24>>2]+m*+g[b+40>>2];g[i>>2]=+g[b>>2]*k+ +g[b+16>>2]*l+ +g[b+32>>2]*m;g[i+4>>2]=n;g[i+8>>2]=o;g[i+12>>2]=0.0;Za[p&127](i+16|0,a,i);o=+g[i+16>>2];n=+g[i+16+4>>2];m=+g[i+16+8>>2];l=o*+g[b+16>>2]+n*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];k=o*+g[b+32>>2]+n*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=o*+g[b>>2]+n*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=l;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;g[d+(f<<2)>>2]=+g[j>>2]-h;f=f+1|0}while((f|0)!=3);sa=i;return}function gf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=sa;sa=sa+144|0;i=c[b+12>>2]|0;if(!i){sa=k;return}m=c[d+4>>2]|0;l=c[e+4>>2]|0;c[h+4>>2]=i;g[k+12+128>>2]=999999984306749440.0;i=c[d+12>>2]|0;c[k+12>>2]=c[i>>2];c[k+12+4>>2]=c[i+4>>2];c[k+12+8>>2]=c[i+8>>2];c[k+12+12>>2]=c[i+12>>2];c[k+12+16>>2]=c[i+16>>2];c[k+12+16+4>>2]=c[i+16+4>>2];c[k+12+16+8>>2]=c[i+16+8>>2];c[k+12+16+12>>2]=c[i+16+12>>2];c[k+12+32>>2]=c[i+32>>2];c[k+12+32+4>>2]=c[i+32+4>>2];c[k+12+32+8>>2]=c[i+32+8>>2];c[k+12+32+12>>2]=c[i+32+12>>2];c[k+12+48>>2]=c[i+48>>2];c[k+12+48+4>>2]=c[i+48+4>>2];c[k+12+48+8>>2]=c[i+48+8>>2];c[k+12+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[k+12+64>>2]=c[i>>2];c[k+12+64+4>>2]=c[i+4>>2];c[k+12+64+8>>2]=c[i+8>>2];c[k+12+64+12>>2]=c[i+12>>2];c[k+12+80>>2]=c[i+16>>2];c[k+12+80+4>>2]=c[i+16+4>>2];c[k+12+80+8>>2]=c[i+16+8>>2];c[k+12+80+12>>2]=c[i+16+12>>2];c[k+12+96>>2]=c[i+32>>2];c[k+12+96+4>>2]=c[i+32+4>>2];c[k+12+96+8>>2]=c[i+32+8>>2];c[k+12+96+12>>2]=c[i+32+12>>2];c[k+12+112>>2]=c[i+48>>2];c[k+12+112+4>>2]=c[i+48+4>>2];c[k+12+112+8>>2]=c[i+48+8>>2];c[k+12+112+12>>2]=c[i+48+12>>2];c[k>>2]=12192;c[k+4>>2]=m;c[k+8>>2]=l;vb(k,k+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){b=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((b|0)==(d|0)){re(j,b+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);break}}while(0);sa=k;return}function hf(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=sa;sa=sa+80|0;g[q+16+60>>2]=0.0;g[q+16+8>>2]=0.0;g[q+16+12>>2]=.10000000149011612;g[q+16+16>>2]=300.0;g[q+16>>2]=1.0;g[q+16+4>>2]=-1.0;g[q+16+28>>2]=0.0;g[q+16+32>>2]=.20000000298023224;g[q+16+36>>2]=0.0;g[q+16+40>>2]=0.0;g[q+16+20>>2]=1.0;g[q+16+24>>2]=.5;c[q+16+56>>2]=0;g[q+16+48>>2]=0.0;a[q+16+44>>0]=0;o=0;do{n=c[b+856+(o<<2)>>2]|0;m=a[b+788+o>>0]|0;if(!n){if(m<<24>>24){m=1;p=5}}else p=5;if((p|0)==5){p=0;g[q+16+40>>2]=0.0;c[q+16+56>>2]=n;c[q+16+52>>2]=c[b+840+(o<<2)>>2];c[q+16+48>>2]=c[b+824+(o<<2)>>2];c[q+16+20>>2]=c[b+732>>2];a[q+16+44>>0]=m;c[q+16+4>>2]=c[b+696+(o<<2)>>2];c[q+16+24>>2]=c[b+728>>2];c[q+16>>2]=c[b+680+(o<<2)>>2];g[q+16+16>>2]=0.0;c[q+16+12>>2]=c[b+808+(o<<2)>>2];c[q+16+8>>2]=c[b+792+(o<<2)>>2];c[q>>2]=c[b+1064+(o<<2)>>2];c[q+4>>2]=c[b+1080+(o<<2)>>2];c[q+8>>2]=c[b+1096+(o<<2)>>2];g[q+12>>2]=0.0;n=c[b+1304>>2]|0;m=o*3|0;n=m?n>>m:n;if(!(n&1))m=c[d+32>>2]|0;else m=b+740+(o<<2)|0;c[q+16+28>>2]=c[m>>2];if(!(n&2))m=c[d+32>>2]|0;else m=b+772+(o<<2)|0;c[q+16+36>>2]=c[m>>2];c[q+16+32>>2]=c[((n&4|0)==0?d+4|0:b+756+(o<<2)|0)>>2];if(a[b+1301>>0]|0){n=o+1|0;if(!(c[b+868+(((n|0)==3?0:n)<<6)+56>>2]|0))m=1;else m=(c[b+868+((((o+2|0)>>>0)%3|0)<<6)+56>>2]|0)==0&1}else m=0;e=(Kc(b,q+16|0,f,h,i,j,k,l,d,e,q,0,m)|0)+e|0}o=o+1|0}while((o|0)!=3);sa=q;return e|0}function jf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;b=sa;sa=sa+608|0;o=+g[d+116>>2]-+g[d+52>>2];n=+g[d+120>>2]-+g[d+56>>2];m=+g[d+124>>2]-+g[d+60>>2];i=+g[e+116>>2]-+g[e+52>>2];j=+g[e+120>>2]-+g[e+56>>2];k=+g[e+124>>2]-+g[e+60>>2];l=+g[d+252>>2];if(o*o+n*n+m*m>2],i*i+j*j+k*k>2]|0;f=c[e+248>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=1065353216;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;g[b+552+24>>2]=0.0;c[b+552>>2]=9480;c[b+552+4>>2]=8;c[b+552+28>>2]=f;c[b+552+44>>2]=f;c[b+376>>2]=6448;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=12048;c[b+4>>2]=b+16;c[b+8>>2]=h;c[b+12>>2]=b+552;if(Lc(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){i=+g[b+376+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(!(i<1.0))i=1.0}else i=1.0;h=c[e+192>>2]|0;f=c[d+248>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=1065353216;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;g[b+552+24>>2]=0.0;c[b+552>>2]=9480;c[b+552+4>>2]=8;c[b+552+28>>2]=f;c[b+552+44>>2]=f;c[b+376>>2]=6448;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=12048;c[b+4>>2]=b+16;c[b+8>>2]=b+552;c[b+12>>2]=h;if(Lc(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){j=+g[b+376+164>>2];if(+g[d+244>>2]>j)g[d+244>>2]=j;if(+g[e+244>>2]>j)g[e+244>>2]=j;if(i>j)i=j}o=i;sa=b;return +o}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0;H=sa;sa=sa+32|0;j=+g[b+16>>2];f=+g[b>>2];k=+g[b+20>>2];h=+g[b+4>>2];m=+g[b+24>>2];i=+g[b+8>>2];q=+g[b+32>>2];u=+g[b+36>>2];v=+g[b+40>>2];B=(k-h)*(v-i)-(m-i)*(u-h);C=(m-i)*(q-f)-(j-f)*(v-i);D=(j-f)*(u-h)-(k-h)*(q-f);g[H+16>>2]=B;g[H+16+4>>2]=C;g[H+16+8>>2]=D;g[H+16+12>>2]=0.0;n=+g[a+4>>2];r=+g[a+8>>2];w=+g[a+12>>2];E=B*n+C*r+D*w-(i*D+(f*B+h*C));o=+g[a+20>>2];s=+g[a+24>>2];y=+g[a+28>>2];if(E*(B*o+C*s+D*y-(i*D+(f*B+h*C)))>=0.0){sa=H;return}F=c[a+36>>2]|0;if(E<=0.0&(F&1|0)!=0){sa=H;return}G=E/(E-(B*o+C*s+D*y-(i*D+(f*B+h*C))));if(!(G<+g[a+40>>2])){sa=H;return}A=(D*D+(B*B+C*C))*-9.999999747378752e-05;z=f-(o*G+n*(1.0-G));t=h-(s*G+r*(1.0-G));p=i-(y*G+w*(1.0-G));l=j-(o*G+n*(1.0-G));k=k-(s*G+r*(1.0-G));j=m-(y*G+w*(1.0-G));if(!(D*(k*z-t*l)+(B*(t*j-p*k)+C*(p*l-j*z))>=A)){sa=H;return}i=q-(o*G+n*(1.0-G));h=u-(s*G+r*(1.0-G));f=v-(y*G+w*(1.0-G));if(!(D*(h*l-k*i)+(B*(k*f-j*h)+C*(j*i-f*l))>=A)){sa=H;return}if(!(D*(t*i-h*z)+(B*(h*p-f*t)+C*(f*z-p*i))>=A)){sa=H;return}f=1.0/+x(+(D*D+(B*B+C*C)));g[H+16>>2]=B*f;g[H+16+4>>2]=C*f;g[H+16+8>>2]=D*f;b=c[(c[a>>2]|0)+12>>2]|0;if(E<=0.0&(F&2|0)==0){g[H>>2]=-(B*f);g[H+4>>2]=-(C*f);g[H+8>>2]=-(D*f);g[H+12>>2]=0.0;g[a+40>>2]=+xa[b&3](a,H,G,d,e);sa=H;return}else{g[a+40>>2]=+xa[b&3](a,H+16|0,G,d,e);sa=H;return}}function lf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;B=sa;sa=sa+96|0;m=+g[e+4>>2];n=+g[e+20>>2];o=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];s=+g[e+12>>2];t=+g[e+28>>2];u=+g[e+44>>2];v=-+g[e+52>>2];w=-+g[e+56>>2];x=-+g[e+60>>2];k=c[b+720>>2]|0;y=+g[k+(d*104|0)+8>>2];z=+g[k+(d*104|0)+12>>2];A=+g[k+(d*104|0)+16>>2];a:do if(f){f=c[b+268>>2]|0;b:do if((f|0)>0){j=c[b+276>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(f|0))break b}if((i|0)!=(f|0)){f=k;break a}}while(0);if((f|0)==(c[b+272>>2]|0)?(l=(f|0)==0?1:f<<1,(f|0)<(l|0)):0){if(!l)j=0;else{c[7182]=(c[7182]|0)+1;f=xb((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+268>>2]|0}if((f|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+276>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+276>>2]|0;if(i){if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=j;c[b+272>>2]=l}c[(c[b+276>>2]|0)+(f<<2)>>2]=e;c[b+268>>2]=f+1;f=c[b+720>>2]|0}else f=k;while(0);c[B>>2]=f+(d*104|0);c[B+20>>2]=e;g[B+4>>2]=m*v+n*w+o*x+(m*y+n*z+o*A);g[B+8>>2]=p*v+q*w+r*x+(p*y+q*z+r*A);g[B+12>>2]=s*v+t*w+u*x+(s*y+t*z+u*A);g[B+16>>2]=0.0;e=f+(d*104|0)+100|0;a[e>>0]=a[e>>0]|1;g[B+24>>2]=h;Km(b+788|0,B);sa=B;return}function mf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;p=sa;sa=sa+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){sa=p;return}k=p;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!h)n=c[c[b+880>>2]>>2]|0;else n=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(o=(h|0)==0?1:h<<1,(h|0)<(o|0)):0){if(!o)m=0;else{c[7182]=(c[7182]|0)+1;h=xb((o*44|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}m=h;h=c[b+752>>2]|0}if((h|0)>0){i=0;do{k=m+(i*44|0)|0;j=(c[b+760>>2]|0)+(i*44|0)|0;l=k+44|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));i=i+1|0}while((i|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=m;c[b+756>>2]=o;h=c[b+752>>2]|0}k=c[b+760>>2]|0;c[k+(h*44|0)>>2]=0;c[k+(h*44|0)+4>>2]=n;k=k+(h*44|0)+8|0;j=p;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));o=c[b+752>>2]|0;c[b+752>>2]=o+1;n=c[b+760>>2]|0;k=c[b+720>>2]|0;c[n+(o*44|0)+8>>2]=k+(d*104|0);l=c[b+720>>2]|0;c[n+(o*44|0)+12>>2]=l+(e*104|0);m=c[b+720>>2]|0;c[n+(o*44|0)+16>>2]=m+(f*104|0);s=+g[k+(d*104|0)+8>>2];u=+g[k+(d*104|0)+12>>2];q=+g[k+(d*104|0)+16>>2];r=+g[l+(e*104|0)+8>>2]-s;v=+g[l+(e*104|0)+12>>2]-u;t=+g[l+(e*104|0)+16>>2]-q;s=+g[m+(f*104|0)+8>>2]-s;u=+g[m+(f*104|0)+12>>2]-u;q=+g[m+(f*104|0)+16>>2]-q;g[n+(o*44|0)+36>>2]=+x(+((r*u-v*s)*(r*u-v*s)+((v*q-t*u)*(v*q-t*u)+(t*s-r*q)*(t*s-r*q))));a[b+924>>0]=1;sa=p;return}function nf(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=k|0;l=l|0;m=+m;var n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0;q=sa;sa=sa+208|0;Co(q+192|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);p=(~~((j-i)/(m*.01745329238474369))|0)==0?1:~~((j-i)/(m*.01745329238474369));yy(q+128|0,f,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);m=+zI(i);Wp(q+144|0,+g[q+128>>2],+g[q+128+4>>2],+g[q+128+8>>2],m);qp(q+160|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[q+144>>2],+g[q+144+4>>2],+g[q+144+8>>2]);m=+g[q+192>>2];n=+g[q+192+4>>2];o=+g[q+192+8>>2];yy(q+96|0,h,m,n,o);r=+yI(i);Wp(q+112|0,+g[q+96>>2],+g[q+96+4>>2],+g[q+96+8>>2],r);qp(q+176|0,+g[q+160>>2],+g[q+160+4>>2],+g[q+160+8>>2],+g[q+112>>2],+g[q+112+4>>2],+g[q+112+8>>2]);if(l)ab[c[(c[a>>2]|0)+8>>2]&127](a,b,q+176|0,k);d=1;while(1){if((d|0)>(p|0))break;r=(j-i)*+(d|0)/+(p|0)+i;yy(q+32|0,f,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);s=+zI(r);Wp(q+48|0,+g[q+32>>2],+g[q+32+4>>2],+g[q+32+8>>2],s);qp(q+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[q+48>>2],+g[q+48+4>>2],+g[q+48+8>>2]);yy(q,h,m,n,o);r=+yI(r);Wp(q+16|0,+g[q>>2],+g[q+4>>2],+g[q+8>>2],r);qp(q+80|0,+g[q+64>>2],+g[q+64+4>>2],+g[q+64+8>>2],+g[q+16>>2],+g[q+16+4>>2],+g[q+16+8>>2]);ab[c[(c[a>>2]|0)+8>>2]&127](a,q+176|0,q+80|0,k);c[q+176>>2]=c[q+80>>2];c[q+176+4>>2]=c[q+80+4>>2];c[q+176+8>>2]=c[q+80+8>>2];c[q+176+12>>2]=c[q+80+12>>2];d=d+1|0}if(!l){sa=q;return}ab[c[(c[a>>2]|0)+8>>2]&127](a,b,q+176|0,k);sa=q;return}function of(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0;e=+g[b+1192+(d<<2)>>2];i=+g[b+868+(d<<6)>>2];j=+g[b+868+(d<<6)+4>>2];do if(!(i>=j)){if(e3.1415927410125732)f=(i-e)%6.2831854820251465+-6.2831854820251465;else f=(i-e)%6.2831854820251465;else f=(i-e)%6.2831854820251465+6.2831854820251465;h=+w(+f);if(!((j-e)%6.2831854820251465<-3.1415927410125732))if((j-e)%6.2831854820251465>3.1415927410125732)f=(j-e)%6.2831854820251465+-6.2831854820251465;else f=(j-e)%6.2831854820251465;else f=(j-e)%6.2831854820251465+6.2831854820251465;m=h<+w(+f);e=m?e:e+6.2831854820251465;break}if(e>j){if(!((e-j)%6.2831854820251465<-3.1415927410125732))if((e-j)%6.2831854820251465>3.1415927410125732)f=(e-j)%6.2831854820251465+-6.2831854820251465;else f=(e-j)%6.2831854820251465;else f=(e-j)%6.2831854820251465+6.2831854820251465;h=+w(+f);if(!((e-i)%6.2831854820251465<-3.1415927410125732))if((e-i)%6.2831854820251465>3.1415927410125732)f=(e-i)%6.2831854820251465+-6.2831854820251465;else f=(e-i)%6.2831854820251465;else f=(e-i)%6.2831854820251465+6.2831854820251465;m=+w(+f)>2]=e;do if(!(i>j)){if(i>e){c[b+868+(d<<6)+56>>2]=1;e=e-i;g[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){g[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(!(e<-3.1415927410125732))break;g[b+868+(d<<6)+48>>2]=e+6.2831854820251465;break}if(j>2]=2;e=e-j;g[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){g[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(e<-3.1415927410125732)g[b+868+(d<<6)+48>>2]=e+6.2831854820251465}else{k=b+868+(d<<6)+56|0;l=34}}else{k=b+868+(d<<6)+56|0;l=34}while(0);if((l|0)==34?(c[k>>2]=0,(a[b+868+(d<<6)+44>>0]|0)==0):0){m=0;return m|0}m=1;return m|0}function pf(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;l=sa;sa=sa+16|0;Ki(16371);e=c[b+232>>2]|0;if((e|0)>0){k=(a[29312]|0)==0;j=0;do{i=c[(c[b+240>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+216>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{p=+g[i+312>>2];o=+g[i+316>>2];n=+g[i+320>>2];m=+g[i+472>>2];if(p*p+o*o+n*n>2],n=+g[i+332>>2],o=+g[i+336>>2],p=+g[i+476>>2],m*m+n*n+o*o>2]=+g[i+220>>2]+d;break b}g[i+220>>2]=0.0;if((f&-2|0)!=4){c[i+216>>2]=0;f=0}}}while(0);h=f&-2;do if(k){if((h|0)!=2?!(+g[i+220>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+216>>2]=2;break a}if((f|0)==1){c[i+216>>2]=3;break a}if((f|0)!=2)break a;e=(c[i+260>>2]|0)+2|0;c[i+328>>2]=0;c[i+328+4>>2]=0;c[i+328+8>>2]=0;c[i+328+12>>2]=0;c[i+260>>2]=e;c[i+312>>2]=0;c[i+312+4>>2]=0;c[i+312+8>>2]=0;c[i+312+12>>2]=0;e=c[b+232>>2]|0;break a}while(0);if((h|0)!=4)c[i+216>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0))}e=c[3084]|0;k=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=k;if(k|0){sa=l;return}do if(c[e+4>>2]|0){la(l|0,0)|0;k=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[l+4>>2]|0)-(c[k+4>>2]|0)+(((c[l>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3084]|0;break}else{sa=l;return}}while(0);c[3084]=c[e+20>>2];sa=l;return}function qf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0;u=sa;sa=sa+16|0;p=+g[a+452>>2];n=c[a+192>>2]|0;m=+va[c[(c[n>>2]|0)+48>>2]&15](n);n=c[a+812>>2]|0;if((n|0)<=0){sa=u;return}l=0;do{o=c[a+820>>2]|0;k=c[o+(l*104|0)>>2]|0;k=(c[k+236>>2]&2|0)==0?0:k;if(k|0){t=+g[k+332>>2];e=+g[o+(l*104|0)+84>>2];j=+g[k+336>>2];r=+g[o+(l*104|0)+80>>2];f=+g[o+(l*104|0)+76>>2];s=+g[k+328>>2];d=p*(t*e-j*r+ +g[k+312>>2]);e=p*(+g[k+316>>2]+(j*f-e*s));f=p*(r*s-t*f+ +g[k+320>>2])}else{d=0.0;e=0.0;f=0.0}q=c[o+(l*104|0)+24>>2]|0;r=+g[q+8>>2];s=+g[q+12>>2];t=+g[q+16>>2];j=r-+g[q+24>>2]-d;i=s-+g[q+28>>2]-e;d=t-+g[q+32>>2]-f;e=+g[o+(l*104|0)+4>>2];f=+g[o+(l*104|0)+8>>2];h=+g[o+(l*104|0)+12>>2];if(j*e+i*f+d*h<=1.1920928955078125e-07?(x=r*e+s*f+t*h+ +g[o+(l*104|0)+20>>2],y=+g[o+(l*104|0)+96>>2],x=(x>2],w=(j-(j-e*(j*e+i*f+d*h))*y+e*x)*b,v=(i-(i-f*(j*e+i*f+d*h))*y+f*x)*b,i=(d-(d-h*(j*e+i*f+d*h))*y+h*x)*b,f=+g[o+(l*104|0)+36>>2]*i+(+g[o+(l*104|0)+28>>2]*w+ +g[o+(l*104|0)+32>>2]*v),h=w*+g[o+(l*104|0)+44>>2]+v*+g[o+(l*104|0)+48>>2]+i*+g[o+(l*104|0)+52>>2],i=w*+g[o+(l*104|0)+60>>2]+v*+g[o+(l*104|0)+64>>2]+i*+g[o+(l*104|0)+68>>2],g[u>>2]=f,g[u+4>>2]=h,g[u+8>>2]=i,g[u+12>>2]=0.0,j=+g[o+(l*104|0)+92>>2],g[q+8>>2]=r-f*j,g[q+12>>2]=s-h*j,g[q+16>>2]=t-i*j,k|0):0)Bk(k,u,o+(l*104|0)+76|0);l=l+1|0}while((l|0)!=(n|0));sa=u;return}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0;f=sa;sa=sa+224|0;sp(f+192|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);Wp(f+208|0,+g[f+192>>2],+g[f+192+4>>2],+g[f+192+8>>2],.5);qp(f+160|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);Wp(f+176|0,+g[f+160>>2],+g[f+160+4>>2],+g[f+160+8>>2],.5);g[f+136>>2]=1.0;g[f+132>>2]=1.0;g[f+128>>2]=1.0;ns(f+144|0,f+136|0,f+132|0,f+128|0);d=0;while(1){if((d|0)==4)break;b=0;while(1){if((b|0)==3)break;i=JI(f+144|0)|0;k=+g[i>>2];h=JI(f+208|0)|0;g[f+72>>2]=k*+g[h>>2];g[f+68>>2]=+g[i+4>>2]*+g[h+4>>2];g[f+64>>2]=+g[i+8>>2]*+g[h+8>>2];ns(f+80|0,f+72|0,f+68|0,f+64|0);c[f+112>>2]=c[f+80>>2];c[f+112+4>>2]=c[f+80+4>>2];c[f+112+8>>2]=c[f+80+8>>2];c[f+112+12>>2]=c[f+80+12>>2];Hr(f+112|0,f+176|0)|0;j=i+(((b>>>0)%3|0)<<2)|0;g[j>>2]=-+g[j>>2];g[f+40>>2]=+g[i>>2]*+g[h>>2];g[f+36>>2]=+g[i+4>>2]*+g[h+4>>2];g[f+32>>2]=+g[i+8>>2]*+g[h+8>>2];ns(f+48|0,f+40|0,f+36|0,f+32|0);c[f+96>>2]=c[f+48>>2];c[f+96+4>>2]=c[f+48+4>>2];c[f+96+8>>2]=c[f+48+8>>2];c[f+96+12>>2]=c[f+48+12>>2];Hr(f+96|0,f+176|0)|0;ab[c[(c[a>>2]|0)+8>>2]&127](a,f+112|0,f+96|0,e);b=b+1|0}g[f+8>>2]=-1.0;g[f+4>>2]=-1.0;g[f>>2]=-1.0;ns(f+16|0,f+8|0,f+4|0,f);c[f+144>>2]=c[f+16>>2];c[f+144+4>>2]=c[f+16+4>>2];c[f+144+8>>2]=c[f+16+8>>2];c[f+144+12>>2]=c[f+16+12>>2];if(d>>>0<3){j=(JI(f+144|0)|0)+(d<<2)|0;g[j>>2]=-+g[j>>2]}d=d+1|0}sa=f;return}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0;c[b+4>>2]=1065353216;c[b+8>>2]=1065353216;c[b+12>>2]=1065353216;g[b+16>>2]=0.0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+48>>2]=0;c[b>>2]=11360;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+164>>0]=d&1;a[b+165>>0]=e&1;g[b+168>>2]=0.0;c[7182]=(c[7182]|0)+1;d=xb(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+24>>2]|0;if((e|0)>0){d=0;do{h=f+(d<<5)|0;i=(c[b+32>>2]|0)+(d<<5)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];c[h+20>>2]=c[i+20>>2];c[h+24>>2]=c[i+24>>2];c[h+28>>2]=c[i+28>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=1;i=c[b+24>>2]|0;c[f+(i<<5)>>2]=0;c[f+(i<<5)+4>>2]=0;c[f+(i<<5)+8>>2]=12;c[f+(i<<5)+12>>2]=0;c[f+(i<<5)+16>>2]=0;c[f+(i<<5)+20>>2]=16;c[f+(i<<5)+24>>2]=2;c[f+(i<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;i=(a[b+164>>0]|0)==0;d=c[b+32>>2]|0;c[d>>2]=(c[(i?b+148|0:b+128|0)>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=i?3:2;c[d+8>>2]=i?6:12;if(!(a[b+165>>0]|0)){h=12;b=(c[b+108>>2]|0)/3|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}else{h=16;b=c[b+88>>2]|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=Cs()|0;_i(f,4,b);c[f>>2]=7516;c[f+552>>2]=c[d>>2];c[f+552+4>>2]=c[d+4>>2];c[f+552+8>>2]=c[d+8>>2];c[f+552+12>>2]=c[d+12>>2];c[f+568>>2]=c[d+16>>2];c[f+568+4>>2]=c[d+16+4>>2];c[f+568+8>>2]=c[d+16+8>>2];c[f+568+12>>2]=c[d+16+12>>2];c[f+584>>2]=c[d+32>>2];c[f+584+4>>2]=c[d+32+4>>2];c[f+584+8>>2]=c[d+32+8>>2];c[f+584+12>>2]=c[d+32+12>>2];c[f+600>>2]=c[d+48>>2];c[f+600+4>>2]=c[d+48+4>>2];c[f+600+8>>2]=c[d+48+8>>2];c[f+600+12>>2]=c[d+48+12>>2];c[f+616>>2]=c[d>>2];c[f+616+4>>2]=c[d+4>>2];c[f+616+8>>2]=c[d+8>>2];c[f+616+12>>2]=c[d+12>>2];c[f+632>>2]=c[d+16>>2];c[f+632+4>>2]=c[d+16+4>>2];c[f+632+8>>2]=c[d+16+8>>2];c[f+632+12>>2]=c[d+16+12>>2];c[f+648>>2]=c[d+32>>2];c[f+648+4>>2]=c[d+32+4>>2];c[f+648+8>>2]=c[d+32+8>>2];c[f+648+12>>2]=c[d+32+12>>2];c[f+664>>2]=c[d+48>>2];c[f+664+4>>2]=c[d+48+4>>2];c[f+664+8>>2]=c[d+48+8>>2];c[f+664+12>>2]=c[d+48+12>>2];g[f+688>>2]=0.0;g[f+692>>2]=-1.0;g[f+696>>2]=.8999999761581421;g[f+700>>2]=.30000001192092896;g[f+704>>2]=1.0;g[f+708>>2]=0.0;g[f+712>>2]=0.0;a[f+716>>0]=0;a[f+736>>0]=0;a[f+737>>0]=0;a[f+738>>0]=0;a[f+739>>0]=1;a[f+740>>0]=e&1;c[f+748>>2]=0;d=c[f+28>>2]|0;l=+g[f+600>>2];k=+g[f+604>>2];j=+g[f+608>>2];i=l*+g[d+20>>2]+k*+g[d+24>>2]+j*+g[d+28>>2]+ +g[d+56>>2];h=l*+g[d+36>>2]+k*+g[d+40>>2]+j*+g[d+44>>2]+ +g[d+60>>2];g[f+664>>2]=l*+g[d+4>>2]+k*+g[d+8>>2]+j*+g[d+12>>2]+ +g[d+52>>2];g[f+668>>2]=i;g[f+672>>2]=h;g[f+676>>2]=0.0;g[f+732>>2]=e?-1.0:1.0;return f|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=sa;sa=sa+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){sa=m;return}while(1){e=d+40|0;if(c[e>>2]|0){l=0;while(1){g=d+32|0;h=c[g>>2]|0;if(h>>>0>d>>>0){i=(c[h+40>>2]|0)==(d|0);j=c[h+36+(((i^1)&1)<<2)>>2]|0;k=c[h+32>>2]|0;if(!k)f=a;else f=k+36+(((c[k+40>>2]|0)==(h|0)&1)<<2)|0;c[f>>2]=d;c[j+32>>2]=d;c[h+32>>2]=d;c[g>>2]=k;k=d+36|0;c[h+36>>2]=c[k>>2];c[h+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=h;c[(c[e>>2]|0)+32>>2]=h;c[d+36+((i&1)<<2)>>2]=h;c[d+36+(((i^1)&1)<<2)>>2]=j;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];c[m+16>>2]=c[h+16>>2];c[m+20>>2]=c[h+20>>2];c[m+24>>2]=c[h+24>>2];c[m+28>>2]=c[h+28>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[d+16>>2]=c[m+16>>2];c[d+20>>2]=c[m+20>>2];c[d+24>>2]=c[m+24>>2];c[d+28>>2]=c[m+28>>2];d=h}e=c[a+16>>2]|0;d=c[d+36+(((l?e>>>l:e)&1)<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else l=l+1&31}}if(!(sg(a,d)|0))e=0;else e=c[a>>2]|0;ue(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}sa=m;return}function vf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=Cs()|0;_i(e,4,b);c[e>>2]=7516;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];g[e+688>>2]=0.0;g[e+692>>2]=-1.0;g[e+696>>2]=.8999999761581421;g[e+700>>2]=.30000001192092896;g[e+704>>2]=1.0;g[e+708>>2]=0.0;g[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;d=c[e+28>>2]|0;k=+g[e+600>>2];j=+g[e+604>>2];i=+g[e+608>>2];h=k*+g[d+20>>2]+j*+g[d+24>>2]+i*+g[d+28>>2]+ +g[d+56>>2];f=k*+g[d+36>>2]+j*+g[d+40>>2]+i*+g[d+44>>2]+ +g[d+60>>2];g[e+664>>2]=k*+g[d+4>>2]+j*+g[d+8>>2]+i*+g[d+12>>2]+ +g[d+52>>2];g[e+668>>2]=h;g[e+672>>2]=f;g[e+676>>2]=0.0;g[e+732>>2]=1.0;return e|0}function wf(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=0;k=sa;sa=sa+64|0;Ki(16541);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if((c[f+480>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+g[b+268>>2],j!=0.0):0)e=+g[b+264>>2]-j;else e=+g[b+264>>2]*+g[f+244>>2];jg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;Va[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+480>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(i=+g[b+268>>2],i!=0.0):0)e=+g[b+264>>2]-i;else e=+g[b+264>>2]*+g[f+244>>2];jg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;Va[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[3084]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){sa=k;return}do if(c[d+4>>2]|0){la(k|0,0)|0;b=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=k;return}}while(0);c[3084]=c[d+20>>2];sa=k;return}function xf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;i=sa;sa=sa+32|0;d=(a[b+8>>0]|0)==0?e:d;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){sa=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;v=+va[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=v+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;Za[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);v=+g[i>>2];u=+g[i+16>>2];q=+g[i+4>>2];p=+g[i+16+4>>2];y=+g[i+8>>2];x=+g[i+16+8>>2];h=c[d+12>>2]|0;C=+g[h>>2];B=+g[h+16>>2];n=+g[h+32>>2];A=+g[h+4>>2];z=+g[h+20>>2];l=+g[h+36>>2];t=+g[h+8>>2];s=+g[h+24>>2];r=+g[h+40>>2];D=-+g[h+48>>2];j=-+g[h+52>>2];k=-+g[h+56>>2];o=(v+u)*.5*C+(q+p)*.5*B+(y+x)*.5*n+(C*D+B*j+n*k);m=(v+u)*.5*A+(q+p)*.5*z+(y+x)*.5*l+(A*D+z*j+l*k);k=(v+u)*.5*t+(q+p)*.5*s+(y+x)*.5*r+(t*D+s*j+r*k);j=+g[b+68>>2];n=+w(+(n+(C*0.0+B*0.0)))*((y-x)*.5+j)+(+w(+(C+B*0.0+n*0.0))*((v-u)*.5+j)+ +w(+(C*0.0+B+n*0.0))*((q-p)*.5+j));l=+w(+(l+(A*0.0+z*0.0)))*((y-x)*.5+j)+(+w(+(A+z*0.0+l*0.0))*((v-u)*.5+j)+ +w(+(A*0.0+z+l*0.0))*((q-p)*.5+j));j=+w(+(r+(t*0.0+s*0.0)))*((y-x)*.5+j)+(+w(+(t+s*0.0+r*0.0))*((v-u)*.5+j)+ +w(+(t*0.0+s+r*0.0))*((q-p)*.5+j));g[b+24>>2]=o-n;g[b+28>>2]=m-l;g[b+32>>2]=k-j;g[b+36>>2]=0.0;g[b+40>>2]=o+n;g[b+44>>2]=m+l;g[b+48>>2]=k+j;g[b+52>>2]=0.0;ab[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);sa=i;return}function yf(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=sa;sa=sa+16|0;if(!((c[b+924>>2]|0)==0?(a[b+912>>0]|0)==0:0)){c[m>>2]=c[b+1208>>2];c[m+4>>2]=c[b+1208+4>>2];c[m+8>>2]=c[b+1208+8>>2];c[m+12>>2]=c[b+1208+12>>2];l=c[b+1304>>2]|0;if(!(l&512))c[b+896>>2]=c[c[d+32>>2]>>2];if(!(l&1024))c[b+904>>2]=c[c[d+32>>2]>>2];if(!(l&2048))c[b+900>>2]=c[d+4>>2];e=(Kc(b,b+868|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0}if(!((c[b+988>>2]|0)==0?(a[b+976>>0]|0)==0:0)){c[m>>2]=c[b+1224>>2];c[m+4>>2]=c[b+1224+4>>2];c[m+8>>2]=c[b+1224+8>>2];c[m+12>>2]=c[b+1224+12>>2];l=c[b+1304>>2]|0;if(!(l&4096))c[b+960>>2]=c[c[d+32>>2]>>2];if(!(l&8192))c[b+968>>2]=c[c[d+32>>2]>>2];if(!(l&16384))c[b+964>>2]=c[d+4>>2];e=(Kc(b,b+932|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0}if((c[b+1052>>2]|0)==0?(a[b+1040>>0]|0)==0:0){k=e;sa=m;return k|0}c[m>>2]=c[b+1240>>2];c[m+4>>2]=c[b+1240+4>>2];c[m+8>>2]=c[b+1240+8>>2];c[m+12>>2]=c[b+1240+12>>2];l=c[b+1304>>2]|0;if(!(l&32768))c[b+1024>>2]=c[c[d+32>>2]>>2];if(!(l&65536))c[b+1032>>2]=c[c[d+32>>2]>>2];if(!(l&131072))c[b+1028>>2]=c[d+4>>2];k=(Kc(b,b+996|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0;sa=m;return k|0}function zf(b){b=b|0;var d=0;c[b>>2]=7568;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Af(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=sa;sa=sa+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;g[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=10164;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;Oi(b);sa=k;return}c[7182]=(c[7182]|0)+1;h=xb((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+96>>2]|0;if((i|0)>0){h=0;do{l=j+(h<<4)|0;m=(c[b+104>>2]|0)+(h<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=j;c[b+100>>2]=e;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if((e|0)!=1){h=1;do{m=(c[b+104>>2]|0)+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+96>>2]=e;h=0;while(1){j=c[d+4>>2]|0;l=c[d+8>>2]|0;m=c[b+104>>2]|0;c[m+(h<<4)>>2]=c[d>>2];c[m+(h<<4)+4>>2]=j;c[m+(h<<4)+8>>2]=l;g[m+(h<<4)+12>>2]=0.0;h=h+1|0;if((h|0)==(e|0))break;else d=d+f|0}Oi(b);sa=k;return}function Bf(a,b,e){a=a|0;b=b|0;e=e|0;ve(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 16167}function Cf(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var i=0;i=sa;sa=sa+144|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=6868;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;g[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=f;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];g[i+92>>2]=0.0;g[i+96>>2]=0.0;g[i+100>>2]=.5;g[i+104>>2]=0.0;g[i+108>>2]=0.0;g[i+112>>2]=.800000011920929;g[i+116>>2]=1.0;a[i+120>>0]=0;g[i+124>>2]=.004999999888241291;g[i+128>>2]=.009999999776482582;g[i+132>>2]=.009999999776482582;g[i+136>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;Qc(b,i);sa=i;return}function Df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;ed(b,d);c[b>>2]=5828;c[7182]=(c[7182]|0)+1;e=xb(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=5860;c[b+92>>2]=i;c[7182]=(c[7182]|0)+1;i=xb(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=5880;c[b+96>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5880;c[b+100>>2]=e;a[e+4>>0]=1;c[7182]=(c[7182]|0)+1;i=xb(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=5900;c[b+104>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5920;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);i=f}c[7182]=(c[7182]|0)+1;e=xb(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[7182]=(c[7182]|0)+1;e=xb((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;b=c[f>>2]|0;c[h+8>>2]=b;if(b+-1|0){g=c[h>>2]|0;f=e;d=b+-1|0;do{j=f;f=f+g|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);e=e+(J(g,b+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function Ef(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=Ha[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=9036;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[7182]=(c[7182]|0)+1;b=xb(87)|0;if(!b)h=0;else{c[(b+4+15&-16)+-4>>2]=b;h=b+4+15&-16}c[h>>2]=12232;i=h+20|0;a[i>>0]=1;j=h+16|0;c[j>>2]=0;d=h+8|0;c[d>>2]=0;k=h+12|0;c[k>>2]=0;a[h+24>>0]=0;a[h+44>>0]=1;c[h+40>>2]=0;c[h+32>>2]=0;c[h+36>>2]=0;a[h+64>>0]=1;c[h+60>>2]=0;c[h+52>>2]=0;c[h+56>>2]=0;c[7182]=(c[7182]|0)+1;b=xb(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}d=c[d>>2]|0;if((d|0)>0){b=0;do{m=g+(b*12|0)|0;n=(c[j>>2]|0)+(b*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];b=b+1|0}while((b|0)!=(d|0))}b=c[j>>2]|0;if(!b){a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Te(h);n=l+8|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[i>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}c[j>>2]=0;a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Te(h);n=l+8|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function Ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7168]=(c[7168]|0)+1;g=(d<<16|b)+~((d<<16|b)<<15)|0;g=((10?g>>10:g)^g)*9|0;g=(6?g>>6:g)^g;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((16?g+~(g<<11)>>16:g+~(g<<11)|0)^g+~(g<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=23;break}}if((n|0)==23)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;h=c[a+60>>2]|0;if((f|0)!=(i|0)){b=f;while(1){d=h+(b<<2)|0;e=c[d>>2]|0;if((e|0)==(i|0))break;else b=e}e=c[h+(i<<2)>>2]|0;if((b|0)==-1)n=12;else c[d>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=12}if((n|0)==12)c[g>>2]=e;f=(c[a+8>>2]|0)+-1|0;if((f|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}g=c[m+(f*12|0)+4>>2]<<16|c[m+(f*12|0)>>2];g=((10?g+~(g<<15)>>10:g+~(g<<15)|0)^g+~(g<<15))*9|0;g=(6?g>>6:g)^g;g=((16?g+~(g<<11)>>16:g+~(g<<11)|0)^g+~(g<<11))&(c[a+12>>2]|0)+-1;e=c[l+(g<<2)>>2]|0;if((e|0)!=(f|0)){b=e;while(1){d=h+(b<<2)|0;e=c[d>>2]|0;if((e|0)==(f|0))break;else b=e}e=c[h+(f<<2)>>2]|0;if((b|0)==-1)n=21;else c[d>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=21}if((n|0)==21)c[l+(g<<2)>>2]=e;c[k>>2]=c[m+(f*12|0)>>2];c[k+4>>2]=c[m+(f*12|0)+4>>2];c[k+8>>2]=c[m+(f*12|0)+8>>2];n=(c[a+40>>2]|0)+(g<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Pa[c[(c[b>>2]|0)+32>>2]&511](b);e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];eb[c[(c[b>>2]|0)+20>>2]&31](b,e,16580,1145853764,d);d=c[a+8>>2]|0;if((d|0)<=0){wi(a,b);Ac(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Pa[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=Fa[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Ja[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Ja[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));wi(a,b);Ac(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Pa[a&511](b);return}function Hf(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;h=sa;sa=sa+32|0;d=c[a+8>>2]|0;if((d|0)<=0){sa=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{Va[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}j=1.0/b*(+g[e+56>>2]-+g[e+120>>2]);k=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=1.0/b*(+g[e+52>>2]-+g[e+116>>2]);g[e+316>>2]=j;g[e+320>>2]=k;g[e+324>>2]=0.0;Se(e+68|0,d,h+8|0,h);k=+g[h>>2];j=1.0/b*k*+g[h+8+4>>2];i=1.0/b*k*+g[h+8+8>>2];g[e+328>>2]=1.0/b*+g[h+8>>2]*k;g[e+332>>2]=j;g[e+336>>2]=i;g[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));sa=h;return}function If(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;s=sa;sa=sa+32|0;r=c[a+12>>2]|0;if(!r){sa=s;return}c[f+4>>2]=r;a=c[b+4>>2]|0;e=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;l=+g[d+48>>2];h=+g[b+48>>2]-l;m=+g[d+52>>2];i=+g[b+52>>2]-m;n=+g[d+56>>2];k=+g[b+56>>2]-n;o=+x(+(h*h+i*i+k*k));p=+g[e+28>>2]*+g[e+12>>2];q=+g[a+28>>2]*+g[a+12>>2]+p;if(o>q){if(!(c[r+748>>2]|0)){sa=s;return}e=c[r+740>>2]|0;a=c[(c[f+8>>2]|0)+8>>2]|0;if((e|0)==(a|0)){re(r,e+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);sa=s;return}else{re(r,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,a+4|0);sa=s;return}}c[s+16>>2]=1065353216;c[s+16+4>>2]=0;c[s+16+8>>2]=0;g[s+16+12>>2]=0.0;if(o>1.1920928955078125e-07){g[s+16>>2]=h*(1.0/o);g[s+16+4>>2]=i*(1.0/o);g[s+16+8>>2]=k*(1.0/o);g[s+16+12>>2]=0.0;j=h*(1.0/o);i=i*(1.0/o);h=k*(1.0/o)}else{j=1.0;i=0.0;h=0.0}g[s>>2]=l+p*j;g[s+4>>2]=m+p*i;g[s+8>>2]=n+p*h;g[s+12>>2]=0.0;_a[c[(c[f>>2]|0)+16>>2]&15](f,s+16|0,s,o-q);b=c[f+4>>2]|0;do if(c[b+748>>2]|0){e=c[b+740>>2]|0;a=c[(c[f+8>>2]|0)+8>>2]|0;if((e|0)==(a|0)){re(b,e+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);break}else{re(b,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,a+4|0);break}}while(0);sa=s;return}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+236>>2]|0;if((b|0)==0|(d|0)!=8){if(!((b|0)==0|(d&2|0)==0)){Va[c[(c[a>>2]|0)+92>>2]&127](a,b);return}d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=Fa[c[(c[h>>2]|0)+36>>2]&127](h)|0;Za[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;Za[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}e=c[a+8>>2]|0;if((e|0)<=0)return;f=c[a+16>>2]|0;d=0;while(1){g=f+(d<<2)|0;if((c[g>>2]|0)==(b|0))break;h=d+1|0;if((h|0)<(e|0))d=h;else{i=26;break}}if((i|0)==26)return;if((d|0)>=(e|0))return;c[g>>2]=c[f+(e+-1<<2)>>2];c[(c[a+16>>2]|0)+(e+-1<<2)>>2]=b;c[a+8>>2]=e+-1;return}g=c[a+328>>2]|0;a:do if((g|0)>0){f=c[a+336>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0))break a}if((d|0)<(g|0)){c[e>>2]=c[f+(g+-1<<2)>>2];c[(c[a+336>>2]|0)+(g+-1<<2)>>2]=b;c[a+328>>2]=g+-1}}while(0);d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=Fa[c[(c[h>>2]|0)+36>>2]&127](h)|0;Za[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;Za[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}e=c[a+8>>2]|0;if((e|0)<=0)return;f=c[a+16>>2]|0;d=0;while(1){g=f+(d<<2)|0;if((c[g>>2]|0)==(b|0))break;h=d+1|0;if((h|0)<(e|0))d=h;else{i=26;break}}if((i|0)==26)return;if((d|0)>=(e|0))return;c[g>>2]=c[f+(e+-1<<2)>>2];c[(c[a+16>>2]|0)+(e+-1<<2)>>2]=b;c[a+8>>2]=e+-1;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0,z=0.0;y=sa;sa=sa+48|0;t=+g[e>>2];u=+g[d>>2];v=+g[e+4>>2];s=+g[d+4>>2];r=+g[e+8>>2];m=+g[d+8>>2];n=+x(+((t-u)*.5*(t-u)*.5+(v-s)*.5*(v-s)*.5+(r-m)*.5*(r-m)*.5));o=+g[a+56>>2];if(+w(+o)>.7071067690849304){q=+g[a+52>>2];l=1.0/+x(+(o*o+q*q));p=+g[a+48>>2];f=p*-(o*l);h=(o*o+q*q)*l;i=0.0;j=-(p*q*l);k=-(o*l);l=q*l}else{p=+g[a+48>>2];q=+g[a+52>>2];k=1.0/+x(+(p*p+q*q));f=(p*p+q*q)*k;h=-(o*p*k);i=-(q*k);j=o*-(q*k);k=p*k;l=0.0}z=o*(r+m)*.5+((t+u)*.5*p+(v+s)*.5*q)-+g[a+64>>2];s=(v+s)*.5-q*z;p=(t+u)*.5-p*z;i=n*i;t=n*k;v=n*l;l=n*h;q=n*j;u=n*f;g[y>>2]=l+(i+p);g[y+4>>2]=q+(t+s);g[y+8>>2]=u+(v+((r+m)*.5-o*z));g[y+12>>2]=0.0;g[y+16>>2]=i+p-l;g[y+20>>2]=t+s-q;g[y+24>>2]=v+((r+m)*.5-o*z)-u;g[y+28>>2]=0.0;g[y+32>>2]=p-i-l;g[y+36>>2]=s-t-q;g[y+40>>2]=(r+m)*.5-o*z-v-u;g[y+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,y,0,0);g[y>>2]=p-i-l;g[y+4>>2]=s-t-q;g[y+8>>2]=(r+m)*.5-o*z-v-u;g[y+12>>2]=0.0;g[y+16>>2]=l+(p-i);g[y+20>>2]=q+(s-t);g[y+24>>2]=u+((r+m)*.5-o*z-v);g[y+28>>2]=0.0;g[y+32>>2]=l+(i+p);g[y+36>>2]=q+(t+s);g[y+40>>2]=u+(v+((r+m)*.5-o*z));g[y+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,y,0,1);sa=y;return}function Lf(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0;k=sa;sa=sa+16|0;la(c[7181]|0,0)|0;er(28684);c[7172]=(c[7172]|0)+1;j=c[7175]|0;c[7175]=j+1;if(!j){la(k|0,0)|0;j=c[7181]|0;c[7174]=(c[k+4>>2]|0)-(c[j+4>>2]|0)+(((c[k>>2]|0)-(c[j>>2]|0)|0)*1e6|0)}c[7180]=0;la(k|0,0)|0;Ki(16565);if(e){g[b+268>>2]=f;i=+g[b+264>>2]+d;g[b+264>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+264>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+264>>2]=(a[b+300>>0]|0)==0?d:0.0;g[b+268>>2]=0.0;j=!(+w(+d)<1.1920928955078125e-07)&1;e=j}if(Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;h=Fa[c[(c[h>>2]|0)+48>>2]&127](h)|0;a[29312]=(4?h>>>4:h)&1}if(j){h=(j|0)>(e|0)?e:j;Qa[c[(c[b>>2]|0)+164>>2]&31](b,d*+(h|0));Pa[c[(c[b>>2]|0)+168>>2]&511](b);if((h|0)>0){e=0;do{Qa[c[(c[b>>2]|0)+160>>2]&31](b,d);Pa[c[(c[b>>2]|0)+80>>2]&511](b);e=e+1|0}while((e|0)<(h|0));e=b}else e=b}else{Pa[c[(c[b>>2]|0)+80>>2]&511](b);e=b}Pa[c[(c[e>>2]|0)+120>>2]&511](b);c[7180]=(c[7180]|0)+1;e=c[3084]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){sa=k;return j|0}do if(c[e+4>>2]|0){la(k|0,0)|0;b=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3084]|0;break}else{sa=k;return j|0}}while(0);c[3084]=c[e+20>>2];sa=k;return j|0}function Mf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;e=sa;sa=sa+288|0;g[e+280>>2]=d;h=IH(b)|0;c[e+264>>2]=c[h>>2];c[e+264+4>>2]=c[h+4>>2];c[e+264+8>>2]=c[h+8>>2];c[e+264+12>>2]=c[h+12>>2];h=c[(c[a>>2]|0)+8>>2]|0;f=JI(b)|0;g[e+212>>2]=0.0;g[e+208>>2]=0.0;ns(e+216|0,e+280|0,e+212|0,e+208|0);vl(e+232|0,f,+g[e+216>>2],+g[e+216+4>>2],+g[e+216+8>>2]);qp(e+248|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+232>>2],+g[e+232+4>>2],+g[e+232+8>>2]);g[e+184>>2]=.699999988079071;g[e+180>>2]=0.0;g[e+176>>2]=0.0;ns(e+192|0,e+184|0,e+180|0,e+176|0);ab[h&127](a,e+264|0,e+248|0,e+192|0);b=c[(c[a>>2]|0)+8>>2]|0;g[e+124>>2]=0.0;g[e+120>>2]=0.0;ns(e+128|0,e+124|0,e+280|0,e+120|0);vl(e+144|0,f,+g[e+128>>2],+g[e+128+4>>2],+g[e+128+8>>2]);qp(e+160|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+144>>2],+g[e+144+4>>2],+g[e+144+8>>2]);g[e+96>>2]=0.0;g[e+92>>2]=.699999988079071;g[e+88>>2]=0.0;ns(e+104|0,e+96|0,e+92|0,e+88|0);ab[b&127](a,e+264|0,e+160|0,e+104|0);b=c[(c[a>>2]|0)+8>>2]|0;g[e+36>>2]=0.0;g[e+32>>2]=0.0;ns(e+40|0,e+36|0,e+32|0,e+280|0);vl(e+56|0,f,+g[e+40>>2],+g[e+40+4>>2],+g[e+40+8>>2]);qp(e+72|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+56>>2],+g[e+56+4>>2],+g[e+56+8>>2]);g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=.699999988079071;ns(e+16|0,e+8|0,e+4|0,e);ab[b&127](a,e+264|0,e+72|0,e+16|0);sa=e;return}function Nf(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0;d=c[a+712>>2]|0;if((d|0)>0){b=0;do{l=(c[a+720>>2]|0)+(b*104|0)+72|0;b=b+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((b|0)!=(d|0))}d=c[a+752>>2]|0;if((d|0)>0){b=0;do{o=c[a+760>>2]|0;j=c[o+(b*44|0)+12>>2]|0;h=c[o+(b*44|0)+8>>2]|0;k=+g[h+8>>2];e=+g[j+8>>2]-k;f=+g[h+12>>2];i=+g[j+12>>2]-f;m=+g[h+16>>2];n=+g[j+16>>2]-m;l=c[o+(b*44|0)+16>>2]|0;k=+g[l+8>>2]-k;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+x(+((e*f-i*k)*(e*f-i*k)+((i*m-n*f)*(i*m-n*f)+(n*k-e*m)*(n*k-e*m))));g[o+(b*44|0)+20>>2]=(i*m-n*f)*p;g[o+(b*44|0)+24>>2]=(n*k-e*m)*p;g[o+(b*44|0)+28>>2]=(e*f-i*k)*p;c[o+(b*44|0)+32>>2]=0;g[h+72>>2]=i*m-n*f+ +g[h+72>>2];g[h+76>>2]=n*k-e*m+ +g[h+76>>2];g[h+80>>2]=e*f-i*k+ +g[h+80>>2];g[j+72>>2]=i*m-n*f+ +g[j+72>>2];g[j+76>>2]=n*k-e*m+ +g[j+76>>2];g[j+80>>2]=e*f-i*k+ +g[j+80>>2];g[l+72>>2]=i*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*k-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-i*k+ +g[l+80>>2];b=b+1|0}while((b|0)!=(d|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;a=c[a+720>>2]|0;b=0;do{h=a+(b*104|0)+72|0;i=+g[h>>2];j=a+(b*104|0)+76|0;k=+g[j>>2];d=a+(b*104|0)+80|0;e=+g[d>>2];f=+x(+(i*i+k*k+e*e));if(f>1.1920928955078125e-07){g[h>>2]=i*(1.0/f);g[j>>2]=k*(1.0/f);g[d>>2]=e*(1.0/f)}b=b+1|0}while((b|0)!=(l|0));return}function Of(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((k<<1)+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+148>>2]|0}h=c[d+156>>2]|0;if((f|0)<=0)if(!h)g=d+160|0;else l=29;else{g=0;do{b[i+(g<<1)>>1]=b[h+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(f|0));l=29}if((l|0)==29){if(a[d+160>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);f=c[d+148>>2]|0}c[d+156>>2]=0;g=d+160|0}a[g>>0]=1;c[d+156>>2]=i;c[d+152>>2]=k}l=c[d+156>>2]|0;b[l+(f<<1)>>1]=e;c[d+148>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=l;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+128>>2]|0}h=c[d+136>>2]|0;if((f|0)<=0)if(!h)g=d+140|0;else l=13;else{g=0;do{c[i+(g<<2)>>2]=c[h+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));l=13}if((l|0)==13){if(a[d+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[d+136>>2]=0;g=d+140|0;f=c[d+128>>2]|0}a[g>>0]=1;c[d+136>>2]=i;c[d+132>>2]=j}l=c[d+136>>2]|0;c[l+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;c[(c[d+32>>2]|0)+4>>2]=l;return}}function Pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ts()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7460;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[f>>2];c[h+364+4>>2]=c[f+4>>2];c[h+364+8>>2]=c[f+8>>2];c[h+364+12>>2]=c[f+12>>2];c[h+380>>2]=c[f+16>>2];c[h+380+4>>2]=c[f+16+4>>2];c[h+380+8>>2]=c[f+16+8>>2];c[h+380+12>>2]=c[f+16+12>>2];c[h+396>>2]=c[f+32>>2];c[h+396+4>>2]=c[f+32+4>>2];c[h+396+8>>2]=c[f+32+8>>2];c[h+396+12>>2]=c[f+32+12>>2];c[h+412>>2]=c[f+48>>2];c[h+412+4>>2]=c[f+48+4>>2];c[h+412+8>>2]=c[f+48+8>>2];c[h+412+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function Qf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;l=sa;sa=sa+672|0;c[l+568+8>>2]=0;c[l+568+12>>2]=1065353216;c[l+568+16>>2]=1065353216;c[l+568+20>>2]=1065353216;g[l+568+24>>2]=0.0;c[l+568+52>>2]=0;c[l+568>>2]=6476;c[l+568+4>>2]=1;c[l+568+56>>2]=c[d>>2];c[l+568+56+4>>2]=c[d+4>>2];c[l+568+56+8>>2]=c[d+8>>2];c[l+568+56+12>>2]=c[d+12>>2];c[l+568+72>>2]=c[d+16>>2];c[l+568+72+4>>2]=c[d+16+4>>2];c[l+568+72+8>>2]=c[d+16+8>>2];c[l+568+72+12>>2]=c[d+16+12>>2];c[l+568+88>>2]=c[d+32>>2];c[l+568+88+4>>2]=c[d+32+4>>2];c[l+568+88+8>>2]=c[d+32+8>>2];c[l+568+88+12>>2]=c[d+32+12>>2];c[l+568+44>>2]=c[b+204>>2];g[l+208+308>>2]=9.999999747378752e-05;a[l+208+332>>0]=0;c[l+200>>2]=12028;d=c[b+4>>2]|0;c[l+176>>2]=12096;c[l+176+4>>2]=l+208;c[l+176+8>>2]=l+200;c[l+176+12>>2]=d;c[l+176+16>>2]=l+568;c[l+176+20>>2]=0;c[l>>2]=6448;c[l+168>>2]=0;g[l+164>>2]=1.0;c[l+172>>2]=c[b+208>>2];if((bd(l+176|0,b+8|0,b+72|0,b+136|0,b+136|0,l)|0?(h=+g[l+132>>2],i=+g[l+136>>2],j=+g[l+140>>2],h*h+i*i+j*j>9.999999747378752e-05):0)?(k=+g[l+164>>2],k<+g[b+200>>2]):0){m=1.0/+x(+(h*h+i*i+j*j));g[l+132>>2]=h*m;g[l+136>>2]=i*m;g[l+140>>2]=j*m;+za[c[(c[b>>2]|0)+12>>2]&3](b,l+132|0,l+148|0,k,e,f)}c[l+568>>2]=9932;b=c[l+568+52>>2]|0;if(!b){sa=l;return}Pa[c[c[b>>2]>>2]&511](b);b=c[l+568+52>>2]|0;if(!b){sa=l;return}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);sa=l;return}function Rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[d+128>>2];if(!(e!=0.0))return;c[7002]=(c[7002]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j>2]=k+j>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];return}function Sf(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;h=sa;sa=sa+16|0;d=+g[a+336>>2]*b;b=+g[a+452>>2];f=c[a+792>>2]|0;if((f|0)<=0){sa=h;return}e=0;do{s=c[a+800>>2]|0;j=c[s+(e*96|0)+20>>2]|0;n=c[s+(e*96|0)>>2]|0;x=+g[s+(e*96|0)+4>>2];w=+g[s+(e*96|0)+8>>2];v=+g[s+(e*96|0)+12>>2];i=s+(e*96|0)+76|0;u=+g[j+332>>2];o=+g[s+(e*96|0)+84>>2];y=+g[j+336>>2];l=+g[s+(e*96|0)+80>>2];k=+g[i>>2];m=+g[j+328>>2];r=+g[n+8>>2];q=+g[n+12>>2];p=+g[n+16>>2];t=d*(x*+g[j+4>>2]+w*+g[j+8>>2]+v*+g[j+12>>2]+ +g[j+52>>2]-r)+(b*(u*o-y*l+ +g[j+312>>2])-(r-+g[n+24>>2]));o=d*(x*+g[j+20>>2]+w*+g[j+24>>2]+v*+g[j+28>>2]+ +g[j+56>>2]-q)+(b*(+g[j+316>>2]+(y*k-o*m))-(q-+g[n+28>>2]));k=d*(x*+g[j+36>>2]+w*+g[j+40>>2]+v*+g[j+44>>2]+ +g[j+60>>2]-p)+(b*(l*m-u*k+ +g[j+320>>2])-(p-+g[n+32>>2]));u=+g[s+(e*96|0)+24>>2];m=(t*+g[s+(e*96|0)+28>>2]+o*+g[s+(e*96|0)+32>>2]+ +g[s+(e*96|0)+36>>2]*k)*u;l=(t*+g[s+(e*96|0)+44>>2]+o*+g[s+(e*96|0)+48>>2]+k*+g[s+(e*96|0)+52>>2])*u;k=u*(t*+g[s+(e*96|0)+60>>2]+o*+g[s+(e*96|0)+64>>2]+k*+g[s+(e*96|0)+68>>2]);o=+g[s+(e*96|0)+92>>2];g[n+8>>2]=r+m*o;g[n+12>>2]=q+o*l;g[n+16>>2]=p+o*k;g[h>>2]=-m;g[h+4>>2]=-l;g[h+8>>2]=-k;g[h+12>>2]=0.0;Bk(j,h,i);e=e+1|0}while((e|0)!=(f|0));sa=h;return}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=+g[d+100>>2];j=+g[d+16>>2];k=+g[d+20>>2];l=+g[d+24>>2];h=+g[d+108>>2];h=+g[d+112>>2]-f*+g[d+116>>2]-(j*+g[a+64>>2]+k*+g[a+68>>2]+l*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*h-h*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));e=+g[d+120>>2];if(!(f+h>2];if(f+h>e)i=e-f;else{i=h;e=f+h}}else i=e-f;g[d+100>>2]=e;if(c[a+240>>2]|0){h=i*k*+g[a+132>>2]*+g[a+116>>2];k=i*l*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*j*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=h+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function Uf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Cs()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=7516;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[f>>2];c[i+616+4>>2]=c[f+4>>2];c[i+616+8>>2]=c[f+8>>2];c[i+616+12>>2]=c[f+12>>2];c[i+632>>2]=c[f+16>>2];c[i+632+4>>2]=c[f+16+4>>2];c[i+632+8>>2]=c[f+16+8>>2];c[i+632+12>>2]=c[f+16+12>>2];c[i+648>>2]=c[f+32>>2];c[i+648+4>>2]=c[f+32+4>>2];c[i+648+8>>2]=c[f+32+8>>2];c[i+648+12>>2]=c[f+32+12>>2];c[i+664>>2]=c[f+48>>2];c[i+664+4>>2]=c[f+48+4>>2];c[i+664+8>>2]=c[f+48+8>>2];c[i+664+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;Ja[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((Fa[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=Ha[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=Fa[c[(c[e>>2]|0)+12>>2]&127](e)|0;e=Ja[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=Ja[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;eb[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((Fa[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=Ha[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=Fa[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=Ja[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=Ja[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;eb[c[(c[d>>2]|0)+20>>2]&31](d,b,g,1346456916,c[a+56>>2]|0);return 20984}else{c[b+48>>2]=e;return 20984}}c[b+48>>2]=0;return 20984}function Wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7169]=(c[7169]|0)+1;k=(e<<16|d)+~((e<<16|d)<<15)|0;k=((10?k>>10:k)^k)*9|0;k=(6?k>>6:k)^k;k=(16?k+~(k<<11)>>16:k+~(k<<11)|0)^k+~(k<<11);l=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((l+-1&k)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){e=g;return e|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(l|0)){h=(l|0)==0?1:l<<1;if((l|0)<(h|0)){if(!h){f=0;i=l}else{c[7182]=(c[7182]|0)+1;f=xb((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+8>>2]|0}if((i|0)>0){g=0;do{m=f+(g*12|0)|0;n=(c[b+16>>2]|0)+(g*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];g=g+1|0}while((g|0)!=(i|0))}g=c[b+16>>2]|0;if(g|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=l;h=l}}else{f=j;h=l}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((l|0)<(h|0)){Te(b);f=(c[b+12>>2]|0)+-1&k}else f=l+-1&k;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function Xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=Cs()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7516;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[f>>2];c[h+616+4>>2]=c[f+4>>2];c[h+616+8>>2]=c[f+8>>2];c[h+616+12>>2]=c[f+12>>2];c[h+632>>2]=c[f+16>>2];c[h+632+4>>2]=c[f+16+4>>2];c[h+632+8>>2]=c[f+16+8>>2];c[h+632+12>>2]=c[f+16+12>>2];c[h+648>>2]=c[f+32>>2];c[h+648+4>>2]=c[f+32+4>>2];c[h+648+8>>2]=c[f+32+8>>2];c[h+648+12>>2]=c[f+32+12>>2];c[h+664>>2]=c[f+48>>2];c[h+664+4>>2]=c[f+48+4>>2];c[h+664+8>>2]=c[f+48+8>>2];c[h+664+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;g[h+732>>2]=1.0;return h|0}function Yf(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;c[7182]=(c[7182]|0)+1;b=xb((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)j=0;else{c[(b+4+15&-16)+-4>>2]=b;j=b+4+15&-16}k=CI((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{p=+(b|0)/+(h+1|0);o=+g[e>>2];n=+g[e+4>>2];n=n+p*(+g[f+4>>2]-n);m=+g[e+8>>2];m=m+p*(+g[f+8>>2]-m);g[j+(b<<4)>>2]=o+p*(+g[f>>2]-o);g[j+(b<<4)+4>>2]=n;g[j+(b<<4)+8>>2]=m;g[j+(b<<4)+12>>2]=0.0;g[k+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[7182]=(c[7182]|0)+1;b=xb(1271)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}Hb(l,d,h+2|0,j,k);if(i&1|0){g[(c[l+720>>2]|0)+88>>2]=0.0;a[l+924>>0]=1}if(i&2|0){g[(c[l+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[l+924>>0]=1}if(j|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}DI(k);if((h|0)<=-1)return l|0;j=l+720|0;k=l+732|0;e=l+740|0;f=l+924|0;b=1;do{r=b+-1|0;q=c[j>>2]|0;oh(l,0);i=(c[k>>2]|0)+-1|0;d=c[e>>2]|0;c[d+(i*52|0)+8>>2]=q+(r*104|0);c[d+(i*52|0)+12>>2]=q+(b*104|0);n=+g[q+(r*104|0)+8>>2]-+g[q+(b*104|0)+8>>2];o=+g[q+(r*104|0)+12>>2]-+g[q+(b*104|0)+12>>2];p=+g[q+(r*104|0)+16>>2]-+g[q+(b*104|0)+16>>2];g[d+(i*52|0)+16>>2]=+x(+(n*n+o*o+p*p));a[f>>0]=1;b=b+1|0}while((b|0)<(h+2|0));return l|0}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[d+100>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(f*+g[a+64>>2]+h*+g[a+68>>2]+i*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];e=k+j>2]=k+j>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;J=+g[a+4>>2];I=+g[a+20>>2];H=+g[a+36>>2];F=+g[a+8>>2];E=+g[a+24>>2];D=+g[a+40>>2];B=+g[a+12>>2];z=+g[a+28>>2];x=+g[a+44>>2];u=+g[b+4>>2];t=+g[b+20>>2];s=+g[b+36>>2];q=+g[b+8>>2];p=+g[b+24>>2];o=+g[b+40>>2];m=+g[b+12>>2];k=+g[b+28>>2];i=+g[b+44>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;A=+g[e>>2];y=+g[e+4>>2];w=+g[e+8>>2];g[d+16>>2]=J*A+I*y+H*w;g[d+20>>2]=F*A+E*y+D*w;g[d+24>>2]=B*A+z*y+x*w;g[d+28>>2]=0.0;l=-+g[e>>2];j=-+g[e+4>>2];h=-+g[e+8>>2];g[d+32>>2]=u*l+t*j+s*h;g[d+36>>2]=q*l+p*j+o*h;g[d+40>>2]=m*l+k*j+i*h;g[d+44>>2]=0.0;G=(J*A+I*y+H*w)*+g[a+396>>2];C=(F*A+E*y+D*w)*+g[a+400>>2];v=(B*A+z*y+x*w)*+g[a+404>>2];g[d+48>>2]=G;g[d+52>>2]=C;g[d+56>>2]=v;g[d+60>>2]=0.0;r=(u*l+t*j+s*h)*+g[b+396>>2];n=(q*l+p*j+o*h)*+g[b+400>>2];f=(m*l+k*j+i*h)*+g[b+404>>2];g[d+64>>2]=r;g[d+68>>2]=n;g[d+72>>2]=f;g[d+76>>2]=0.0;g[d+80>>2]=(J*A+I*y+H*w)*G+(F*A+E*y+D*w)*C+(B*A+z*y+x*w)*v+((u*l+t*j+s*h)*r+(q*l+p*j+o*h)*n+(m*l+k*j+i*h)*f);return}function $f(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=sa;sa=sa+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)i=0;else{c[7182]=(c[7182]|0)+1;g=xb((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+8>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+16>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+16>>2]|0;if(h){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[k+32>>2]=c[d+4>>2];c[k+32+4>>2]=c[d+4+4>>2];c[k+32+8>>2]=c[d+4+8>>2];c[k+32+12>>2]=c[d+4+12>>2];c[k+32+16>>2]=c[d+20>>2];c[k+32+16+4>>2]=c[d+20+4>>2];c[k+32+16+8>>2]=c[d+20+8>>2];c[k+32+16+12>>2]=c[d+20+12>>2];c[k+32+32>>2]=c[d+36>>2];c[k+32+32+4>>2]=c[d+36+4>>2];c[k+32+32+8>>2]=c[d+36+8>>2];c[k+32+32+12>>2]=c[d+36+12>>2];c[k+32+48>>2]=c[d+52>>2];c[k+32+48+4>>2]=c[d+52+4>>2];c[k+32+48+8>>2]=c[d+52+8>>2];c[k+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;ab[c[(c[j>>2]|0)+8>>2]&127](j,k+32|0,k+16|0,k);j=c[b+68>>2]|0;c[d+188>>2]=Ma[c[(c[j>>2]|0)+8>>2]&3](j,k+16|0,k,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;sa=k;return}function ag(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6904;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,Pa[c[c[d>>2]>>2]&511](d),d=c[b+204>>2]|0,d|0):0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(Pa[c[c[d>>2]>>2]&511](d),e=c[b+196>>2]|0,e|0):0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}if(a[b+273>>0]|0?(f=c[b+200>>2]|0,Pa[c[c[f>>2]>>2]&511](f),f=c[b+200>>2]|0,f|0):0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;cj(b);return}if(a[b+192>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;cj(b);return}function bg(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0;p=os()|0;c[p+8>>2]=0;g[p+12>>2]=0.0;c[p>>2]=10968;c[p+4>>2]=24;c[p+64>>2]=b;c[p+68>>2]=d;g[p+72>>2]=h;g[p+76>>2]=i;g[p+80>>2]=+(b+-1|0);g[p+84>>2]=+(d+-1|0);g[p+88>>2]=f;c[p+92>>2]=e;c[p+96>>2]=k;a[p+100>>0]=l&1;a[p+101>>0]=0;a[p+102>>0]=0;c[p+104>>2]=j;c[p+108>>2]=1065353216;c[p+112>>2]=1065353216;c[p+116>>2]=1065353216;g[p+120>>2]=0.0;switch(j|0){case 0:{g[p+16>>2]=h;c[p+20>>2]=0;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=i;g[p+36>>2]=+(b+-1|0);g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=i;o=h;f=+(b+-1|0);m=0.0;i=+(d+-1|0);h=0.0;break}case 1:{c[p+16>>2]=0;g[p+20>>2]=h;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=i;g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=i;m=h;i=+(d+-1|0);h=0.0;break}case 2:{c[p+16>>2]=0;c[p+20>>2]=0;g[p+24>>2]=h;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=+(d+-1|0);g[p+40>>2]=i;g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=+(d+-1|0);m=0.0;break}default:{n=+g[p+32>>2];o=+g[p+16>>2];f=+g[p+36>>2];m=+g[p+20>>2];i=+g[p+40>>2];h=+g[p+24>>2]}}g[p+48>>2]=(o+n)*.5;g[p+52>>2]=(m+f)*.5;g[p+56>>2]=(h+i)*.5;g[p+60>>2]=0.0;return p|0}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[n+740>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(l|0))e=e+1|0;else{k=i;break}}else{i=c[(c[n+744>>2]|0)+208>>2]|0;while(1){j=m+(e<<2)|0;h=c[j>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else{k=j;break}}}if((l|0)>-1)while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((l|0)<(h|0))f=f+-1|0;else break}else{j=c[(c[n+744>>2]|0)+208>>2]|0;while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((j|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){m=c[k>>2]|0;c[k>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=m;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))cg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;h=sa;sa=sa+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+480>>2]|0,f|0):0)Va[c[(c[f>>2]|0)+8>>2]&127](f,h);v=+g[d+156>>2];t=+g[h>>2];u=+g[d+160>>2];s=+g[h+4>>2];m=+g[d+164>>2];r=+g[h+8>>2];q=+g[h+16>>2];p=+g[h+20>>2];o=+g[h+24>>2];n=+g[h+32>>2];l=+g[h+36>>2];j=+g[h+40>>2];k=v*q+u*p+m*o+ +g[h+52>>2];i=v*n+u*l+m*j+ +g[h+56>>2];g[d+36>>2]=v*t+u*s+m*r+ +g[h+48>>2];g[d+40>>2]=k;g[d+44>>2]=i;g[d+48>>2]=0.0;i=+g[d+172>>2];k=+g[d+176>>2];m=+g[d+180>>2];g[d+52>>2]=t*i+s*k+r*m;g[d+56>>2]=i*q+k*p+m*o;g[d+60>>2]=i*n+k*l+m*j;g[d+64>>2]=0.0;m=+g[d+188>>2];k=+g[d+192>>2];i=+g[d+196>>2];g[d+68>>2]=t*m+s*k+r*i;g[d+72>>2]=q*m+p*k+o*i;g[d+76>>2]=n*m+l*k+j*i;g[d+80>>2]=0.0;sa=h;return}function eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function fg(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];t=+g[e+4>>2];q=+g[a+8>>2];o=+g[e+8>>2];u=+g[a+4>>2];n=+g[a>>2];w=+g[e>>2];x=(t*q-o*u)*+g[b>>2]+ +g[b+4>>2]*(o*n-q*w)+(u*w-t*n)*+g[b+8>>2];v=(t*q-o*u)*+g[b+16>>2]+(o*n-q*w)*+g[b+20>>2]+(u*w-t*n)*+g[b+24>>2];t=(t*q-o*u)*+g[b+32>>2]+(o*n-q*w)*+g[b+36>>2]+(u*w-t*n)*+g[b+40>>2];g[a+16>>2]=x;g[a+20>>2]=v;g[a+24>>2]=t;g[a+28>>2]=0.0;w=+g[f+4>>2];o=+g[f+8>>2];s=+g[f>>2];r=+g[d>>2]*(w*-q-o*-u)+ +g[d+4>>2]*(o*-n-s*-q)+(s*-u-w*-n)*+g[d+8>>2];p=(w*-q-o*-u)*+g[d+16>>2]+(o*-n-s*-q)*+g[d+20>>2]+(s*-u-w*-n)*+g[d+24>>2];n=(w*-q-o*-u)*+g[d+32>>2]+(o*-n-s*-q)*+g[d+36>>2]+(s*-u-w*-n)*+g[d+40>>2];g[a+32>>2]=r;g[a+36>>2]=p;g[a+40>>2]=n;g[a+44>>2]=0.0;w=+g[i>>2]*x;u=+g[i+4>>2]*v;s=+g[i+8>>2]*t;g[a+48>>2]=w;g[a+52>>2]=u;g[a+56>>2]=s;g[a+60>>2]=0.0;q=+g[k>>2]*r;o=+g[k+4>>2]*p;m=+g[k+8>>2]*n;g[a+64>>2]=q;g[a+68>>2]=o;g[a+72>>2]=m;g[a+76>>2]=0.0;g[a+80>>2]=x*w+v*u+t*s+j+l+(r*q+p*o+n*m);return}function gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;v=sa;sa=sa+2048|0;if((e|0)<=0){sa=v;return}f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));o=0;do{if((Fa[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){p=b+(o<<4)|0;q=b+(o<<4)+4|0;r=b+(o<<4)+8|0;s=d+(o<<4)+12|0;t=d+(o<<4)|0;n=0;do{if(((Fa[c[(c[a>>2]|0)+96>>2]&127](a)|0)-n|0)<128){f=(Fa[c[(c[a>>2]|0)+96>>2]&127](a)|0)-n|0;if((f|0)>0)u=11;else{i=-3402823466385288598117041.0e14;f=-1}}else{f=128;u=11}if((u|0)==11){u=0;h=0;do{Za[c[(c[a>>2]|0)+108>>2]&127](a,h,v+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));k=+g[p>>2];l=+g[q>>2];m=+g[r>>2];h=-1;j=0;i=-3402823466385288598117041.0e14;do{w=k*+g[v+(j<<4)>>2]+l*+g[v+(j<<4)+4>>2]+m*+g[v+(j<<4)+8>>2];x=w>i;h=x?j:h;i=x?w:i;j=j+1|0}while((j|0)!=(f|0));f=h}if(i>+g[s>>2]){x=v+(f<<4)|0;c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];g[s>>2]=i}n=n+128|0}while((n|0)<(Fa[c[(c[a>>2]|0)+96>>2]&127](a)|0))}o=o+1|0}while((o|0)!=(e|0));sa=v;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){l=c[a+12>>2]|0;m=c[l+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){k=c[(c[m+28>>2]|0)+208>>2]|0;if((k|0)>-1)while(1){i=l+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(k|0))e=e+1|0;else{j=i;break}}else{i=c[(c[m+32>>2]|0)+208>>2]|0;while(1){j=l+(e<<2)|0;h=c[j>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((k|0)>-1)while(1){g=l+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((k|0)<(h|0))f=f+-1|0;else break}else{k=c[(c[m+32>>2]|0)+208>>2]|0;while(1){g=l+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((k|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){l=c[j>>2]|0;c[j>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=l;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))hg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0;t=sa;sa=sa+16|0;h=c[a+52>>2]|0;s=+g[a+28+(((h+2|0)%3|0)<<2)>>2];if((e|0)<=0){sa=t;return}f=0;while(1){c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+(h<<2)>>2]=c[a+28+(h<<2)>>2];h=b+(f<<4)|0;q=b+(f<<4)+4|0;r=b+(f<<4)+8|0;l=s*+g[h>>2]+ +g[t>>2];m=s*+g[q>>2]+ +g[t+4>>2];n=s*+g[r>>2]+ +g[t+8>>2];o=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[h>>2];j=+g[q>>2];k=+g[r>>2];if(i*(l-o*i)+j*(m-o*j)+k*(n-o*k)>-999999984306749440.0){g[d+(f<<4)>>2]=l-o*i;g[d+(f<<4)+4>>2]=m-o*j;g[d+(f<<4)+8>>2]=n-o*k;g[d+(f<<4)+12>>2]=0.0;p=i*(l-o*i)+j*(m-o*j)+k*(n-o*k);i=+g[h>>2];j=+g[q>>2];k=+g[r>>2]}else p=-999999984306749440.0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;u=c[a+52>>2]|0;g[t+(u<<2)>>2]=-+g[a+28+(u<<2)>>2];o=s*i+ +g[t>>2];n=s*j+ +g[t+4>>2];l=s*k+ +g[t+8>>2];m=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[h>>2];j=+g[q>>2];i=+g[r>>2];if(k*(o-m*k)+j*(n-m*j)+i*(l-m*i)>p){g[d+(f<<4)>>2]=o-m*k;g[d+(f<<4)+4>>2]=n-m*j;g[d+(f<<4)+8>>2]=l-m*i;g[d+(f<<4)+12>>2]=0.0}f=f+1|0;if((f|0)==(e|0))break;h=c[a+52>>2]|0}sa=t;return}function jg(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=sa;sa=sa+16|0;j=c*f+ +g[a+52>>2];i=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=j;g[h+56>>2]=i;g[h+60>>2]=0.0;i=+g[e>>2];j=+g[e+4>>2];d=+g[e+8>>2];b=+x(+(i*i+j*j+d*d));b=b*f>.7853981852531433?.7853981852531433/f:b;if(b<1.0000000474974513e-03)c=f*.5-b*f*f*f*.02083333395421505*b;else c=+A(+(b*.5*f))/b;m=d*c;n=j*c;o=i*c;q=+z(+(b*f*.5));Og(a,k);b=+g[k>>2];p=+g[k+12>>2];i=+g[k+8>>2];f=+g[k+4>>2];c=1.0/+x(+((q*p-o*b-n*f-m*i)*(q*p-o*b-n*f-m*i)+((m*p+q*i+o*f-n*b)*(m*p+q*i+o*f-n*b)+((q*b+o*p+n*i-m*f)*(q*b+o*p+n*i-m*f)+(m*b+(n*p+q*f)-o*i)*(m*b+(n*p+q*f)-o*i)))));d=(q*b+o*p+n*i-m*f)*c;j=(m*b+(n*p+q*f)-o*i)*c;l=(m*p+q*i+o*f-n*b)*c;c=(q*p-o*b-n*f-m*i)*c;i=d*(2.0/(c*c+(l*l+(d*d+j*j))));f=j*(2.0/(c*c+(l*l+(d*d+j*j))));b=l*(2.0/(c*c+(l*l+(d*d+j*j))));g[h>>2]=1.0-(j*f+l*b);g[h+4>>2]=d*f-c*b;g[h+8>>2]=d*b+c*f;g[h+12>>2]=0.0;g[h+16>>2]=d*f+c*b;g[h+20>>2]=1.0-(d*i+l*b);g[h+24>>2]=j*b-c*i;g[h+28>>2]=0.0;g[h+32>>2]=d*b-c*f;g[h+36>>2]=j*b+c*i;g[h+40>>2]=1.0-(d*i+j*f);g[h+44>>2]=0.0;sa=k;return}function kg(b,d){b=b|0;d=d|0;var e=0;e=ts()|0;_i(e,5,b);c[e>>2]=7460;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function lg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0;q=sa;sa=sa+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;o=c[a+96>>2]|0;if((o|0)>0){m=0;do{s=c[a+104>>2]|0;r=+g[s+(m<<4)>>2]*+g[a+12>>2];p=+g[s+(m<<4)+4>>2]*+g[a+16>>2];n=+g[s+(m<<4)+8>>2]*+g[a+20>>2];k=r*+g[b>>2]+p*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];l=r*+g[b+16>>2]+p*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];n=r*+g[b+32>>2]+p*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];p=k*+g[d>>2]+l*+g[d+4>>2]+n*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=k;g[h+4>>2]=l;g[h+8>>2]=n;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[i>>2]=k;g[i+4>>2]=l;g[i+8>>2]=n;g[i+12>>2]=0.0}m=m+1|0}while((m|0)!=(o|0));r=+g[f>>2];l=r;m=(g[j>>2]=r,c[j>>2]|0)}else{l=-3402823466385288598117041.0e14;m=-8388609}k=+g[e>>2];if(!(k>l)){sa=q;return}c[e>>2]=m;g[f>>2]=k;c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[q+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];sa=q;return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=sa;sa=sa+48|0;e=(c[a+48>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d+32+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g[d+32>>2]=1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+32>>2]=+g[d+16>>2]+ +g[a+12>>2];g[d+32>>2]=-1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[b>>2]=1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16+4>>2]+ +g[a+12>>2];g[b>>2]=-1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16+4>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+8>>2]+ +g[a+12>>2];g[d+32+8>>2]=-1.0;Za[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+8>>2]-+g[a+12>>2];sa=d;return}function ng(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=1.0/d*+g[b+72>>2]*j;h=1.0/d*j*+g[b+76>>2];d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function og(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;j=sa;sa=sa+48|0;m=+g[d>>2];n=+g[d+4>>2];l=+g[d+8>>2];o=m*+g[b+4>>2]+n*+g[b+20>>2]+l*+g[b+36>>2];p=m*+g[b+8>>2]+n*+g[b+24>>2]+l*+g[b+40>>2];g[j+32>>2]=+g[b>>2]*m+ +g[b+16>>2]*n+ +g[b+32>>2]*l;g[j+32+4>>2]=o;g[j+32+8>>2]=p;g[j+32+12>>2]=0.0;Za[c[(c[a>>2]|0)+64>>2]&127](j+16|0,a,j+32|0);p=+g[j+16>>2];o=+g[j+16+4>>2];l=+g[j+16+8>>2];n=p*+g[b>>2]+o*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=p*+g[b+32>>2]+o*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];q=c[(c[a>>2]|0)+64>>2]|0;o=-+g[j+32+4>>2];p=-+g[j+32+8>>2];g[j>>2]=-+g[j+32>>2];g[j+4>>2]=o;g[j+8>>2]=p;g[j+12>>2]=0.0;Za[q&127](j+16|0,a,j);p=+g[j+16>>2];o=+g[j+16+4>>2];h=+g[j+16+8>>2];k=p*+g[b>>2]+o*+g[b+4>>2]+h*+g[b+8>>2]+ +g[b+48>>2];i=p*+g[b+16>>2]+o*+g[b+20>>2]+h*+g[b+24>>2]+ +g[b+52>>2];h=p*+g[b+32>>2]+o*+g[b+36>>2]+h*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=n*+g[d>>2]+m*+g[d+4>>2]+l*+g[d+8>>2];h=k*+g[d>>2]+i*+g[d+4>>2]+h*+g[d+8>>2];g[f>>2]=h;i=+g[e>>2];if(!(i>h)){sa=j;return}g[e>>2]=h;g[f>>2]=i;sa=j;return}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=sa;sa=sa+16|0;j=c[a+12>>2]|0;k=c[j+(((d+b|0)/2|0)<<4)>>2]|0;l=c[j+(((d+b|0)/2|0)<<4)+4>>2]|0;m=c[j+(((d+b|0)/2|0)<<4)+8>>2]|0;f=d;e=b;while(1){while(1){i=j+(e<<4)|0;g=c[j+(e<<4)+4>>2]|0;if((g|0)>=(l|0)){if((g|0)!=(l|0))break;g=c[i>>2]|0;if((g|0)>=(k|0)){if((g|0)!=(k|0))break;if((c[j+(e<<4)+8>>2]|0)>=(m|0))break}}e=e+1|0}while(1){h=j+(f<<4)|0;g=c[j+(f<<4)+4>>2]|0;if((l|0)>=(g|0)){if((l|0)!=(g|0))break;g=c[h>>2]|0;if((k|0)>=(g|0)){if((k|0)!=(g|0))break;if((m|0)>=(c[j+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((e|0)<=(f|0)){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];j=(c[a+12>>2]|0)+(f<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];f=f+-1|0;e=e+1|0}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))pg(a,b,f);if((e|0)>=(d|0)){sa=n;return}pg(a,e,d);sa=n;return}function qg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;e=0.0;f=0.0;h=0.0;j=0;a:while(1){switch(j&2147483647|0){case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}default:{}}if((i|0)>0){d=c[a+36>>2]|0;b=0;do{if(+g[d+(b*36|0)+32>>2]+(e*+g[d+(b*36|0)+20>>2]+f*+g[d+(b*36|0)+24>>2]+h*+g[d+(b*36|0)+28>>2])>0.0){b=0;d=16;break a}b=b+1|0}while((b|0)<(i|0))}j=j+1|0;if(j>>>0>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function rg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=sa;sa=sa+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;p=c[a+8>>2]|0;if((p|0)>0){m=0;do{s=c[a+16>>2]|0;r=+g[s+(m<<4)>>2];o=+g[s+(m<<4)+4>>2];n=+g[s+(m<<4)+8>>2];k=r*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];l=r*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];n=r*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];o=k*+g[d>>2]+l*+g[d+4>>2]+n*+g[d+8>>2];if(o<+g[e>>2]){g[e>>2]=o;g[h>>2]=k;g[h+4>>2]=l;g[h+8>>2]=n;g[h+12>>2]=0.0}if(o>+g[f>>2]){g[f>>2]=o;g[i>>2]=k;g[i+4>>2]=l;g[i+8>>2]=n;g[i+12>>2]=0.0}m=m+1|0}while((m|0)!=(p|0));r=+g[f>>2];l=r;m=(g[j>>2]=r,c[j>>2]|0)}else{l=-3402823466385288598117041.0e14;m=-8388609}k=+g[e>>2];if(!(k>l)){sa=q;return}c[e>>2]=m;g[f>>2]=k;c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[q+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];sa=q;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}c[a+4>>2]=e;do{q=+g[d>>2];x=d+4|0;o=+g[x>>2];v=d+8|0;m=+g[v>>2];y=d+16|0;s=+g[y>>2];w=d+20|0;k=+g[w>>2];e=d+24|0;i=+g[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+g[u>>2];p=+g[b>>2];p=t>2]=p;t=+g[u+16>>2];r=+g[b+16>>2];r=t>r?t:r;g[y>>2]=r;t=+g[u+4>>2];n=+g[b+4>>2];n=t>2]=n;t=+g[u+20>>2];j=+g[b+20>>2];j=t>j?t:j;g[w>>2]=j;t=+g[u+8>>2];l=+g[b+8>>2];l=t>2]=l;t=+g[u+24>>2];h=+g[b+24>>2];h=t>h?t:h;g[e>>2]=h;if(!(s!=r|(q!=p|o!=n|m!=l))?!(k!=j|i!=h):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14)return d|0;y=c[a>>2]|0;return y|0}function tg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0;m=sa;sa=sa+16|0;if((f|0)>-3){c[7182]=(c[7182]|0)+1;a=xb((f+3<<4|3)+16|0)|0;if(!a)l=0;else{c[(a+4+15&-16)+-4>>2]=a;l=a+4+15&-16}a=0;do{i=l+(a<<4)|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];a=a+1|0}while((a|0)!=(f+3|0));h=0;i=l;while(1){if(!h)j=0.0;else{a=h;j=0.0;k=.5;while(1){j=(a&1|0)==0?j:j+k;a=1?a>>1:a;if(!a)break;else k=k*.5}}k=j*2.0+-1.0;o=(+(h<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);n=+x(+(1.0-k*k));j=+A(+o)*n;g[i>>2]=+z(+o)*n;g[i+4>>2]=j;g[i+8>>2]=k;g[i+12>>2]=0.0;h=h+1|0;if((h|0)==(f+3|0))break;else i=i+16|0}a=0;do{p=l+(a<<4)|0;h=l+(a<<4)+4|0;i=l+(a<<4)+8|0;n=+g[h>>2]*+g[e+4>>2]+ +g[d+4>>2];o=+g[i>>2]*+g[e+8>>2]+ +g[d+8>>2];g[p>>2]=+g[p>>2]*+g[e>>2]+ +g[d>>2];g[h>>2]=n;g[i>>2]=o;g[l+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0));i=l;h=l}else{i=0;h=0}a=Jc(b,i,f+3|0,1)|0;if((i|0)==0|(h|0)==0){sa=m;return a|0}c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);sa=m;return a|0}function ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=sa;sa=sa+32|0;j=(a[b+28>>0]|0)!=0;k=j?e:d;j=j?d:e;h=c[k+4>>2]|0;i=c[h+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(i|0)){if((c[b+16>>2]|0)<(i|0)){if(!i){d=0;f=g}else{c[7182]=(c[7182]|0)+1;d=xb((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+12>>2]|0}if((f|0)>0){e=0;do{c[d+(e<<2)>>2]=c[(c[b+20>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+20>>2]|0;if(e|0){if(a[b+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=i;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0))}c[b+12>>2]=i;if((i|0)<=0){sa=l;return}d=0;do{if(!(c[h+64>>2]|0)){e=c[(c[h+24>>2]|0)+(d*80|0)+64>>2]|0;f=c[k+8>>2]|0;g=c[k+12>>2]|0;c[l>>2]=k;c[l+4>>2]=e;c[l+8>>2]=f;c[l+12>>2]=g;c[l+16>>2]=-1;c[l+20>>2]=d;g=c[b+4>>2]|0;g=Ka[c[(c[g>>2]|0)+8>>2]&31](g,l,j,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(d<<2)>>2]=g}else c[(c[b+20>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0));sa=l;return}function vg(a,b,e){a=a|0;b=b|0;e=e|0;ih(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];return 16760}function wg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+32>>2]|0;if(!e)f=0;else f=c[b+40>>2]|0;i=c[b+52>>2]|0;if(!i)g=0;else g=c[b+60>>2]|0;d=c[b+72>>2]|0;if(!d)h=0;else h=c[b+80>>2]|0;j=c[b+8>>2]|0;+Ea[c[(c[j>>2]|0)+12>>2]&3](j,f,e,g,i,h,d,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function xg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[7182]=(c[7182]|0)+1;d=xb(39)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}h=g;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;if((c[b+872>>2]|0)>0){i=c[c[b+880>>2]>>2]|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2]}else{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}e=c[b+872>>2]|0;if((e|0)!=(c[b+876>>2]|0)){i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}i=(e|0)==0?1:e<<1;if((e|0)>=(i|0)){i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}if(!i)d=0;else{c[7182]=(c[7182]|0)+1;d=xb((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+872>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);e=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=d;c[b+876>>2]=i;i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}function yg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){Om(b,(e|0)==0?1:e<<1);e=c[b+4>>2]|0}o=c[b+12>>2]|0;j=o+(e*36|0)+16|0;a[j>>0]=1;k=o+(e*36|0)+12|0;c[k>>2]=0;l=o+(e*36|0)+4|0;c[l>>2]=0;m=o+(e*36|0)+8|0;c[m>>2]=0;p=c[d+4>>2]|0;if((p|0)<=0){c[l>>2]=p;p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[7182]=(c[7182]|0)+1;f=xb((p<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}h=c[l>>2]|0;i=c[k>>2]|0;if((h|0)<=0){if(i|0)n=10}else{f=0;do{c[g+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));n=10}if((n|0)==10?a[j>>0]|0:0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}a[j>>0]=1;c[k>>2]=g;c[m>>2]=p;mk(g|0,0,p<<2|0)|0;c[l>>2]=p;g=c[k>>2]|0;h=c[d+12>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(p|0));p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function zg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0;ab[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);n=c[h>>2]|0;k=c[h+4>>2]|0;b=c[h+8>>2]|0;l=c[f>>2]|0;o=c[f+4>>2]|0;i=c[f+8>>2]|0;m=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(m>0.0)n=(g[j>>2]=m+(c[j>>2]=n,+g[j>>2]),c[j>>2]|0);else l=(g[j>>2]=m+(c[j>>2]=l,+g[j>>2]),c[j>>2]|0);if(p>0.0){d=o;k=(g[j>>2]=p+(c[j>>2]=k,+g[j>>2]),c[j>>2]|0)}else d=(g[j>>2]=p+(c[j>>2]=o,+g[j>>2]),c[j>>2]|0);if(q>0.0)b=(g[j>>2]=q+(c[j>>2]=b,+g[j>>2]),c[j>>2]|0);else i=(g[j>>2]=q+(c[j>>2]=i,+g[j>>2]),c[j>>2]|0);m=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+x(+(m*m+p*p+q*q));q=q*+va[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=l;c[f+4>>2]=d;c[f+8>>2]=i;g[f+12>>2]=0.0;c[h>>2]=n;c[h+4>>2]=k;c[h+8>>2]=b;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function Ag(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){f=c[b+720>>2]|0;e=0;do{g[f+(e*104|0)+88>>2]=0.0;e=e+1|0}while((e|0)!=(j|0))}f=c[b+752>>2]|0;if((f|0)>0){i=c[b+760>>2]|0;e=0;do{m=c[i+(e*44|0)+8>>2]|0;l=c[i+(e*44|0)+12>>2]|0;k=c[i+(e*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];h=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-h;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;h=+g[k+16>>2]-h;h=+x(+((n*q-r*o)*(n*q-r*o)+((r*h-p*q)*(r*h-p*q)+(p*o-n*h)*(p*o-n*h))));g[m+88>>2]=h+ +g[m+88>>2];g[l+88>>2]=h+ +g[l+88>>2];g[k+88>>2]=h+ +g[k+88>>2];e=e+1|0}while((e|0)!=(f|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}f=c[b+720>>2]|0;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}f=c[b+720>>2]|0;e=0;h=0.0;do{r=+g[f+(e*104|0)+88>>2];h=h+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));h=1.0/h*d;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=+g[m>>2]/h;e=e+1|0}while((e|0)!=(j|0));m=b+924|0;a[m>>0]=1;return}function Bg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;l=+g[d>>2];if(+g[b>>2]<=l){j=+g[d+4>>2];if((((+g[b+4>>2]<=j?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{h=d+4|0;j=+g[d+4>>2]}g[d>>2]=l-f;n=j-f;g[h>>2]=n;j=+g[d+8>>2]-f;g[d+8>>2]=j;q=+g[d+16>>2]+f;g[d+16>>2]=q;o=+g[d+20>>2]+f;g[d+20>>2]=o;m=+g[d+24>>2]+f;g[d+24>>2]=m;p=+g[e>>2];g[(p>0.0?d+16|0:d)>>2]=(p>0.0?q:l-f)+p;l=+g[e+4>>2];g[(l>0.0?d+20|0:h)>>2]=(l>0.0?o:n)+l;l=+g[e+8>>2];g[(l>0.0?d+24|0:d+8|0)>>2]=(l>0.0?m:j)+l;h=sg(a,b)|0;a:do if(h){k=c[a+8>>2]|0;if((k|0)<=-1){h=c[a>>2]|0;break}if(k){e=0;while(1){i=c[h+32>>2]|0;e=e+1|0;if(!i)break a;if((e|0)>=(k|0)){h=i;break}else h=i}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];ue(a,h,b);d=1;return d|0}function Cg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+g[d+344>>2];if(h!=0.0){l=1.0/h*+g[b+252>>2];k=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=l;g[d+372>>2]=k;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1)if((c[d+216>>2]&-2|0)==4)e=e&3;else{c[d+216>>2]=2;e=e&3}else{f=c[b+232>>2]|0;if((f|0)==(c[b+236>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+232>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);f=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]&3}else e=e&3;c[(c[b+240>>2]|0)+(f<<2)>>2]=d;c[b+232>>2]=f+1}j=(e|0)!=0;ab[c[(c[b>>2]|0)+36>>2]&127](b,d,j?2:1,j?-3:-1);return}function Dg(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0;h=sa;sa=sa+240|0;Wp(h+224|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],d);Fj(b,h+208|0,h+192|0);Wp(h+160|0,+g[h+208>>2],+g[h+208+4>>2],+g[h+208+8>>2],100.0);j=+g[h+224>>2];i=+g[h+224+4>>2];d=+g[h+224+8>>2];qp(h+176|0,j,i,d,+g[h+160>>2],+g[h+160+4>>2],+g[h+160+8>>2]);Wp(h+128|0,+g[h+208>>2],+g[h+208+4>>2],+g[h+208+8>>2],100.0);sp(h+144|0,j,i,d,+g[h+128>>2],+g[h+128+4>>2],+g[h+128+8>>2]);Wp(h+96|0,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2],100.0);qp(h+112|0,j,i,d,+g[h+96>>2],+g[h+96+4>>2],+g[h+96+8>>2]);Wp(h+64|0,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2],100.0);sp(h+80|0,j,i,d,+g[h+64>>2],+g[h+64+4>>2],+g[h+64+8>>2]);b=c[(c[a>>2]|0)+8>>2]|0;Qv(h+48|0,e,+g[h+176>>2],+g[h+176+4>>2],+g[h+176+8>>2]);Qv(h+32|0,e,+g[h+144>>2],+g[h+144+4>>2],+g[h+144+8>>2]);ab[b&127](a,h+48|0,h+32|0,f);b=c[(c[a>>2]|0)+8>>2]|0;Qv(h+16|0,e,+g[h+112>>2],+g[h+112+4>>2],+g[h+112+8>>2]);Qv(h,e,+g[h+80>>2],+g[h+80+4>>2],+g[h+80+8>>2]);ab[b&127](a,h+16|0,h,f);sa=h;return}function Eg(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0;a=sa;sa=sa+80|0;n=+g[h+52>>2]-+g[f+52>>2];m=+g[h+56>>2]-+g[f+56>>2];g[a+56>>2]=+g[h+48>>2]-+g[f+48>>2];g[a+56+4>>2]=n;g[a+56+8>>2]=m;g[a+56+12>>2]=0.0;if(Ob(d,f,e,h,a+56|0,a,1)|0){c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[k>>2]=c[a+20>>2];c[k+4>>2]=c[a+20+4>>2];c[k+8>>2]=c[a+20+8>>2];c[k+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];k=1;sa=a;return k|0}if(!(Rc(d,f,e,h,a+56|0,a)|0)){k=0;sa=a;return k|0}c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[k>>2]=c[a+20>>2];c[k+4>>2]=c[a+20+4>>2];c[k+8>>2]=c[a+20+8>>2];c[k+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];k=0;sa=a;return k|0}function Fg(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[7784+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){e=de(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!e){h=0;return h|0}a[e+52>>0]=i;c[e+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=e;i=c[j>>2]|0;if(!i)c[j+4>>2]=e;else{a[i+53>>0]=2;c[i+36>>2]=e;a[e+54>>0]=1;c[e+40>>2]=i}c[j>>2]=e;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[7796+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(Fg(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(Fg(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0;o=sa;sa=sa+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){m=1.0;l=0.0;h=0.0}else{p=1.0/+x(+(e*e+h*h+f*f));m=e*p;l=h*p;h=f*p}if((Fa[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){sa=o;return}k=0;f=-999999984306749440.0;while(1){if(((Fa[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0)<128){d=(Fa[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0;if((d|0)>0)n=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;n=8}if((n|0)==8){n=0;i=0;do{Za[c[(c[b>>2]|0)+108>>2]&127](b,i,o+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));i=-1;j=0;e=-3402823466385288598117041.0e14;do{p=m*+g[o+(j<<4)>>2]+l*+g[o+(j<<4)+4>>2]+h*+g[o+(j<<4)+8>>2];q=p>e;i=q?j:i;e=q?p:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){q=o+(d<<4)|0;c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2]}else e=f;k=k+128|0;if((k|0)>=(Fa[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}sa=o;return}function Hg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=c[a+68+(d<<2)>>2]|0;j=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(j&65535))return;k=c[a+60>>2]|0;m=k+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;h=i+((f&65535)<<2)+-4|0;l=i+((f&65535)<<2)|0;while(1){i=e[l+-2>>1]|0;if(!(j&1)){f=e[l+2>>1]|0;if(((((e[k+(f<<6)+54+((1<>1]|0)>=(e[k+(i<<6)+48+((1<>1]|0)?(e[k+(i<<6)+54+((1<>1]|0)>=(e[k+(f<<6)+48+((1<>1]|0):0)?(e[k+(f<<6)+54+((1<<(1<>1]|0)>=(e[k+(i<<6)+48+((1<<(1<>1]|0):0)?(e[k+(i<<6)+54+((1<<(1<>1]|0)>=(e[k+(f<<6)+48+((1<<(1<>1]|0):0)?(p=c[a+92>>2]|0,n=k+(f<<6)|0,o=k+(i<<6)|0,Ka[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0,p=c[a+96>>2]|0,p|0):0)Ka[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0;f=k+(i<<6)+48+(d<<1)|0}else f=k+(i<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;f=e[l>>1]|e[l+2>>1]<<16;j=e[h>>1]|e[h+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[h>>1]=f;b[h+2>>1]=f>>>16;f=l+-4|0;h=h+-4|0;j=b[h>>1]|0;if((e[f>>1]|0)>=(j&65535))break;l=f;k=c[a+60>>2]|0}return}function Ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+g[d+344>>2];if(i!=0.0){n=1.0/i*+g[b+252>>2];m=1.0/i*+g[b+256>>2];g[d+364>>2]=1.0/i*+g[b+248>>2];g[d+368>>2]=n;g[d+372>>2]=m;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=(h|0)==0?1:h<<1,(h|0)<(l|0)):0){if(!l)k=0;else{c[7182]=(c[7182]|0)+1;h=xb((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+232>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+240>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+240>>2]|0;if(j){if(a[b+244>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=k;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}ab[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function Jg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+68+(d<<2)>>2]|0;l=c[a+60>>2]|0;m=e[g+((f&65535)<<2)+2>>1]|0;h=b[g+((f&65535)<<2)+6>>1]|0;if(!(h<<16>>16))return;k=g+((f&65535)<<2)|0;while(1){j=k;k=k+4|0;g=b[k>>1]|0;if((e[j>>1]|0)<(g&65535)){f=14;break}i=c[a+60>>2]|0;f=h&65535;if(!(g&1)){if(((((e[l+(m<<6)+54+((1<>1]|0)>=(e[i+(f<<6)+48+((1<>1]|0)?(e[i+(f<<6)+54+((1<>1]|0)>=(e[l+(m<<6)+48+((1<>1]|0):0)?(e[l+(m<<6)+54+((1<<(1<>1]|0)>=(e[i+(f<<6)+48+((1<<(1<>1]|0):0)?(e[i+(f<<6)+54+((1<<(1<>1]|0)>=(e[l+(m<<6)+48+((1<<(1<>1]|0):0)?(o=c[a+92>>2]|0,n=i+((e[j+2>>1]|0)<<6)|0,Ja[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0,o=c[a+96>>2]|0,o|0):0)Ja[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0;f=i+(f<<6)+48+(d<<1)|0}else f=i+(f<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[l+(m<<6)+54+(d<<1)>>1]=(b[l+(m<<6)+54+(d<<1)>>1]|0)+1<<16>>16;h=e[j>>1]|e[j+2>>1]<<16;i=e[k>>1]|e[k+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[k>>1]=h;b[k+2>>1]=h>>>16;h=b[j+10>>1]|0;if(!(h<<16>>16)){f=14;break}}if((f|0)==14)return}function Kg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;i=b[h+((f&65535)<<2)+6>>1]|0;if(!(i<<16>>16))return;m=(c[a+60>>2]|0)+((e[h+((f&65535)<<2)+2>>1]|0)<<6)+48+(d<<1)|0;l=h+((f&65535)<<2)|0;while(1){k=l;l=l+4|0;f=b[l>>1]|0;if((e[k>>1]|0)<(f&65535)){f=14;break}j=c[a+60>>2]|0;h=i&65535;if(!(f&1))f=j+(h<<6)+48+(d<<1)|0;else{f=e[k+2>>1]|0;if(((((e[j+(f<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0)?(e[j+(h<<6)+54+((1<>1]|0)>=(e[j+(f<<6)+48+((1<>1]|0):0)?(e[j+(f<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[j+(f<<6)+48+((1<<(1<>1]|0):0)?(n=c[a+92>>2]|0,Ka[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0,n=c[a+96>>2]|0,n|0):0)Ka[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0;f=j+(h<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[m>>1]=(b[m>>1]|0)+1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;j=e[l>>1]|e[l+2>>1]<<16;b[k>>1]=j;b[k+2>>1]=j>>>16;b[l>>1]=i;b[l+2>>1]=i>>>16;i=b[k+10>>1]|0;if(!(i<<16>>16)){f=14;break}}if((f|0)==14)return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*.5;l=(+g[a+36>>2]-+g[a+20>>2])*.5;i=(+g[a+40>>2]-+g[a+24>>2])*.5;n=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +va[c[(c[a>>2]|0)+48>>2]&15](a);C=(+g[a+32>>2]+ +g[a+16>>2])*.5;A=(+g[a+36>>2]+ +g[a+20>>2])*.5;y=(+g[a+40>>2]+ +g[a+24>>2])*.5;G=+g[b>>2];x=+w(+G);F=+g[b+4>>2];v=+w(+F);t=+g[b+8>>2];u=+w(+t);E=+g[b+16>>2];s=+w(+E);D=+g[b+20>>2];r=+w(+D);p=+g[b+24>>2];q=+w(+p);B=+g[b+32>>2];m=+w(+B);z=+g[b+36>>2];j=+w(+z);f=+g[b+40>>2];h=+w(+f);t=C*G+A*F+y*t+ +g[b+48>>2];p=C*E+A*D+y*p+ +g[b+52>>2];f=C*B+A*z+y*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*x+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*x+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+g[a+48>>2];A=+g[a+32>>2];H=+g[a+52>>2];y=+g[a+36>>2];F=+g[a+56>>2];v=+g[a+40>>2];G=(c[a+16>>2]|0)==0;m=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=+va[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-A)*.5)+m;k=(G?0.0:(H-y)*.5)+k;i=(G?0.0:(F-v)*.5)+i;E=+g[b>>2];u=+w(+E);D=+g[b+4>>2];t=+w(+D);r=+g[b+8>>2];s=+w(+r);C=+g[b+16>>2];q=+w(+C);B=+g[b+20>>2];p=+w(+B);n=+g[b+24>>2];o=+w(+n);z=+g[b+32>>2];l=+w(+z);x=+g[b+36>>2];j=+w(+x);f=+g[b+40>>2];h=+w(+f);A=G?0.0:(I+A)*.5;y=G?0.0:(H+y)*.5;v=G?0.0:(F+v)*.5;r=A*E+y*D+v*r+ +g[b+48>>2];n=A*C+y*B+v*n+ +g[b+52>>2];f=A*z+y*x+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function Ng(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;l=e[h+((f&65535)<<2)+2>>1]|0;i=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(i&65535))return;g=h+((f&65535)<<2)+-4|0;j=h+((f&65535)<<2)|0;h=k;while(1){f=e[j+-2>>1]|0;if(!(i&1))f=h+(f<<6)+48+(d<<1)|0;else{if(((((e[k+(l<<6)+54+((1<>1]|0)>=(e[h+(f<<6)+48+((1<>1]|0)?(e[h+(f<<6)+54+((1<>1]|0)>=(e[k+(l<<6)+48+((1<>1]|0):0)?(e[k+(l<<6)+54+((1<<(1<>1]|0)>=(e[h+(f<<6)+48+((1<<(1<>1]|0):0)?(e[h+(f<<6)+54+((1<<(1<>1]|0)>=(e[k+(l<<6)+48+((1<<(1<>1]|0):0)?(n=c[a+92>>2]|0,m=h+(f<<6)|0,Ja[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0,n=c[a+96>>2]|0,n|0):0)Ja[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0;f=h+(f<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[k+(l<<6)+48+(d<<1)>>1]=(b[k+(l<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;f=e[j>>1]|e[j+2>>1]<<16;i=e[g>>1]|e[g+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[g>>1]=f;b[g+2>>1]=f>>>16;f=j+-4|0;g=g+-4|0;i=b[g>>1]|0;if((e[f>>1]|0)>=(i&65535))break;j=f;h=c[a+60>>2]|0}return}function Og(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0;f=sa;sa=sa+16|0;d=+g[(JI(a)|0)>>2];e=+g[(oI(a+16|0)|0)>>2];c=+g[(nI(a+32|0)|0)>>2];if(d+e+c>0.0){e=+wI(d+e+c+1.0);g[f+12>>2]=e*.5;d=+g[(oI(a+32|0)|0)>>2];g[f>>2]=(d-+g[(nI(a+16|0)|0)>>2])*(.5/e);d=+g[(nI(a)|0)>>2];g[f+4>>2]=(d-+g[(JI(a+32|0)|0)>>2])*(.5/e);d=+g[(JI(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(oI(a)|0)>>2])*(.5/e);i=f+4|0;h=f+8|0;a=f+12|0;j=f;tr(b,j,i,h,a);sa=f;return}else{h=d>2];k=JI(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[k+((((h+1|0)>>>0)%3|0)<<2)>>2];j=JI(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+wI(e-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[k+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[k+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);h=f+4|0;i=f+8|0;j=f+12|0;a=f;tr(b,a,h,i,j);sa=f;return}}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);g=c[b+28>>2]|0;d=c[g+488>>2]|0;b:do if((d|0)>0){f=c[g+496>>2]|0;e=0;while(1){a=f+(e<<2)|0;if((c[a>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[a>>2]=c[f+(d+-1<<2)>>2];c[(c[g+496>>2]|0)+(d+-1<<2)>>2]=b;c[g+488>>2]=d+-1;d=d+-1|0}}while(0);c[g+256>>2]=(d|0)>0&1;g=c[b+32>>2]|0;d=c[g+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}f=c[g+496>>2]|0;e=0;while(1){a=f+(e<<2)|0;if((c[a>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}c[a>>2]=c[f+(d+-1<<2)>>2];c[(c[g+496>>2]|0)+(d+-1<<2)>>2]=b;c[g+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=Fa[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;mg(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,Pa[c[c[e>>2]>>2]&511](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);e=b+52|0}else e=b+52|0;c[7182]=(c[7182]|0)+1;d=xb(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=282;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=10888;c[e>>2]=d;pc(d,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function Rg(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));e=+w(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));e=+w(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));e=+w(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+48>>2]|0)*f;g[b+880>>2]=+w(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+48>>2]|0)*e;g[b+944>>2]=+w(+e)/f}if(!(a[b+1314>>0]|0)){zj(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+48>>2]|0)*e;g[b+1008>>2]=+w(+e)/f;zj(b,d);return}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=sa;sa=sa+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=9816;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;j=+g[d>>2];i=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=j+i*0.0+h*0.0;g[e+32+92>>2]=j*0.0+i+h*0.0;g[e+32+96>>2]=j*0.0+i*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;ab[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];sa=e;return}function Tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;p=sa;sa=sa+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){o=1.0;n=0.0;m=0.0}else{m=1.0/+x(+(e*e+f*f+h*h));o=e*m;n=f*m;m=h*m}d=c[b+52>>2]|0;l=+g[b+28+(((d+2|0)%3|0)<<2)>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+(d<<2)>>2]=c[b+28+(d<<2)>>2];j=o*l;k=n*l;l=m*l;e=j+ +g[p>>2];f=k+ +g[p+4>>2];i=l+ +g[p+8>>2];h=+va[c[(c[b>>2]|0)+48>>2]&15](b);e=e-o*h;f=f-n*h;h=i-m*h;i=m*h+(o*e+n*f);if(i>-999999984306749440.0){g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0}else i=-999999984306749440.0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;d=c[b+52>>2]|0;g[p+(d<<2)>>2]=-+g[b+28+(d<<2)>>2];e=j+ +g[p>>2];f=k+ +g[p+4>>2];l=l+ +g[p+8>>2];h=+va[c[(c[b>>2]|0)+48>>2]&15](b);e=e-o*h;f=f-n*h;h=l-m*h;if(!(m*h+(o*e+n*f)>i)){sa=p;return}g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;sa=p;return}function Ug(b){b=b|0;var d=0,e=0;if(!b)return;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;do if(d){if(!(a[b+16>>0]|0)){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14;break}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(d){if(!(a[b+36>>0]|0)){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=b+8|0;break}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+12>>2]|0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;if(!d)d=b+8|0;else{if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+12>>2]=0;d=b+8|0}}else{d=b+8|0;e=14}}else{a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14}while(0);if((e|0)==14){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[d>>2]=0;Sx(b);return}function Vg(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;var m=0;m=sa;sa=sa+128|0;c[m+80>>2]=c[a+4>>2];c[m+80+4>>2]=c[a+20>>2];c[m+80+8>>2]=c[a+36>>2];g[m+80+12>>2]=0.0;c[m+80+16>>2]=c[a+8>>2];c[m+80+20>>2]=c[a+24>>2];c[m+80+24>>2]=c[a+40>>2];g[m+80+28>>2]=0.0;c[m+80+32>>2]=c[a+12>>2];c[m+80+36>>2]=c[a+28>>2];c[m+80+40>>2]=c[a+44>>2];g[m+80+44>>2]=0.0;c[m+32>>2]=c[b+4>>2];c[m+32+4>>2]=c[b+20>>2];c[m+32+8>>2]=c[b+36>>2];g[m+32+12>>2]=0.0;c[m+32+16>>2]=c[b+8>>2];c[m+32+20>>2]=c[b+24>>2];c[m+32+24>>2]=c[b+40>>2];g[m+32+28>>2]=0.0;c[m+32+32>>2]=c[b+12>>2];c[m+32+36>>2]=c[b+28>>2];c[m+32+40>>2]=c[b+44>>2];g[m+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[m+16>>2]=f-+g[a+52>>2];g[m+16+4>>2]=h;g[m+16+8>>2]=i;g[m+16+12>>2]=0.0;i=k-+g[b+56>>2];l=l-+g[b+60>>2];g[m>>2]=j-+g[b+52>>2];g[m+4>>2]=i;g[m+8>>2]=l;g[m+12>>2]=0.0;fg(d,m+80|0,m+32|0,m+16|0,m,e,a+396|0,+g[a+344>>2],b+396|0,+g[b+344>>2]);sa=m;return}function Wg(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0.0,m=0.0;j=sa;sa=sa+48|0;l=1.0/+x(+(b*b+d*d+e*e));g[f>>2]=l*b;g[f+4>>2]=l*d;g[f+8>>2]=l*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(1?k>>1:k)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;Za[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(1?k>>1:k)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;l=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;m=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=l;g[j+16+8>>2]=m;g[j+16+12>>2]=0.0;Za[h&127](j+32|0,i,j+16|0);m=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(m*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);l=+g[j+8>>2]-(m*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(m*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=l;g[f+28>>2]=0.0;sa=j;return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+80>>2]|0)){h=1.0;return +h}if(c[i+204>>2]&4|0){h=1.0;return +h}if(d){e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];h=+g[b+16>>2];e=+g[i+4>>2]*k+ +g[i+8>>2]*j+ +g[i+12>>2]*h;f=k*+g[i+20>>2]+j*+g[i+24>>2]+h*+g[i+28>>2];h=k*+g[i+36>>2]+j*+g[i+40>>2]+h*+g[i+44>>2]}if(e*+g[a+84>>2]+f*+g[a+88>>2]+h*+g[a+92>>2]<+g[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=i;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+44>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Yg(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;q=(j-f)*(n-h)-(k-h)*(m-f);r=(k-h)*(l-e)-(i-e)*(n-h);s=(i-e)*(m-f)-(j-f)*(l-e);if(+w(+(s*d+(q*b+r*c)))<1.1920928955078125e-07){s=-1.0;return +s}t=+g[a>>2];v=+g[a+4>>2];u=+g[a+8>>2];p=-(q*t+r*v+s*u-(s*h+(q*e+r*f)))/(s*d+(q*b+r*c));if(((p>1.1920928955078125e-06&p-1.1920928955078125e-06:0)?s*((m-(v+p*c))*(i-(t+p*b))-(j-(v+p*c))*(l-(t+p*b)))+(q*((j-(v+p*c))*(n-(u+p*d))-(k-(u+p*d))*(m-(v+p*c)))+r*((k-(u+p*d))*(l-(t+p*b))-(n-(u+p*d))*(i-(t+p*b))))>-1.1920928955078125e-06:0)?s*((f-(v+p*c))*(l-(t+p*b))-(m-(v+p*c))*(e-(t+p*b)))+(q*((m-(v+p*c))*(h-(u+p*d))-(n-(u+p*d))*(f-(v+p*c)))+r*((n-(u+p*d))*(e-(t+p*b))-(h-(u+p*d))*(l-(t+p*b))))>-1.1920928955078125e-06:0){v=p;return +v}v=-1.0;return +v}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[7182]=(c[7182]|0)+1,e=xb((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;f=c[b+88>>2]|0;if((f|0)>0){e=0;do{i=g+(e<<4)|0;h=(c[b+96>>2]|0)+(e<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[7182]=(c[7182]|0)+1,f=xb((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=23;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=23}if((i|0)==23){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function _g(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;e=0;do{d=c[a+28>>2]|0;if((d|0)>0){b=0;do{j=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;g=c[a+16>>2]|0;Rf(g+((c[h+(j*152|0)+144>>2]|0)*244|0)|0,g+((c[h+(j*152|0)+148>>2]|0)*244|0)|0,h+(j*152|0)|0);b=b+1|0}while((b|0)!=(d|0));b=c[i+20>>2]|0}e=e+1|0}while((e|0)<(b|0));return}else{if((b|0)<=0)return;e=0;do{d=c[a+28>>2]|0;if((d|0)>0){b=0;do{j=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;g=c[a+16>>2]|0;Rf(g+((c[h+(j*152|0)+144>>2]|0)*244|0)|0,g+((c[h+(j*152|0)+148>>2]|0)*244|0)|0,h+(j*152|0)|0);b=b+1|0}while((b|0)!=(d|0));b=c[i+20>>2]|0}e=e+1|0}while((e|0)<(b|0));return}}function $g(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[7182]=(c[7182]|0)+1,g=xb((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=24;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=24}if((j|0)==24){if(a[d+160>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[7182]=(c[7182]|0)+1,f=xb((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=11;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=11}if((j|0)==11){if(a[d+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function ah(a,b,d){a=a|0;b=b|0;d=d|0;ih(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 17046}function bh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[7182]=(c[7182]|0)+1;h=xb(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;d=c[b+4>>2]|0;c[j+24>>2]=d;if((d|0)!=(c[b+8>>2]|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=(d|0)==0?1:d<<1;if((d|0)>=(i|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)h=0;else{c[7182]=(c[7182]|0)+1;h=xb((i<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[b+4>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i;i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+va[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+72>>2];t=+g[a+56>>2];r=+g[a+76>>2];q=+g[a+60>>2];n=+g[a+80>>2];m=+g[a+64>>2];F=+g[b>>2];z=+w(+F);E=+g[b+4>>2];y=+w(+E);k=+g[b+8>>2];l=+w(+k);D=+g[b+16>>2];x=+w(+D);C=+g[b+20>>2];v=+w(+C);i=+g[b+24>>2];j=+w(+i);B=+g[b+32>>2];s=+w(+B);A=+g[b+36>>2];p=+w(+A);f=+g[b+40>>2];h=+w(+f);k=(u+t)*.5*F+(r+q)*.5*E+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*D+(r+q)*.5*C+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*B+(r+q)*.5*A+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*z+(o+(r-q)*.5)*y+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*x+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)Bk(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;ti(b,d+16|0,e);return}function eh(a){a=a|0;var b=0,d=0,e=0,f=0;d=sa;sa=sa+16|0;Ki(18619);Pa[c[(c[a>>2]|0)+8>>2]&511](a);Pa[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;Ki(18653);if(b|0){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=Fa[c[(c[e>>2]|0)+36>>2]&127](e)|0;ab[f&127](b,e,a+28|0,c[a+24>>2]|0)}b=c[3084]|0;f=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=f;do if(!f){if(c[b+4>>2]|0){la(d|0,0)|0;a=c[7181]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[d+4>>2]|0)-(c[a+4>>2]|0)+(((c[d>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;a=c[3084]|0;if(c[b+16>>2]|0)break}else a=b;a=c[a+20>>2]|0;c[3084]=a}else a=b;while(0);b=a+16|0;f=(c[b>>2]|0)+-1|0;c[b>>2]=f;if(f|0){sa=d;return}do if(c[a+4>>2]|0){la(d|0,0)|0;e=c[7181]|0;f=a+8|0;g[f>>2]=+g[f>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b>>2]|0)){a=c[3084]|0;break}else{sa=d;return}}while(0);c[3084]=c[a+20>>2];sa=d;return}function fh(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=11748;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=((d|0)!=0^1)&1;g[b+140>>2]=0.0;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+168>>2]=0;c[b+172>>2]=0;g[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[7182]=(c[7182]|0)+1;d=xb(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Th(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){Te(b);return}c[7182]=(c[7182]|0)+1;d=xb(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=f+(d*12|0)|0;h=(c[b+16>>2]|0)+(d*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Te(b);return}function hh(a,b,e){a=a|0;b=b|0;e=e|0;ih(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 17002}function ih(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=Ha[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=Ha[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=Ha[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=Ha[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Va[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;g=c[f+488>>2]|0;if((g|0)>0){e=c[f+496>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)>1){f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0))}}f=c[a+32>>2]|0;g=c[f+488>>2]|0;if((g|0)<=0)return 16939;e=c[f+496>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)<=1)return 16939;f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 16939}function jh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0;f=sa;sa=sa+16|0;x=c[a+52>>2]|0;m=+g[a+28+(((x+2|0)%3|0)<<2)>>2];g[f>>2]=m;g[f+4>>2]=m;g[f+8>>2]=m;g[f+12>>2]=0.0;g[f+(x<<2)>>2]=m+ +g[a+28+(x<<2)>>2];m=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=+va[c[(c[a>>2]|0)+48>>2]&15](a);m=m+ +g[f>>2];g[f>>2]=m;k=k+ +g[f+4>>2];g[f+4>>2]=k;i=i+ +g[f+8>>2];v=+w(+(+g[b>>2]));u=+w(+(+g[b+4>>2]));t=+w(+(+g[b+8>>2]));r=+w(+(+g[b+16>>2]));q=+w(+(+g[b+20>>2]));p=+w(+(+g[b+24>>2]));l=+w(+(+g[b+32>>2]));j=+w(+(+g[b+36>>2]));h=+w(+(+g[b+40>>2]));s=+g[b+48>>2];o=+g[b+52>>2];n=+g[b+56>>2];g[d>>2]=s-(m*v+k*u+i*t);g[d+4>>2]=o-(m*r+k*q+i*p);g[d+8>>2]=n-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*v+k*u+i*t+s;g[e+4>>2]=m*r+k*q+i*p+o;g[e+8>>2]=n+(m*l+k*j+i*h);g[e+12>>2]=0.0;sa=f;return}function kh(){var b=0,d=0,e=0;b=fs(288)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;c[b>>2]=7896;c[7182]=(c[7182]|0)+1;d=xb(95)|0;if(!d){e=0;Th(e);d=b+284|0;c[d>>2]=e;return b|0}c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16;Th(d);e=b+284|0;c[e>>2]=d;return b|0}function lh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0;h=sa;sa=sa+96|0;g[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=5536;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;ab[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);a=c[h+8>>2]|0;if(!a){f=0;sa=h;return f|0}if(!(c[a+236>>2]&2)){f=0;sa=h;return f|0}if(c[a+204>>2]&4|0){f=0;sa=h;return f|0}c[f>>2]=c[h+68>>2];c[f+4>>2]=c[h+68+4>>2];c[f+8>>2]=c[h+68+8>>2];c[f+12>>2]=c[h+68+12>>2];c[f+16>>2]=c[h+52>>2];c[f+16+4>>2]=c[h+52+4>>2];c[f+16+8>>2]=c[h+52+8>>2];c[f+16+12>>2]=c[h+52+12>>2];l=+g[f+16>>2];k=+g[f+20>>2];j=+g[f+24>>2];i=1.0/+x(+(l*l+k*k+j*j));g[f+16>>2]=l*i;g[f+20>>2]=k*i;g[f+24>>2]=j*i;c[f+32>>2]=c[h+4>>2];f=a;sa=h;return f|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Pa[c[(c[b>>2]|0)+32>>2]&511](b);e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];eb[c[(c[b>>2]|0)+20>>2]&31](b,e,16580,1145853764,d);wi(a,b);Ac(a,b);Pa[c[(c[b>>2]|0)+36>>2]&511](b);return}function nh(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;d=c[b+4>>2]|0;if(d|0)Gm(b+4|0,d);d=c[b+8>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;d=c[b+64>>2]|0;if(d|0)Gm(b+64|0,d);d=c[b+68>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=sa;sa=sa+48|0;g=l;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if(!d)j=c[c[b+880>>2]>>2]|0;else j=d;d=c[b+732>>2]|0;if((d|0)==(c[b+736>>2]|0)?(k=(d|0)==0?1:d<<1,(d|0)<(k|0)):0){if(!k)i=0;else{c[7182]=(c[7182]|0)+1;d=xb((k*52|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[b+732>>2]|0}if((d|0)>0){e=0;do{g=i+(e*52|0)|0;f=(c[b+740>>2]|0)+(e*52|0)|0;h=g+52|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));e=e+1|0}while((e|0)!=(d|0))}d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=i;c[b+736>>2]=k;d=c[b+732>>2]|0}g=c[b+740>>2]|0;c[g+(d*52|0)>>2]=0;c[g+(d*52|0)+4>>2]=j;g=g+(d*52|0)+8|0;f=l;h=g+44|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));c[b+732>>2]=(c[b+732>>2]|0)+1;sa=l;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0;e=sa;sa=sa+32|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){sa=e;return}g[e+4>>2]=1.0;c[e+8+4>>2]=0;c[e+8+4+4>>2]=0;c[e+8+4+8>>2]=0;c[e>>2]=6300;c[e+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;h=+va[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=h+ +va[c[(c[d>>2]|0)+48>>2]&15](d);h=+g[a+316>>2];f=+g[b+316>>2];g[e+16>>2]=h>2]=a;c[e+28>>2]=b;Od(c[a+1048>>2]|0,c[b+1048>>2]|0,e);sa=e;return}case 16:{if((a|0)==(b|0)){sa=e;return}c[e>>2]=6336;d=c[a+192>>2]|0;h=+va[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=h+ +va[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;Od(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;Od(c[b+928>>2]|0,c[a+988>>2]|0,e);sa=e;return}default:{sa=e;return}}}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=sa;sa=sa+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];f=+g[i+16>>2];h=+g[i+16+4>>2];e=+g[i+16+8>>2];if(f*f+h*h+e*e<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;f=-1.0;h=-1.0;e=-1.0}j=1.0/+x(+(f*f+h*h+e*e));g[i+16>>2]=f*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=e*j;Nc(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 13:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}default:e=+va[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;sa=i;return}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0,l=0,m=0,n=0.0;l=sa;sa=sa+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];if(e*e+f*f+i*i<9.999999747378752e-05){k=1065353216;h=0;e=0.0;d=0}else{n=1.0/+x(+(e*e+f*f+i*i));k=(g[j>>2]=e*n,c[j>>2]|0);m=(g[j>>2]=f*n,c[j>>2]|0);h=(g[j>>2]=i*n,c[j>>2]|0);e=+g[d+12>>2];d=m}c[l+32>>2]=10732;m=l+32+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[l+32+20>>2]=-999999984306749440.0;c[l+32+24>>2]=k;c[l+32+28>>2]=d;c[l+32+32>>2]=h;g[l+32+36>>2]=e;c[l+16>>2]=1566444395;c[l+16+4>>2]=1566444395;c[l+16+8>>2]=1566444395;g[l+16+12>>2]=0.0;b=c[b+92>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;g[l>>2]=-999999984306749440.0;g[l+4>>2]=-999999984306749440.0;g[l+8>>2]=-999999984306749440.0;g[l+12>>2]=0.0;ab[k&127](b,l+32|0,l,l+16|0);c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];sa=l;return}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 21626}c[b+52>>2]=Ha[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=Ja[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=c[g+8>>2]|0;a=0;while(1){c[b>>2]=c[e+(a<<4)>>2];c[b+4>>2]=c[e+(a<<4)+4>>2];c[b+8>>2]=c[e+(a<<4)+8>>2];c[b+12>>2]=c[e+(a<<4)+12>>2];a=a+1|0;if((a|0)==(f|0))break;else b=b+16|0}}else e=c[a+104>>2]|0;eb[c[(c[d>>2]|0)+20>>2]&31](d,g,23625,1497453121,e);return 21626}function th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;k=+g[b+60>>2]*.5;l=c[b+68>>2]|0;f=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];j=+x(+(f*f+i*i+j*j));h=c[b+64>>2]|0;do if(!(+g[d+(l<<2)>>2]>+g[b+52>>2]*j)){f=+g[d+(h<<2)>>2];e=c[b+72>>2]|0;i=+g[d+(e<<2)>>2];j=+x(+(f*f+i*i));if(j>1.1920928955078125e-07){j=+g[b+56>>2]/j;g[a+(h<<2)>>2]=f*j;g[a+(l<<2)>>2]=-k;f=i*j;break}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;f=0.0;break}}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;f=0.0;e=c[b+72>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+va[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;i=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];m=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:i;f=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:k;j=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:j;k=1.0/+x(+(j*j+(m*m+f*f)));i=+va[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*m*k;g[a+4>>2]=+g[a+4>>2]+i*f*k;g[a+8>>2]=+g[a+8>>2]+i*j*k;return}function uh(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Pa[c[(c[a>>2]|0)+8>>2]&511](a);return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;n=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!n)if(!a){e=0.0;m=0.0;j=0.0;l=0.0;i=0.0;k=0.0;h=0.0;f=0.0}else{e=+g[a>>2];m=+g[a+12>>2];j=+g[a+16>>2];l=+g[a+20>>2];i=+g[a+24>>2];k=+g[a+28>>2];h=+g[a+4>>2];f=+g[a+8>>2]}else{e=+g[n>>2];if(!a){m=+g[n+12>>2];j=+g[n+16>>2];l=+g[n+20>>2];i=+g[n+24>>2];k=+g[n+28>>2];h=+g[n+4>>2];f=+g[n+8>>2];break}k=+g[a>>2];e=e>2];j=+g[a+16>>2];j=k>j?k:j;k=+g[n+4>>2];h=+g[a+4>>2];h=k>2];l=+g[a+20>>2];l=k>l?k:l;k=+g[n+8>>2];f=+g[a+8>>2];f=k>2];i=+g[a+24>>2];if(k>i){m=0.0;i=k;k=0.0}else{m=0.0;k=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=h;g[b+8>>2]=f;g[b+12>>2]=m;g[d>>2]=j;g[d+4>>2]=l;g[d+8>>2]=i;g[d+12>>2]=k;return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;c=sa;sa=sa+48|0;Og(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];l=-+g[c+16+8>>2];k=+g[c+16+12>>2];f=+g[b>>2];m=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];Og(a+300|0,c);o=+g[c>>2];p=+g[c+12>>2];d=+g[c+8>>2];n=+g[c+4>>2];g[c+32>>2]=(k*m-f*h-i*e-j*l)*o+(k*f+m*h+j*e-i*l)*p+(f*l+(m*e+k*i)-j*h)*d-(m*l+k*j+i*h-f*e)*n;g[c+32+4>>2]=o*(m*l+k*j+i*h-f*e)+(p*(f*l+(m*e+k*i)-j*h)+(k*m-f*h-i*e-j*l)*n)-(k*f+m*h+j*e-i*l)*d;g[c+32+8>>2]=(m*l+k*j+i*h-f*e)*p+(k*m-f*h-i*e-j*l)*d+(k*f+m*h+j*e-i*l)*n-o*(f*l+(m*e+k*i)-j*h);g[c+32+12>>2]=(k*m-f*h-i*e-j*l)*p-(k*f+m*h+j*e-i*l)*o-(f*l+(m*e+k*i)-j*h)*n-(m*l+k*j+i*h-f*e)*d;ee(a,c+32|0);sa=c;return}function xh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(RC(b,c[d+8>>2]|0)|0)){if(!(RC(b,c[d>>2]|0)|0)){b=c[b+8>>2]|0;eb[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;f=c[b+8>>2]|0;gb[c[(c[f>>2]|0)+20>>2]&7](f,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){b=1;f=11}else f=15;else{b=0;f=11}do if((f|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(b){f=15;break}else{b=4;break}}if(b)f=15;else b=4}while(0);if((f|0)==15)b=3;c[d+44>>2]=b;break}if((f|0)==1)c[d+32>>2]=1}else Er(d,e,f);while(0);return}function yh(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)Gm(b,d);d=c[b+4>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7182]=(c[7182]|0)+1;f=xb((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+268>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+276>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+276>>2]|0;if(g){if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=h;c[b+272>>2]=i}c[(c[b+276>>2]|0)+(f<<2)>>2]=j;c[b+268>>2]=f+1;b=c[b+284>>2]|0;Ja[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function Ah(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;i=sa;sa=sa+32|0;h=Bs()|0;c[h+4>>2]=11;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7136;c[h+48>>2]=c[e+48>>2];c[h+48+4>>2]=c[e+48+4>>2];c[h+48+8>>2]=c[e+48+8>>2];c[h+48+12>>2]=c[e+48+12>>2];c[h+64>>2]=c[f+48>>2];c[h+64+4>>2]=c[f+48+4>>2];c[h+64+8>>2]=c[f+48+8>>2];c[h+64+12>>2]=c[f+48+12>>2];Og(e,i+16|0);Og(f,i);n=-+g[i>>2];l=-+g[i+4>>2];j=-+g[i+8>>2];q=+g[i+12>>2];p=+g[i+16+12>>2];o=+g[i+16>>2];m=+g[i+16+4>>2];k=+g[i+16+8>>2];g[h+80>>2]=p*n+q*o+m*j-k*l;g[h+84>>2]=k*n+(p*l+q*m)-o*j;g[h+88>>2]=o*l+(p*j+q*k)-m*n;g[h+92>>2]=q*p-o*n-m*l-k*j;sa=i;return h|0}function Bh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ja(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(Fa[c[(c[d>>2]|0)+16>>2]&127](d)|0)return;i=c[b+712>>2]|0;h=Fa[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(Fa[c[(c[d>>2]|0)+8>>2]&127](d)|0?(e=Fa[c[(c[d>>2]|0)+20>>2]&127](d)|0,g=Fa[c[(c[d>>2]|0)+24>>2]&127](d)|0,(i|0)>0):0){f=c[b+720>>2]|0;a=h+(e<<2)|0;e=0;while(1){k=c[f+(e*104|0)+12>>2]|0;j=c[f+(e*104|0)+16>>2]|0;c[a>>2]=c[f+(e*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=j;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}}if(!(Fa[c[(c[d>>2]|0)+12>>2]&127](d)|0))return;a=Fa[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=Fa[c[(c[d>>2]|0)+32>>2]&127](d)|0;if((i|0)<=0)return;f=c[b+720>>2]|0;a=h+(a<<2)|0;e=0;while(1){j=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=j;c[a+8>>2]=k;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}return}function Dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=12260;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;f=c[b+28>>2]|0;if((f|0)>0){d=0;do{g=c[b+36>>2]|0;h=g+(d*36|0)+4|0;i=g+(d*36|0)+12|0;j=c[i>>2]|0;e=g+(d*36|0)+16|0;if(j|0){if(a[e>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*36|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Eh(b){b=b|0;var d=0;c[b>>2]=11360;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=12276;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function Fh(b){b=b|0;var d=0;c[b>>2]=11920;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0;o=sa;sa=sa+16|0;if((e|0)<=0){sa=o;return}n=0;do{h=+g[a+60>>2]*.5;i=c[a+68>>2]|0;k=+g[b+(n<<4)>>2];l=+g[b+(n<<4)+4>>2];m=+g[b+(n<<4)+8>>2];m=+x(+(k*k+l*l+m*m));j=c[a+64>>2]|0;do if(!(+g[b+(n<<4)+(i<<2)>>2]>+g[a+52>>2]*m)){k=+g[b+(n<<4)+(j<<2)>>2];f=c[a+72>>2]|0;l=+g[b+(n<<4)+(f<<2)>>2];m=+x(+(k*k+l*l));if(m>1.1920928955078125e-07){m=+g[a+56>>2]/m;g[o+(j<<2)>>2]=k*m;g[o+(i<<2)>>2]=-h;h=l*m;break}else{g[o+(j<<2)>>2]=0.0;g[o+(i<<2)>>2]=-h;h=0.0;break}}else{g[o+(j<<2)>>2]=0.0;g[o+(i<<2)>>2]=h;h=0.0;f=c[a+72>>2]|0}while(0);g[o+(f<<2)>>2]=h;j=d+(n<<4)|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];n=n+1|0}while((n|0)!=(e|0));sa=o;return}function Hh(b){b=b|0;var d=0;c[b>>2]=7628;d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ih(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*+g[a+108>>2]*.5;m=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;k=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;t=+w(+(+g[b>>2]));s=+w(+(+g[b+4>>2]));r=+w(+(+g[b+8>>2]));n=+w(+(+g[b+16>>2]));l=+w(+(+g[b+20>>2]));j=+w(+(+g[b+24>>2]));x=+w(+(+g[b+32>>2]));v=+w(+(+g[b+36>>2]));f=+w(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=+va[c[(c[a>>2]|0)+48>>2]&15](a);f=o*x+m*v+k*f+ +va[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Jh(b){b=b|0;var d=0;if((a[26664]|0)==0?mz(26664)|0:0){if((a[26616]|0)==0?mz(26616)|0:0){if((a[26624]|0)==0?mz(26624)|0:0){c[6774]=1065353216;c[6775]=0;c[6776]=0;c[6777]=0;c[6778]=0;c[6779]=1065353216;c[6780]=0;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=1065353216;g[6785]=0.0}c[6758]=c[6774];c[6759]=c[6775];c[6760]=c[6776];c[6761]=c[6777];c[6762]=c[6778];c[6763]=c[6779];c[6764]=c[6780];c[6765]=c[6781];c[6766]=c[6782];c[6767]=c[6783];c[6768]=c[6784];c[6769]=c[6785];c[6770]=0;c[6771]=0;c[6772]=0;c[6773]=0}c[6810]=c[6758];c[6811]=c[6759];c[6812]=c[6760];c[6813]=c[6761];c[6814]=c[6762];c[6815]=c[6763];c[6816]=c[6764];c[6817]=c[6765];c[6818]=c[6766];c[6819]=c[6767];c[6820]=c[6768];c[6821]=c[6769];c[6822]=c[6770];c[6823]=c[6771];c[6824]=c[6772];c[6825]=c[6773]}d=c[b+8>>2]|0;if(!d){d=c[b>>2]|0;return ((d|0)==0?27240:d+60|0)|0}else return d+4|0;return 0}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+28>>2]-+g[a+12>>2])*+g[b+8>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[b+12>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+16>>2]>=-+g[a+84>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=sa;sa=sa+48|0;e=c[a+28>>2]|0;c[i>>2]=e;e=(c[a+20>>2]|0)-e|0;c[i+4>>2]=e;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=i;c[i+16+8>>2]=2;f=pC($(146,i+16|0)|0)|0;a:do if((e+d|0)!=(f|0)){b=2;g=e+d|0;e=i;while(1){if((f|0)<0)break;g=g-f|0;j=c[e+4>>2]|0;k=f>>>0>j>>>0;e=k?e+8|0:e;b=b+(k<<31>>31)|0;j=f-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+32>>2]=c[a+60>>2];c[i+32+4>>2]=e;c[i+32+8>>2]=b;f=pC($(146,i+32|0)|0)|0;if((g|0)==(f|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}sa=i;return d|0}function Mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7182]=(c[7182]|0)+1;f=xb((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+96>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+104>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=h;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;Oi(b);return}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;i=sa;sa=sa+80|0;if((e|0)<=0){sa=i;return}f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));h=i+32+4|0;f=0;do{j=b+(f<<4)|0;c[i+32>>2]=10732;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;ab[k&127](j,i+32|0,i,i+16|0);j=d+(f<<4)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)<(e|0));sa=i;return}function Oh(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;d=c[b+4>>2]|0;if((d|0)<2383){if((c[b+8>>2]|0)<2383){c[7182]=(c[7182]|0)+1;e=xb(9551)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}f=c[b+4>>2]|0;if((f|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;GI(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=sa;sa=sa+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){sa=d;return 1}e=c[a+12>>2]|0;if(!(Ha[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){sa=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=Ka[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=8784;c[d+32>>2]=f;eb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Pa[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Va[c[(c[f>>2]|0)+60>>2]&127](f,b)}sa=d;return 1}function Qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0;k=sa;sa=sa+80|0;i=c[c[a>>2]>>2]|0;h=c[c[a+4>>2]>>2]|0;if(!(Ja[c[(c[b>>2]|0)+24>>2]&63](b,i,h)|0)){sa=k;return}f=c[i+192>>2]|0;c[k+56>>2]=0;c[k+56+4>>2]=f;c[k+56+8>>2]=i;c[k+56+12>>2]=i+4;c[k+56+16>>2]=-1;c[k+56+20>>2]=-1;f=c[h+192>>2]|0;c[k+32>>2]=0;c[k+32+4>>2]=f;c[k+32+8>>2]=h;c[k+32+12>>2]=h+4;c[k+32+16>>2]=-1;c[k+32+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=Ka[c[(c[b>>2]|0)+8>>2]&31](b,k+56|0,k+32|0,0)|0;c[a+8>>2]=f;if(f|0)j=4}else j=4;if((j|0)==4){c[k>>2]=8412;c[k+4>>2]=0;c[k+8>>2]=k+56;c[k+12>>2]=k+32;if((c[d+8>>2]|0)!=1){e=+Ba[c[(c[f>>2]|0)+12>>2]&15](f,i,h,d,k);if(+g[d+12>>2]>e)g[d+12>>2]=e}else eb[c[(c[f>>2]|0)+8>>2]&31](f,k+56|0,k+32|0,d,k)}sa=k;return}function Rh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){d=b+256|0;c[d>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)g=0;else{c[7182]=(c[7182]|0)+1;e=xb((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+488>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+496>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+496>>2]|0;if(f){if(a[b+500>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=g;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;d=b+256|0;c[d>>2]=1;return}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){e=0;h=f}else{c[7182]=(c[7182]|0)+1;e=xb((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+24>>2]|0}if((h|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[b+32>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;f=c[e>>2]|0;if((i|0)<=0)return;e=0;do{c[f+(e<<2)>>2]=c[(c[d+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(i|0));return}function Th(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=11632;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[7182]=(c[7182]|0)+1;d=xb(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=c[b+16>>2]|0;c[f+(d<<4)>>2]=c[g+(d<<4)>>2];c[f+(d<<4)+4>>2]=c[g+(d<<4)+4>>2];c[f+(d<<4)+8>>2]=c[g+(d<<4)+8>>2];c[f+(d<<4)+12>>2]=c[g+(d<<4)+12>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Re(b);return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Re(b);return}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){a=a+96|0;break}if((d+-21|0)>>>0<9){a=a+104|0;break}}else{if((b|0)<20&(d|0)==32){a=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){a=a+108|0;break}if((b|0)==8&(d|0)==8){a=a+60|0;break}if((b|0)==8&(d|0)==1){a=a+76|0;break}if((b|0)==1&(d|0)==8){a=a+80|0;break}}if(!(d|b)){a=a+72|0;break}if((b|0)<20&(d|0)==28){a=a+88|0;break}if((b|0)==28&(d|0)<20){a=a+84|0;break}if((b|0)<20){if((d|0)<20){a=a+32|0;break}if((d+-21|0)>>>0<9){a=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+40|0;break}if((b|0)==31)if((d|0)==31){a=a+48|0;break}else{a=a+44|0;break}}if((d|0)==31){a=a+52|0;break}else{a=a+56|0;break}}else a=a+92|0;while(0);return c[a>>2]|0}function Vh(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+ml)|0}function Wh(b){b=b|0;var d=0;d=fs(616)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;g[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d>>2]=6868;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;Qc(d,b);return d|0}function Xh(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;n=sa;sa=sa+16|0;Ki(17143);jb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,k);m=c[a+184>>2]|0;l=c[j+20>>2]|0;l=(m|0)>(l|0)?m:l;if((l|0)>0){m=0;do{+Ea[c[(c[a>>2]|0)+40>>2]&3](a,m,b,d,e,f,h,i,j,k);m=m+1|0}while((m|0)<(l|0))}l=c[3084]|0;k=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=k;if(k|0){sa=n;return 0.0}do if(c[l+4>>2]|0){la(n|0,0)|0;k=c[7181]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[n+4>>2]|0)-(c[k+4>>2]|0)+(((c[n>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[3084]|0;break}else{sa=n;return 0.0}}while(0);c[3084]=c[l+20>>2];sa=n;return 0.0}function Yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0;if((e|0)<=0)return;f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{j=+g[a+12>>2];k=+g[b+(r<<4)>>2]*j;l=+g[a+16>>2];m=+g[b+(r<<4)+4>>2]*l;n=+g[a+20>>2];o=+g[b+(r<<4)+8>>2]*n;p=c[a+96>>2]|0;if((p|0)>0){q=c[a+104>>2]|0;f=-1;i=0;h=-3402823466385288598117041.0e14;do{s=k*+g[q+(i<<4)>>2]+m*+g[q+(i<<4)+4>>2]+o*+g[q+(i<<4)+8>>2];t=s>h;f=t?i:f;h=t?s:h;i=i+1|0}while((i|0)!=(p|0));o=+g[q+(f<<4)+4>>2]*l;s=+g[q+(f<<4)+8>>2]*n;g[d+(r<<4)>>2]=+g[q+(f<<4)>>2]*j;g[d+(r<<4)+4>>2]=o;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function Zh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=(d|0)==0?1:d<<1,(d|0)<(h|0)):0){if(!h)f=0;else{c[7182]=(c[7182]|0)+1;d=xb((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+268>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+276>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+276>>2]|0;if(e){if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=f;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Fa[c[(c[g>>2]|0)+36>>2]&127](g)|0;Za[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Za[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Fa[c[(c[g>>2]|0)+36>>2]&127](g)|0;Za[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Za[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function ai(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;b=Xs()|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b>>2]=10752;c[b+4>>2]=0;f=+g[a>>2];e=+g[a+4>>2];d=+g[a+8>>2];d=+g[a+((f>2]*.10000000149011612;if(d<.03999999910593033){i=+cG(b);h=+cG(b);f=+cG(b);i=i+ +g[b+28>>2];h=h+ +g[b+32>>2];f=f+ +g[b+36>>2];g[b+44>>2]=d;d=+cG(b);e=+cG(b);f=f-+cG(b);g[b+28>>2]=i-d;g[b+32>>2]=h-e;g[b+36>>2]=f;g[b+40>>2]=0.0}f=+cG(b);h=+cG(b);i=+cG(b);h=+g[a+4>>2]-h;i=+g[a+8>>2]-i;g[b+28>>2]=+g[a>>2]-f;g[b+32>>2]=h;g[b+36>>2]=i;g[b+40>>2]=0.0;return b|0}function bi(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function ci(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=11048;c[a+52>>2]=1;f=+g[b>>2];e=+g[b+4>>2];d=+g[b+8>>2];d=+g[b+((f>2]*.10000000149011612;if(d<.03999999910593033){i=+cG(a);h=+cG(a);f=+cG(a);i=i+ +g[a+28>>2];h=h+ +g[a+32>>2];f=f+ +g[a+36>>2];g[a+44>>2]=d;d=+cG(a);e=+cG(a);f=f-+cG(a);g[a+28>>2]=i-d;g[a+32>>2]=h-e;g[a+36>>2]=f;g[a+40>>2]=0.0}f=+cG(a);h=+cG(a);i=+cG(a);h=+g[b+4>>2]-h;i=+g[b+8>>2]-i;g[a+28>>2]=+g[b>>2]-f;g[a+32>>2]=h;g[a+36>>2]=i;g[a+40>>2]=0.0;c[a+4>>2]=13;return}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;h=OA(c[b+8>>2]|0,n)|0;f=OA(c[b+12>>2]|0,n)|0;g=OA(c[b+16>>2]|0,n)|0;a:do if((h>>>0<(2?d>>>2:d)>>>0?f>>>0<(d-(h<<2)|0)>>>0&g>>>0<(d-(h<<2)|0)>>>0:0)?((g|f)&3|0)==0:0){l=2?f>>>2:f;m=2?g>>>2:g;j=0;while(1){i=1?h>>>1:h;k=j+i|0;f=OA(c[b+((k<<1)+l<<2)>>2]|0,n)|0;g=OA(c[b+((k<<1)+l+1<<2)>>2]|0,n)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Vn(e,b+g|0)|0;if(!f)break;if((h|0)==1){f=0;break a}j=(f|0)<0?j:k;h=(f|0)<0?i:h-i|0}g=OA(c[b+((k<<1)+m<<2)>>2]|0,n)|0;f=OA(c[b+((k<<1)+m+1<<2)>>2]|0,n)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function ei(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];if(!((b-h)%6.2831854820251465<-3.1415927410125732))if((b-h)%6.2831854820251465>3.1415927410125732)e=(b-h)%6.2831854820251465+-6.2831854820251465;else e=(b-h)%6.2831854820251465;else e=(b-h)%6.2831854820251465+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){if((f+h)%6.2831854820251465<-3.1415927410125732){b=(f+h)%6.2831854820251465+6.2831854820251465;break}if(!((f+h)%6.2831854820251465>3.1415927410125732)){b=(f+h)%6.2831854820251465;break}b=(f+h)%6.2831854820251465+-6.2831854820251465;break}else{if((h-f)%6.2831854820251465<-3.1415927410125732){b=(h-f)%6.2831854820251465+6.2831854820251465;break}if(!((h-f)%6.2831854820251465>3.1415927410125732)){b=(h-f)%6.2831854820251465;break}b=(h-f)%6.2831854820251465+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+ui(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[d>>2]|0;i=Ha[c[(c[i>>2]|0)+56>>2]&31](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=8288;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(Ja[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=Ja[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(Ja[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=Ja[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function gi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(RC(b,c[d+8>>2]|0)|0)Ck(d,e,f,g);else{j=a[d+52>>0]|0;k=a[d+53>>0]|0;l=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;dn(b+16|0,d,e,f,g,h);a:do if((l|0)>1){i=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;dn(i,d,e,f,g,h);i=i+8|0}while(i>>>0<(b+16+(l<<3)|0)>>>0)}while(0);a[d+52>>0]=j;a[d+53>>0]=k}return} +function Kc(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,K=0.0,L=0.0;A=J(c[l+24>>2]|0,m)|0;y=a[d+44>>0]|0;B=c[d+56>>2]|0;if(!(y<<24>>24!=0|(B|0)!=0)){l=0;return l|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(A<<2)>>2]=c[n>>2];c[C+(A+1<<2)>>2]=c[n+4>>2];c[C+(A+2<<2)>>2]=c[n+8>>2];g[m+(A<<2)>>2]=-+g[n>>2];g[m+(A+1<<2)>>2]=-+g[n+4>>2];g[m+(A+2<<2)>>2]=-+g[n+8>>2];do if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){t=q-+g[e+48>>2];w=+g[b+1180>>2]-+g[e+52>>2];x=+g[b+1184>>2]-+g[e+56>>2];v=+g[n+8>>2];s=+g[n+4>>2];u=+g[n>>2];C=c[l+12>>2]|0;g[C+(A<<2)>>2]=w*v-x*s;g[C+(A+1<<2)>>2]=x*u-t*v;g[C+(A+2<<2)>>2]=t*s-w*u;u=+g[b+1176>>2]-+g[f+48>>2];w=+g[b+1180>>2]-+g[f+52>>2];s=+g[b+1184>>2]-+g[f+56>>2];t=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-(w*t-s*v);g[C+(A+1<<2)>>2]=-(s*x-u*t);g[C+(A+2<<2)>>2]=-(u*v-w*x);break}I=q-+g[f+48>>2];G=+g[b+1180>>2]-+g[f+52>>2];E=+g[b+1184>>2]-+g[f+56>>2];H=+g[n>>2];F=+g[n+4>>2];D=+g[n+8>>2];L=+g[b+1112>>2]-+g[e+48>>2];s=+g[b+1116>>2]-+g[e+52>>2];t=+g[b+1120>>2]-+g[e+56>>2];r=+g[d+52>>2]-+g[d+48>>2];K=H*(H*L+F*s+D*t)+H*r-H*(I*H+G*F+E*D);q=F*(H*L+F*s+D*t)+F*r-F*(I*H+G*F+E*D);r=D*(H*L+F*s+D*t)+D*r-D*(I*H+G*F+E*D);w=+g[b+1272>>2];x=+g[b+1276>>2];u=D*(s-F*(H*L+F*s+D*t)+w*q)-F*(t-D*(H*L+F*s+D*t)+w*r);v=H*(t-D*(H*L+F*s+D*t)+w*r)-D*(L-H*(H*L+F*s+D*t)+w*K);t=F*(L-H*(H*L+F*s+D*t)+w*K)-H*(s-F*(H*L+F*s+D*t)+w*q);s=D*(G-F*(I*H+G*F+E*D)-x*q)-F*(E-D*(I*H+G*F+E*D)-x*r);r=H*(E-D*(I*H+G*F+E*D)-x*r)-D*(I-H*(I*H+G*F+E*D)-x*K);q=F*(I-H*(I*H+G*F+E*D)-x*K)-H*(G-F*(I*H+G*F+E*D)-x*q);if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){u=w*u;v=w*v;t=w*t;s=x*s;r=x*r;q=x*q}C=(c[l+12>>2]|0)+(A<<2)|0;g[C>>2]=u;g[C+4>>2]=v;g[C+8>>2]=t;C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-s;g[C+(A+1<<2)>>2]=-r;g[C+(A+2<<2)>>2]=-q}while(0);if(B|0?+g[d>>2]==+g[d+4>>2]:0){e=(c[l+28>>2]|0)+(A<<2)|0;g[e>>2]=0.0;q=0.0}else z=11;do if((z|0)==11){m=(c[l+28>>2]|0)+(A<<2)|0;g[m>>2]=0.0;if(!(y<<24>>24)){if(B|0){e=m;q=0.0;break}else i=1;return i|0}c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+28>>2];if(B|0){e=m;q=+g[m>>2];break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r0.0)if(r<=t?t-q/ut?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[m>>2]=q*v+ +g[m>>2];g[(c[l+36>>2]|0)+(A<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(A<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);L=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[e>>2]=q+(o|0?-L:L);c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(A<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}g[(c[l+36>>2]|0)+(A<<2)>>2]=(B|0)==1?0.0:-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=(B|0)==1?3402823466385288598117041.0e14:0.0;v=+g[d+40>>2];if(!(v>0.0)){C=1;return C|0}if(o|0){L=+g[n>>2];r=+g[n+4>>2];q=+g[n+8>>2];s=q;t=r;u=L;i=k;r=+g[j>>2]*L+ +g[j+4>>2]*r;q=+g[j+8>>2]*q}else{L=+g[n>>2];r=+g[n+4>>2];q=+g[n+8>>2];s=q;t=r;u=L;r=+g[h>>2]*L+ +g[h+4>>2]*r;q=+g[h+8>>2]*q}q=r+q-(u*+g[i>>2]+t*+g[i+4>>2]+s*+g[i+8>>2]);if((B|0)==1){if(!(q<0.0)){C=1;return C|0}if(!(+g[e>>2]<-(v*q))){C=1;return C|0}g[e>>2]=-(v*q);C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}if(!(+g[e>>2]>-(v*q))){C=1;return C|0}g[e>>2]=-(v*q);C=1;return C|0}return 0}function Lc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0;t=sa;sa=sa+288|0;p=c[b+4>>2]|0;a[p+312>>0]=0;c[p>>2]=0;a[p+356>>0]=1;c[p+292>>2]=1566444395;c[p+296>>2]=1566444395;c[p+300>>2]=1566444395;g[p+304>>2]=0.0;c[p+336>>2]=0;c[p+336+4>>2]=0;c[p+336+8>>2]=0;c[p+336+12>>2]=0;a[p+336+16>>0]=0;a[p+332>>0]=a[p+332>>0]&-16;q=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);r=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);s=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[t+216>>2]=12068;g[t+216+36>>2]=999999984306749440.0;a[t+216+40>>0]=0;p=c[b+8>>2]|0;o=c[b+12>>2]|0;n=c[b+4>>2]|0;c[t+136>>2]=12116;c[t+136+4>>2]=0;c[t+136+8>>2]=1065353216;c[t+136+12>>2]=0;g[t+136+16>>2]=0.0;c[t+136+20>>2]=0;c[t+136+24>>2]=n;c[t+136+28>>2]=p;c[t+136+32>>2]=o;c[t+136+36>>2]=c[p+4>>2];c[t+136+40>>2]=c[o+4>>2];g[t+136+44>>2]=+va[c[(c[p>>2]|0)+48>>2]&15](p);g[t+136+48>>2]=+va[c[(c[o>>2]|0)+48>>2]&15](o);a[t+136+52>>0]=0;c[t+136+60>>2]=-1;c[t+136+72>>2]=1;c[t+136+76>>2]=1;g[t+128>>2]=999999984306749440.0;c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];c[t+16>>2]=c[d+16>>2];c[t+16+4>>2]=c[d+16+4>>2];c[t+16+8>>2]=c[d+16+8>>2];c[t+16+12>>2]=c[d+16+12>>2];c[t+32>>2]=c[d+32>>2];c[t+32+4>>2]=c[d+32+4>>2];c[t+32+8>>2]=c[d+32+8>>2];c[t+32+12>>2]=c[d+32+12>>2];c[t+48>>2]=c[d+48>>2];c[t+48+4>>2]=c[d+48+4>>2];c[t+48+8>>2]=c[d+48+8>>2];c[t+48+12>>2]=c[d+48+12>>2];c[t+64>>2]=c[f>>2];c[t+64+4>>2]=c[f+4>>2];c[t+64+8>>2]=c[f+8>>2];c[t+64+12>>2]=c[f+12>>2];c[t+80>>2]=c[f+16>>2];c[t+80+4>>2]=c[f+16+4>>2];c[t+80+8>>2]=c[f+16+8>>2];c[t+80+12>>2]=c[f+16+12>>2];c[t+96>>2]=c[f+32>>2];c[t+96+4>>2]=c[f+32+4>>2];c[t+96+8>>2]=c[f+32+8>>2];c[t+96+12>>2]=c[f+32+12>>2];c[t+112>>2]=c[f+48>>2];c[t+112+4>>2]=c[f+48+4>>2];c[t+112+8>>2]=c[f+48+8>>2];c[t+112+12>>2]=c[f+48+12>>2];Ub(t+136|0,t,t+216|0,0,0);o=(a[t+216+40>>0]|0)==0;p=t+216+20|0;c[t+264>>2]=c[p>>2];c[t+264+4>>2]=c[p+4>>2];c[t+264+8>>2]=c[p+8>>2];c[t+264+12>>2]=c[p+12>>2];if(o){i=0;sa=t;return i|0}m=+g[t+216+36>>2];k=+g[t+216+16>>2];b=c[t+216+12>>2]|0;l=c[t+216+8>>2]|0;n=c[t+216+4>>2]|0;do if(m>1.0000000474974513e-03){o=0;k=0.0;while(1){if(o>>>0>31){b=0;o=13;break}v=q*(c[j>>2]=n,+g[j>>2]);v=r*(c[j>>2]=l,+g[j>>2])+v;u=k;k=k-m/(s*(c[j>>2]=b,+g[j>>2])+v);if(!(!(k<=u)&(!(k<0.0)&!(k>1.0)))){b=0;o=13;break}Qa[c[c[i>>2]>>2]&31](i,k);v=1.0-k;g[t+48>>2]=v*+g[d+48>>2]+k*+g[e+48>>2];g[t+52>>2]=v*+g[d+52>>2]+k*+g[e+52>>2];g[t+56>>2]=v*+g[d+56>>2]+k*+g[e+56>>2];g[t+112>>2]=v*+g[f+48>>2]+k*+g[h+48>>2];g[t+116>>2]=v*+g[f+52>>2]+k*+g[h+52>>2];g[t+120>>2]=v*+g[f+56>>2]+k*+g[h+56>>2];Ub(t+136|0,t,t+216|0,0,0);if(!(a[t+216+40>>0]|0)){b=0;o=13;break}m=+g[t+216+36>>2];if(m<0.0){o=8;break}c[t+264>>2]=c[p>>2];c[t+264+4>>2]=c[p+4>>2];c[t+264+8>>2]=c[p+8>>2];c[t+264+12>>2]=c[p+12>>2];b=c[t+216+12>>2]|0;l=c[t+216+8>>2]|0;n=c[t+216+4>>2]|0;if(!(m>1.0000000474974513e-03)){o=10;break}else o=o+1|0}if((o|0)==8){g[i+164>>2]=k;e=c[t+216+8>>2]|0;f=c[t+216+12>>2]|0;h=c[t+216+16>>2]|0;c[i+132>>2]=c[t+216+4>>2];c[i+136>>2]=e;c[i+140>>2]=f;c[i+144>>2]=h;c[i+148>>2]=c[p>>2];c[i+148+4>>2]=c[p+4>>2];c[i+148+8>>2]=c[p+8>>2];c[i+148+12>>2]=c[p+12>>2];i=1;sa=t;return i|0}else if((o|0)==10){m=k;k=+g[t+216+16>>2];break}else if((o|0)==13){sa=t;return b|0}}else m=0.0;while(0);v=q*(c[j>>2]=n,+g[j>>2]);v=r*(c[j>>2]=l,+g[j>>2])+v;if(s*(c[j>>2]=b,+g[j>>2])+v>=-+g[i+172>>2]){i=0;sa=t;return i|0}g[i+164>>2]=m;c[i+132>>2]=n;c[i+136>>2]=l;c[i+140>>2]=b;g[i+144>>2]=k;c[i+148>>2]=c[t+264>>2];c[i+148+4>>2]=c[t+264+4>>2];c[i+148+8>>2]=c[t+264+8>>2];c[i+148+12>>2]=c[t+264+12>>2];i=1;sa=t;return i|0}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;l=sa;sa=sa+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;i=c[d+36>>2]|0;J=c[a+8>>2]|0;f=c[a+12>>2]|0;K=c[(c[J+4>>2]|0)+24>>2]|0;d=c[K+(j*80|0)+64>>2]|0;b=(c[f+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(i*80|0)+64>>2]|0;J=c[J+12>>2]|0;m=+g[J>>2];H=+g[J+4>>2];I=+g[J+8>>2];p=+g[J+16>>2];r=+g[J+20>>2];t=+g[J+24>>2];q=+g[J+32>>2];u=+g[J+36>>2];C=+g[J+40>>2];v=+g[K+(j*80|0)>>2];w=+g[K+(j*80|0)+16>>2];x=+g[K+(j*80|0)+32>>2];y=+g[K+(j*80|0)+4>>2];z=+g[K+(j*80|0)+20>>2];A=+g[K+(j*80|0)+36>>2];s=+g[K+(j*80|0)+8>>2];B=+g[K+(j*80|0)+24>>2];D=+g[K+(j*80|0)+40>>2];n=+g[K+(j*80|0)+48>>2];o=+g[K+(j*80|0)+52>>2];G=+g[K+(j*80|0)+56>>2];E=+g[J+48>>2]+(m*n+H*o+I*G);F=+g[J+52>>2]+(p*n+r*o+t*G);G=+g[J+56>>2]+(q*n+u*o+C*G);g[l+176>>2]=m*v+H*w+I*x;g[l+176+4>>2]=m*y+H*z+I*A;g[l+176+8>>2]=m*s+H*B+I*D;g[l+176+12>>2]=0.0;g[l+176+16>>2]=p*v+r*w+t*x;g[l+176+20>>2]=p*y+r*z+t*A;g[l+176+24>>2]=p*s+r*B+t*D;g[l+176+28>>2]=0.0;g[l+176+32>>2]=q*v+u*w+C*x;g[l+176+36>>2]=q*y+u*z+C*A;g[l+176+40>>2]=q*s+u*B+C*D;g[l+176+44>>2]=0.0;g[l+176+48>>2]=E;g[l+176+52>>2]=F;g[l+176+56>>2]=G;g[l+176+60>>2]=0.0;f=c[f+12>>2]|0;G=+g[f>>2];F=+g[f+4>>2];E=+g[f+8>>2];D=+g[f+16>>2];C=+g[f+20>>2];B=+g[f+24>>2];u=+g[f+32>>2];s=+g[f+36>>2];q=+g[f+40>>2];b=c[b>>2]|0;A=+g[b+(i*80|0)>>2];z=+g[b+(i*80|0)+16>>2];y=+g[b+(i*80|0)+32>>2];x=+g[b+(i*80|0)+4>>2];w=+g[b+(i*80|0)+20>>2];v=+g[b+(i*80|0)+36>>2];t=+g[b+(i*80|0)+8>>2];r=+g[b+(i*80|0)+24>>2];p=+g[b+(i*80|0)+40>>2];I=+g[b+(i*80|0)+48>>2];H=+g[b+(i*80|0)+52>>2];m=+g[b+(i*80|0)+56>>2];o=+g[f+48>>2]+(G*I+F*H+E*m);n=+g[f+52>>2]+(D*I+C*H+B*m);m=+g[f+56>>2]+(u*I+s*H+q*m);g[l+112>>2]=G*A+F*z+E*y;g[l+112+4>>2]=G*x+F*w+E*v;g[l+112+8>>2]=G*t+F*r+E*p;g[l+112+12>>2]=0.0;g[l+112+16>>2]=D*A+C*z+B*y;g[l+112+20>>2]=D*x+C*w+B*v;g[l+112+24>>2]=D*t+C*r+B*p;g[l+112+28>>2]=0.0;g[l+112+32>>2]=u*A+s*z+q*y;g[l+112+36>>2]=u*x+s*w+q*v;g[l+112+40>>2]=u*t+s*r+q*p;g[l+112+44>>2]=0.0;g[l+112+48>>2]=o;g[l+112+52>>2]=n;g[l+112+56>>2]=m;g[l+112+60>>2]=0.0;ab[c[(c[d>>2]|0)+8>>2]&127](d,l+176|0,l+96|0,l+80|0);ab[c[(c[e>>2]|0)+8>>2]&127](e,l+112|0,l+64|0,l+48|0);if(!(+g[l+96>>2]>+g[l+48>>2])?!(+g[l+80>>2]<+g[l+64>>2]):0)b=1;else b=0;if(!(!(+g[l+96+8>>2]>+g[l+48+8>>2])?!(+g[l+80+8>>2]<+g[l+64+8>>2]):0))b=0;if(+g[l+96+4>>2]>+g[l+48+4>>2]){sa=l;return}if(+g[l+80+4>>2]<+g[l+64+4>>2]|b^1){sa=l;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[l+24>>2]=f;c[l+24+4>>2]=d;c[l+24+8>>2]=b;c[l+24+12>>2]=l+176;c[l+24+16>>2]=-1;c[l+24+20>>2]=j;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[l>>2]=b;c[l+4>>2]=e;c[l+8>>2]=f;c[l+12>>2]=l+112;c[l+16>>2]=-1;c[l+20>>2]=i;f=c[a+28>>2]|0;c[7170]=(c[7170]|0)+1;b=(i<<16|j)+~((i<<16|j)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=(c[f+12>>2]|0)+-1&((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(j|0)?(c[e+(b*12|0)+4>>2]|0)==(i|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){k=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else k=16}else k=16;while(0);if((k|0)==16){b=c[a+16>>2]|0;b=Ka[c[(c[b>>2]|0)+8>>2]&31](b,l+24|0,l,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(Ja[c[(c[K>>2]|0)+12>>2]&63](K,j,i)|0)+8>>2]=b}K=c[a+24>>2]|0;k=c[K+8>>2]|0;J=c[K+12>>2]|0;c[K+8>>2]=l+24;c[K+12>>2]=l;Za[c[(c[K>>2]|0)+8>>2]&127](K,-1,j);K=c[a+24>>2]|0;Za[c[(c[K>>2]|0)+12>>2]&127](K,-1,i);eb[c[(c[b>>2]|0)+8>>2]&31](b,l+24|0,l,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=k;c[K+12>>2]=J;sa=l;return}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0;z=sa;sa=sa+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;sa=z;return}case 0:{v=+g[b+28>>2];w=+g[b+28+4>>2];w=+g[d+4>>2]>=0.0?w:-w;y=+g[b+28+8>>2];y=+g[d+8>>2]>=0.0?y:-y;g[a>>2]=+g[d>>2]>=0.0?v:-v;g[a+4>>2]=w;g[a+8>>2]=y;g[a+12>>2]=0.0;sa=z;return}case 1:{t=+g[d>>2];u=+g[d+4>>2];y=+g[d+8>>2];w=t*+g[b+56>>2]+u*+g[b+56+4>>2]+y*+g[b+56+8>>2];v=t*+g[b+56+16>>2]+u*+g[b+56+20>>2]+y*+g[b+56+24>>2];y=t*+g[b+56+32>>2]+u*+g[b+56+36>>2]+y*+g[b+56+40>>2];n=w>2]|0;r=c[b+56+(n<<4)+8>>2]|0;c[a>>2]=c[b+56+(n<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=r;g[a+12>>2]=0.0;sa=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];e=c[d+4>>2]|0;c[z+16+4>>2]=e;r=c[d+8>>2]|0;c[z+16+8>>2]=r;g[z+16+12>>2]=0.0;d=c[b+52>>2]|0;f=(c[j>>2]=r,+g[j>>2]);switch(d|0){case 2:{b=0;n=2;o=1;h=(c[j>>2]=e,+g[j>>2]);break}case 1:{b=0;n=1;o=2;h=f;break}default:{b=1;n=0;o=2;h=f}}f=+g[z+32+(b<<2)>>2];i=+g[z+32+(d<<2)>>2];m=+g[z+16+(b<<2)>>2];l=+x(+(m*m+h*h));if(l!=0.0){k=h*(f/l);h=+g[z+16+(n<<2)>>2]<0.0?-i:i;f=m*(f/l)}else{k=0.0;h=+g[z+16+(n<<2)>>2]<0.0?-i:i}g[z+(b<<2)>>2]=f;g[z+(n<<2)>>2]=h;g[z+(o<<2)>>2]=k;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2];g[a+12>>2]=0.0;sa=z;return}case 10:{f=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];e=c[b+52>>2]|0;w=+g[b+28+(e<<2)>>2];k=+g[b+28+(((e+2|0)%3|0)<<2)>>2];if(f*f+h*h+i*i<9.999999747378752e-05){y=1.0;v=0.0;u=0.0}else{u=1.0/+x(+(f*f+h*h+i*i));y=f*u;v=h*u;u=i*u}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(e<<2)>>2]=w;s=k*y;t=k*v;q=k*u;p=+g[b+44>>2];l=y*p;m=v*p;p=u*p;k=s+ +g[z+32>>2]-l;f=t+ +g[z+32+4>>2]-m;h=q+ +g[z+32+8>>2]-p;i=u*h+(y*k+v*f);if(i>-999999984306749440.0){o=(g[j>>2]=h,c[j>>2]|0);r=(g[j>>2]=f,c[j>>2]|0);n=(g[j>>2]=k,c[j>>2]|0)}else{i=-999999984306749440.0;n=0;o=0;r=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(e<<2)>>2]=-w;s=s+ +g[z+32>>2]-l;w=t+ +g[z+32+4>>2]-m;f=q+ +g[z+32+8>>2]-p;e=y*s+v*w+u*f>i;d=(g[j>>2]=s,c[j>>2]|0);b=(g[j>>2]=w,c[j>>2]|0);o=e?(g[j>>2]=f,c[j>>2]|0):o;c[a>>2]=e?d:n;c[a+4>>2]=e?b:r;c[a+8>>2]=o;g[a+12>>2]=0.0;sa=z;return}case 5:{o=c[b+92>>2]|0;n=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];m=+g[b+20>>2];k=+g[d>>2]*p;l=+g[d+4>>2]*q;h=+g[d+8>>2]*m;if((n|0)>0){e=-1;d=0;f=-3402823466385288598117041.0e14;while(1){i=k*+g[o+(d<<4)>>2]+l*+g[o+(d<<4)+4>>2]+h*+g[o+(d<<4)+8>>2];b=i>f;e=b?d:e;d=d+1|0;if((d|0)==(n|0))break;else f=b?i:f}}else e=-1;w=q*+g[o+(e<<4)+4>>2];y=m*+g[o+(e<<4)+8>>2];g[a>>2]=p*+g[o+(e<<4)>>2];g[a+4>>2]=w;g[a+8>>2]=y;g[a+12>>2]=0.0;sa=z;return}case 4:{o=c[b+104>>2]|0;n=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];m=+g[b+20>>2];k=+g[d>>2]*p;l=+g[d+4>>2]*q;h=+g[d+8>>2]*m;if((n|0)>0){e=-1;d=0;f=-3402823466385288598117041.0e14;while(1){i=k*+g[o+(d<<4)>>2]+l*+g[o+(d<<4)+4>>2]+h*+g[o+(d<<4)+8>>2];b=i>f;e=b?d:e;d=d+1|0;if((d|0)==(n|0))break;else f=b?i:f}}else e=-1;w=q*+g[o+(e<<4)+4>>2];y=m*+g[o+(e<<4)+8>>2];g[a>>2]=p*+g[o+(e<<4)>>2];g[a+4>>2]=w;g[a+8>>2]=y;g[a+12>>2]=0.0;sa=z;return}default:{Za[c[(c[b>>2]|0)+68>>2]&127](a,b,d);sa=z;return}}}function Oc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=(D|0)==0?1:D<<1,(D|0)<(o|0)):0){if(!o){k=0;m=D}else{c[7182]=(c[7182]|0)+1;k=xb((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}m=c[b+88>>2]|0}if((m|0)>0){l=0;do{Bh(k+(l*152|0)|0,(c[b+96>>2]|0)+(l*152|0)|0,152)|0;l=l+1|0}while((l|0)!=(m|0))}l=c[b+96>>2]|0;if(l|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=k;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=D;c[b+88>>2]=k+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=h;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;g[C+(D*152|0)+48>>2]=-0.0;g[C+(D*152|0)+52>>2]=-0.0;g[C+(D*152|0)+56>>2]=-0.0;g[C+(D*152|0)+60>>2]=0.0;h=c[b+16>>2]|0;o=c[h+(e*244|0)+240>>2]|0;B=c[h+(f*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=f;b=c[i+88>>2]|0;c[C+(D*152|0)+104>>2]=b;c[C+(D*152|0)+132>>2]=0;g[C+(D*152|0)+100>>2]=0.0;g[C+(D*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[C+(D*152|0)>>2]=x;g[C+(D*152|0)+4>>2]=y;g[C+(D*152|0)+8>>2]=z;g[C+(D*152|0)+12>>2]=0.0;A=(c[j>>2]=b,+g[j>>2]);if(o|0){k=(g[j>>2]=(+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z)*+g[o+544>>2],c[j>>2]|0);l=(g[j>>2]=(+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z)*+g[o+548>>2],c[j>>2]|0);m=(g[j>>2]=(+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z)*+g[o+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+64>>2]=k;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=m;g[C+(D*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[C+(D*152|0)+32>>2]=u;g[C+(D*152|0)+36>>2]=v;g[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){k=(g[j>>2]=(u*+g[B+264>>2]+v*+g[B+268>>2]+w*+g[B+272>>2])*+g[B+544>>2],c[j>>2]|0);l=(g[j>>2]=(u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2])*+g[B+548>>2],c[j>>2]|0);m=(g[j>>2]=(u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2])*+g[B+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+80>>2]=k;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=m;g[C+(D*152|0)+92>>2]=0.0;if(o|0){n=+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z;p=+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z;q=+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z}else{n=0.0;p=0.0;q=0.0}if(B|0){r=+g[B+264>>2]*u+ +g[B+268>>2]*v+ +g[B+272>>2]*w;s=u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2];t=u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(n*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[C+(D*152|0)+108>>2]=s;if(o|0){p=+g[h+(e*244|0)+192>>2];q=+g[h+(e*244|0)+196>>2];r=+g[h+(e*244|0)+200>>2];n=(+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2])*0.0+(+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2])*0.0+(+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;n=0.0}n=n+(r*z+(q*y+p*x));if(!B){z=0.0;t=0.0;x=0.0;y=-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;D=C+(D*152|0)+124|0;c[D>>2]=b;return}z=+g[h+(f*244|0)+192>>2];t=+g[h+(f*244|0)+196>>2];x=+g[h+(f*244|0)+200>>2];y=(+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2])*-0.0+(+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2])*-0.0+(+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2])*-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;D=C+(D*152|0)+124|0;c[D>>2]=b;return}function Pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0;h=sa;sa=sa+240|0;if(!(c[b+16>>2]|0)){J=c[b+12>>2]|0;b=c[b+20>>2]|0;w=+g[d>>2];p=+g[d+4>>2];t=+g[d+8>>2];j=+g[d+16>>2];q=+g[d+20>>2];i=+g[d+24>>2];l=+g[d+32>>2];r=+g[d+36>>2];m=+g[d+40>>2];E=+g[d+48>>2];D=+g[d+52>>2];C=+g[d+56>>2];I=+g[e>>2];H=+g[e+16>>2];y=+g[e+32>>2];G=+g[e+4>>2];F=+g[e+20>>2];x=+g[e+36>>2];u=+g[e+8>>2];k=+g[e+24>>2];o=+g[e+40>>2];B=-+g[e+48>>2];A=-+g[e+52>>2];v=-+g[e+56>>2];d=c[(c[J>>2]|0)+64>>2]|0;z=-+g[b+48>>2];s=-+g[b+52>>2];n=-+g[b+56>>2];g[h+16>>2]=(w*I+j*H+l*y)*z+(w*G+j*F+l*x)*s+(w*u+j*k+l*o)*n;g[h+16+4>>2]=(p*I+q*H+r*y)*z+(p*G+q*F+r*x)*s+(p*u+q*k+r*o)*n;g[h+16+8>>2]=(t*I+i*H+m*y)*z+(t*G+i*F+m*x)*s+(t*u+i*k+m*o)*n;g[h+16+12>>2]=0.0;Za[d&127](h+152|0,J,h+16|0);n=+g[h+152>>2];s=+g[h+152+4>>2];z=+g[h+152+8>>2];y=E*I+D*H+C*y+(I*B+H*A+y*v)+((w*I+j*H+l*y)*n+(p*I+q*H+r*y)*s+(t*I+i*H+m*y)*z);x=E*G+D*F+C*x+(G*B+F*A+x*v)+((w*G+j*F+l*x)*n+(p*G+q*F+r*x)*s+(t*G+i*F+m*x)*z);z=E*u+D*k+C*o+(u*B+k*A+o*v)+((w*u+j*k+l*o)*n+(p*u+q*k+r*o)*s+(t*u+i*k+m*o)*z);o=+g[b+48>>2];m=+g[b+52>>2];k=+g[b+56>>2];i=k*z+(o*y+m*x)-+g[b+64>>2];u=+g[e>>2];t=+g[e+4>>2];s=+g[e+8>>2];r=+g[e+16>>2];q=+g[e+20>>2];p=+g[e+24>>2];n=+g[e+32>>2];l=+g[e+36>>2];j=+g[e+40>>2];w=(y-o*i)*r+(x-m*i)*q+(z-k*i)*p+ +g[e+52>>2];v=(y-o*i)*n+(x-m*i)*l+(z-k*i)*j+ +g[e+56>>2];g[h+16>>2]=s*(z-k*i)+(u*(y-o*i)+t*(x-m*i))+ +g[e+48>>2];g[h+16+4>>2]=w;g[h+16+8>>2]=v;g[h+16+12>>2]=0.0;g[h>>2]=o*u+m*t+k*s;g[h+4>>2]=o*r+m*q+k*p;g[h+8>>2]=o*n+m*l+k*j;g[h+12>>2]=0.0;_a[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|0,i);sa=h;return}else{M=c[b+4>>2]|0;a[M+312>>0]=0;c[M>>2]=0;a[M+356>>0]=1;c[M+292>>2]=1566444395;c[M+296>>2]=1566444395;c[M+300>>2]=1566444395;g[M+304>>2]=0.0;c[M+336>>2]=0;c[M+336+4>>2]=0;c[M+336+8>>2]=0;c[M+336+12>>2]=0;a[M+336+16>>0]=0;a[M+332>>0]=a[M+332>>0]&-16;M=c[b+12>>2]|0;L=c[b+16>>2]|0;K=c[M+4>>2]|0;J=c[L+4>>2]|0;H=+va[c[(c[M>>2]|0)+48>>2]&15](M);N=c[b+16>>2]|0;I=+va[c[(c[N>>2]|0)+48>>2]&15](N);N=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+152>>2]=12116;c[h+152+4>>2]=0;c[h+152+8>>2]=1065353216;c[h+152+12>>2]=0;g[h+152+16>>2]=0.0;c[h+152+20>>2]=b;c[h+152+24>>2]=N;c[h+152+28>>2]=M;c[h+152+32>>2]=L;c[h+152+36>>2]=K;c[h+152+40>>2]=J;g[h+152+44>>2]=H;g[h+152+48>>2]=I;a[h+152+52>>0]=0;c[h+152+60>>2]=-1;c[h+152+72>>2]=1;c[h+152+76>>2]=1;g[h+16+128>>2]=999999984306749440.0;c[h+16>>2]=c[d>>2];c[h+16+4>>2]=c[d+4>>2];c[h+16+8>>2]=c[d+8>>2];c[h+16+12>>2]=c[d+12>>2];c[h+16+16>>2]=c[d+16>>2];c[h+16+16+4>>2]=c[d+16+4>>2];c[h+16+16+8>>2]=c[d+16+8>>2];c[h+16+16+12>>2]=c[d+16+12>>2];c[h+16+32>>2]=c[d+32>>2];c[h+16+32+4>>2]=c[d+32+4>>2];c[h+16+32+8>>2]=c[d+32+8>>2];c[h+16+32+12>>2]=c[d+32+12>>2];c[h+16+48>>2]=c[d+48>>2];c[h+16+48+4>>2]=c[d+48+4>>2];c[h+16+48+8>>2]=c[d+48+8>>2];c[h+16+48+12>>2]=c[d+48+12>>2];c[h+16+64>>2]=c[e>>2];c[h+16+64+4>>2]=c[e+4>>2];c[h+16+64+8>>2]=c[e+8>>2];c[h+16+64+12>>2]=c[e+12>>2];c[h+16+80>>2]=c[e+16>>2];c[h+16+80+4>>2]=c[e+16+4>>2];c[h+16+80+8>>2]=c[e+16+8>>2];c[h+16+80+12>>2]=c[e+16+12>>2];c[h+16+96>>2]=c[e+32>>2];c[h+16+96+4>>2]=c[e+32+4>>2];c[h+16+96+8>>2]=c[e+32+8>>2];c[h+16+96+12>>2]=c[e+32+12>>2];c[h+16+112>>2]=c[e+48>>2];c[h+16+112+4>>2]=c[e+48+4>>2];c[h+16+112+8>>2]=c[e+48+8>>2];c[h+16+112+12>>2]=c[e+48+12>>2];Ub(h+152|0,h+16|0,f,0,0);sa=h;return}}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;m=sa;sa=sa+16|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;g[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;f=+g[d+92>>2];l=+g[d+96>>2];g[m+12>>2]=f;g[m+8>>2]=l;g[m+4>>2]=0.0;g[m>>2]=1.0;c[b+444>>2]=c[(f<0.0?m+4|0:f>1.0?m:m+12|0)>>2];g[m+4>>2]=0.0;g[m>>2]=1.0;c[b+448>>2]=c[(l<0.0?m+4|0:l>1.0?m:m+8|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}else{Va[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}c[b+68>>2]=c[k>>2];c[b+68+4>>2]=c[k+4>>2];c[b+68+8>>2]=c[k+8>>2];c[b+68+12>>2]=c[k+12>>2];c[b+84>>2]=c[e>>2];c[b+84+4>>2]=c[e+4>>2];c[b+84+8>>2]=c[e+8>>2];c[b+84+12>>2]=c[e+12>>2];c[b+100>>2]=c[h>>2];c[b+100+4>>2]=c[h+4>>2];c[b+100+8>>2]=c[h+8>>2];c[b+100+12>>2]=c[h+12>>2];c[b+116>>2]=c[i>>2];c[b+116+4>>2]=c[i+4>>2];c[b+116+8>>2]=c[i+8>>2];c[b+116+12>>2]=c[i+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];Va[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[6846]|0;c[6846]=e+1;c[b+508>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;l=0.0}else{c[b+204>>2]=e&-2;l=1.0/f}g[b+344>>2]=l;o=f*+g[b+384>>2];n=f*+g[b+388>>2];g[b+364>>2]=f*+g[b+380>>2];g[b+368>>2]=o;g[b+372>>2]=n;g[b+376>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;c[b+396>>2]=h;c[b+400>>2]=e;c[b+404>>2]=d;g[b+408>>2]=0.0;q=l*+g[b+352>>2];x=l*+g[b+356>>2];g[b+560>>2]=l*+g[b+348>>2];g[b+564>>2]=q;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];q=(c[j>>2]=h,+g[j>>2]);w=+g[b+8>>2];f=(c[j>>2]=e,+g[j>>2]);v=+g[b+12>>2];n=(c[j>>2]=d,+g[j>>2]);u=+g[b+20>>2];t=+g[b+24>>2];s=+g[b+28>>2];r=+g[b+36>>2];p=+g[b+40>>2];o=+g[b+44>>2];g[b+264>>2]=x*x*q+w*w*f+v*v*n;g[b+268>>2]=x*q*u+w*f*t+v*n*s;g[b+272>>2]=x*q*r+w*f*p+v*n*o;g[b+276>>2]=0.0;g[b+280>>2]=x*u*q+w*t*f+v*s*n;g[b+284>>2]=u*u*q+t*t*f+s*s*n;g[b+288>>2]=u*q*r+t*f*p+s*n*o;g[b+292>>2]=0.0;g[b+296>>2]=x*r*q+w*p*f+v*o*n;g[b+300>>2]=u*r*q+t*p*f+s*o*n;g[b+304>>2]=r*r*q+p*p*f+o*o*n;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;n=l*+g[b+352>>2];o=l*+g[b+356>>2];g[b+560>>2]=l*+g[b+348>>2];g[b+564>>2]=n;g[b+568>>2]=o;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));sa=m;return}function Rc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;u=sa;sa=sa+544|0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[u+384>>2]=a;c[u+384+4>>2]=d;A=+g[e>>2];G=+g[b>>2];z=+g[e+16>>2];F=+g[b+16>>2];y=+g[e+32>>2];E=+g[b+32>>2];D=+g[b+4>>2];C=+g[b+20>>2];B=+g[b+36>>2];l=+g[b+8>>2];n=+g[b+24>>2];p=+g[b+40>>2];w=+g[e+4>>2];v=+g[e+20>>2];i=+g[e+36>>2];m=+g[e+8>>2];o=+g[e+24>>2];q=+g[e+40>>2];g[u+384+8>>2]=A*G+z*F+y*E;g[u+384+12>>2]=A*D+z*C+y*B;g[u+384+16>>2]=A*l+z*n+y*p;g[u+384+20>>2]=0.0;g[u+384+24>>2]=G*w+F*v+E*i;g[u+384+28>>2]=D*w+C*v+B*i;g[u+384+32>>2]=l*w+n*v+p*i;g[u+384+36>>2]=0.0;g[u+384+40>>2]=G*m+F*o+E*q;g[u+384+44>>2]=D*m+C*o+B*q;g[u+384+48>>2]=l*m+n*o+p*q;g[u+384+52>>2]=0.0;I=+g[e+48>>2]-+g[b+48>>2];H=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];r=I*+g[b>>2]+H*+g[b+16>>2]+t*+g[b+32>>2];s=I*+g[b+4>>2]+H*+g[b+20>>2]+t*+g[b+36>>2];t=I*+g[b+8>>2]+H*+g[b+24>>2]+t*+g[b+40>>2];g[u+384+56>>2]=A*G+z*F+y*E;g[u+384+60>>2]=G*w+F*v+E*i;g[u+384+64>>2]=G*m+F*o+E*q;g[u+384+68>>2]=0.0;g[u+384+72>>2]=A*D+z*C+y*B;g[u+384+76>>2]=D*w+C*v+B*i;g[u+384+80>>2]=D*m+C*o+B*q;g[u+384+84>>2]=0.0;g[u+384+88>>2]=A*l+z*n+y*p;g[u+384+92>>2]=l*w+n*v+p*i;g[u+384+96>>2]=l*m+n*o+p*q;g[u+384+100>>2]=0.0;g[u+384+104>>2]=r;g[u+384+108>>2]=s;g[u+384+112>>2]=t;g[u+384+116>>2]=0.0;c[u+384+120>>2]=81;c[u+384+124>>2]=0;c[u+364>>2]=0;c[u+128>>2]=0;c[u+128+4>>2]=0;c[u+128+8>>2]=0;c[u+128+12>>2]=0;c[u+376>>2]=2;c[u+368>>2]=0;g[u+144>>2]=0.0;a=Rb(u,u+384|0,f)|0;if(a|0){c[h>>2]=(a|0)==1?1:2;h=0;sa=u;return h|0}a=c[u+372>>2]|0;if(!(c[a+32>>2]|0)){p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;i=0.0}else{f=0;n=0.0;o=0.0;p=0.0;i=0.0;l=0.0;m=0.0;do{t=+g[a+16+(f<<2)>>2];d=c[u+384+120>>2]|0;k=c[u+384+124>>2]|0;e=(c[u+384>>2]|0)+(1?k>>1:k)|0;if(k&1)d=c[(c[e>>2]|0)+d>>2]|0;Za[d&127](u+528|0,e,c[a+(f<<2)>>2]|0);n=n+t*+g[u+528>>2];o=o+t*+g[u+528+4>>2];p=p+t*+g[u+528+8>>2];a=c[(c[u+372>>2]|0)+(f<<2)>>2]|0;q=-+g[a>>2];r=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+384+120>>2]|0;k=c[u+384+124>>2]|0;d=(c[u+384+4>>2]|0)+(1?k>>1:k)|0;if(k&1)a=c[(c[d>>2]|0)+a>>2]|0;H=+g[u+384+24>>2]*q+ +g[u+384+28>>2]*r+ +g[u+384+32>>2]*s;G=+g[u+384+40>>2]*q+ +g[u+384+44>>2]*r+ +g[u+384+48>>2]*s;g[u+512>>2]=+g[u+384+8>>2]*q+ +g[u+384+12>>2]*r+ +g[u+384+16>>2]*s;g[u+512+4>>2]=H;g[u+512+8>>2]=G;g[u+512+12>>2]=0.0;Za[a&127](u+528|0,d,u+512|0);G=+g[u+528>>2];H=+g[u+528+4>>2];I=+g[u+528+8>>2];i=i+t*(G*+g[u+384+56>>2]+H*+g[u+384+60>>2]+I*+g[u+384+64>>2]+ +g[u+384+104>>2]);l=l+t*(G*+g[u+384+72>>2]+H*+g[u+384+76>>2]+I*+g[u+384+80>>2]+ +g[u+384+108>>2]);m=m+t*(G*+g[u+384+88>>2]+H*+g[u+384+92>>2]+I*+g[u+384+96>>2]+ +g[u+384+112>>2]);f=f+1|0;a=c[u+372>>2]|0}while(f>>>0<(c[a+32>>2]|0)>>>0)}F=n*+g[b+16>>2]+o*+g[b+20>>2]+p*+g[b+24>>2]+ +g[b+52>>2];G=n*+g[b+32>>2]+o*+g[b+36>>2]+p*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=n*+g[b>>2]+o*+g[b+4>>2]+p*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=F;g[h+12>>2]=G;g[h+16>>2]=0.0;G=i*+g[b+16>>2]+l*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];F=i*+g[b+32>>2]+l*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=i*+g[b>>2]+l*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=G;g[h+28>>2]=F;g[h+32>>2]=0.0;F=n-i;G=o-l;H=p-m;g[h+48>>2]=0.0;I=+x(+(F*F+G*G+H*H));g[h+52>>2]=I;I=I>9.999999747378752e-05?1.0/I:1.0;g[h+36>>2]=F*I;g[h+40>>2]=G*I;g[h+44>>2]=H*I;h=1;sa=u;return h|0}function Sc(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0;p=sa;sa=sa+704|0;o=IH(f)|0;l=+g[o>>2];m=+g[o+4>>2];n=+g[o+8>>2];g[p+680>>2]=0.0;g[p+676>>2]=0.0;g[p+672>>2]=0.0;ns(p+688|0,p+680|0,p+676|0,p+672|0);g[(JI(p+688|0)|0)+(e<<2)>>2]=d*.5;g[p+648>>2]=0.0;g[p+644>>2]=0.0;g[p+640>>2]=0.0;ns(p+656|0,p+648|0,p+644|0,p+640|0);g[(JI(p+656|0)|0)+(((e+1|0)%3|0)<<2)>>2]=b;g[p+616>>2]=0.0;g[p+612>>2]=0.0;g[p+608>>2]=0.0;ns(p+624|0,p+616|0,p+612|0,p+608|0);g[(JI(p+624|0)|0)+(((e+2|0)%3|0)<<2)>>2]=b;g[p+584>>2]=0.0;g[p+580>>2]=0.0;g[p+576>>2]=0.0;ns(p+592|0,p+584|0,p+580|0,p+576|0);o=JI(p+592|0)|0;g[o+(e<<2)>>2]=-(d*.5);j=p+688+4|0;k=p+688+8|0;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;g[o+(((e+1|0)%3|0)<<2)>>2]=+yI(d)*b;g[o+(((e+2|0)%3|0)<<2)>>2]=+zI(d)*b;q=c[(c[a>>2]|0)+8>>2]|0;r=JI(f)|0;vl(p+544|0,r,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+560|0,l,m,n,+g[p+544>>2],+g[p+544+4>>2],+g[p+544+8>>2]);vl(p+512|0,r,+g[p+592>>2],+g[p+592+4>>2],+g[p+592+8>>2]);qp(p+528|0,l,m,n,+g[p+512>>2],+g[p+512+4>>2],+g[p+512+8>>2]);ab[q&127](a,p+560|0,p+528|0,h);i=i+30|0}r=c[(c[a>>2]|0)+8>>2]|0;q=JI(f)|0;vl(p+480|0,q,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+496|0,l,m,n,+g[p+480>>2],+g[p+480+4>>2],+g[p+480+8>>2]);Lq(p+416|0,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+432|0,+g[p+416>>2],+g[p+416+4>>2],+g[p+416+8>>2],+g[p+656>>2],+g[p+656+4>>2],+g[p+656+8>>2]);vl(p+448|0,q,+g[p+432>>2],+g[p+432+4>>2],+g[p+432+8>>2]);qp(p+464|0,l,m,n,+g[p+448>>2],+g[p+448+4>>2],+g[p+448+8>>2]);ab[r&127](a,p+496|0,p+464|0,h);r=c[(c[a>>2]|0)+8>>2]|0;vl(p+384|0,q,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+400|0,l,m,n,+g[p+384>>2],+g[p+384+4>>2],+g[p+384+8>>2]);Lq(p+320|0,+g[p+688>>2],+g[j>>2],+g[k>>2]);sp(p+336|0,+g[p+320>>2],+g[p+320+4>>2],+g[p+320+8>>2],+g[p+656>>2],+g[p+656+4>>2],+g[p+656+8>>2]);vl(p+352|0,q,+g[p+336>>2],+g[p+336+4>>2],+g[p+336+8>>2]);qp(p+368|0,l,m,n,+g[p+352>>2],+g[p+352+4>>2],+g[p+352+8>>2]);ab[r&127](a,p+400|0,p+368|0,h);r=c[(c[a>>2]|0)+8>>2]|0;vl(p+288|0,q,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+304|0,l,m,n,+g[p+288>>2],+g[p+288+4>>2],+g[p+288+8>>2]);Lq(p+224|0,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+240|0,+g[p+224>>2],+g[p+224+4>>2],+g[p+224+8>>2],+g[p+624>>2],+g[p+624+4>>2],+g[p+624+8>>2]);vl(p+256|0,q,+g[p+240>>2],+g[p+240+4>>2],+g[p+240+8>>2]);qp(p+272|0,l,m,n,+g[p+256>>2],+g[p+256+4>>2],+g[p+256+8>>2]);ab[r&127](a,p+304|0,p+272|0,h);r=c[(c[a>>2]|0)+8>>2]|0;vl(p+192|0,q,+g[p+688>>2],+g[j>>2],+g[k>>2]);qp(p+208|0,l,m,n,+g[p+192>>2],+g[p+192+4>>2],+g[p+192+8>>2]);Lq(p+128|0,+g[p+688>>2],+g[j>>2],+g[k>>2]);sp(p+144|0,+g[p+128>>2],+g[p+128+4>>2],+g[p+128+8>>2],+g[p+624>>2],+g[p+624+4>>2],+g[p+624+8>>2]);vl(p+160|0,q,+g[p+144>>2],+g[p+144+4>>2],+g[p+144+8>>2]);qp(p+176|0,l,m,n,+g[p+160>>2],+g[p+160+4>>2],+g[p+160+8>>2]);ab[r&127](a,p+208|0,p+176|0,h);g[p+104>>2]=0.0;g[p+100>>2]=0.0;g[p+96>>2]=0.0;ns(p+112|0,p+104|0,p+100|0,p+96|0);g[(JI(p+112|0)|0)+(e<<2)>>2]=1.0;g[p+72>>2]=0.0;g[p+68>>2]=0.0;g[p+64>>2]=0.0;ns(p+80|0,p+72|0,p+68|0,p+64|0);g[(JI(p+80|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;r=c[(c[a>>2]|0)+60>>2]|0;vl(p+32|0,q,+g[p+688>>2],+g[j>>2],+g[k>>2]);sp(p+48|0,l,m,n,+g[p+32>>2],+g[p+32+4>>2],+g[p+32+8>>2]);vl(p+16|0,q,+g[p+112>>2],+g[p+112+4>>2],+g[p+112+8>>2]);vl(p,q,+g[p+80>>2],+g[p+80+4>>2],+g[p+80+8>>2]);db[r&1](a,p+48|0,p+16|0,p,b,b,0.0,6.2831854820251465,h,0,10.0);sa=p;return}function Tc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;i=sa;sa=sa+464|0;Ki(20054);c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];k=i+128+48|0;c[k>>2]=c[d+48>>2];c[k+4>>2]=c[d+48+4>>2];c[k+8>>2]=c[d+48+8>>2];c[k+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];Se(i+128|0,i+64|0,i+256|0,i+192|0);s=+g[i+192>>2];l=s*+g[i+256+4>>2];q=s*+g[i+256+8>>2];g[i+16>>2]=+g[i+256>>2]*s;g[i+16+4>>2]=l;g[i+16+8>>2]=q;g[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;Og(i+128|0,i);q=+g[i>>2];l=+g[i+4>>2];s=+g[i+8>>2];p=+g[i+12>>2];n=q*(2.0/(q*q+l*l+s*s+p*p));m=l*(2.0/(q*q+l*l+s*s+p*p));o=s*(2.0/(q*q+l*l+s*s+p*p));g[i+192>>2]=1.0-(l*m+s*o);g[i+192+4>>2]=q*m-p*o;g[i+192+8>>2]=q*o+p*m;g[i+192+12>>2]=0.0;g[i+192+16>>2]=q*m+p*o;g[i+192+20>>2]=1.0-(q*n+s*o);g[i+192+24>>2]=l*o-p*n;g[i+192+28>>2]=0.0;g[i+192+32>>2]=q*o-p*m;g[i+192+36>>2]=l*o+p*n;g[i+192+40>>2]=1.0-(q*n+l*m);g[i+192+44>>2]=0.0;zg(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=8744;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];r=i+256+84|0;c[r>>2]=c[d+48>>2];c[r+4>>2]=c[d+48+4>>2];c[r+8>>2]=c[d+48+8>>2];c[r+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=f;g[i+256+188>>2]=h;c[i+256+192>>2]=b;m=+g[d>>2]-+g[r>>2];l=+g[i+256+152>>2]-+g[i+256+88>>2];n=+g[i+256+156>>2]-+g[i+256+92>>2];h=1.0/+x(+(m*m+l*l+n*n));q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[i+256+4>>2]=q;p=l*h==0.0?999999984306749440.0:1.0/(l*h);g[i+256+8>>2]=p;o=n*h==0.0?999999984306749440.0:1.0/(n*h);g[i+256+12>>2]=o;c[i+256+20>>2]=q<0.0&1;c[i+256+24>>2]=p<0.0&1;c[i+256+28>>2]=o<0.0&1;g[i+256+32>>2]=n*n*h+(m*m*h+l*l*h);a=c[a+68>>2]|0;gb[c[(c[a>>2]|0)+24>>2]&7](a,k,j,i+256|0,i+48|0,i+32|0);a=c[3084]|0;f=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=f;if(f|0){sa=i;return}do if(c[a+4>>2]|0){la(i+256|0,0)|0;r=c[7181]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[i+256+4>>2]|0)-(c[r+4>>2]|0)+(((c[i+256>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3084]|0;break}else{sa=i;return}}while(0);c[3084]=c[a+20>>2];sa=i;return}function Uc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=sa;sa=sa+32|0;g=Fa[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){r=d+4|0;f=e+4|0;r=c[r>>2]|0;c[f>>2]=r;f=d+8|0;f=c[f>>2]|0;r=e+8|0;c[r>>2]=f;r=d+12|0;r=c[r>>2]|0;f=e+12|0;c[f>>2]=r;d=d+16|0;d=c[d>>2]|0;f=e+16|0;c[f>>2]=d;sa=s;return 23679}r=Ja[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[r+8>>2]|0;c[e>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;q=Fa[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((q|0)>0){p=0;while(1){kb[c[(c[d>>2]|0)+16>>2]&3](d,s+28|0,s+4|0,s+16|0,s+8|0,s+24|0,s+20|0,s,s+12|0,p);i=c[s>>2]|0;c[g+24>>2]=i;c[g+28>>2]=c[s+4>>2];j=g+12|0;l=g+16|0;o=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[s+12>>2]|0){case 2:{if(i|0){j=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;k=c[j+8>>2]|0;c[g+8>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[s>>2]|0)>0){l=c[s+24>>2]|0;i=0;do{m=l+(J(c[s+20>>2]|0,i)|0)|0;n=i*3|0;c[k+(n<<2)>>2]=c[m>>2];c[k+(n+1<<2)>>2]=c[m+4>>2];c[k+(n+2<<2)>>2]=c[m+8>>2];i=i+1|0}while((i|0)<(c[s>>2]|0))}eb[c[(c[f>>2]|0)+20>>2]&31](f,j,23560,1497453121,c[j+8>>2]|0)}break}case 3:{if(i|0){m=Ja[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;n=c[m+8>>2]|0;c[j>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,n)|0;j=c[s>>2]|0;if((j|0)>0){k=c[s+24>>2]|0;l=c[s+20>>2]|0;i=0;do{t=k+(J(l,i)|0)|0;b[n+(i<<3)>>1]=b[t>>1]|0;b[n+(i<<3)+2>>1]=b[t+2>>1]|0;b[n+(i<<3)+4>>1]=b[t+4>>1]|0;i=i+1|0}while((i|0)!=(j|0))}eb[c[(c[f>>2]|0)+20>>2]&31](f,m,23575,1497453121,c[m+8>>2]|0)}break}case 5:{if(i|0){j=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;k=c[j+8>>2]|0;c[l>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[s>>2]|0)>0){i=0;do{t=(c[s+24>>2]|0)+(J(c[s+20>>2]|0,i)|0)|0;a[k+(i<<2)>>0]=a[t>>0]|0;a[k+(i<<2)+1>>0]=a[t+1>>0]|0;a[k+(i<<2)+2>>0]=a[t+2>>0]|0;i=i+1|0}while((i|0)<(c[s>>2]|0))}eb[c[(c[f>>2]|0)+20>>2]&31](f,j,23602,1497453121,c[j+8>>2]|0)}break}default:{}}switch(c[s+16>>2]|0){case 0:{i=c[s+4>>2]|0;if(i|0){j=Ja[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;k=c[j+8>>2]|0;c[g>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;l=c[s+4>>2]|0;if((l|0)>0){m=c[s+28>>2]|0;n=c[s+8>>2]|0;i=0;do{t=m+(J(n,i)|0)|0;c[k+(i<<4)>>2]=c[t>>2];c[k+(i<<4)+4>>2]=c[t+4>>2];c[k+(i<<4)+8>>2]=c[t+8>>2];i=i+1|0}while((i|0)!=(l|0))}eb[c[(c[f>>2]|0)+20>>2]&31](f,j,23625,1497453121,c[j+8>>2]|0)}break}case 1:{i=c[s+4>>2]|0;if(i|0){m=Ja[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;n=c[m+8>>2]|0;c[o>>2]=Ha[c[(c[f>>2]|0)+28>>2]&31](f,n)|0;j=c[s+4>>2]|0;if((j|0)>0){k=c[s+28>>2]|0;l=c[s+8>>2]|0;i=0;do{t=k+(J(l,i)|0)|0;h[n+(i<<5)>>3]=+h[t>>3];h[n+(i<<5)+8>>3]=+h[t+8>>3];h[n+(i<<5)+16>>3]=+h[t+16>>3];i=i+1|0}while((i|0)!=(j|0))}eb[c[(c[f>>2]|0)+20>>2]&31](f,m,23644,1497453121,c[m+8>>2]|0)}break}default:{}}Va[c[(c[d>>2]|0)+24>>2]&127](d,p);p=p+1|0;if((p|0)==(q|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);eb[c[(c[g>>2]|0)+20>>2]&31](f,r,23664,1497453121,c[r+8>>2]|0);t=d+4|0;f=e+4|0;t=c[t>>2]|0;c[f>>2]=t;f=d+8|0;f=c[f>>2]|0;t=e+8|0;c[t>>2]=f;t=d+12|0;t=c[t>>2]|0;f=e+12|0;c[f>>2]=t;f=d+16|0;f=c[f>>2]|0;t=e+16|0;c[t>>2]=f;sa=s;return 23679}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;o=c[a+192>>2]|0;n=+va[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+712>>2]|0;if((o|0)>0){i=0;do{m=c[a+720>>2]|0;f=m+(i*104|0)+8|0;q=+g[f>>2];h=m+(i*104|0)+12|0;p=+g[h>>2];d=m+(i*104|0)+16|0;l=+g[d>>2];j=q*+g[b>>2]+p*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];k=q*+g[b+16>>2]+p*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=q*+g[b+32>>2]+p*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=j;g[h>>2]=k;g[d>>2]=l;g[m+(i*104|0)+20>>2]=0.0;d=m+(i*104|0)+24|0;p=+g[d>>2];h=m+(i*104|0)+28|0;q=+g[h>>2];f=m+(i*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[m+(i*104|0)+36>>2]=0.0;f=m+(i*104|0)+72|0;t=+g[f>>2];h=m+(i*104|0)+76|0;s=+g[h>>2];d=m+(i*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[m+(i*104|0)+84>>2]=0.0;m=c[m+(i*104|0)+96>>2]|0;d=sg(a+928|0,m)|0;a:do if(d){h=c[a+936>>2]|0;if((h|0)<=-1){d=c[a+928>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;ue(a+928|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Nf(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+va[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+892>>2]=+g[d>>2]-r;g[a+896>>2]=t;g[a+900>>2]=s;g[a+904>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+908>>2]=r+ +g[d+16>>2];g[a+912>>2]=s;g[a+916>>2]=t;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;m=c[o+32>>2]|0;eb[c[(c[m>>2]|0)+16>>2]&31](m,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){cf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}f=c[a+740>>2]|0;d=0;do{m=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;r=+g[m+8>>2]-+g[o+8>>2];s=+g[m+12>>2]-+g[o+12>>2];t=+g[m+16>>2]-+g[o+16>>2];t=+x(+(r*r+s*s+t*t));g[f+(d*52|0)+16>>2]=t;g[f+(d*52|0)+28>>2]=t*t;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));cf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}function Wc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0.0,z=0.0,A=0.0,B=0;w=sa;sa=sa+64|0;if((h|0)>0){b=0;j=0;do{v=c[f+(j<<2)>>2]|0;b=(v|0)>(b|0)?v:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;s=b+1|0;k=J(s,s)|0;if(!k)j=0;else{c[7182]=(c[7182]|0)+1;j=xb(k+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}mk(j|0,0,k|0)|0}if((b|0)>-1){c[7182]=(c[7182]|0)+1;b=xb((s<<4|3)+16|0)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}b=0;do{v=l+(b<<4)|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];b=b+1|0}while((b|0)!=(s|0));b=0;k=0;while(1){u=c[e+(k+1<<2)>>2]|0;v=c[e+(k+2<<2)>>2]|0;c[l+(b<<4)>>2]=c[e+(k<<2)>>2];c[l+(b<<4)+4>>2]=u;c[l+(b<<4)+8>>2]=v;g[l+(b<<4)+12>>2]=0.0;k=k+3|0;if((k|0)>=(s*3|0)){v=l;u=l;break}else b=b+1|0}}else{v=0;u=0}c[7182]=(c[7182]|0)+1;b=xb(1271)|0;if(!b)t=0;else{c[(b+4+15&-16)+-4>>2]=b;t=b+4+15&-16}Hb(t,d,s,v,0);if((h|0)>0){d=t+720|0;m=t+732|0;n=t+740|0;o=t+924|0;e=0;do{p=c[f+(e<<2)>>2]|0;q=c[f+(e+1<<2)>>2]|0;r=c[f+(e+2<<2)>>2]|0;l=J(p,s)|0;b=j+(l+r)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+((J(r,s)|0)+p)>>0]=1;B=c[d>>2]|0;oh(t,0);k=(c[m>>2]|0)+-1|0;b=c[n>>2]|0;c[b+(k*52|0)+8>>2]=B+(r*104|0);c[b+(k*52|0)+12>>2]=B+(p*104|0);A=+g[B+(r*104|0)+8>>2]-+g[B+(p*104|0)+8>>2];z=+g[B+(r*104|0)+12>>2]-+g[B+(p*104|0)+12>>2];y=+g[B+(r*104|0)+16>>2]-+g[B+(p*104|0)+16>>2];g[b+(k*52|0)+16>>2]=+x(+(A*A+z*z+y*y));a[o>>0]=1}k=J(q,s)|0;b=j+(k+p)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(l+q)>>0]=1;b=c[d>>2]|0;oh(t,0);B=(c[m>>2]|0)+-1|0;l=c[n>>2]|0;c[l+(B*52|0)+8>>2]=b+(p*104|0);c[l+(B*52|0)+12>>2]=b+(q*104|0);y=+g[b+(p*104|0)+8>>2]-+g[b+(q*104|0)+8>>2];z=+g[b+(p*104|0)+12>>2]-+g[b+(q*104|0)+12>>2];A=+g[b+(p*104|0)+16>>2]-+g[b+(q*104|0)+16>>2];g[l+(B*52|0)+16>>2]=+x(+(y*y+z*z+A*A));a[o>>0]=1}b=j+((J(r,s)|0)+q)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(k+r)>>0]=1;k=c[d>>2]|0;oh(t,0);B=(c[m>>2]|0)+-1|0;l=c[n>>2]|0;c[l+(B*52|0)+8>>2]=k+(q*104|0);c[l+(B*52|0)+12>>2]=k+(r*104|0);y=+g[k+(q*104|0)+8>>2]-+g[k+(r*104|0)+8>>2];z=+g[k+(q*104|0)+12>>2]-+g[k+(r*104|0)+12>>2];A=+g[k+(q*104|0)+16>>2]-+g[k+(r*104|0)+16>>2];g[l+(B*52|0)+16>>2]=+x(+(y*y+z*z+A*A));a[o>>0]=1}mf(t,p,q,r,0);e=e+3|0}while((e|0)<(h*3|0))}if(i){l=c[t+732>>2]|0;if((l|0)>0){e=t+740|0;b=243703;k=0;do{d=c[e>>2]|0;m=d+(k*52|0)|0;b=(J(b,1664525)|0)+1013904223|0;n=w;o=m;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=m;o=d+(((b>>>0)%(l>>>0)|0)*52|0)|0;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=d+(((b>>>0)%(l>>>0)|0)*52|0)|0;o=w;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k=k+1|0}while((k|0)!=(l|0))}else b=243703;d=c[t+752>>2]|0;if((d|0)>0){m=t+760|0;k=0;do{e=c[m>>2]|0;l=e+(k*44|0)|0;b=(J(b,1664525)|0)+1013904223|0;e=e+(((b>>>0)%(d>>>0)|0)*44|0)|0;n=w;o=l;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=l;o=e;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=e;o=w;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k=k+1|0}while((k|0)!=(d|0))}}if(!((v|0)==0|(u|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[u+-4>>2]|0)}if(!j){sa=w;return t|0}c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);sa=w;return t|0}function Xc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;i=sa;sa=sa+256|0;e=c[b+212>>2]|0;if((e|0)>-1){b=e;sa=i;return b|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;mk(i|0,0,244)|0;a=Pe(a+4|0,i)|0;f=(c[b+236>>2]&2|0)==0;e=f?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(f){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;e=a+176|0;f=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}else{c[a>>2]=c[e+4>>2];c[a+4>>2]=c[e+4+4>>2];c[a+8>>2]=c[e+4+8>>2];c[a+12>>2]=c[e+4+12>>2];c[a+16>>2]=c[e+20>>2];c[a+16+4>>2]=c[e+20+4>>2];c[a+16+8>>2]=c[e+20+8>>2];c[a+16+12>>2]=c[e+20+12>>2];c[a+32>>2]=c[e+36>>2];c[a+32+4>>2]=c[e+36+4>>2];c[a+32+8>>2]=c[e+36+8>>2];c[a+32+12>>2]=c[e+36+12>>2];c[a+48>>2]=c[e+52>>2];c[a+48+4>>2]=c[e+52+4>>2];c[a+48+8>>2]=c[e+52+8>>2];c[a+48+12>>2]=c[e+52+12>>2];n=+g[e+344>>2];m=n*+g[e+352>>2];l=n*+g[e+356>>2];g[a+128>>2]=n*+g[e+348>>2];g[a+132>>2]=m;g[a+136>>2]=l;g[a+140>>2]=0.0;c[a+240>>2]=e;c[a+96>>2]=c[e+544>>2];c[a+96+4>>2]=c[e+544+4>>2];c[a+96+8>>2]=c[e+544+8>>2];c[a+96+12>>2]=c[e+544+12>>2];c[a+112>>2]=c[e+348>>2];c[a+112+4>>2]=c[e+348+4>>2];c[a+112+8>>2]=c[e+348+8>>2];c[a+112+12>>2]=c[e+348+12>>2];c[a+176>>2]=c[e+312>>2];c[a+176+4>>2]=c[e+312+4>>2];c[a+176+8>>2]=c[e+312+8>>2];c[a+176+12>>2]=c[e+312+12>>2];c[a+192>>2]=c[e+328>>2];c[a+192+4>>2]=c[e+328+4>>2];c[a+192+8>>2]=c[e+328+8>>2];c[a+192+12>>2]=c[e+328+12>>2];l=+g[e+344>>2];m=l*+g[e+416>>2]*d;n=l*+g[e+420>>2]*d;g[a+208>>2]=l*+g[e+412>>2]*d;g[a+212>>2]=m;g[a+216>>2]=n;g[a+220>>2]=0.0;n=+g[e+428>>2];m=+g[e+432>>2];l=+g[e+436>>2];k=(n*+g[e+268>>2]+m*+g[e+284>>2]+l*+g[e+300>>2])*d;j=(n*+g[e+272>>2]+m*+g[e+288>>2]+l*+g[e+304>>2])*d;g[a+224>>2]=(+g[e+264>>2]*n+ +g[e+280>>2]*m+ +g[e+296>>2]*l)*d;g[a+228>>2]=k;g[a+232>>2]=j}g[a+236>>2]=0.0;c[b+212>>2]=h;b=h;sa=i;return b|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){b=e;sa=i;return b|0}c[a+188>>2]=c[a+8>>2];mk(i|0,0,244)|0;e=Pe(a+4|0,i)|0;c[e+64>>2]=0;c[e+64+4>>2]=0;c[e+64+8>>2]=0;c[e+64+12>>2]=0;c[e+64+16>>2]=0;c[e+64+20>>2]=0;c[e+64+24>>2]=0;c[e+64+28>>2]=0;c[e+144>>2]=0;c[e+144+4>>2]=0;c[e+144+8>>2]=0;c[e+144+12>>2]=0;c[e+144+16>>2]=0;c[e+144+20>>2]=0;c[e+144+24>>2]=0;c[e+144+28>>2]=0;c[e>>2]=1065353216;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;c[e+4+12>>2]=0;c[e+20>>2]=1065353216;c[e+24>>2]=0;c[e+24+4>>2]=0;c[e+24+8>>2]=0;c[e+24+12>>2]=0;c[e+40>>2]=1065353216;c[e+44>>2]=0;c[e+44+4>>2]=0;c[e+44+8>>2]=0;c[e+44+12>>2]=0;c[e+44+16>>2]=0;c[e+240>>2]=0;c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;c[e+128+12>>2]=0;c[e+96>>2]=1065353216;c[e+100>>2]=1065353216;c[e+104>>2]=1065353216;g[e+108>>2]=0.0;c[e+112>>2]=1065353216;c[e+116>>2]=1065353216;c[e+120>>2]=1065353216;g[e+124>>2]=0.0;e=e+176|0;f=e+64|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=c[a+188>>2]|0;sa=i;return b|0}function Yc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0.0;if(a[b+165>>0]|0){h=c[b+88>>2]|0;a:do if((h|0)>0&e){f=c[b+96>>2]|0;k=+g[d>>2];l=+g[d+4>>2];m=+g[d+8>>2];n=+g[b+168>>2];e=0;while(1){s=+g[f+(e<<4)>>2]-k;r=+g[f+(e<<4)+4>>2]-l;q=+g[f+(e<<4)+8>>2]-m;if(s*s+r*r+q*q<=n)break;e=e+1|0;if((e|0)>=(h|0))break a}return e|0}while(0);p=(c[b+32>>2]|0)+12|0;c[p>>2]=(c[p>>2]|0)+1;if((h|0)==(c[b+92>>2]|0)?(i=(h|0)==0?1:h<<1,(h|0)<(i|0)):0){if(!i)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+88>>2]|0}if((h|0)>0){f=0;do{p=e+(f<<4)|0;o=(c[b+96>>2]|0)+(f<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+96>>2]|0;if(f|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=e;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=h;p=(c[b+96>>2]|0)+(e<<4)|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}j=c[b+108>>2]|0;b:do if((j|0)>0&e){f=c[b+116>>2]|0;k=+g[d>>2];l=+g[d+4>>2];m=+g[d+8>>2];n=+g[b+168>>2];e=0;while(1){q=+g[f+(e<<2)>>2]-k;r=+g[f+(e+1<<2)>>2]-l;s=+g[f+(e+2<<2)>>2]-m;h=e+3|0;if(q*q+r*r+s*s<=n)break;if((h|0)<(j|0))e=h;else break b}d=(e>>>0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((j|0)==(e|0)){e=(j|0)==0?1:j<<1;if((j|0)<(e|0)){if(!e)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((e<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[b+108>>2]|0}i=c[b+116>>2]|0;if((j|0)<=0)if(!i){i=b+120|0;h=j}else p=36;else{h=0;do{c[f+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0));p=36}if((p|0)==36){if(!(a[b+120>>0]|0))h=j;else{c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[b+108>>2]|0}c[b+116>>2]=0;i=b+120|0}a[i>>0]=1;c[b+116>>2]=f;c[b+112>>2]=e}else{h=j;e=j}}else h=j;j=c[b+116>>2]|0;c[j+(h<<2)>>2]=c[d>>2];f=h+1|0;c[b+108>>2]=f;if((f|0)==(e|0)){o=(e|0)==0?1:e<<1;if((e|0)<(o|0)){if(!o){i=0;h=j}else{c[7182]=(c[7182]|0)+1;e=xb((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=e;e=c[b+108>>2]|0;h=c[b+116>>2]|0}if((e|0)<=0)if(!h)f=b+120|0;else p=51;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));p=51}if((p|0)==51){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=i;c[b+112>>2]=o;f=e;e=o}else{i=j;f=e}}else i=j;c[i+(f<<2)>>2]=c[d+4>>2];f=f+1|0;c[b+108>>2]=f;if((f|0)==(e|0)){j=(e|0)==0?1:e<<1;if((e|0)<(j|0)){if(!j)h=0;else{c[7182]=(c[7182]|0)+1;e=xb((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=e;e=c[b+108>>2]|0;i=c[b+116>>2]|0}if((e|0)<=0)if(!i)f=b+120|0;else p=66;else{f=0;do{c[h+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));p=66}if((p|0)==66){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=h;c[b+112>>2]=j}else h=i}else{h=i;e=f}c[h+(e<<2)>>2]=c[d+8>>2];d=e+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=h;d=((d|0)/3|0)+-1|0;return d|0}function Zc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0;v=sa;sa=sa+64|0;i=c[a+28>>2]|0;l=c[a+32>>2]|0;k=c[b+8>>2]|0;g[k>>2]=1.0;f=c[b+24>>2]|0;g[k+(f+1<<2)>>2]=1.0;g[k+((f<<1)+2<<2)>>2]=1.0;t=+g[a+48>>2];u=+g[a+52>>2];j=+g[a+56>>2];d=+g[i+4>>2]*t+ +g[i+8>>2]*u+ +g[i+12>>2]*j;h=t*+g[i+20>>2]+u*+g[i+24>>2]+j*+g[i+28>>2];j=t*+g[i+36>>2]+u*+g[i+40>>2]+j*+g[i+44>>2];k=c[b+12>>2]|0;c[k>>2]=0;g[k+4>>2]=j;g[k+8>>2]=-h;g[k+12>>2]=0.0;g[k+(f<<2)>>2]=-j;c[k+(f<<2)+4>>2]=0;g[k+(f<<2)+8>>2]=d;g[k+(f<<2)+12>>2]=0.0;g[k+(f<<1<<2)>>2]=h;g[k+(f<<1<<2)+4>>2]=-d;c[k+(f<<1<<2)+8>>2]=0;g[k+(f<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;if(e|0){g[e>>2]=-1.0;g[e+(f+1<<2)>>2]=-1.0;g[e+((f<<1)+2<<2)>>2]=-1.0}q=+g[a+64>>2];u=+g[a+68>>2];t=+g[a+72>>2];r=+g[l+4>>2]*q+ +g[l+8>>2]*u+ +g[l+12>>2]*t;s=q*+g[l+20>>2]+u*+g[l+24>>2]+t*+g[l+28>>2];t=q*+g[l+36>>2]+u*+g[l+40>>2]+t*+g[l+44>>2];e=c[b+20>>2]|0;c[e>>2]=0;g[e+4>>2]=-t;g[e+8>>2]=s;g[e+12>>2]=0.0;g[e+(f<<2)>>2]=t;c[e+(f<<2)+4>>2]=0;g[e+(f<<2)+8>>2]=-r;g[e+(f<<2)+12>>2]=0.0;g[e+(f<<1<<2)>>2]=-s;g[e+(f<<1<<2)+4>>2]=r;c[e+(f<<1<<2)+8>>2]=0;g[e+(f<<1<<2)+12>>2]=0.0;u=+g[b>>2]*+g[b+4>>2];s=u*(s+ +g[l+56>>2]-h-+g[i+56>>2]);t=u*(t+ +g[l+60>>2]-j-+g[i+60>>2]);w=c[b+28>>2]|0;g[w>>2]=u*(r+ +g[l+52>>2]-d-+g[i+52>>2]);g[w+(f<<2)>>2]=s;g[w+(f<<1<<2)>>2]=t;g[k+(f*3<<2)>>2]=1.0;g[k+((f<<2|1)<<2)>>2]=1.0;g[k+((f*5|0)+2<<2)>>2]=1.0;if(e|0){g[e+(f*3<<2)>>2]=-1.0;g[e+((f<<2|1)<<2)>>2]=-1.0;g[e+((f*5|0)+2<<2)>>2]=-1.0}m=+g[l+24>>2];z=+g[l+44>>2];j=+g[l+28>>2];n=+g[l+40>>2];y=+g[l+36>>2];h=+g[l+20>>2];t=+g[l+4>>2];s=+g[l+8>>2];p=+g[l+12>>2];d=1.0/((m*z-j*n)*t+s*(j*y-z*h)+(n*h-m*y)*p);F=+g[i+4>>2];E=+g[i+8>>2];G=+g[i+12>>2];D=+g[i+20>>2];B=+g[i+24>>2];A=+g[i+28>>2];o=+g[i+36>>2];q=+g[i+40>>2];r=+g[i+44>>2];g[v+16>>2]=G*(n*h-m*y)*d+(F*(m*z-j*n)*d+E*(j*y-z*h)*d);g[v+16+4>>2]=G*(y*s-n*t)*d+(F*(n*p-z*s)*d+E*(z*t-y*p)*d);g[v+16+8>>2]=G*(m*t-h*s)*d+(F*(j*s-m*p)*d+E*(h*p-j*t)*d);g[v+16+12>>2]=0.0;g[v+16+16>>2]=(m*z-j*n)*d*D+(j*y-z*h)*d*B+(n*h-m*y)*d*A;g[v+16+20>>2]=(n*p-z*s)*d*D+(z*t-y*p)*d*B+(y*s-n*t)*d*A;g[v+16+24>>2]=(j*s-m*p)*d*D+(h*p-j*t)*d*B+(m*t-h*s)*d*A;g[v+16+28>>2]=0.0;g[v+16+32>>2]=(m*z-j*n)*d*o+(j*y-z*h)*d*q+(n*h-m*y)*d*r;g[v+16+36>>2]=(n*p-z*s)*d*o+(z*t-y*p)*d*q+(y*s-n*t)*d*r;g[v+16+40>>2]=(j*s-m*p)*d*o+(h*p-j*t)*d*q+(m*t-h*s)*d*r;g[v+16+44>>2]=0.0;Og(v+16|0,v);r=+g[a+80>>2];d=+g[v>>2];s=+g[a+84>>2];h=+g[v+4>>2];t=+g[a+88>>2];m=+g[v+8>>2];q=+g[a+92>>2];j=+g[v+12>>2];if(!((r-d)*(r-d)+(s-h)*(s-h)+(t-m)*(t-m)+(q-j)*(q-j)<(r+d)*(r+d)+(s+h)*(s+h)+(t+m)*(t+m)+(q+j)*(q+j))){d=-d;h=-h;m=-m;j=-j}n=h*-t+(j*-r+d*q)-m*-s;o=m*-r+(j*-s+h*q)-d*-t;p=d*-s+(j*-t+m*q)-h*-r;d=j*q-d*-r-h*-s-m*-t;d=d<-1.0?-1.0:d;d=+C(+(d>1.0?1.0:d))*2.0;if(n*n+o*o+p*p<1.4210854715202004e-14){E=1.0;F=0.0;D=0.0;G=-d;E=E*G;F=F*G;G=D*G;a=c[b+28>>2]|0;w=c[b+24>>2]|0;E=u*E;b=w*3|0;b=a+(b<<2)|0;g[b>>2]=E;F=u*F;b=w<<2;b=a+(b<<2)|0;g[b>>2]=F;G=u*G;w=w*5|0;w=a+(w<<2)|0;g[w>>2]=G;sa=v;return}D=1.0/+x(+(n*n+o*o+p*p));E=n*D;F=o*D;D=p*D;G=-d;E=E*G;F=F*G;G=D*G;a=c[b+28>>2]|0;w=c[b+24>>2]|0;E=u*E;b=w*3|0;b=a+(b<<2)|0;g[b>>2]=E;F=u*F;b=w<<2;b=a+(b<<2)|0;g[b>>2]=F;G=u*G;w=w*5|0;w=a+(w<<2)|0;g[w>>2]=G;sa=v;return}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0;o=sa;sa=sa+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+16+4>>2]=c[d+16+4>>2];c[o+16+8>>2]=c[d+16+8>>2];c[o+16+12>>2]=c[d+16+12>>2];c[o+32>>2]=c[d+32>>2];c[o+32+4>>2]=c[d+32+4>>2];c[o+32+8>>2]=c[d+32+8>>2];c[o+32+12>>2]=c[d+32+12>>2];c[o+48>>2]=c[d+48>>2];c[o+48+4>>2]=c[d+48+4>>2];c[o+48+8>>2]=c[d+48+8>>2];c[o+48+12>>2]=c[d+48+12>>2];m=c[e+4>>2]|0;n=+va[c[(c[e>>2]|0)+48>>2]&15](e);ab[c[(c[e>>2]|0)+8>>2]&127](e,d,o+112|0,o+96|0);f=+g[o+112>>2];if(+g[b+32>>2]>f)g[b+32>>2]=f;f=+g[o+96>>2];if(+g[b+48>>2]>2]=f;f=+g[o+112+4>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[o+96+4>>2];if(+g[b+52>>2]>2]=f;f=+g[o+112+8>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[o+96+8>>2];if(+g[b+56>>2]>2]=f;k=c[b+64>>2]|0;if(!k){k=b+16|0;j=0}else{c[o+64>>2]=c[o+112>>2];c[o+64+4>>2]=c[o+112+4>>2];c[o+64+8>>2]=c[o+112+8>>2];c[o+64+12>>2]=c[o+112+12>>2];c[o+64+16>>2]=c[o+96>>2];c[o+64+16+4>>2]=c[o+96+4>>2];c[o+64+16+8>>2]=c[o+96+8>>2];c[o+64+16+12>>2]=c[o+96+12>>2];j=c[b+16>>2]|0;d=c[k+4>>2]|0;if(!d){c[7182]=(c[7182]|0)+1;d=xb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[k+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[o+64>>2];c[d+4>>2]=c[o+64+4>>2];c[d+8>>2]=c[o+64+8>>2];c[d+12>>2]=c[o+64+12>>2];c[d+16>>2]=c[o+64+16>>2];c[d+20>>2]=c[o+64+20>>2];c[d+24>>2]=c[o+64+24>>2];c[d+28>>2]=c[o+64+28>>2];ue(k,c[k>>2]|0,d);c[k+12>>2]=(c[k+12>>2]|0)+1;k=b+16|0;j=d}d=c[k>>2]|0;if((d|0)==(c[b+20>>2]|0)?(l=(d|0)==0?1:d<<1,(d|0)<(l|0)):0){if(!l)i=0;else{c[7182]=(c[7182]|0)+1;d=xb((l*80|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[k>>2]|0}if((d|0)>0){h=0;do{p=i+(h*80|0)|0;q=c[b+24>>2]|0;r=q+(h*80|0)|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=q+(h*80|0)+16|0;r=i+(h*80|0)+16|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=q+(h*80|0)+32|0;p=i+(h*80|0)+32|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=i+(h*80|0)+48|0;r=q+(h*80|0)+48|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=i+(h*80|0)+64|0;q=q+(h*80|0)+64|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=i;c[b+20>>2]=l;d=c[k>>2]|0}r=c[b+24>>2]|0;q=r+(d*80|0)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];q=r+(d*80|0)+16|0;c[q>>2]=c[o+16>>2];c[q+4>>2]=c[o+16+4>>2];c[q+8>>2]=c[o+16+8>>2];c[q+12>>2]=c[o+16+12>>2];q=r+(d*80|0)+32|0;c[q>>2]=c[o+32>>2];c[q+4>>2]=c[o+32+4>>2];c[q+8>>2]=c[o+32+8>>2];c[q+12>>2]=c[o+32+12>>2];q=r+(d*80|0)+48|0;c[q>>2]=c[o+48>>2];c[q+4>>2]=c[o+48+4>>2];c[q+8>>2]=c[o+48+8>>2];c[q+12>>2]=c[o+48+12>>2];r=r+(d*80|0)+64|0;c[r>>2]=e;c[r+4>>2]=m;g[r+8>>2]=n;c[r+12>>2]=j;c[k>>2]=(c[k>>2]|0)+1;sa=o;return}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;l=sa;sa=sa+384|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(J(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[6845]=(c[6845]|0)+1;sa=l;return}c[l+328+4>>2]=35;c[l+328+8>>2]=0;c[l+328+12>>2]=1065353216;c[l+328+16>>2]=1065353216;c[l+328+20>>2]=1065353216;g[l+328+24>>2]=0.0;c[l+328>>2]=6196;c[l+328+52>>2]=f;g[l+328+44>>2]=0.0;c[l+272+4>>2]=35;c[l+272+8>>2]=0;c[l+272+12>>2]=1065353216;c[l+272+16>>2]=1065353216;c[l+272+20>>2]=1065353216;g[l+272+24>>2]=0.0;c[l+272>>2]=6196;c[l+272+52>>2]=d;g[l+272+44>>2]=0.0;if((a[26616]|0)==0?mz(26616)|0:0){if((a[26624]|0)==0?mz(26624)|0:0){c[6774]=1065353216;c[6775]=0;c[6776]=0;c[6777]=0;c[6778]=0;c[6779]=1065353216;c[6780]=0;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=1065353216;g[6785]=0.0}c[6758]=c[6774];c[6759]=c[6775];c[6760]=c[6776];c[6761]=c[6777];c[6762]=c[6778];c[6763]=c[6779];c[6764]=c[6780];c[6765]=c[6781];c[6766]=c[6782];c[6767]=c[6783];c[6768]=c[6784];c[6769]=c[6785];c[6770]=0;c[6771]=0;c[6772]=0;c[6773]=0}if((a[26616]|0)==0?mz(26616)|0:0){if((a[26624]|0)==0?mz(26624)|0:0){c[6774]=1065353216;c[6775]=0;c[6776]=0;c[6777]=0;c[6778]=0;c[6779]=1065353216;c[6780]=0;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=1065353216;g[6785]=0.0}c[6758]=c[6774];c[6759]=c[6775];c[6760]=c[6776];c[6761]=c[6777];c[6762]=c[6778];c[6763]=c[6779];c[6764]=c[6780];c[6765]=c[6781];c[6766]=c[6782];c[6767]=c[6783];c[6768]=c[6784];c[6769]=c[6785];c[6770]=0;c[6771]=0;c[6772]=0;c[6773]=0}n=+g[f+232>>2]-+g[d+232>>2];m=+g[f+236>>2]-+g[d+236>>2];g[l>>2]=+g[f+228>>2]-+g[d+228>>2];g[l+4>>2]=n;g[l+8>>2]=m;g[l+12>>2]=0.0;if(!(!(Rc(l+328|0,27032,l+272|0,27032,l,l+216|0)|0)?!(Ob(l+328|0,27032,l+272|0,27032,l,l+216|0,0)|0):0))h=19;if((h|0)==19?(c[l+4>>2]=0,c[l+4+4>>2]=0,c[l+4+8>>2]=0,c[l+4+12>>2]=0,c[l+4+16>>2]=0,c[l+4+20>>2]=0,a[l+152>>0]=0,c[l>>2]=6016,jc(b,l+216|0,f,0,0,d,0,0,l)|0):0){c[7182]=(c[7182]|0)+1;d=xb(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;mk(e|0,0,212)|0;c[j>>2]=6016;f=l+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[l+104>>2];c[e+4>>2]=c[l+104+4>>2];c[e+8>>2]=c[l+104+8>>2];c[e+12>>2]=c[l+104+12>>2];e=j+120|0;c[e>>2]=c[l+120>>2];c[e+4>>2]=c[l+120+4>>2];c[e+8>>2]=c[l+120+8>>2];c[e+12>>2]=c[l+120+12>>2];e=j+136|0;c[e>>2]=c[l+136>>2];c[e+4>>2]=c[l+136+4>>2];c[e+8>>2]=c[l+136+8>>2];c[e+12>>2]=c[l+136+12>>2];a[d>>0]=a[l+152>>0]|0;e=j+156|0;f=l+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=(d|0)==0?1:d<<1,(d|0)<(k|0)):0){if(!k)f=0;else{c[7182]=(c[7182]|0)+1;d=xb((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;i=c[b+24>>2]|0;k=c[b+28>>2]|0;m=+g[i+348>>2];n=+g[k+348>>2];b=j+64|0;g[b>>2]=+g[b>>2]*(m>n?m:n);b=j+68|0;g[b>>2]=+g[b>>2]*(+g[i+360>>2]+ +g[k+360>>2])*.5}sa=l;return}function ad(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=sa;sa=sa+16|0;Ki(15377);E=c[a+712>>2]|0;if((E|0)>0){c[7182]=(c[7182]|0)+1;d=xb((E<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}mk(h|0,0,E<<4|0)|0;f=c[a+712>>2]|0;if((f|0)>0){c[7182]=(c[7182]|0)+1;d=xb((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}mk(d|0,0,f<<2|0)|0;C=d;D=h;A=d;z=h}else{C=0;D=h;A=0;z=h}}else{C=0;D=0;A=0;z=0}y=c[a+1112>>2]|0;if(b){if((y|0)>0){f=c[a+1120>>2]|0;d=0;do{h=c[f+(d<<2)>>2]|0;i=c[h+312>>2]|0;if(i|0){g[h+276>>2]=1.0/+(i|0)*+g[h+276>>2];g[h+280>>2]=1.0/+(i|0)*+g[h+280>>2];g[h+284>>2]=1.0/+(i|0)*+g[h+284>>2];g[h+292>>2]=1.0/+(i|0)*+g[h+292>>2];g[h+296>>2]=1.0/+(i|0)*+g[h+296>>2];g[h+300>>2]=1.0/+(i|0)*+g[h+300>>2]}d=d+1|0}while((d|0)!=(y|0));B=14}}else B=14;if((B|0)==14?(y|0)>0:0){k=c[a+1120>>2]|0;if(b){f=0;do{b=c[k+(f<<2)>>2]|0;if((c[b+312>>2]|0)>0?(w=+g[a+452>>2],r=+g[b+276>>2]*w,s=w*+g[b+280>>2],t=w*+g[b+284>>2],u=w*+g[b+292>>2],v=w*+g[b+296>>2],w=w*+g[b+300>>2],x=c[b+24>>2]|0,(x|0)>0):0){j=c[b+32>>2]|0;h=c[a+720>>2]|0;i=c[b+12>>2]|0;d=0;do{q=c[j+(d<<2)>>2]|0;p=+g[i+(d<<2)>>2];o=+g[q+8>>2]-+g[b+228>>2];n=+g[q+12>>2]-+g[b+232>>2];m=+g[q+16>>2]-+g[b+236>>2];G=D+(((q-h|0)/104|0)<<4)|0;g[G>>2]=+g[G>>2]+p*(r+(v*m-w*n));G=D+(((q-h|0)/104|0)<<4)+4|0;g[G>>2]=+g[G>>2]+p*(s+(w*o-u*m));G=D+(((q-h|0)/104|0)<<4)+8|0;g[G>>2]=p*(t+(u*n-v*o))+ +g[G>>2];q=C+(((q-h|0)/104|0)<<2)|0;g[q>>2]=p+ +g[q>>2];d=d+1|0}while((d|0)!=(x|0))}f=f+1|0}while((f|0)!=(y|0))}else{f=0;do{h=c[k+(f<<2)>>2]|0;if((c[h+308>>2]|0)>0?(p=+g[a+452>>2],e=+g[h+244>>2]*p,l=p*+g[h+248>>2],m=p*+g[h+252>>2],n=p*+g[h+260>>2],o=p*+g[h+264>>2],p=p*+g[h+268>>2],q=c[h+24>>2]|0,(q|0)>0):0){i=c[h+32>>2]|0;b=c[a+720>>2]|0;j=c[h+12>>2]|0;d=0;do{G=c[i+(d<<2)>>2]|0;w=+g[j+(d<<2)>>2];v=+g[G+8>>2]-+g[h+228>>2];u=+g[G+12>>2]-+g[h+232>>2];t=+g[G+16>>2]-+g[h+236>>2];x=D+(((G-b|0)/104|0)<<4)|0;g[x>>2]=+g[x>>2]+w*(e+(o*t-p*u));x=D+(((G-b|0)/104|0)<<4)+4|0;g[x>>2]=+g[x>>2]+w*(l+(p*v-n*t));x=D+(((G-b|0)/104|0)<<4)+8|0;g[x>>2]=w*(m+(n*u-o*v))+ +g[x>>2];G=C+(((G-b|0)/104|0)<<2)|0;g[G>>2]=w+ +g[G>>2];d=d+1|0}while((d|0)!=(q|0))}f=f+1|0}while((f|0)!=(y|0))}}if((E|0)>0){d=0;do{e=+g[C+(d<<2)>>2];if(e>0.0){v=1.0/e*+g[D+(d<<4)+4>>2];w=1.0/e*+g[D+(d<<4)+8>>2];G=c[a+720>>2]|0;y=G+(d*104|0)+8|0;g[y>>2]=1.0/e*+g[D+(d<<4)>>2]+ +g[y>>2];y=G+(d*104|0)+12|0;g[y>>2]=v+ +g[y>>2];G=G+(d*104|0)+16|0;g[G>>2]=w+ +g[G>>2]}d=d+1|0}while((d|0)!=(E|0));if(A|0)B=35}else if(!((C|0)==0|(A|0)==0))B=35;if((B|0)==35){c[7183]=(c[7183]|0)+1;Hc(c[A+-4>>2]|0)}if(!((D|0)==0|(z|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[z+-4>>2]|0)}d=c[3084]|0;G=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=G;if(G|0){sa=F;return}do if(c[d+4>>2]|0){la(F|0,0)|0;G=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[F+4>>2]|0)-(c[G+4>>2]|0)+(((c[F>>2]|0)-(c[G>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=F;return}}while(0);c[3084]=c[d+20>>2];sa=F;return}function bd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;C=sa;sa=sa+272|0;z=+g[e+48>>2]-+g[d+48>>2];A=+g[e+52>>2]-+g[d+52>>2];B=+g[e+56>>2]-+g[d+56>>2];Se(d,e,C+256|0,C+208|0);u=+g[C+208>>2];s=+g[C+256>>2]*u;t=u*+g[C+256+4>>2];u=u*+g[C+256+8>>2];g[C+192>>2]=s;g[C+192+4>>2]=t;g[C+192+8>>2]=u;g[C+192+12>>2]=0.0;v=+g[h+48>>2]-+g[f+48>>2];w=+g[h+52>>2]-+g[f+52>>2];y=+g[h+56>>2]-+g[f+56>>2];Se(f,h,C+256|0,C+208|0);q=+g[C+208>>2];o=+g[C+256>>2]*q;p=q*+g[C+256+4>>2];q=q*+g[C+256+8>>2];g[C+176>>2]=o;g[C+176+4>>2]=p;g[C+176+8>>2]=q;g[C+176+12>>2]=0.0;e=c[b+12>>2]|0;r=+va[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)l=0.0;else l=+va[c[(c[e>>2]|0)+16>>2]&15](e);r=r*+x(+(s*s+t*t+u*u))+l*+x(+(o*o+p*p+q*q));if(r+ +x(+((v-z)*(v-z)+(w-A)*(w-A)+(y-B)*(y-B)))==0.0){i=0;sa=C;return i|0}c[C+208>>2]=12068;g[C+208+36>>2]=999999984306749440.0;a[C+208+40>>0]=0;Pc(b,d,f,C+208|0);h=(a[C+208+40>>0]|0)==0;c[C+256>>2]=c[C+208+20>>2];c[C+256+4>>2]=c[C+208+20+4>>2];c[C+256+8>>2]=c[C+208+20+8>>2];c[C+256+12>>2]=c[C+208+20+12>>2];a:do if(!h?(n=c[C+208+4>>2]|0,k=c[C+208+8>>2]|0,m=c[C+208+12>>2]|0,u=(v-z)*(c[j>>2]=n,+g[j>>2]),u=u+(w-A)*(c[j>>2]=k,+g[j>>2]),!(r+(u+(y-B)*(c[j>>2]=m,+g[j>>2]))<=1.1920928955078125e-07)):0){l=+g[C+208+16>>2];o=+g[i+172>>2]+ +g[C+208+36>>2];b:do if(o>1.0000000474974513e-03){h=0;p=0.0;q=o;while(1){e=c[i+168>>2]|0;if(e|0){D=c[(c[e>>2]|0)+20>>2]|0;c[C+112>>2]=1065353216;c[C+112+4>>2]=1065353216;c[C+112+8>>2]=1065353216;g[C+112+12>>2]=0.0;Xa[D&7](e,C+256|0,.20000000298023224,C+112|0)}l=(v-z)*(c[j>>2]=n,+g[j>>2]);l=l+(w-A)*(c[j>>2]=k,+g[j>>2]);l=r+(l+(y-B)*(c[j>>2]=m,+g[j>>2]));if(l<=1.1920928955078125e-07){k=0;break a}o=p+q/l;if(!(!(o<=p)&(!(o<0.0)&!(o>1.0)))){k=0;break a}jg(d,z,A,B,C+192|0,o,C+112|0);jg(f,v,w,y,C+176|0,o,C+48|0);k=c[i+168>>2]|0;if(k|0){D=c[(c[k>>2]|0)+20>>2]|0;c[C>>2]=1065353216;c[C+4>>2]=0;c[C+8>>2]=0;g[C+12>>2]=0.0;Xa[D&7](k,C+112+48|0,.20000000298023224,C)}Qa[c[c[i>>2]>>2]&31](i,o);c[C>>2]=12068;g[C+36>>2]=999999984306749440.0;a[C+40>>0]=0;Pc(b,C+112|0,C+48|0,C);if(!(a[C+40>>0]|0)){k=17;break}q=+g[C+36>>2]+ +g[i+172>>2];c[C+256>>2]=c[C+20>>2];c[C+256+4>>2]=c[C+20+4>>2];c[C+256+8>>2]=c[C+20+8>>2];c[C+256+12>>2]=c[C+20+12>>2];n=c[C+4>>2]|0;k=c[C+8>>2]|0;m=c[C+12>>2]|0;e=h+1|0;if(h>>>0>63){k=18;break}if(!(q>1.0000000474974513e-03)){l=+g[C+16>>2];break b}else{h=e;p=o}}if((k|0)==17)Za[c[(c[i>>2]|0)+8>>2]&127](i,-1,h);else if((k|0)==18)Za[c[(c[i>>2]|0)+8>>2]&127](i,-2,e);k=0;break a}else o=0.0;while(0);g[i+164>>2]=o;c[i+132>>2]=n;c[i+136>>2]=k;c[i+140>>2]=m;g[i+144>>2]=l;c[i+148>>2]=c[C+256>>2];c[i+148+4>>2]=c[C+256+4>>2];c[i+148+8>>2]=c[C+256+8>>2];c[i+148+12>>2]=c[C+256+12>>2];k=1}else k=0;while(0);D=k;sa=C;return D|0}function cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=sa;sa=sa+768|0;j=c[(c[a>>2]|0)+8>>2]|0;i=JI(b)|0;ns(h+736|0,i,i+4|0,i+8|0);Qv(h+752|0,e,+g[h+736>>2],+g[h+736+4>>2],+g[h+736+8>>2]);b=JI(d)|0;ns(h+704|0,b,i+4|0,i+8|0);Qv(h+720|0,e,+g[h+704>>2],+g[h+704+4>>2],+g[h+704+8>>2]);ab[j&127](a,h+752|0,h+720|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+672|0,b,i+4|0,i+8|0);Qv(h+688|0,e,+g[h+672>>2],+g[h+672+4>>2],+g[h+672+8>>2]);ns(h+640|0,b,b+4|0,i+8|0);Qv(h+656|0,e,+g[h+640>>2],+g[h+640+4>>2],+g[h+640+8>>2]);ab[d&127](a,h+688|0,h+656|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+608|0,b,b+4|0,i+8|0);Qv(h+624|0,e,+g[h+608>>2],+g[h+608+4>>2],+g[h+608+8>>2]);ns(h+576|0,i,b+4|0,i+8|0);Qv(h+592|0,e,+g[h+576>>2],+g[h+576+4>>2],+g[h+576+8>>2]);ab[d&127](a,h+624|0,h+592|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+544|0,i,b+4|0,i+8|0);Qv(h+560|0,e,+g[h+544>>2],+g[h+544+4>>2],+g[h+544+8>>2]);ns(h+512|0,i,i+4|0,i+8|0);Qv(h+528|0,e,+g[h+512>>2],+g[h+512+4>>2],+g[h+512+8>>2]);ab[d&127](a,h+560|0,h+528|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+480|0,i,i+4|0,i+8|0);Qv(h+496|0,e,+g[h+480>>2],+g[h+480+4>>2],+g[h+480+8>>2]);ns(h+448|0,i,i+4|0,b+8|0);Qv(h+464|0,e,+g[h+448>>2],+g[h+448+4>>2],+g[h+448+8>>2]);ab[d&127](a,h+496|0,h+464|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+416|0,b,i+4|0,i+8|0);Qv(h+432|0,e,+g[h+416>>2],+g[h+416+4>>2],+g[h+416+8>>2]);ns(h+384|0,b,i+4|0,b+8|0);Qv(h+400|0,e,+g[h+384>>2],+g[h+384+4>>2],+g[h+384+8>>2]);ab[d&127](a,h+432|0,h+400|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+352|0,b,b+4|0,i+8|0);Qv(h+368|0,e,+g[h+352>>2],+g[h+352+4>>2],+g[h+352+8>>2]);ns(h+320|0,b,b+4|0,b+8|0);Qv(h+336|0,e,+g[h+320>>2],+g[h+320+4>>2],+g[h+320+8>>2]);ab[d&127](a,h+368|0,h+336|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+288|0,i,b+4|0,i+8|0);Qv(h+304|0,e,+g[h+288>>2],+g[h+288+4>>2],+g[h+288+8>>2]);ns(h+256|0,i,b+4|0,b+8|0);Qv(h+272|0,e,+g[h+256>>2],+g[h+256+4>>2],+g[h+256+8>>2]);ab[d&127](a,h+304|0,h+272|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+224|0,i,i+4|0,b+8|0);Qv(h+240|0,e,+g[h+224>>2],+g[h+224+4>>2],+g[h+224+8>>2]);ns(h+192|0,b,i+4|0,b+8|0);Qv(h+208|0,e,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2]);ab[d&127](a,h+240|0,h+208|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+160|0,b,i+4|0,b+8|0);Qv(h+176|0,e,+g[h+160>>2],+g[h+160+4>>2],+g[h+160+8>>2]);ns(h+128|0,b,b+4|0,b+8|0);Qv(h+144|0,e,+g[h+128>>2],+g[h+128+4>>2],+g[h+128+8>>2]);ab[d&127](a,h+176|0,h+144|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+96|0,b,b+4|0,b+8|0);Qv(h+112|0,e,+g[h+96>>2],+g[h+96+4>>2],+g[h+96+8>>2]);ns(h+64|0,i,b+4|0,b+8|0);Qv(h+80|0,e,+g[h+64>>2],+g[h+64+4>>2],+g[h+64+8>>2]);ab[d&127](a,h+112|0,h+80|0,f);d=c[(c[a>>2]|0)+8>>2]|0;ns(h+32|0,i,b+4|0,b+8|0);Qv(h+48|0,e,+g[h+32>>2],+g[h+32+4>>2],+g[h+32+8>>2]);ns(h,i,i+4|0,b+8|0);Qv(h+16|0,e,+g[h>>2],+g[h+4>>2],+g[h+8>>2]);ab[d&127](a,h+48|0,h+16|0,f);sa=h;return}function dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;E=sa;sa=sa+32|0;A=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];D=+g[b+56>>2]-+g[b+120>>2];B=A*+g[b+64>>2]+h*+g[b+80>>2]+D*+g[b+96>>2];C=A*+g[b+68>>2]+h*+g[b+84>>2]+D*+g[b+100>>2];D=A*+g[b+72>>2]+h*+g[b+88>>2]+D*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+28>>2]*+g[z+12>>2];A=h+ +g[a+12>>2];o=+g[e+72>>2];p=+g[e+56>>2];q=+g[e+76>>2];r=+g[e+60>>2];s=+g[e+80>>2];t=+g[e+64>>2];u=+g[e+88>>2];v=+g[e+92>>2];w=+g[e+96>>2];j=(q-r)*(w-t)-(s-t)*(v-r);l=(s-t)*(u-p)-(o-p)*(w-t);n=(o-p)*(v-r)-(q-r)*(u-p);m=1.0/+x(+(n*n+(j*j+l*l)));i=(D-t)*n*m+((B-p)*j*m+(C-r)*l*m);if(i<0.0){y=-i;k=-(j*m);i=-(l*m);j=-(n*m)}else{y=i;k=j*m;i=l*m;j=n*m}if(!(y0.0&(n>0.0&s>0.0)|w<=0.0&(n<=0.0&s<=0.0))){if((Fa[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0){sa=E;return}e=0;z=0;r=0.0;q=0.0;p=0.0;do{F=c[a+8>>2]|0;ab[c[(c[F>>2]|0)+104>>2]&127](F,z,E+16|0,E);o=+g[E+16>>2];w=+g[E+16+4>>2];t=+g[E+16+8>>2];s=+g[E>>2]-o;y=+g[E+4>>2]-w;u=+g[E+8>>2]-t;do if((B-o)*s+(C-w)*y+(D-t)*u>0.0)if((B-o)*s+(C-w)*y+(D-t)*u>2]|0}while((z|0)<(Fa[c[(c[F>>2]|0)+100>>2]&127](F)|0));if(!(e&1)){sa=E;return}else o=A*A}else{o=A*A;r=B-y*k;q=D-y*j;p=C-y*i}m=B-r;n=C-p;l=D-q;if(!(m*m+n*n+l*l1.1920928955078125e-07){i=+x(+(m*m+n*n+l*l));h=h-i;k=m*(1.0/i);j=l*(1.0/i);i=n*(1.0/i)}h=-h;if(f){w=+g[b+64>>2];y=+g[b+68>>2];A=+g[b+72>>2];B=w*k+y*i+A*j;n=+g[b+80>>2];o=+g[b+84>>2];s=+g[b+88>>2];C=k*n+i*o+j*s;t=+g[b+96>>2];u=+g[b+100>>2];v=+g[b+104>>2];D=k*t+i*u+j*v;g[E+16>>2]=-B;g[E+16+4>>2]=-C;g[E+16+8>>2]=-D;g[E+16+12>>2]=0.0;C=r*n+p*o+q*s+ +g[b+116>>2]+C*h;D=r*t+p*u+q*v+ +g[b+120>>2]+D*h;g[E>>2]=r*w+p*y+q*A+ +g[b+112>>2]+B*h;g[E+4>>2]=C;g[E+8>>2]=D;g[E+12>>2]=0.0;_a[c[(c[d>>2]|0)+16>>2]&15](d,E+16|0,E,h);sa=E;return}else{F=c[(c[d>>2]|0)+16>>2]|0;y=+g[b+64>>2];A=+g[b+68>>2];B=+g[b+72>>2];t=+g[b+80>>2];u=+g[b+84>>2];C=+g[b+88>>2];v=+g[b+96>>2];w=+g[b+100>>2];D=+g[b+104>>2];g[E+16>>2]=y*k+A*i+B*j;g[E+16+4>>2]=k*t+i*u+j*C;g[E+16+8>>2]=k*v+i*w+j*D;g[E+16+12>>2]=0.0;C=r*t+p*u+q*C+ +g[b+116>>2];D=r*v+p*w+q*D+ +g[b+120>>2];g[E>>2]=r*y+p*A+q*B+ +g[b+112>>2];g[E+4>>2]=C;g[E+8>>2]=D;g[E+12>>2]=0.0;_a[F&15](d,E+16|0,E,h);sa=E;return}}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=8032;c[7182]=(c[7182]|0)+1;e=xb(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g[e+308>>2]=9.999999747378752e-05;l=e+332|0;a[l>>0]=a[l>>0]&-16;c[b+24>>2]=e;l=(c[d+20>>2]|0)==0;c[7182]=(c[7182]|0)+1;e=xb(23)|0;c[(e+4+15&-16)+-4>>2]=e;c[(e+4+15&-16)>>2]=l?11980:12028;c[b+28>>2]=e+4+15&-16;c[7182]=(c[7182]|0)+1;e=xb(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[b+28>>2]|0;a[e+4>>0]=0;c[e>>2]=8840;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8064;c[b+36>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8084;c[b+40>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8104;c[b+44>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8124;c[b+48>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8144;c[b+52>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8164;c[b+56>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8184;c[b+60>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8204;c[b+76>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8204;c[b+80>>2]=e;a[e+4>>0]=1;c[7182]=(c[7182]|0)+1;e=xb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8224;c[b+72>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8244;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[7182]=(c[7182]|0)+1;e=xb(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8244;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[7182]=(c[7182]|0)+1;e=xb(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;f=k+4|0;c[f>>2]=e;c[7182]=(c[7182]|0)+1;e=xb((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;h=c[f>>2]|0;c[k+8>>2]=h;if(h+-1|0){i=c[k>>2]|0;f=e;j=h+-1|0;do{m=f;f=f+i|0;c[m>>2]=f;j=j+-1|0}while((j|0)!=0);e=e+(J(i,h+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[7182]=(c[7182]|0)+1;e=xb(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;f=k+4|0;c[f>>2]=e;e=J(e,l)|0;c[7182]=(c[7182]|0)+1;e=xb(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;h=c[f>>2]|0;c[k+8>>2]=h;if(h+-1|0){i=c[k>>2]|0;f=e;j=h+-1|0;do{m=f;f=f+i|0;c[m>>2]=f;j=j+-1|0}while((j|0)!=0);e=e+(J(i,h+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;i=sa;sa=sa+16|0;if((a[26704]|0)==0?mz(26704)|0:0){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;Cf(27392,0.0,0,0,i)}c[6899]=c[6899]|1;g[6934]=0.0;j=+g[6944]*0.0;k=+g[6945]*0.0;g[6939]=+g[6943]*0.0;g[6940]=j;g[6941]=k;g[6942]=0.0;c[6947]=0;c[6948]=0;c[6949]=0;c[6950]=0;k=+g[6936]*0.0;j=+g[6937]*0.0;g[6988]=+g[6935]*0.0;g[6989]=k;g[6990]=j;g[6991]=0.0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=27392;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7188;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;x=+g[b+112>>2];D=+g[d+4>>2];w=+g[b+128>>2];C=+g[d+8>>2];v=+g[b+144>>2];B=+g[d+12>>2];u=+g[b+116>>2];t=+g[b+132>>2];s=+g[b+148>>2];r=+g[b+120>>2];p=+g[b+136>>2];n=+g[b+152>>2];A=+g[d+20>>2];z=+g[d+24>>2];y=+g[d+28>>2];q=+g[d+36>>2];o=+g[d+40>>2];m=+g[d+44>>2];F=+g[b+160>>2];E=+g[b+164>>2];k=+g[b+168>>2];l=+g[d+52>>2]+(D*F+C*E+B*k);j=A*F+z*E+y*k+ +g[d+56>>2];k=q*F+o*E+m*k+ +g[d+60>>2];g[b+48>>2]=x*D+w*C+v*B;g[b+52>>2]=D*u+C*t+B*s;g[b+56>>2]=D*r+C*p+B*n;g[b+60>>2]=0.0;g[b+64>>2]=x*A+w*z+v*y;g[b+68>>2]=u*A+t*z+s*y;g[b+72>>2]=r*A+p*z+n*y;g[b+76>>2]=0.0;g[b+80>>2]=x*q+w*o+v*m;g[b+84>>2]=u*q+t*o+s*m;g[b+88>>2]=r*q+p*o+n*m;g[b+92>>2]=0.0;g[b+96>>2]=l;g[b+100>>2]=j;g[b+104>>2]=k;g[b+108>>2]=0.0;tc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);sa=i;return}function gd(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=sa;sa=sa+288|0;c[v+208>>2]=c[d>>2];c[v+208+4>>2]=c[d+4>>2];c[v+208+8>>2]=c[d+8>>2];c[v+208+12>>2]=c[d+12>>2];n=v+208+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];e=v+208+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];u=c[j>>2]|0;p=c[j+4>>2]|0;q=c[j+8>>2]|0;r=c[j+16>>2]|0;s=c[j+12>>2]|0;o=c[j+20>>2]|0;c[v+156>>2]=c[v+208>>2];c[v+156+4>>2]=c[v+208+4>>2];c[v+156+8>>2]=c[v+208+8>>2];c[v+156+12>>2]=c[v+208+12>>2];c[v+172>>2]=c[n>>2];c[v+172+4>>2]=c[n+4>>2];c[v+172+8>>2]=c[n+8>>2];c[v+172+12>>2]=c[n+12>>2];c[v+188>>2]=c[e>>2];c[v+188+4>>2]=c[e+4>>2];c[v+188+8>>2]=c[e+8>>2];c[v+188+12>>2]=c[e+12>>2];e=c[b+136>>2]|0;if((e|0)==(c[b+140>>2]|0)?(t=(e|0)==0?1:e<<1,(e|0)<(t|0)):0){if(!t)d=0;else{c[7182]=(c[7182]|0)+1;d=xb((t*284|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+136>>2]|0}if((e|0)>0){f=0;do{j=c[b+144>>2]|0;l=d+(f*284|0)|0;m=j+(f*284|0)|0;n=l+92|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=d+(f*284|0)+92|0;m=j+(f*284|0)+92|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=j+(f*284|0)+108|0;m=d+(f*284|0)+108|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];m=j+(f*284|0)+124|0;l=d+(f*284|0)+124|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=d+(f*284|0)+140|0;m=j+(f*284|0)+140|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=d+(f*284|0)+156|0;m=j+(f*284|0)+156|0;n=l+128|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));f=f+1|0}while((f|0)!=(e|0))}e=c[b+144>>2]|0;if(e|0){if(a[b+148>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=d;c[b+140>>2]=t;e=c[b+136>>2]|0}d=c[b+144>>2]|0;l=d+(e*284|0)|0;m=v;n=l+92|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=d+(e*284|0)+92|0;c[l>>2]=c[v+92>>2];c[l+4>>2]=c[v+92+4>>2];c[l+8>>2]=c[v+92+8>>2];c[l+12>>2]=c[v+92+12>>2];l=d+(e*284|0)+108|0;c[l>>2]=c[v+108>>2];c[l+4>>2]=c[v+108+4>>2];c[l+8>>2]=c[v+108+8>>2];c[l+12>>2]=c[v+108+12>>2];l=d+(e*284|0)+124|0;c[l>>2]=c[v+124>>2];c[l+4>>2]=c[v+124+4>>2];c[l+8>>2]=c[v+124+8>>2];c[l+12>>2]=c[v+124+12>>2];l=d+(e*284|0)+140|0;c[l>>2]=c[v+140>>2];c[l+4>>2]=c[v+140+4>>2];c[l+8>>2]=c[v+140+8>>2];c[l+12>>2]=c[v+140+12>>2];d=d+(e*284|0)+156|0;l=d;m=v+156|0;n=l+48|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));g[d+48>>2]=h;c[d+52>>2]=s;g[d+56>>2]=i;c[d+60>>2]=u;c[d+64>>2]=p;c[d+68>>2]=q;c[d+72>>2]=r;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=o;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=k&1;l=d+105|0;m=v+256|0;n=l+23|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));k=c[b+136>>2]|0;c[b+136>>2]=k+1;k=(c[b+144>>2]|0)+(k*284|0)|0;dg(c[b+116>>2]|0,k,0);Ld(c[b+116>>2]|0,c[b+144>>2]|0,(c[b+136>>2]|0)+-1|0,0);sa=v;return k|0}function hd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){h=c[b+8>>2]|0;+Ea[c[(c[h>>2]|0)+12>>2]&3](h,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}o=c[b+16>>2]|0;a:do if((o|0)>0){l=c[b+12>>2]|0;i=0;while(1){m=l+(i<<2)|0;k=c[m>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0))break a;i=i+1|0;if((i|0)>=(o|0)){m=0;break}}}else{i=0;m=0}while(0);if((i|0)<(o|0)){n=c[b+12>>2]|0;j=0;do{l=c[n+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=j+((k|0)==(h|0)&1)|0;i=i+1|0}while((i|0)!=(o|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){o=c[b+8>>2]|0;+Ea[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,m,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){n=0;i=c[b+32>>2]|0;j=c[b+36>>2]|0;do{o=d+(n<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l)i=0;else{c[7182]=(c[7182]|0)+1;i=xb((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+32>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);j=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=i;c[b+36>>2]=l;i=j;j=l}else i=j}c[(c[b+40>>2]|0)+(i<<2)>>2]=c[o>>2];i=i+1|0;c[b+32>>2]=i;n=n+1|0}while((n|0)!=(e|0))}if((g|0)>0){n=0;i=c[b+52>>2]|0;j=c[b+56>>2]|0;do{o=f+(n<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l)i=0;else{c[7182]=(c[7182]|0)+1;i=xb((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);j=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=i;c[b+56>>2]=l;i=j;j=l}else i=j}c[(c[b+60>>2]|0)+(i<<2)>>2]=c[o>>2];i=i+1|0;c[b+52>>2]=i;n=n+1|0}while((n|0)!=(g|0))}if(!h)i=c[b+72>>2]|0;else{o=0;i=c[b+72>>2]|0;j=c[b+76>>2]|0;do{n=m+(o<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l){k=0;i=j}else{c[7182]=(c[7182]|0)+1;i=xb((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+72>>2]|0}if((i|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+80>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[b+80>>2]|0;if(j){if(a[b+84>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[n>>2];i=i+1|0;c[b+72>>2]=i;o=o+1|0}while((o|0)!=(h|0))}if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;wg(b);return}function id(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;v=sa;sa=sa+80|0;u=c[d+48>>2]|0;c[v>>2]=9672;c[v+4>>2]=u;c[v+8>>2]=f;u=c[d+52>>2]|0;if(!(a[u+60>>0]|0)){f=c[u+56>>2]|0;if((f|0)>0){o=0;d=0;n=c[u+96>>2]|0;while(1){d=d+1|0;if(!(+g[h>>2]>+g[n+16>>2])?!(+g[i>>2]<+g[n>>2]):0)j=1;else j=0;if(!(!(+g[h+8>>2]>+g[n+24>>2])?!(+g[i+8>>2]<+g[n+8>>2]):0))j=0;if(!(+g[h+4>>2]>+g[n+20>>2])?!(+g[i+4>>2]<+g[n+4>>2]):0){k=c[n+32>>2]|0;if(j&(k|0)==-1){Za[c[(c[v>>2]|0)+8>>2]&127](v,c[n+36>>2]|0,c[n+40>>2]|0);f=c[u+56>>2]|0;m=44}else{l=(k|0)==-1;m=43}}else{k=c[n+32>>2]|0;j=0;l=(k|0)==-1;m=43}if((m|0)==43){m=0;if(l|j)m=44;else{l=n+(k<<6)|0;j=k+o|0}}if((m|0)==44){l=n+64|0;j=o+1|0}if((j|0)<(f|0)){o=j;n=l}else break}}else d=0;if((c[7162]|0)>=(d|0)){sa=v;return}c[7162]=d;sa=v;return}x=+g[h>>2];B=+g[h+4>>2];F=+g[h+8>>2];E=+g[u+4>>2];x=x>2];B=B>2];F=F>2];C=+g[u+24>>2];y=+g[u+28>>2];H=+g[u+36>>2];D=+g[u+40>>2];z=+g[u+44>>2];r=~~(((G>1]=r;s=~~(((C>1]=s;b[v+66+4>>1]=t;F=+g[i>>2];B=+g[i+4>>2];x=+g[i+8>>2];F=F>1]=i;p=~~(D*((C>1]=p;b[v+60+4>>1]=q;switch(c[u+144>>2]|0){case 0:{n=c[u+56>>2]|0;if((n|0)>0){d=0;f=c[u+136>>2]|0;j=0;do{d=d+1|0;k=((i&65535)>=(e[f>>1]|0)?(r&65535)<=(e[f+6>>1]|0):0)&(t&65535)<=(e[f+10>>1]|0)&(q&65535)>=(e[f+4>>1]|0)&(s&65535)<=(e[f+8>>1]|0)&(p&65535)>=(e[f+2>>1]|0);l=f+12|0;m=c[l>>2]|0;if((m|0)>-1&k)Za[c[(c[v>>2]|0)+8>>2]&127](v,21?m>>>21:m,m&2097151);if(k|(m|0)>-1){j=j+1|0;f=f+16|0}else{u=c[l>>2]|0;j=j-u|0;f=f+(0-u<<4)|0}}while((j|0)<(n|0))}else d=0;if((c[7162]|0)<(d|0))c[7162]=d;break}case 1:{if((c[u+152>>2]|0)>0){h=0;do{d=c[u+160>>2]|0;if(((i&65535)>=(e[d+(h<<5)>>1]|0)?(r&65535)<=(e[d+(h<<5)+6>>1]|0):0)&(t&65535)<=(e[d+(h<<5)+10>>1]|0)&(q&65535)>=(e[d+(h<<5)+4>>1]|0)&(s&65535)<=(e[d+(h<<5)+8>>1]|0)&(p&65535)>=(e[d+(h<<5)+2>>1]|0)){o=c[d+(h<<5)+12>>2]|0;n=c[d+(h<<5)+16>>2]|0;a:do if((n|0)>0){d=0;f=(c[u+136>>2]|0)+(o<<4)|0;j=o;while(1){d=d+1|0;k=((i&65535)>=(e[f>>1]|0)?(r&65535)<=(e[f+6>>1]|0):0)&(t&65535)<=(e[f+10>>1]|0)&(q&65535)>=(e[f+4>>1]|0)&(s&65535)<=(e[f+8>>1]|0)&(p&65535)>=(e[f+2>>1]|0);l=f+12|0;m=c[l>>2]|0;if((m|0)>-1&k)Za[c[(c[v>>2]|0)+8>>2]&127](v,21?m>>>21:m,m&2097151);if(k|(m|0)>-1){j=j+1|0;f=f+16|0}else{m=c[l>>2]|0;j=j-m|0;f=f+(0-m<<4)|0}if((j|0)>=(n+o|0))break a}}else d=0;while(0);if((c[7162]|0)<(d|0))c[7162]=d}h=h+1|0}while((h|0)<(c[u+152>>2]|0))}break}case 2:{Wj(c[u+136>>2]|0,v,v+66|0,v+60|0);break}default:{}}sa=v;return}function jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.800000011920929;g[b+132>>2]=0.0;g[b+120>>2]=1.0;c[b+136>>2]=1;g[b+140>>2]=-.03999999910593033;g[b+144>>2]=.10000000149011612;g[b+148>>2]=0.0;g[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;g[b+168>>2]=100.0;g[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=6904;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=f;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!f){c[7182]=(c[7182]|0)+1;e=xb(215)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=7568;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;a[e+160>>0]=1;c[e+156>>2]=0;c[e+148>>2]=0;c[e+152>>2]=0;a[e+180>>0]=1;c[e+176>>2]=0;c[e+168>>2]=0;c[e+172>>2]=0;c[e+192>>2]=0;c[b+200>>2]=e;e=1}else e=0;a[b+273>>0]=e;c[7182]=(c[7182]|0)+1;e=xb(87)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8264;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+64>>0]=1;c[b+204>>2]=e;a[b+272>>0]=1;c[7182]=(c[7182]|0)+1;e=xb(107)|0;if(!e){f=0;h=c[b+200>>2]|0;c[f>>2]=7116;e=f+4|0;c[e>>2]=0;e=f+8|0;c[e>>2]=h;e=f+12|0;c[e>>2]=0;e=f+16|0;c[e>>2]=0;e=f+20|0;c[e>>2]=0;e=f+24|0;c[e>>2]=d;d=f+44|0;a[d>>0]=1;d=f+40|0;c[d>>2]=0;d=f+32|0;c[d>>2]=0;d=f+36|0;c[d>>2]=0;d=f+64|0;a[d>>0]=1;d=f+60|0;c[d>>2]=0;d=f+52|0;c[d>>2]=0;d=f+56|0;c[d>>2]=0;d=f+84|0;a[d>>0]=1;d=f+80|0;c[d>>2]=0;d=f+72|0;c[d>>2]=0;d=f+76|0;c[d>>2]=0;c[b+196>>2]=f;return}c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16;e=c[b+200>>2]|0;c[h>>2]=7116;f=h+4|0;c[f>>2]=0;f=h+8|0;c[f>>2]=e;f=h+12|0;c[f>>2]=0;f=h+16|0;c[f>>2]=0;f=h+20|0;c[f>>2]=0;f=h+24|0;c[f>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function kd(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=sa;sa=sa+96|0;r=c[b+12>>2]|0;ab[c[(c[r>>2]|0)+8>>2]&127](r,(c[b+8>>2]|0)+4|0,t+80|0,t+64|0);r=c[d+68>>2]|0;eb[c[(c[r>>2]|0)+16>>2]&31](r,c[(c[b+8>>2]|0)+188>>2]|0,t+80|0,t+64|0,c[d+24>>2]|0);r=c[d+24>>2]|0;ab[c[(c[r>>2]|0)+32>>2]&127](r,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,r);r=c[b+8>>2]|0;c[b+92>>2]=c[r+52>>2];c[b+92+4>>2]=c[r+52+4>>2];c[b+92+8>>2]=c[r+52+8>>2];c[b+92+12>>2]=c[r+52+12>>2];r=c[r+284>>2]|0;if((Fa[c[(c[r>>2]|0)+36>>2]&127](r)|0)>0){d=0;f=0.0;r=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){h=c[b+140>>2]|0;if(h|0){if(a[b+144>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(Fa[c[(c[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0;q=c[c[e+(r<<4)>>2]>>2]|0;h=c[c[e+(r<<4)+4>>2]>>2]|0;if(!((q|0)!=0?(c[q+204>>2]&4|0)!=0:0))s=15;do if((s|0)==15){s=0;if(h|0?c[h+204>>2]&4|0:0)break;e=c[e+(r<<4)+8>>2]|0;if(e|0)Va[c[(c[e>>2]|0)+16>>2]&127](e,b+128|0);q=c[b+132>>2]|0;if((q|0)>0){o=c[b+140>>2]|0;p=c[b+8>>2]|0;n=0;do{l=c[o+(n<<2)>>2]|0;m=(c[l+740>>2]|0)==(p|0)?-1.0:1.0;e=c[l+748>>2]|0;if((e|0)>0){k=0;do{j=+g[l+4+(k*184|0)+80>>2];if(j<0.0){i=l+4+(k*184|0)+64|0;if(j>2];h=l+4+(k*184|0)+72|0;f=m*+g[h>>2];g[b+152>>2]=m*+g[i>>2];g[b+156>>2]=u;g[b+160>>2]=f;g[b+164>>2]=0.0;f=j;e=c[l+748>>2]|0}else{d=l+4+(k*184|0)+68|0;h=l+4+(k*184|0)+72|0}v=j*m*+g[d>>2]*.20000000298023224;u=j*m*+g[h>>2]*.20000000298023224;g[b+92>>2]=j*m*+g[i>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=v+ +g[b+96>>2];g[b+100>>2]=u+ +g[b+100>>2];d=1}k=k+1|0}while((k|0)<(e|0))}n=n+1|0}while((n|0)!=(q|0))}}while(0);r=r+1|0;q=c[(c[b+8>>2]|0)+284>>2]|0}while((r|0)<(Fa[c[(c[q>>2]|0)+36>>2]&127](q)|0))}else d=0;s=c[b+8>>2]|0;c[t>>2]=c[s+4>>2];c[t+4>>2]=c[s+4+4>>2];c[t+8>>2]=c[s+4+8>>2];c[t+12>>2]=c[s+4+12>>2];c[t+16>>2]=c[s+20>>2];c[t+16+4>>2]=c[s+20+4>>2];c[t+16+8>>2]=c[s+20+8>>2];c[t+16+12>>2]=c[s+20+12>>2];c[t+32>>2]=c[s+36>>2];c[t+32+4>>2]=c[s+36+4>>2];c[t+32+8>>2]=c[s+36+8>>2];c[t+32+12>>2]=c[s+36+12>>2];c[t+48>>2]=c[b+92>>2];c[t+48+4>>2]=c[b+92+4>>2];c[t+48+8>>2]=c[b+92+8>>2];c[t+48+12>>2]=c[b+92+12>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[t>>2];c[s+4+4>>2]=c[t+4>>2];c[s+4+8>>2]=c[t+8>>2];c[s+4+12>>2]=c[t+12>>2];c[s+20>>2]=c[t+16>>2];c[s+20+4>>2]=c[t+16+4>>2];c[s+20+8>>2]=c[t+16+8>>2];c[s+20+12>>2]=c[t+16+12>>2];c[s+36>>2]=c[t+32>>2];c[s+36+4>>2]=c[t+32+4>>2];c[s+36+8>>2]=c[t+32+8>>2];c[s+36+12>>2]=c[t+32+12>>2];c[s+52>>2]=c[t+48>>2];c[s+52+4>>2]=c[t+48+4>>2];c[s+52+8>>2]=c[t+48+8>>2];c[s+52+12>>2]=c[t+48+12>>2];sa=t;return d|0}function ld(d,e,f,h,i){d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;m=sa;sa=sa+240|0;k=+g[d+96>>2]+h;l=+g[d+100>>2]+i;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=k;g[d+120>>2]=l;g[d+124>>2]=0.0;c[m+168>>2]=1065353216;c[m+168+4>>2]=0;c[m+168+4+4>>2]=0;c[m+168+4+8>>2]=0;c[m+168+4+12>>2]=0;c[m+168+20>>2]=1065353216;c[m+168+24>>2]=0;c[m+168+24+4>>2]=0;c[m+168+24+8>>2]=0;c[m+168+24+12>>2]=0;c[m+168+40>>2]=1065353216;j=m+168+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[m+104>>2]=1065353216;c[m+104+4>>2]=0;c[m+104+4+4>>2]=0;c[m+104+4+8>>2]=0;c[m+104+4+12>>2]=0;c[m+104+20>>2]=1065353216;c[m+104+24>>2]=0;c[m+104+24+4>>2]=0;c[m+104+24+8>>2]=0;c[m+104+24+12>>2]=0;c[m+104+40>>2]=1065353216;j=m+104+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;l=1.0;j=10;while(1){if(!j){j=15;break}j=j+-1|0;c[m+168+48>>2]=c[d+92>>2];c[m+168+48+4>>2]=c[d+92+4>>2];c[m+168+48+8>>2]=c[d+92+8>>2];c[m+168+48+12>>2]=c[d+92+12>>2];c[m+104+48>>2]=c[d+112>>2];c[m+104+48+4>>2]=c[d+112+4>>2];c[m+104+48+8>>2]=c[d+112+8>>2];c[m+104+48+12>>2]=c[d+112+12>>2];i=+g[d+92>>2]-+g[d+112>>2];k=+g[d+96>>2]-+g[d+116>>2];f=+g[d+100>>2]-+g[d+120>>2];n=c[d+8>>2]|0;g[m+4>>2]=1.0;c[m+76>>2]=0;c[m+12>>2]=0;c[m+12+4>>2]=0;c[m+12+8>>2]=0;c[m+12+12>>2]=0;c[m+12+16>>2]=0;c[m+12+20>>2]=0;c[m+12+24>>2]=0;c[m+12+28>>2]=0;c[m>>2]=7748;c[m+80>>2]=n;g[m+84>>2]=i;g[m+88>>2]=k;g[m+92>>2]=f;g[m+96>>2]=0.0;g[m+100>>2]=0.0;n=c[n+188>>2]|0;b[m+8>>1]=b[n+4>>1]|0;b[m+10>>1]=b[n+6>>1]|0;n=c[d+12>>2]|0;f=+va[c[(c[n>>2]|0)+48>>2]&15](n);n=c[d+12>>2]|0;Qa[c[(c[n>>2]|0)+44>>2]&31](n,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))Tc(e,c[d+12>>2]|0,m+168|0,m+104|0,m,+g[e+56>>2]);else yc(c[d+8>>2]|0,c[d+12>>2]|0,m+168|0,m+104|0,m,+g[e+56>>2]);n=c[d+12>>2]|0;Qa[c[(c[n>>2]|0)+44>>2]&31](n,f);k=+g[m+4>>2];l=l-k;if(k<1.0){h=+g[d+112>>2]-+g[d+92>>2];i=+g[d+116>>2]-+g[d+96>>2];k=+g[d+120>>2]-+g[d+100>>2];f=+x(+(h*h+i*i+k*k));if(f>1.1920928955078125e-07){o=+g[m+44>>2];t=+g[m+48>>2];q=+g[m+52>>2];s=(h*(1.0/f)*o+i*(1.0/f)*t+k*(1.0/f)*q)*2.0;r=1.0/+x(+((k*(1.0/f)-q*s)*(k*(1.0/f)-q*s)+((h*(1.0/f)-o*s)*(h*(1.0/f)-o*s)+(i*(1.0/f)-t*s)*(i*(1.0/f)-t*s))));p=q*(k*(1.0/f)-q*s)*r+(o*(h*(1.0/f)-o*s)*r+t*(i*(1.0/f)-t*s)*r);c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];o=f*((h*(1.0/f)-o*s)*r-o*p)+ +g[d+112>>2];g[d+112>>2]=o;h=f*((i*(1.0/f)-t*s)*r-t*p)+ +g[d+116>>2];g[d+116>>2]=h;k=f*((k*(1.0/f)-q*s)*r-q*p)+ +g[d+120>>2];g[d+120>>2]=k;f=o}else{f=+g[d+112>>2];h=+g[d+116>>2];k=+g[d+120>>2]}i=f-+g[d+92>>2];h=h-+g[d+96>>2];f=k-+g[d+100>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07)){j=13;break}t=1.0/+x(+(i*i+h*h+f*f));if(i*t*+g[d+76>>2]+h*t*+g[d+80>>2]+f*t*+g[d+84>>2]<=0.0){j=13;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(l>.009999999776482582)){j=15;break}}if((j|0)==13){sa=m;return}else if((j|0)==15){sa=m;return}}function md(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0;r=sa;sa=sa+80|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){d=0.0;j=0.0;m=0.0;n=0.0;k=0.0;l=0.0}else{q=+g[f+336>>2];m=+g[b+172>>2];n=+g[f+340>>2];o=+g[b+168>>2];l=+g[b+164>>2];p=+g[f+332>>2];d=q*m-n*o;j=+g[f+316>>2];m=n*l-m*p;n=+g[f+320>>2];k=+g[f+324>>2];l=o*p-q*l}}else{q=+g[f+332>>2];m=+g[b+172>>2];n=+g[f+336>>2];o=+g[b+168>>2];l=+g[b+164>>2];p=+g[f+328>>2];d=q*m-n*o;j=+g[f+312>>2];m=n*l-m*p;n=+g[f+316>>2];k=+g[f+320>>2];l=o*p-q*l}o=j+d;q=n+m;p=k+l;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){d=0.0;j=0.0;m=0.0;n=0.0;k=0.0;l=0.0}else{s=+g[f+336>>2];m=+g[b+188>>2];n=+g[f+340>>2];u=+g[b+184>>2];l=+g[b+180>>2];t=+g[f+332>>2];d=s*m-n*u;j=+g[f+316>>2];m=n*l-m*t;n=+g[f+320>>2];k=+g[f+324>>2];l=u*t-s*l}}else{u=+g[f+332>>2];m=+g[b+188>>2];n=+g[f+336>>2];s=+g[b+184>>2];l=+g[b+180>>2];t=+g[f+328>>2];d=u*m-n*s;j=+g[f+312>>2];m=n*l-m*t;n=+g[f+316>>2];k=+g[f+320>>2];l=s*t-u*l}o=o-(j+d);m=q-(n+m);d=p-(k+l);j=+g[b+196>>2];k=+g[b+200>>2];l=+g[b+204>>2];a[r+36+32>>0]=1;c[r+36+16>>2]=0;c[r+36+16+4>>2]=0;c[r+36+16+8>>2]=0;c[r+36+16+12>>2]=0;c[r+36>>2]=c[b+72>>2];c[r+36+4>>2]=c[b+72+4>>2];c[r+36+8>>2]=c[b+72+8>>2];c[r+36+12>>2]=c[b+72+12>>2];if(j*o+m*k+d*l<0.0){s=+g[b+212>>2];t=+g[r+36>>2]+(j*(j*o+m*k+d*l)+(o-j*(j*o+m*k+d*l))*s);g[r+36>>2]=t;u=k*(j*o+m*k+d*l)+(m-k*(j*o+m*k+d*l))*s+ +g[r+36+4>>2];g[r+36+4>>2]=u;k=l*(j*o+m*k+d*l)+(d-l*(j*o+m*k+d*l))*s+ +g[r+36+8>>2];g[r+36+8>>2]=k;f=r+36+4|0;h=r+36+8|0;i=r+36|0;d=t;j=u}else{f=r+36+4|0;h=r+36+8|0;i=r+36|0;d=+g[r+36>>2];j=+g[r+36+4>>2];k=+g[r+36+8>>2]}l=(+g[b+104>>2]*d+ +g[b+108>>2]*j+ +g[b+112>>2]*k)*e;m=(d*+g[b+120>>2]+j*+g[b+124>>2]+k*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+j*+g[b+140>>2]+k*+g[b+144>>2])*e;g[i>>2]=l;g[f>>2]=m;g[h>>2]=d;g[r+36+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=r;h=r+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));u=-+g[r+4>>2];t=-+g[r+8>>2];g[r>>2]=-+g[r>>2];g[r+4>>2]=u;g[r+8>>2]=t;g[r+12>>2]=0.0;t=-+g[r+20>>2];u=-+g[r+24>>2];g[r+16>>2]=-+g[r+16>>2];g[r+20>>2]=t;g[r+24>>2]=u;g[r+28>>2]=0.0;dh(b+4|0,r,b+164|0);dh(b+16|0,r+36|0,b+180|0);sa=r;return}if(!(l==l&m==m&(d==d&0.0==0.0))){sa=r;return}u=+x(+(l*l+m*m+d*d));if(u<+g[f+368>>2]){sa=r;return}h=c[r+36+32>>2]|0;u=+g[f+372>>2];g[r+12>>2]=0.0;g[r+28>>2]=0.0;c[r+32>>2]=h;g[r>>2]=-(l*u);g[r+4>>2]=-(m*u);g[r+8>>2]=-(d*u);g[r+16>>2]=u*-0.0;g[r+20>>2]=u*-0.0;g[r+24>>2]=u*-0.0;dh(b+4|0,r,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=r;h=r+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));g[r>>2]=d*+g[r>>2];g[r+4>>2]=d*+g[r+4>>2];g[r+8>>2]=d*+g[r+8>>2];g[r+16>>2]=d*+g[r+16>>2];g[r+20>>2]=d*+g[r+20>>2];g[r+24>>2]=d*+g[r+24>>2];dh(b+16|0,r,b+180|0);sa=r;return}function nd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0;r=sa;sa=sa+48|0;c[r+16>>2]=c[e>>2];c[r+16+4>>2]=c[e+4>>2];c[r+16+8>>2]=c[e+8>>2];c[r+16+12>>2]=c[e+12>>2];c[r+16+16>>2]=c[f>>2];c[r+16+16+4>>2]=c[f+4>>2];c[r+16+16+8>>2]=c[f+8>>2];c[r+16+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;sg(b+64|0,h)|0;i=c[b+68>>2]|0;if(i|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[7182]=(c[7182]|0)+1;h=xb(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[r+16>>2];c[h+4>>2]=c[r+16+4>>2];c[h+8>>2]=c[r+16+8>>2];c[h+12>>2]=c[r+16+12>>2];c[h+16>>2]=c[r+16+16>>2];c[h+20>>2]=c[r+16+20>>2];c[h+24>>2]=c[r+16+24>>2];c[h+28>>2]=c[r+16+28>>2];ue(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;h=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;q=c[d+48>>2]|0;if(((((+g[q>>2]<=+g[r+16+16>>2]?+g[q+16>>2]>=+g[r+16>>2]:0)?+g[q+4>>2]<=+g[r+16+20>>2]:0)?+g[q+20>>2]>=+g[r+16+4>>2]:0)?+g[q+8>>2]<=+g[r+16+24>>2]:0)?+g[q+24>>2]>=+g[r+16+8>>2]:0){k=+g[d+16>>2];s=+g[e>>2]-k;l=+g[d+20>>2];o=+g[e+4>>2]-l;m=+g[d+24>>2];p=+g[e+8>>2]-m;t=+g[b+140>>2];k=(+g[d+32>>2]-k)*.5*t;l=t*(+g[d+36>>2]-l)*.5;m=t*(+g[d+40>>2]-m)*.5;g[r>>2]=k;g[r+4>>2]=l;g[r+8>>2]=m;g[r+12>>2]=0.0;if(s<0.0)g[r>>2]=-k;if(o<0.0)g[r+4>>2]=-l;if(p<0.0)g[r+8>>2]=-m;if(Bg(b+4|0,q,r+16|0,r,.05000000074505806)|0){c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}else h=0;break}h=sg(b+4|0,q)|0;a:do if(h){n=c[b+12>>2]|0;if((n|0)<=-1){h=c[b+4>>2]|0;break}if(n){i=0;while(1){j=c[h+32>>2]|0;i=i+1|0;if(!j)break a;if((i|0)>=(n|0)){h=j;break}else h=j}}}else h=0;while(0);c[q>>2]=c[r+16>>2];c[q+4>>2]=c[r+16+4>>2];c[q+8>>2]=c[r+16+8>>2];c[q+12>>2]=c[r+16+12>>2];c[q+16>>2]=c[r+16+16>>2];c[q+20>>2]=c[r+16+20>>2];c[q+24>>2]=c[r+16+24>>2];c[q+28>>2]=c[r+16+28>>2];ue(b+4|0,h,q);c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}while(0);i=c[d+52>>2]|0;if(!i)i=b+124+(c[d+60>>2]<<2)|0;else i=i+56|0;c[i>>2]=c[d+56>>2];i=c[d+56>>2]|0;if(i|0)c[i+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];i=c[b+144>>2]|0;c[d+60>>2]=i;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(i<<2)>>2];j=c[b+124+(i<<2)>>2]|0;if(j|0)c[j+52>>2]=d;c[b+124+(i<<2)>>2]=d;if(!h){sa=r;return}a[b+194>>0]=1;if(a[b+193>>0]|0){sa=r;return}c[r>>2]=11812;c[r+4>>2]=b;zd(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,r);zd(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,r);sa=r;return}function od(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;G=+g[a>>2];H=+g[b>>2];I=+g[a+4>>2];w=+g[b+4>>2];y=+g[a+8>>2];z=+g[b+8>>2];A=+g[d>>2];B=+g[d+4>>2];C=+g[d+8>>2];D=(I-w)*(z-C)-(y-z)*(w-B);E=(y-z)*(H-A)-(G-H)*(z-C);F=(G-H)*(w-B)-(I-w)*(H-A);if(!(F*F+(D*D+E*E)>0.0)){I=-1.0;return +I}if(G*(F*(I-w)-E*(y-z))+I*(D*(y-z)-F*(G-H))+(E*(G-H)-D*(I-w))*y>0.0){do if((H-G)*(H-G)+(w-I)*(w-I)+(z-y)*(z-y)>0.0){h=-(G*(H-G)+I*(w-I)+y*(z-y))/((H-G)*(H-G)+(w-I)*(w-I)+(z-y)*(z-y));if(h>=1.0){l=2;i=H*H+w*w+z*z;m=0;k=1065353216;break}if(!(h<=0.0)){k=(g[j>>2]=h,c[j>>2]|0);l=3;i=(y+(z-y)*h)*(y+(z-y)*h)+((G+(H-G)*h)*(G+(H-G)*h)+(I+(w-I)*h)*(I+(w-I)*h));m=(g[j>>2]=1.0-h,c[j>>2]|0);break}else{l=1;i=G*G+I*I+y*y;m=1065353216;k=0;break}}else{l=0;i=-1.0;m=0;k=0}while(0);c[f>>2]=l;c[e>>2]=m;c[e+4>>2]=k;g[e+8>>2]=0.0;q=+g[b>>2];r=+g[b+4>>2];s=+g[b+8>>2]}else{i=-1.0;l=0;m=0;k=0;q=H;r=w;s=z}if(q*(F*(w-B)-E*(z-C))+r*(D*(z-C)-F*(H-A))+(E*(H-A)-D*(w-B))*s>0.0){t=+g[d>>2];h=t-q;u=+g[d+4>>2];o=u-r;v=+g[d+8>>2];p=v-s;do if(h*h+o*o+p*p>0.0){n=-(q*h+r*o+s*p)/(h*h+o*o+p*p);if(n>=1.0){l=2;h=t*t+u*u+v*v;m=0;k=1065353216;break}if(!(n<=0.0)){k=(g[j>>2]=n,c[j>>2]|0);v=q+h*n;h=r+o*n;u=s+p*n;l=3;h=u*u+(v*v+h*h);m=(g[j>>2]=1.0-n,c[j>>2]|0);break}else{l=1;h=q*q+r*r+s*s;m=1065353216;k=0;break}}else h=-1.0;while(0);if(i<0.0|h>2]=l<<1&6;c[e+4>>2]=m;c[e+8>>2]=k;g[e>>2]=0.0;i=h}}h=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2];if(h*(F*(B-I)-E*(C-y))+o*(D*(C-y)-F*(A-G))+(E*(A-G)-D*(B-I))*p>0.0){q=+g[a>>2];r=+g[a+4>>2];s=+g[a+8>>2];do if((q-h)*(q-h)+(r-o)*(r-o)+(s-p)*(s-p)>0.0){n=-(h*(q-h)+o*(r-o)+p*(s-p))/((q-h)*(q-h)+(r-o)*(r-o)+(s-p)*(s-p));if(n>=1.0){l=2;h=q*q+r*r+s*s;m=0;k=1065353216;break}if(!(n<=0.0)){k=(g[j>>2]=n,c[j>>2]|0);l=3;h=(p+(s-p)*n)*(p+(s-p)*n)+((h+(q-h)*n)*(h+(q-h)*n)+(o+(r-o)*n)*(o+(r-o)*n));m=(g[j>>2]=1.0-n,c[j>>2]|0);break}else{l=1;h=h*h+o*o+p*p;m=1065353216;k=0;break}}else h=-1.0;while(0);if(i<0.0|h>2]=l<<2&4|(1?l>>>1:l)&1;c[e+8>>2]=m;c[e>>2]=k;g[e+4>>2]=0.0}else h=i}else h=i;if(!(h<0.0)){I=h;return +I}u=+x(+(F*F+(D*D+E*E)));v=(D*+g[a>>2]+E*+g[a+4>>2]+F*+g[a+8>>2])/(F*F+(D*D+E*E));c[f>>2]=7;s=+g[b>>2]-D*v;r=+g[b+4>>2]-E*v;t=+g[b+8>>2]-F*v;H=+x(+(((H-A)*r-(w-B)*s)*((H-A)*r-(w-B)*s)+(((w-B)*t-(z-C)*r)*((w-B)*t-(z-C)*r)+((z-C)*s-(H-A)*t)*((z-C)*s-(H-A)*t))))/u;g[e>>2]=H;w=+g[d>>2]-D*v;t=+g[d+4>>2]-E*v;z=+g[d+8>>2]-F*v;I=+x(+(((A-G)*t-(B-I)*w)*((A-G)*t-(B-I)*w)+(((B-I)*z-(C-y)*t)*((B-I)*z-(C-y)*t)+((C-y)*w-(A-G)*z)*((C-y)*w-(A-G)*z))))/u;g[e+4>>2]=I;g[e+8>>2]=1.0-(H+I);I=F*v*F*v+(D*v*D*v+E*v*E*v);return +I}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0;z=sa;sa=sa+192|0;o=c[b+4>>2]|0;q=+g[o+752>>2];if(q>2]|0;y=c[(c[b+8>>2]|0)+8>>2]|0;j=+g[e>>2];k=+g[d>>2]*f+j;l=+g[e+4>>2];m=+g[d+4>>2]*f+l;n=+g[e+8>>2];p=+g[d+8>>2]*f+n;if((v|0)!=(y|0)){i=c[(c[b+12>>2]|0)+8>>2]|0;B=k-+g[i+52>>2];A=m-+g[i+56>>2];t=p-+g[i+60>>2];u=b+12|0;h=y;r=B*+g[i+4>>2]+A*+g[i+20>>2]+t*+g[i+36>>2];s=B*+g[i+8>>2]+A*+g[i+24>>2]+t*+g[i+40>>2];t=B*+g[i+12>>2]+A*+g[i+28>>2]+t*+g[i+44>>2]}else{A=k-+g[v+52>>2];B=m-+g[v+56>>2];t=p-+g[v+60>>2];u=b+12|0;h=c[(c[b+12>>2]|0)+8>>2]|0;r=A*+g[v+4>>2]+B*+g[v+20>>2]+t*+g[v+36>>2];s=A*+g[v+8>>2]+B*+g[v+24>>2]+t*+g[v+40>>2];t=A*+g[v+12>>2]+B*+g[v+28>>2]+t*+g[v+44>>2]}j=j-+g[h+52>>2];l=l-+g[h+56>>2];B=n-+g[h+60>>2];n=j*+g[h+4>>2]+l*+g[h+20>>2]+B*+g[h+36>>2];A=j*+g[h+8>>2]+l*+g[h+24>>2]+B*+g[h+40>>2];B=j*+g[h+12>>2]+l*+g[h+28>>2]+B*+g[h+44>>2];g[z>>2]=r;g[z+4>>2]=s;g[z+8>>2]=t;g[z+12>>2]=0.0;g[z+16>>2]=n;g[z+20>>2]=A;g[z+24>>2]=B;g[z+28>>2]=0.0;c[z+64>>2]=c[d>>2];c[z+64+4>>2]=c[d+4>>2];c[z+64+8>>2]=c[d+8>>2];c[z+64+12>>2]=c[d+12>>2];g[z+80>>2]=f;g[z+84>>2]=0.0;g[z+88>>2]=0.0;g[z+92>>2]=0.0;c[z+112>>2]=0;a[z+116>>0]=0;c[z+120>>2]=0;c[z+120+4>>2]=0;c[z+120+8>>2]=0;c[z+120+12>>2]=0;c[z+120+16>>2]=0;c[z+120+20>>2]=0;c[z+120+24>>2]=0;c[z+120+28>>2]=0;g[z+48>>2]=k;g[z+52>>2]=m;g[z+56>>2]=p;g[z+60>>2]=0.0;c[z+32>>2]=c[e>>2];c[z+32+4>>2]=c[e+4>>2];c[z+32+8>>2]=c[e+8>>2];c[z+32+12>>2]=c[e+12>>2];i=c[o+748>>2]|0;if((i|0)>0){h=-1;e=0;j=q*q;while(1){k=+g[o+4+(e*184|0)>>2]-r;l=+g[o+4+(e*184|0)+4>>2]-s;m=+g[o+4+(e*184|0)+8>>2]-t;d=k*k+l*l+m*m>2]|0)+8>>2]|0;u=c[(c[u>>2]|0)+8>>2]|0;j=+g[i+224>>2]*+g[u+224>>2];j=j<-10.0?-10.0:j;g[z+84>>2]=j>10.0?10.0:j;g[z+92>>2]=+g[i+228>>2]*+g[u+228>>2];j=+g[i+232>>2]*+g[u+232>>2];j=j<-10.0?-10.0:j;g[z+88>>2]=j>10.0?10.0:j;j=+g[z+72>>2];if(+w(+j)>.7071067690849304){n=+g[z+68>>2];k=1.0/+x(+(j*j+n*n));m=+g[z+64>>2];l=-(m*n*k);m=m*-(j*k);f=(j*j+n*n)*k;n=n*k;j=-(j*k);k=0.0}else{A=+g[z+64>>2];B=+g[z+68>>2];k=1.0/+x(+(A*A+B*B));l=j*-(B*k);m=(A*A+B*B)*k;f=-(j*A*k);n=0.0;j=A*k;k=-(B*k)}g[z+152>>2]=k;g[z+156>>2]=j;g[z+160>>2]=n;g[z+168>>2]=f;g[z+172>>2]=l;g[z+176>>2]=m;if((v|0)!=(y|0)){h=b+24|0;d=b+28|0;e=b+16|0;i=b+20|0}else{h=b+28|0;d=b+24|0;e=b+20|0;i=b+16|0}h=c[h>>2]|0;y=c[d>>2]|0;v=c[e>>2]|0;c[z+96>>2]=c[i>>2];c[z+100>>2]=v;c[z+104>>2]=y;c[z+108>>2]=h;h=c[b+4>>2]|0;if((o|0)>-1){b=h+4+(o*184|0)+148|0;y=c[b>>2]|0;d=h+4+(o*184|0)+120|0;C=c[d>>2]|0;i=h+4+(o*184|0)+124|0;e=c[i>>2]|0;v=h+4+(o*184|0)+128|0;u=c[v>>2]|0;D=h+4+(o*184|0)+112|0;E=c[D>>2]|0;Bh(h+4+(o*184|0)|0,z|0,184)|0;c[D>>2]=E;c[d>>2]=C;c[i>>2]=e;c[v>>2]=u;c[b>>2]=y}else Ce(h,z)|0;sa=z;return}function qd(b){b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;p=sa;sa=sa+80|0;if((Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0?(j=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Fa[c[(c[j>>2]|0)+48>>2]&127](j)|0)&8|0):0)?(h=c[b+24>>2]|0,h=Fa[c[(c[h>>2]|0)+36>>2]&127](h)|0,c[p+64>>2]=1065353216,c[p+64+4>>2]=1065353216,c[p+64+8>>2]=0,g[p+64+12>>2]=0.0,(h|0)>0):0){e=0;do{i=c[b+24>>2]|0;i=Ha[c[(c[i>>2]|0)+40>>2]&31](i,e)|0;j=c[i+748>>2]|0;if((j|0)>0){f=0;do{q=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;$a[c[(c[q>>2]|0)+32>>2]&1](q,i+4+(f*184|0)+32|0,i+4+(f*184|0)+64|0,+g[i+4+(f*184|0)+80>>2],c[i+4+(f*184|0)+148>>2]|0,p+64|0);f=f+1|0}while((f|0)!=(j|0))}e=e+1|0}while((e|0)!=(h|0))}if(!(Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0)){sa=p;return}q=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((Fa[c[(c[q>>2]|0)+48>>2]&127](q)|0)&3)){sa=p;return}if((c[b+8>>2]|0)<=0){sa=p;return}j=0;do{i=c[(c[b+16>>2]|0)+(j<<2)>>2]|0;if(!(c[i+204>>2]&32)){if(Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0?(q=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Fa[c[(c[q>>2]|0)+48>>2]&127](q)|0)&1|0):0){c[p+64>>2]=1065353216;c[p+64+4>>2]=1065353216;c[p+64+8>>2]=1065353216;g[p+64+12>>2]=0.0;switch(c[i+216>>2]|0){case 1:{e=1065353216;f=1065353216;h=1065353216;break}case 2:{e=0;f=1065353216;h=0;break}case 3:{e=1065353216;f=1065353216;h=0;break}case 4:{e=0;f=0;h=1065353216;break}case 5:{e=0;f=1065353216;h=1065353216;break}default:{e=0;f=0;h=1065353216}}c[p+64>>2]=h;c[p+64+4>>2]=f;c[p+64+8>>2]=e;g[p+64+12>>2]=0.0;ab[c[(c[b>>2]|0)+28>>2]&127](b,i+4|0,c[i+192>>2]|0,p+64|0)}e=c[b+72>>2]|0;if(e|0?(Fa[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){c[p+32>>2]=1065353216;c[p+32+4>>2]=0;c[p+32+8>>2]=0;g[p+32+12>>2]=0.0;q=c[i+192>>2]|0;ab[c[(c[q>>2]|0)+8>>2]&127](q,i+4|0,p+64|0,p+48|0);g[p+64>>2]=+g[p+64>>2]+-.019999999552965164;g[p+64+4>>2]=+g[p+64+4>>2]+-.019999999552965164;g[p+64+8>>2]=+g[p+64+8>>2]+-.019999999552965164;g[p+48>>2]=+g[p+48>>2]+.019999999552965164;g[p+48+4>>2]=+g[p+48+4>>2]+.019999999552965164;g[p+48+8>>2]=+g[p+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[i+236>>2]|0)==2:0)?(c[i+204>>2]&3|0)==0:0){q=c[i+192>>2]|0;ab[c[(c[q>>2]|0)+8>>2]&127](q,i+68|0,p+16|0,p);d=+g[p+16>>2]+-.019999999552965164;g[p+16>>2]=d;k=+g[p+16+4>>2]+-.019999999552965164;g[p+16+4>>2]=k;l=+g[p+16+8>>2]+-.019999999552965164;g[p+16+8>>2]=l;m=+g[p>>2]+.019999999552965164;g[p>>2]=m;n=+g[p+4>>2]+.019999999552965164;g[p+4>>2]=n;o=+g[p+8>>2]+.019999999552965164;g[p+8>>2]=o;if(d<+g[p+64>>2])g[p+64>>2]=d;if(k<+g[p+64+4>>2])g[p+64+4>>2]=k;if(l<+g[p+64+8>>2])g[p+64+8>>2]=l;d=+g[p+16+12>>2];if(d<+g[p+64+12>>2])g[p+64+12>>2]=d;if(+g[p+48>>2]>2]=m;if(+g[p+48+4>>2]>2]=n;if(+g[p+48+8>>2]>2]=o;d=+g[p+12>>2];if(!(+g[p+48+12>>2]>2]=d}while(0);q=c[b+72>>2]|0;ab[c[(c[q>>2]|0)+52>>2]&127](q,p+64|0,p+48|0,p+32|0)}}j=j+1|0}while((j|0)<(c[b+8>>2]|0));sa=p;return}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=bh(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(m|0)&(f|0)==(i|0)){e=2;o=2}else{if(!((e|0)==(i|0)&(f|0)==(m|0))){g=c[h+8>>2]|0;if((f|0)==(m|0)&(g|0)==(i|0)){e=0;o=2;break}if(!((f|0)==(i|0)&(g|0)==(m|0))){if(!((g|0)!=(m|0)|(e|0)==(i|0)^1)){e=1;o=2;break}if((g|0)!=(i|0)|(e|0)==(m|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=bh(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(i|0)&(f|0)==(l|0)){e=2;o=10}else{if(!((e|0)==(l|0)&(f|0)==(i|0))){g=c[h+8>>2]|0;if((f|0)==(i|0)&(g|0)==(l|0)){e=0;o=10;break}if(!((f|0)==(l|0)&(g|0)==(i|0))){if(!((g|0)!=(i|0)|(e|0)==(l|0)^1)){e=1;o=10;break}if((g|0)!=(l|0)|(e|0)==(i|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==10)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=bh(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if((f|0)==(l|0)&(g|0)==(m|0)){f=2;o=18}else{if(!((f|0)==(m|0)&(g|0)==(l|0))){h=c[i+8>>2]|0;if((g|0)==(l|0)&(h|0)==(m|0)){f=0;o=18;break}if(!((g|0)==(m|0)&(h|0)==(l|0))){if(!((h|0)!=(l|0)|(f|0)==(m|0)^1)){f=1;o=18;break}if((h|0)!=(m|0)|(f|0)==(l|0)^1){f=12340;break}else f=1}else f=0}else f=2;f=i+12+(f<<2)|0}while(0);if((o|0)==18)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){wd(e,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){wd(e,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0){a=e;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[7183]|0;d=d+1|0;c[7183]=d;d=b+-4|0;d=c[d>>2]|0;Hc(d);return}wd(e,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}a=c[a+12>>2]|0;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[7183]|0;d=d+1|0;c[7183]=d;d=b+-4|0;d=c[d>>2]|0;Hc(d);return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=sa;sa=sa+144|0;if((c[a+16>>2]|0)<=0){n=a+76|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];n=c[a>>2]|0;n=n+68|0;n=c[n>>2]|0;Pa[n&511](a);sa=o;return}j=o+16+16|0;k=o+16+32|0;l=o+16+48|0;i=0;do{n=c[a+24>>2]|0;m=n+(i*80|0)|0;c[o+16>>2]=c[m>>2];c[o+16+4>>2]=c[m+4>>2];c[o+16+8>>2]=c[m+8>>2];c[o+16+12>>2]=c[m+12>>2];m=n+(i*80|0)+16|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];m=n+(i*80|0)+32|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];m=n+(i*80|0)+48|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];n=c[n+(i*80|0)+64>>2]|0;n=Fa[c[(c[n>>2]|0)+28>>2]&127](n)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];p=+g[o+4>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[o+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[o>>2]=+g[o>>2]*+g[b>>2]/+g[a+76>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;n=c[(c[a+24>>2]|0)+(i*80|0)+64>>2]|0;Va[c[(c[n>>2]|0)+24>>2]&127](n,o);q=+g[o+16+52>>2]*+g[b+4>>2]/+g[a+80>>2];p=+g[o+16+56>>2]*+g[b+8>>2]/+g[a+84>>2];g[o+16+48>>2]=+g[l>>2]*+g[b>>2]/+g[a+76>>2];g[o+16+52>>2]=q;g[o+16+56>>2]=p;g[o+16+60>>2]=0.0;n=c[a+24>>2]|0;m=n+(i*80|0)|0;c[m>>2]=c[o+16>>2];c[m+4>>2]=c[o+16+4>>2];c[m+8>>2]=c[o+16+8>>2];c[m+12>>2]=c[o+16+12>>2];m=n+(i*80|0)+16|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];m=n+(i*80|0)+32|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];n=n+(i*80|0)+48|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];if(c[a+64>>2]|0){m=c[(c[a+24>>2]|0)+(i*80|0)+64>>2]|0;ab[c[(c[m>>2]|0)+8>>2]&127](m,o+16|0,o+128|0,o+112|0);c[o+80>>2]=c[o+128>>2];c[o+80+4>>2]=c[o+128+4>>2];c[o+80+8>>2]=c[o+128+8>>2];c[o+80+12>>2]=c[o+128+12>>2];c[o+80+16>>2]=c[o+112>>2];c[o+80+16+4>>2]=c[o+112+4>>2];c[o+80+16+8>>2]=c[o+112+8>>2];c[o+80+16+12>>2]=c[o+112+12>>2];m=c[a+64>>2]|0;n=c[(c[a+24>>2]|0)+(i*80|0)+76>>2]|0;d=sg(m,n)|0;a:do if(d){h=c[m+8>>2]|0;if((h|0)<=-1){d=c[m>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);c[n>>2]=c[o+80>>2];c[n+4>>2]=c[o+80+4>>2];c[n+8>>2]=c[o+80+8>>2];c[n+12>>2]=c[o+80+12>>2];c[n+16>>2]=c[o+80+16>>2];c[n+20>>2]=c[o+80+20>>2];c[n+24>>2]=c[o+80+24>>2];c[n+28>>2]=c[o+80+28>>2];ue(m,d,n)}i=i+1|0}while((i|0)<(c[a+16>>2]|0));n=a+76|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];n=c[a>>2]|0;n=n+68|0;n=c[n>>2]|0;Pa[n&511](a);sa=o;return}function td(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=11492;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[7182]=(c[7182]|0)+1;j=xb(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Th(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[7182]=(c[7182]|0)+1;j=xb(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=11556;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[7182]=(c[7182]|0)+1;j=xb(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}fh(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;h=i+1&65535;c[7182]=(c[7182]|0)+1;j=xb(h<<6|19)|0;if(!j)f=0;else{c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16}if(i+1<<16>>16<<16>>16){j=f+(h<<6)|0;k=f;do{c[k>>2]=0;c[k+8>>2]=0;k=k+64|0}while((k|0)!=(j|0))}c[d+60>>2]=f;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if((i+1&65535)>1?(b[f+112>>1]=2,i+1<<16>>16<<16>>16!=2):0){j=2;do{i=j;j=j+1|0;b[f+(i<<6)+48>>1]=j}while((j|0)!=(h|0))}b[f+(h+-1<<6)+48>>1]=0;c[7182]=(c[7182]|0)+1;j=xb((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[7182]=(c[7182]|0)+1;j=xb((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[7182]=(c[7182]|0)+1;j=xb((h<<3|3)+16|0)|0;if(!j){f=0;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=11428;return}c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=11428;return}function ud(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0;V=sa;sa=sa+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;R=+g[h+116>>2]-+g[h+52>>2];S=+g[h+120>>2]-+g[h+56>>2];T=+g[h+124>>2]-+g[h+60>>2];U=+g[h+252>>2];if(R*R+S*S+T*T>2];H=+g[f+20>>2];I=+g[f+36>>2];J=+g[f+8>>2];K=+g[f+24>>2];L=+g[f+40>>2];M=+g[f+12>>2];N=+g[f+28>>2];O=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];l=-+g[f+60>>2];P=+g[h+4>>2];Q=+g[h+20>>2];R=+g[h+36>>2];S=+g[h+8>>2];T=+g[h+24>>2];U=+g[h+40>>2];o=+g[h+12>>2];p=+g[h+28>>2];q=+g[h+44>>2];v=+g[h+52>>2];u=+g[h+56>>2];t=+g[h+60>>2];r=G*j+H*k+I*l+(G*v+H*u+I*t);s=J*j+K*k+L*l+(J*v+K*u+L*t);t=M*j+N*k+O*l+(M*v+N*u+O*t);u=+g[h+68>>2];v=+g[h+84>>2];w=+g[h+100>>2];x=+g[h+72>>2];y=+g[h+88>>2];z=+g[h+104>>2];A=+g[h+76>>2];B=+g[h+92>>2];C=+g[h+108>>2];m=+g[h+116>>2];n=+g[h+120>>2];F=+g[h+124>>2];D=G*j+H*k+I*l+(G*m+H*n+I*F);E=J*j+K*k+L*l+(J*m+K*n+L*F);F=M*j+N*k+O*l+(M*m+N*n+O*F);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){W=1.0;sa=V;return +W}g[V+224>>2]=r;g[V+224+4>>2]=s;g[V+224+8>>2]=t;g[V+224+12>>2]=0.0;if(D>2]=D;i=D}else i=r;if(E>2]=E;j=E}else j=s;if(F>2]=F;k=F}else k=t;g[V+208>>2]=r;g[V+208+4>>2]=s;g[V+208+8>>2]=t;g[V+208+12>>2]=0.0;if(r>2]=D;l=D}else l=r;if(s>2]=E;m=E}else m=s;if(t>2]=F;n=F}else n=t;X=+g[h+248>>2];g[V+224>>2]=i-X;g[V+224+4>>2]=j-X;g[V+224+8>>2]=k-X;g[V+208>>2]=X+l;g[V+208+4>>2]=X+m;g[V+208+8>>2]=X+n;c[V>>2]=6428;g[V+4>>2]=G*P+H*Q+I*R;g[V+8>>2]=G*S+H*T+I*U;g[V+12>>2]=G*o+H*p+I*q;g[V+16>>2]=0.0;g[V+20>>2]=J*P+K*Q+L*R;g[V+24>>2]=J*S+K*T+L*U;g[V+28>>2]=J*o+K*p+L*q;g[V+32>>2]=0.0;g[V+36>>2]=M*P+N*Q+O*R;g[V+40>>2]=M*S+N*T+O*U;g[V+44>>2]=M*o+N*p+O*q;g[V+48>>2]=0.0;g[V+52>>2]=r;g[V+56>>2]=s;g[V+60>>2]=t;g[V+64>>2]=0.0;g[V+68>>2]=G*u+H*v+I*w;g[V+72>>2]=G*x+H*y+I*z;g[V+76>>2]=G*A+H*B+I*C;g[V+80>>2]=0.0;g[V+84>>2]=J*u+K*v+L*w;g[V+88>>2]=J*x+K*y+L*z;g[V+92>>2]=J*A+K*B+L*C;g[V+96>>2]=0.0;g[V+100>>2]=M*u+N*v+O*w;g[V+104>>2]=M*x+N*y+O*z;g[V+108>>2]=M*A+N*B+O*C;g[V+112>>2]=0.0;g[V+116>>2]=D;g[V+120>>2]=E;g[V+124>>2]=F;g[V+128>>2]=0.0;g[V+196>>2]=X;c[V+200>>2]=c[h+244>>2];if(f|0?(ab[c[(c[f>>2]|0)+64>>2]&127](f,V,V+224|0,V+208|0),W=+g[V+200>>2],W<+g[h+244>>2]):0){g[h+244>>2]=W;X=W;sa=V;return +X}X=1.0;sa=V;return +X}function vd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0;V=sa;sa=sa+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;R=+g[h+116>>2]-+g[h+52>>2];S=+g[h+120>>2]-+g[h+56>>2];T=+g[h+124>>2]-+g[h+60>>2];U=+g[h+252>>2];if(R*R+S*S+T*T>2];H=+g[f+20>>2];I=+g[f+36>>2];J=+g[f+8>>2];K=+g[f+24>>2];L=+g[f+40>>2];M=+g[f+12>>2];N=+g[f+28>>2];O=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];l=-+g[f+60>>2];P=+g[h+4>>2];Q=+g[h+20>>2];R=+g[h+36>>2];S=+g[h+8>>2];T=+g[h+24>>2];U=+g[h+40>>2];o=+g[h+12>>2];p=+g[h+28>>2];q=+g[h+44>>2];v=+g[h+52>>2];u=+g[h+56>>2];t=+g[h+60>>2];r=G*j+H*k+I*l+(G*v+H*u+I*t);s=J*j+K*k+L*l+(J*v+K*u+L*t);t=M*j+N*k+O*l+(M*v+N*u+O*t);u=+g[h+68>>2];v=+g[h+84>>2];w=+g[h+100>>2];x=+g[h+72>>2];y=+g[h+88>>2];z=+g[h+104>>2];A=+g[h+76>>2];B=+g[h+92>>2];C=+g[h+108>>2];m=+g[h+116>>2];n=+g[h+120>>2];F=+g[h+124>>2];D=G*j+H*k+I*l+(G*m+H*n+I*F);E=J*j+K*k+L*l+(J*m+K*n+L*F);F=M*j+N*k+O*l+(M*m+N*n+O*F);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){W=1.0;sa=V;return +W}g[V+224>>2]=r;g[V+224+4>>2]=s;g[V+224+8>>2]=t;g[V+224+12>>2]=0.0;if(D>2]=D;i=D}else i=r;if(E>2]=E;j=E}else j=s;if(F>2]=F;k=F}else k=t;g[V+208>>2]=r;g[V+208+4>>2]=s;g[V+208+8>>2]=t;g[V+208+12>>2]=0.0;if(r>2]=D;l=D}else l=r;if(s>2]=E;m=E}else m=s;if(t>2]=F;n=F}else n=t;X=+g[h+248>>2];g[V+224>>2]=i-X;g[V+224+4>>2]=j-X;g[V+224+8>>2]=k-X;g[V+208>>2]=X+l;g[V+208+4>>2]=X+m;g[V+208+8>>2]=X+n;c[V>>2]=8344;g[V+4>>2]=G*P+H*Q+I*R;g[V+8>>2]=G*S+H*T+I*U;g[V+12>>2]=G*o+H*p+I*q;g[V+16>>2]=0.0;g[V+20>>2]=J*P+K*Q+L*R;g[V+24>>2]=J*S+K*T+L*U;g[V+28>>2]=J*o+K*p+L*q;g[V+32>>2]=0.0;g[V+36>>2]=M*P+N*Q+O*R;g[V+40>>2]=M*S+N*T+O*U;g[V+44>>2]=M*o+N*p+O*q;g[V+48>>2]=0.0;g[V+52>>2]=r;g[V+56>>2]=s;g[V+60>>2]=t;g[V+64>>2]=0.0;g[V+68>>2]=G*u+H*v+I*w;g[V+72>>2]=G*x+H*y+I*z;g[V+76>>2]=G*A+H*B+I*C;g[V+80>>2]=0.0;g[V+84>>2]=J*u+K*v+L*w;g[V+88>>2]=J*x+K*y+L*z;g[V+92>>2]=J*A+K*B+L*C;g[V+96>>2]=0.0;g[V+100>>2]=M*u+N*v+O*w;g[V+104>>2]=M*x+N*y+O*z;g[V+108>>2]=M*A+N*B+O*C;g[V+112>>2]=0.0;g[V+116>>2]=D;g[V+120>>2]=E;g[V+124>>2]=F;g[V+128>>2]=0.0;g[V+196>>2]=X;c[V+200>>2]=c[h+244>>2];if(f|0?(ab[c[(c[f>>2]|0)+64>>2]&127](f,V,V+224|0,V+208|0),W=+g[V+200>>2],W<+g[h+244>>2]):0){g[h+244>>2]=W;X=W;sa=V;return +X}X=1.0;sa=V;return +X}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=0;do{k=l;l=l+1|0;m=(l|0)==3;j=c[b+((m?0:l)<<2)>>2]|0;k=c[b+((((k+2|0)>>>0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=3}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=3;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=3;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=11}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=11;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=11;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==11){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=19}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[h+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=19;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=19;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==19){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=27}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=27;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=27;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=35}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=35;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=35;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==35){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;f=c[h>>2]|0;g=c[h+4>>2]|0;do if((f|0)==(j|0)&(g|0)==(k|0)){e=2;n=43}else{if(!((f|0)==(k|0)&(g|0)==(j|0))){e=c[h+8>>2]|0;if((g|0)==(j|0)&(e|0)==(k|0)){e=0;n=43;break}if(!((g|0)==(k|0)&(e|0)==(j|0))){if(!((e|0)!=(j|0)|(f|0)==(k|0)^1)){e=1;n=43;break}if((e|0)!=(k|0)|(f|0)==(j|0)^1){e=12340;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==43){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!m);return}function xd(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;p=+g[e>>2];i=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?i:1566444395;m=+g[e+4>>2];l=(g[j>>2]=m,c[j>>2]|0);v=m<999999984306749440.0?l:1566444395;y=+g[e+8>>2];o=(g[j>>2]=y,c[j>>2]|0);w=y<999999984306749440.0?o:1566444395;i=p>-999999984306749440.0?i:-581039253;l=m>-999999984306749440.0?l:-581039253;o=y>-999999984306749440.0?o:-581039253;y=+g[e+16>>2];t=y<(c[j>>2]=u,+g[j>>2]);k=(g[j>>2]=y,c[j>>2]|0);u=t?k:u;m=+g[e+20>>2];t=m<(c[j>>2]=v,+g[j>>2]);n=(g[j>>2]=m,c[j>>2]|0);v=t?n:v;p=+g[e+24>>2];t=p<(c[j>>2]=w,+g[j>>2]);q=(g[j>>2]=p,c[j>>2]|0);w=t?q:w;k=y>(c[j>>2]=i,+g[j>>2])?k:i;i=m>(c[j>>2]=l,+g[j>>2])?n:l;o=p>(c[j>>2]=o,+g[j>>2])?q:o;y=+g[e+32>>2];q=y<(c[j>>2]=u,+g[j>>2]);r=(g[j>>2]=y,c[j>>2]|0);m=+g[e+36>>2];s=m<(c[j>>2]=v,+g[j>>2]);t=(g[j>>2]=m,c[j>>2]|0);p=+g[e+40>>2];l=p<(c[j>>2]=w,+g[j>>2]);n=(g[j>>2]=p,c[j>>2]|0);k=y>(c[j>>2]=k,+g[j>>2])?r:k;i=m>(c[j>>2]=i,+g[j>>2])?t:i;o=p>(c[j>>2]=o,+g[j>>2])?n:o;G=(c[j>>2]=k,+g[j>>2]);H=(c[j>>2]=q?r:u,+g[j>>2]);C=(c[j>>2]=i,+g[j>>2]);D=(c[j>>2]=s?t:v,+g[j>>2]);m=(c[j>>2]=o,+g[j>>2]);z=(c[j>>2]=l?n:w,+g[j>>2]);o=c[d+8>>2]|0;F=+g[o+4>>2];B=+g[o+8>>2];p=+g[o+12>>2];E=+g[o+36>>2];A=+g[o+40>>2];y=+g[o+44>>2];o=~~(((G-H<2.0000000949949026e-03?H+-1.0000000474974513e-03:H)-F)*E)&65535&-2;q=~~(((C-D<2.0000000949949026e-03?D+-1.0000000474974513e-03:D)-B)*A)&65535&-2;r=~~(((m-z<2.0000000949949026e-03?z+-1.0000000474974513e-03:z)-p)*y)&65535&-2;s=~~(((G-H<2.0000000949949026e-03?G+1.0000000474974513e-03:G)-F)*E+1.0)&65535|1;t=~~(((C-D<2.0000000949949026e-03?C+1.0000000474974513e-03:C)-B)*A+1.0)&65535|1;e=~~(((m-z<2.0000000949949026e-03?m+1.0000000474974513e-03:m)-p)*y+1.0)&65535|1;n=c[d+4>>2]|0;i=c[n+4>>2]|0;if((i|0)==(c[n+8>>2]|0)?(x=(i|0)==0?1:i<<1,(i|0)<(x|0)):0){if(!x)l=0;else{c[7182]=(c[7182]|0)+1;i=xb((x<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=i;i=c[n+4>>2]|0}if((i|0)>0){k=0;do{d=l+(k<<4)|0;w=(c[n+12>>2]|0)+(k<<4)|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[n+12>>2]|0;if(i|0){if(a[n+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=l;c[n+8>>2]=x;i=c[n+4>>2]|0}x=c[n+12>>2]|0;b[x+(i<<4)>>1]=o;b[x+(i<<4)+2>>1]=q;b[x+(i<<4)+4>>1]=r;b[x+(i<<4)+6>>1]=s;b[x+(i<<4)+8>>1]=t;b[x+(i<<4)+10>>1]=e;c[x+(i<<4)+12>>2]=f<<21|h;c[n+4>>2]=(c[n+4>>2]|0)+1;return}function yd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;l=sa;sa=sa+336|0;f=c[d+36>>2]|0;c[l+272+4>>2]=35;c[l+272+8>>2]=0;c[l+272+12>>2]=1065353216;c[l+272+16>>2]=1065353216;c[l+272+20>>2]=1065353216;g[l+272+24>>2]=0.0;c[l+272>>2]=6196;c[l+272+52>>2]=f;g[l+272+44>>2]=0.0;j=c[b+28>>2]|0;d=c[j+4>>2]|0;if(c[(c[j+8>>2]|0)+204>>2]&3|0?a[f+376>>0]|0:0){sa=l;return}if((a[26616]|0)==0?mz(26616)|0:0){if((a[26624]|0)==0?mz(26624)|0:0){c[6774]=1065353216;c[6775]=0;c[6776]=0;c[6777]=0;c[6778]=0;c[6779]=1065353216;c[6780]=0;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=1065353216;g[6785]=0.0}c[6758]=c[6774];c[6759]=c[6775];c[6760]=c[6776];c[6761]=c[6777];c[6762]=c[6778];c[6763]=c[6779];c[6764]=c[6780];c[6765]=c[6781];c[6766]=c[6782];c[6767]=c[6783];c[6768]=c[6784];c[6769]=c[6785];c[6770]=0;c[6771]=0;c[6772]=0;c[6773]=0}e=c[(c[b+28>>2]|0)+12>>2]|0;c[l>>2]=1065353216;c[l+4>>2]=0;c[l+8>>2]=0;g[l+12>>2]=0.0;if(!(!(Rc(l+272|0,27032,d,e,l,l+216|0)|0)?!(Ob(l+272|0,27032,d,e,l,l+216|0,0)|0):0))h=12;if((h|0)==12?(c[l+4>>2]=0,c[l+4+4>>2]=0,c[l+4+8>>2]=0,c[l+4+12>>2]=0,c[l+4+16>>2]=0,c[l+4+20>>2]=0,a[l+152>>0]=0,c[l>>2]=6016,j=c[(c[b+28>>2]|0)+8>>2]|0,jc(b,l+216|0,f,0,0,0,(c[j+236>>2]&2|0)==0?0:j,j,l)|0):0){c[7182]=(c[7182]|0)+1;d=xb(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;mk(e|0,0,212)|0;c[j>>2]=6016;f=l+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[l+104>>2];c[e+4>>2]=c[l+104+4>>2];c[e+8>>2]=c[l+104+8>>2];c[e+12>>2]=c[l+104+12>>2];e=j+120|0;c[e>>2]=c[l+120>>2];c[e+4>>2]=c[l+120+4>>2];c[e+8>>2]=c[l+120+8>>2];c[e+12>>2]=c[l+120+12>>2];e=j+136|0;c[e>>2]=c[l+136>>2];c[e+4>>2]=c[l+136+4>>2];c[e+8>>2]=c[l+136+8>>2];c[e+12>>2]=c[l+136+12>>2];a[d>>0]=a[l+152>>0]|0;e=j+156|0;f=l+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=(d|0)==0?1:d<<1,(d|0)<(k|0)):0){if(!k)f=0;else{c[7182]=(c[7182]|0)+1;d=xb((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=j+64|0;g[b>>2]=+g[d+340>>2]*+g[b>>2];d=d+352|0}else{b=j+64|0;g[b>>2]=+g[d+344>>2]*+g[b>>2];d=d+356|0}b=j+68|0;g[b>>2]=+g[d>>2]*+g[b>>2]}sa=l;return}function zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[7182]=(c[7182]|0)+1;h=xb(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+24>>2]|0;if((i|0)>0){h=0;do{l=(c[b+32>>2]|0)+(h<<3)|0;m=c[l+4>>2]|0;n=j+(h<<3)|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;h=h+1|0}while((h|0)!=(i|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;h=c[b+32>>2]|0;c[h>>2]=d;c[h+4>>2]=e;h=1;i=124;do{n=h+-1|0;j=c[b+32>>2]|0;l=c[j+(n<<3)>>2]|0;m=c[j+(n<<3)+4>>2]|0;if((n|0)>(i|0)){k=c[b+24>>2]|0;if((k|0)<(k<<1|0)?(c[b+28>>2]|0)<(k<<1|0):0){if(k){c[7182]=(c[7182]|0)+1;i=xb((k<<4|3)+16|0)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}j=c[b+24>>2]|0;if((j|0)>0){i=0;do{p=(c[b+32>>2]|0)+(i<<3)|0;o=c[p+4>>2]|0;d=e+(i<<3)|0;c[d>>2]=c[p>>2];c[d+4>>2]=o;i=i+1|0}while((i|0)!=(j|0));d=e;j=e}else{d=e;j=e}}else{d=0;j=0}i=c[b+32>>2]|0;if(i|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=d;c[b+28>>2]=k<<1}c[b+24>>2]=k<<1;i=(k<<1)+-4|0}do if((l|0)==(m|0))if(!(c[l+40>>2]|0))h=n;else{o=c[l+36>>2]|0;c[j+(n<<3)>>2]=o;c[j+(n<<3)+4>>2]=o;o=c[l+40>>2]|0;p=h+1|0;n=c[b+32>>2]|0;c[n+(h<<3)>>2]=o;c[n+(h<<3)+4>>2]=o;n=c[l+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[l+36>>2];c[o+(p<<3)+4>>2]=n;h=h+2|0}else if(((((+g[l>>2]<=+g[m+16>>2]?+g[l+16>>2]>=+g[m>>2]:0)?+g[l+4>>2]<=+g[m+20>>2]:0)?+g[l+20>>2]>=+g[m+4>>2]:0)?+g[l+8>>2]<=+g[m+24>>2]:0)?+g[l+24>>2]>=+g[m+8>>2]:0){d=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(d){o=c[m+36>>2]|0;c[j+(n<<3)>>2]=l;c[j+(n<<3)+4>>2]=o;o=c[m+40>>2]|0;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=l;c[p+(h<<3)+4>>2]=o;h=h+1|0;break}else{Za[c[(c[f>>2]|0)+8>>2]&127](f,l,m);h=n;break}else{e=c[l+36>>2]|0;if(d){p=c[m+36>>2]|0;c[j+(n<<3)>>2]=e;c[j+(n<<3)+4>>2]=p;p=c[m+36>>2]|0;n=h+1|0;k=c[b+32>>2]|0;c[k+(h<<3)>>2]=c[l+40>>2];c[k+(h<<3)+4>>2]=p;k=c[m+40>>2]|0;p=h+2|0;o=c[b+32>>2]|0;c[o+(n<<3)>>2]=c[l+36>>2];c[o+(n<<3)+4>>2]=k;n=c[m+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[l+40>>2];c[o+(p<<3)+4>>2]=n;h=h+3|0;break}else{c[j+(n<<3)>>2]=e;c[j+(n<<3)+4>>2]=m;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=c[l+40>>2];c[p+(h<<3)+4>>2]=m;h=h+1|0;break}}}else h=n;while(0)}while((h|0)!=0);return}function Ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;h=sa;sa=sa+16|0;f=xs()|0;if((a[26704]|0)==0?mz(26704)|0:0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;Cf(27392,0.0,0,0,h)}c[6899]=c[6899]|1;g[6934]=0.0;w=+g[6944]*0.0;C=+g[6945]*0.0;g[6939]=+g[6943]*0.0;g[6940]=w;g[6941]=C;g[6942]=0.0;c[6947]=0;c[6948]=0;c[6949]=0;c[6950]=0;C=+g[6936]*0.0;w=+g[6937]*0.0;g[6988]=+g[6935]*0.0;g[6989]=C;g[6990]=w;g[6991]=0.0;c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;c[f+28>>2]=27392;c[f+32>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=7408;a[f+48>>0]=0;c[f+116>>2]=c[d>>2];c[f+116+4>>2]=c[d+4>>2];c[f+116+8>>2]=c[d+8>>2];c[f+116+12>>2]=c[d+12>>2];c[f+132>>2]=c[d+16>>2];c[f+132+4>>2]=c[d+16+4>>2];c[f+132+8>>2]=c[d+16+8>>2];c[f+132+12>>2]=c[d+16+12>>2];c[f+148>>2]=c[d+32>>2];c[f+148+4>>2]=c[d+32+4>>2];c[f+148+8>>2]=c[d+32+8>>2];c[f+148+12>>2]=c[d+32+12>>2];c[f+164>>2]=c[d+48>>2];c[f+164+4>>2]=c[d+48+4>>2];c[f+164+8>>2]=c[d+48+8>>2];c[f+164+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;w=+g[f+116>>2];C=+g[b+4>>2];v=+g[f+132>>2];B=+g[b+8>>2];u=+g[f+148>>2];A=+g[b+12>>2];t=+g[f+120>>2];s=+g[f+136>>2];r=+g[f+152>>2];q=+g[f+124>>2];o=+g[f+140>>2];m=+g[f+156>>2];z=+g[b+20>>2];y=+g[b+24>>2];x=+g[b+28>>2];p=+g[b+36>>2];n=+g[b+40>>2];l=+g[b+44>>2];E=+g[f+164>>2];D=+g[f+168>>2];i=+g[f+172>>2];k=+g[b+52>>2]+(C*E+B*D+A*i);j=z*E+y*D+x*i+ +g[b+56>>2];i=p*E+n*D+l*i+ +g[b+60>>2];g[f+52>>2]=w*C+v*B+u*A;g[f+56>>2]=C*t+B*s+A*r;g[f+60>>2]=C*q+B*o+A*m;g[f+64>>2]=0.0;g[f+68>>2]=w*z+v*y+u*x;g[f+72>>2]=t*z+s*y+r*x;g[f+76>>2]=q*z+o*y+m*x;g[f+80>>2]=0.0;g[f+84>>2]=w*p+v*n+u*l;g[f+88>>2]=t*p+s*n+r*l;g[f+92>>2]=q*p+o*n+m*l;g[f+96>>2]=0.0;g[f+100>>2]=k;g[f+104>>2]=j;g[f+108>>2]=i;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[f+1100>>2]=0;c[f+1100+4>>2]=0;c[f+1100+8>>2]=0;a[f+1100+12>>0]=0;a[f+49>>0]=1;kc(f,(c[f+28>>2]|0)+4|0,(c[f+32>>2]|0)+4|0);sa=h;return f|0}function Bd(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+92>>2]|0;if(!(Fa[c[(c[o>>2]|0)+56>>2]&127](o)|0))return;o=c[b+92>>2]|0;o=Fa[c[(c[o>>2]|0)+28>>2]&127](o)|0;f=c[o+4>>2]|0;if((f|0)>1){Ed(o,0,f+-1|0);j=c[o+4>>2]|0}else j=f;m=c[b+104>>2]|0;f=j-m|0;if((m|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){g=0;i=j}else{c[7182]=(c[7182]|0)+1;g=xb((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=c[o+4>>2]|0}if((i|0)>0){h=0;do{m=c[o+12>>2]|0;c[g+(h<<4)>>2]=c[m+(h<<4)>>2];c[g+(h<<4)+4>>2]=c[m+(h<<4)+4>>2];c[g+(h<<4)+8>>2]=c[m+(h<<4)+8>>2];c[g+(h<<4)+12>>2]=c[m+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=g;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{m=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while((g|0)!=(f|0))}c[o+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){l=0;m=0;g=0;h=0;do{k=c[o+12>>2]|0;j=k+(l<<4)|0;p=m;m=c[j>>2]|0;k=k+(l<<4)+4|0;i=c[k>>2]|0;if(!((m|0)==(p|0)&(i|0)==(g|0))){p=m+54|0;g=m+48|0;if((((((e[p>>1]|0)>=(e[i+48>>1]|0)?(e[i+54>>1]|0)>=(e[g>>1]|0):0)?(e[p+2>>1]|0)>=(e[i+48+2>>1]|0):0)?(e[i+54+2>>1]|0)>=(e[g+2>>1]|0):0)?(e[p+4>>1]|0)>=(e[i+52>>1]|0):0)?(e[i+54+4>>1]|0)>=(e[m+52>>1]|0):0)g=i;else{f=i;n=30}}else{f=g;n=30}if((n|0)==30){n=0;h=c[b+92>>2]|0;Za[c[(c[h>>2]|0)+32>>2]&127](h,j,d);c[j>>2]=0;c[k>>2]=0;h=(c[b+104>>2]|0)+1|0;c[b+104>>2]=h;c[7158]=(c[7158]|0)+-1;g=f;f=c[o+4>>2]|0}l=l+1|0}while((l|0)<(f|0));if((f|0)>1){Ed(o,0,f+-1|0);h=c[b+104>>2]|0;g=c[o+4>>2]|0}else g=f;f=g-h|0;if((h|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){h=0;j=g}else{c[7182]=(c[7182]|0)+1;h=xb((f<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[o+4>>2]|0}if((j|0)>0){i=0;do{p=c[o+12>>2]|0;c[h+(i<<4)>>2]=c[p+(i<<4)>>2];c[h+(i<<4)+4>>2]=c[p+(i<<4)+4>>2];c[h+(i<<4)+8>>2]=c[p+(i<<4)+8>>2];c[h+(i<<4)+12>>2]=c[p+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[o+12>>2]|0;if(i|0){if(a[o+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=h;c[o+8>>2]=f}do{p=(c[o+12>>2]|0)+(g<<4)|0;g=g+1|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while((g|0)!=(f|0))}}c[o+4>>2]=f;c[b+104>>2]=0;return}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=sa;sa=sa+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;f=c[a+64>>2]|0;if(f|0){d=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;sg(f,d)|0;e=c[f+4>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[f+4>>2]=d;c[f+12>>2]=(c[f+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){f=c[a+16>>2]|0;f=f+-1|0;c[a+16>>2]=f;sa=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;f=c[a+16>>2]|0;f=f+-1|0;c[a+16>>2]=f;sa=g;return}function Dd(a,d,f,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;U=sa;sa=sa+32|0;Q=+g[f>>2];E=+g[f+4>>2];I=+g[f+8>>2];J=1.0/+x(+((h-Q)*(h-Q)+(i-E)*(i-E)+(j-I)*(j-I)));N=(h-Q)*J==0.0?999999984306749440.0:1.0/((h-Q)*J);O=(i-E)*J==0.0?999999984306749440.0:1.0/((i-E)*J);P=(j-I)*J==0.0?999999984306749440.0:1.0/((j-I)*J);da=(Q>h?h:Q)+ +g[k>>2];ca=(E>i?i:E)+ +g[k+4>>2];ba=(I>j?j:I)+ +g[k+8>>2];$=(Q>2];X=(E>2];s=(I>2];_=+g[a+4>>2];da=da<_?_:da;W=+g[a+8>>2];ca=ca>2];ba=ba>2];Y=+g[a+24>>2];r=+g[a+28>>2];Z=+g[a+36>>2];V=+g[a+40>>2];u=+g[a+44>>2];R=~~(((aa0){o=0;n=0;p=c[a+136>>2]|0;do{n=n+1|0;q=p+6|0;v=b[p>>1]|0;w=p+10|0;y=b[p+4>>1]|0;z=p+8|0;A=b[p+2>>1]|0;B=p+12|0;C=(c[B>>2]|0)>-1;do if(((F&65535)>=(v&65535)?(R&65535)<=(e[q>>1]|0):0)&(T&65535)<=(e[w>>1]|0)&(H&65535)>=(y&65535)&(S&65535)<=(e[z>>1]|0)&(G&65535)>=(A&65535)){$=+g[a+36>>2];ba=+g[a+40>>2];da=+g[a+44>>2];aa=+g[a+4>>2];ca=+g[a+8>>2];t=+g[a+12>>2];g[U+12>>2]=0.0;u=aa+ +(e[q>>1]|0)/$;r=ca+ +(e[z>>1]|0)/ba;s=t+ +(e[w>>1]|0)/da;g[U+28>>2]=0.0;g[U>>2]=+(v&65535)/$+aa-+g[l>>2];g[U+4>>2]=+(A&65535)/ba+ca-+g[l+4>>2];g[U+8>>2]=+(y&65535)/da+t-+g[l+8>>2];g[U+16>>2]=u-+g[k>>2];g[U+20>>2]=r-+g[k+4>>2];g[U+24>>2]=s-+g[k+8>>2];s=+g[f>>2];r=N*(+g[U+((N<0.0&1)<<4)>>2]-s);s=N*(+g[U+(((N<0.0^1)&1)<<4)>>2]-s);u=+g[f+4>>2];t=O*(+g[U+((O<0.0&1)<<4)+4>>2]-u);u=O*(+g[U+(((O<0.0^1)&1)<<4)+4>>2]-u);if(!(t>s|r>u)?(K=t>r?t:r,D=u>2],L=P*(+g[U+((P<0.0&1)<<4)+8>>2]-M),M=P*(+g[U+(((P<0.0^1)&1)<<4)+8>>2]-M),!(L>D|K>M)):0){q=(M0.0?(L>K?L:K)<(j-I)*(j-I)*J+((h-Q)*(h-Q)*J+(i-E)*(i-E)*J):0;if(!(C&q)){v=9;break}v=c[B>>2]|0;Za[c[(c[d>>2]|0)+8>>2]&127](d,21?v>>21:v,v&2097151);v=10;break}q=0;v=9}else{q=0;v=9}while(0);if((v|0)==9){v=0;if(C|q)v=10;else{C=c[B>>2]|0;o=o-C|0;p=p+(0-C<<4)|0}}if((v|0)==10){o=o+1|0;p=p+16|0}}while((o|0)<(m|0))}else n=0;if((c[7162]|0)>=(n|0)){sa=U;return}c[7162]=n;sa=U;return}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;while(1){o=c[a+12>>2]|0;q=(b+d|0)/2|0;r=c[o+(q<<4)>>2]|0;p=c[o+(q<<4)+4>>2]|0;q=c[o+(q<<4)+8>>2]|0;e=d;f=b;while(1){a:do if(!r)while(1){l=o+(f<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[o+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(p|0))break a;if((c[o+(f<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);f=f+1|0}else{m=c[r+12>>2]|0;while(1){l=o+(f<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[o+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=(m|0)){g=(h|0)>(i|0);if(g|(j|0)==(r|0)^1)if((j|0)==(r|0)&g)break;else break a;if((k|0)!=(p|0))break a;if((c[o+(f<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);f=f+1|0}}while(0);b:do if(!r)while(1){g=o+(e<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[o+(e<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((h|0)>=-1){h=(i|0)>(j|0);if(h|(k|0)==0^1)if((k|0)==0&h)break;else break b;if((p|0)!=(m|0))break b;if((c[o+(e<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);e=e+-1|0}else{n=c[r+12>>2]|0;while(1){g=o+(e<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[o+(e<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((n|0)<=(h|0)){h=(i|0)>(j|0);if(h|(r|0)==(k|0)^1)if((r|0)==(k|0)&h)break;else break b;if((p|0)!=(m|0))break b;if((c[o+(e<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);e=e+-1|0}}while(0);if((f|0)<=(e|0)){j=c[l>>2]|0;k=c[o+(f<<4)+4>>2]|0;m=c[o+(f<<4)+8>>2]|0;n=c[o+(f<<4)+12>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];o=c[a+12>>2]|0;c[o+(e<<4)>>2]=j;c[o+(e<<4)+4>>2]=k;c[o+(e<<4)+8>>2]=m;c[o+(e<<4)+12>>2]=n;e=e+-1|0;f=f+1|0}if((f|0)>(e|0))break;o=c[a+12>>2]|0}if((e|0)>(b|0))Ed(a,b,e);if((f|0)<(d|0))b=f;else break}return}function Fd(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;D=sa;sa=sa+32|0;if(!d){sa=D;return}m=c[b+44>>2]|0;if((m|0)<128){if((c[b+48>>2]|0)<128){c[7182]=(c[7182]|0)+1;n=xb(531)|0;if(!n)p=0;else{c[(n+4+15&-16)+-4>>2]=n;p=n+4+15&-16}o=c[b+44>>2]|0;if((o|0)>0){n=0;do{c[p+(n<<2)>>2]=c[(c[b+52>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(o|0))}n=c[b+52>>2]|0;if(n|0){if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[n+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=p;c[b+48>>2]=128;n=b+52|0}else n=b+52|0;do{c[(c[n>>2]|0)+(m<<2)>>2]=0;m=m+1|0}while((m|0)!=128);y=b+48|0}else{n=b+52|0;y=b+48|0}c[b+44>>2]=128;c[c[n>>2]>>2]=d;o=1;m=126;do{w=o+-1|0;p=c[n>>2]|0;x=c[p+(w<<2)>>2]|0;u=+g[x+4>>2]-+g[k+4>>2];s=+g[x+8>>2]-+g[k+8>>2];g[D>>2]=+g[x>>2]-+g[k>>2];g[D+4>>2]=u;g[D+8>>2]=s;g[D+12>>2]=0.0;s=+g[x+20>>2]-+g[j+4>>2];u=+g[x+24>>2]-+g[j+8>>2];g[D+16>>2]=+g[x+16>>2]-+g[j>>2];g[D+20>>2]=s;g[D+24>>2]=u;g[D+28>>2]=0.0;v=c[h>>2]|0;u=+g[e>>2];s=+g[f>>2];t=(+g[D+(v<<4)>>2]-u)*s;u=s*(+g[D+(1-v<<4)>>2]-u);v=c[h+4>>2]|0;s=+g[e+4>>2];E=+g[f+4>>2];r=(+g[D+(v<<4)+4>>2]-s)*E;s=E*(+g[D+(1-v<<4)+4>>2]-s);do if((!(r>u|t>s)?(A=r>t?r:t,z=s>2]|0,C=+g[e+8>>2],E=+g[f+8>>2],B=(+g[D+(v<<4)+8>>2]-C)*E,C=E*(+g[D+(1-v<<4)+8>>2]-C),!(B>z|A>C)):0)?((C0.0?(B>A?B:A)>2]|0)){Va[c[(c[l>>2]|0)+12>>2]&127](l,x);o=w;break}if((w|0)>(m|0)){v=c[b+44>>2]|0;if((v|0)<(v<<1|0)){if((c[y>>2]|0)<(v<<1|0)){if(v){c[7182]=(c[7182]|0)+1;m=xb((v<<3|3)+16|0)|0;if(!m)q=0;else{c[(m+4+15&-16)+-4>>2]=m;q=m+4+15&-16}p=c[b+44>>2]|0;if((p|0)>0){m=0;do{c[q+(m<<2)>>2]=c[(c[n>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(p|0));d=q;m=q}else{d=q;m=q}}else{d=0;m=0}p=c[n>>2]|0;if(p|0){if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[p+-4>>2]|0)}c[n>>2]=0}a[b+56>>0]=1;c[n>>2]=d;c[y>>2]=v<<1}else m=p;p=v;do{c[m+(p<<2)>>2]=0;p=p+1|0;m=c[n>>2]|0}while((p|0)!=(v<<1|0));p=m+(w<<2)|0}else p=p+(w<<2)|0;c[b+44>>2]=v<<1;m=(v<<1)+-2|0}else p=p+(w<<2)|0;c[p>>2]=c[x+36>>2];c[(c[n>>2]|0)+(o<<2)>>2]=c[x+40>>2];o=o+1|0}else o=w;while(0)}while((o|0)!=0);sa=D;return}function Gd(a,b,d,e,f,h,i,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;l=l|0;m=+m;n=n|0;var o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0;E=sa;sa=sa+2560|0;Wp(E+2528|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],f);qp(E+2544|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[E+2528>>2],+g[E+2528+4>>2],+g[E+2528+8>>2]);Wp(E+2496|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],f);sp(E+2512|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[E+2496>>2],+g[E+2496+4>>2],+g[E+2496+8>>2]);Co(E+2464|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);p=!(h<=-1.5707963705062866)?h:m*.01745329238474369+-1.5707963705062866;o=!(i>=1.5707963705062866)?i:1.5707963705062866-m*.01745329238474369;if(p>o){D=1;C=1;p=m*.01745329238474369+-1.5707963705062866;o=1.5707963705062866-m*.01745329238474369}else{D=!(i>=1.5707963705062866)^1;C=!(h<=-1.5707963705062866)^1}A=o-p;B=(~~(A/(m*.01745329238474369))|0)<1?2:~~(A/(m*.01745329238474369))+1|0;if(!(j>k))if(!(k-j>=6.2831854820251465)){o=k;z=0}else{o=k;z=1}else{j=m*.01745329238474369+-3.1415927410125732;o=3.1415927410125732;z=1}h=o-j;y=(~~(h/(m*.01745329238474369))|0)<1?2:~~(h/(m*.01745329238474369))+1|0;r=0;s=E+1184|0;t=E;while(1){if((r|0)>=(B|0))break;i=p+A/+(B+-1|0)*+(r|0);o=+yI(i)*f;i=+zI(i)*f;u=(r|0)==0;v=(r|0)==(B+-1|0);q=0;while(1){if((q|0)>=(y|0))break;k=j+h/+(y+-1|0)*+(q|0);m=+yI(k);k=i*+zI(k);yy(E+2400|0,k,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);qp(E+2416|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[E+2400>>2],+g[E+2400+4>>2],+g[E+2400+8>>2]);yy(E+2384|0,i*m,+g[E+2464>>2],+g[E+2464+4>>2],+g[E+2464+8>>2]);qp(E+2432|0,+g[E+2416>>2],+g[E+2416+4>>2],+g[E+2416+8>>2],+g[E+2384>>2],+g[E+2384+4>>2],+g[E+2384+8>>2]);yy(E+2368|0,o,+g[d>>2],+g[d+4>>2],+g[d+8>>2]);qp(E+2448|0,+g[E+2432>>2],+g[E+2432+4>>2],+g[E+2432+8>>2],+g[E+2368>>2],+g[E+2368+4>>2],+g[E+2368+8>>2]);w=t+(q<<4)|0;c[w>>2]=c[E+2448>>2];c[w+4>>2]=c[E+2448+4>>2];c[w+8>>2]=c[E+2448+8>>2];c[w+12>>2]=c[E+2448+12>>2];if(u){if(D)ab[c[(c[a>>2]|0)+8>>2]&127](a,E+2512|0,w,l)}else ab[c[(c[a>>2]|0)+8>>2]&127](a,s+(q<<4)|0,w,l);x=(q|0)==0;if(x){c[E+2480>>2]=c[t>>2];c[E+2480+4>>2]=c[t+4>>2];c[E+2480+8>>2]=c[t+8>>2];c[E+2480+12>>2]=c[t+12>>2]}else ab[c[(c[a>>2]|0)+8>>2]&127](a,t+(q+-1<<4)|0,w,l);if(v&C)ab[c[(c[a>>2]|0)+8>>2]&127](a,E+2544|0,w,l);do if(n)if(z){if((q|0)!=(y+-1|0))break;ab[c[(c[a>>2]|0)+8>>2]&127](a,E+2480|0,t+(y+-1<<4)|0,l);break}else{if(!((u|v)&(x|(q|0)==(y+-1|0))))break;ab[c[(c[a>>2]|0)+8>>2]&127](a,b,w,l);break}while(0);q=q+1|0}x=t;r=r+1|0;t=s;s=x}sa=E;return}function Hd(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=sa;sa=sa+16|0;n=c[b+452>>2]|0;Za[c[(c[n>>2]|0)+16>>2]&127](n,b+324|0,0);n=c[b+452>>2]|0;Fa[c[(c[n>>2]|0)+12>>2]&127](n)|0;Xb(b,d);Ki(15967);n=c[b+328>>2]|0;if((n|0)>0){f=c[b+336>>2]|0;e=0;k=0;do{m=c[(c[f+(e<<2)>>2]|0)+384>>2]|0;k=(k|0)>(m|0)?k:m;e=e+1|0}while((e|0)!=(n|0));e=0;while(1){h=c[f+(e<<2)>>2]|0;if((c[h+852>>2]|0)>0){f=0;do{m=c[(c[h+860>>2]|0)+(f<<2)>>2]|0;Ta[c[(c[m>>2]|0)+8>>2]&15](m,+g[h+452>>2],k);f=f+1|0}while((f|0)<(c[h+852>>2]|0))}e=e+1|0;if((e|0)==(n|0))break;f=c[b+336>>2]|0}if((k|0)>0){h=0;do{e=0;do{i=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;j=c[i+852>>2]|0;if((j|0)>0){f=0;do{m=c[(c[i+860>>2]|0)+(f<<2)>>2]|0;Ra[c[(c[m>>2]|0)+12>>2]&7](m,+g[i+452>>2],1.0);f=f+1|0}while((f|0)!=(j|0))}e=e+1|0}while((e|0)!=(n|0));h=h+1|0}while((h|0)!=(k|0))}l=0;do{m=c[(c[b+336>>2]|0)+(l<<2)>>2]|0;if((c[m+852>>2]|0)>0){e=0;do{f=c[(c[m+860>>2]|0)+(e<<2)>>2]|0;Qa[c[(c[f>>2]|0)+16>>2]&31](f,+g[m+452>>2]);f=c[m+860>>2]|0;h=c[f+(e<<2)>>2]|0;a:do if(a[h+152>>0]|0){if(!h)k=f;else{c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);k=c[m+860>>2]|0}j=e+-1|0;f=c[m+852>>2]|0;if((f|0)>0){i=c[k+(e<<2)>>2]|0;e=0;while(1){h=k+(e<<2)|0;if((c[h>>2]|0)==(i|0))break;e=e+1|0;if((e|0)>=(f|0)){e=j;break a}}if((e|0)<(f|0)){c[h>>2]=c[k+(f+-1<<2)>>2];c[(c[m+860>>2]|0)+(f+-1<<2)>>2]=i;c[m+852>>2]=f+-1;e=j;f=f+-1|0}else e=j}else e=j}else f=c[m+852>>2]|0;while(0);e=e+1|0}while((e|0)<(f|0))}l=l+1|0}while((l|0)!=(n|0))}e=c[b+452>>2]|0;Qa[c[(c[e>>2]|0)+28>>2]&31](e,+g[e+12>>2]*d);e=c[3084]|0;n=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=n;do if(!n){if(c[e+4>>2]|0){la(o|0,0)|0;n=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[o+4>>2]|0)-(c[n+4>>2]|0)+(((c[o>>2]|0)-(c[n>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3084]|0}c[3084]=c[e+20>>2]}while(0);if((c[b+328>>2]|0)<=0){b=c[b+452>>2]|0;n=c[b>>2]|0;n=n+32|0;n=c[n>>2]|0;Pa[n&511](b);sa=o;return}e=0;do{n=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;ph(n,n);e=e+1|0}while((e|0)<(c[b+328>>2]|0));b=c[b+452>>2]|0;n=c[b>>2]|0;n=n+32|0;n=c[n>>2]|0;Pa[n&511](b);sa=o;return}function Id(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0;r=sa;sa=sa+32|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{Ld(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0))}q=c[b+116>>2]|0;l=+g[q+312>>2];m=+g[q+316>>2];h=+g[q+320>>2];h=+x(+(l*l+m*m+h*h))*3.5999999046325684;g[b+112>>2]=h;p=c[b+128>>2]|0;if(+g[q+4+(p<<2)>>2]*+g[q+312>>2]+ +g[q+20+(p<<2)>>2]*+g[q+316>>2]+ +g[q+36+(p<<2)>>2]*+g[q+320>>2]<0.0)g[b+112>>2]=-h;if((e|0)>0){e=0;do{+ze(b,(c[b+144>>2]|0)+(e*284|0)|0);e=e+1|0;f=c[b+136>>2]|0}while((e|0)<(f|0));i=1.0/+g[(c[b+116>>2]|0)+344>>2];if((f|0)>0){f=0;do{e=c[b+144>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=i*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{p=c[b+144>>2]|0;k=+g[p+(e*284|0)+276>>2];m=+g[p+(e*284|0)+248>>2];k=k>m?m:k;m=k*+g[p+(e*284|0)+4>>2]*d;l=k*+g[p+(e*284|0)+8>>2]*d;g[r+16>>2]=+g[p+(e*284|0)>>2]*k*d;g[r+16+4>>2]=m;g[r+16+8>>2]=l;g[r+16+12>>2]=0.0;q=c[b+116>>2]|0;l=+g[p+(e*284|0)+20>>2]-+g[q+56>>2];m=+g[p+(e*284|0)+24>>2]-+g[q+60>>2];g[r>>2]=+g[p+(e*284|0)+16>>2]-+g[q+52>>2];g[r+4>>2]=l;g[r+8>>2]=m;g[r+12>>2]=0.0;Bk(q,r+16|0,r);e=e+1|0}while((e|0)<(c[b+136>>2]|0))}}}Qa[c[(c[b>>2]|0)+20>>2]&31](b,d);o=c[b+136>>2]|0;if((o|0)<=0){sa=r;return}p=c[b+144>>2]|0;q=c[b+116>>2]|0;n=0;do{h=+g[p+(n*284|0)+36>>2]-+g[q+52>>2];i=+g[p+(n*284|0)+40>>2]-+g[q+56>>2];j=+g[p+(n*284|0)+44>>2]-+g[q+60>>2];k=+g[q+332>>2];l=+g[q+336>>2];m=+g[q+328>>2];if(!(a[p+(n*284|0)+84>>0]|0)){e=p+(n*284|0)+240|0;j=+g[e>>2];s=p+(n*284|0)+236|0;f=s;h=j;i=+g[s>>2]}else{e=c[b+128>>2]|0;z=+g[q+4+(e<<2)>>2];w=+g[q+20+(e<<2)>>2];u=+g[q+36+(e<<2)>>2];y=+g[p+(n*284|0)>>2];v=+g[p+(n*284|0)+4>>2];t=+g[p+(n*284|0)+8>>2];j=((i*m-h*k+ +g[q+320>>2])*(u-t*(z*y+w*v+u*t))+((k*j-i*l+ +g[q+312>>2])*(z-y*(z*y+w*v+u*t))+(h*l-j*m+ +g[q+316>>2])*(w-v*(z*y+w*v+u*t))))*d/+g[p+(n*284|0)+212>>2];e=p+(n*284|0)+240|0;g[e>>2]=j;s=p+(n*284|0)+236|0;f=s;h=+g[s>>2];i=j}g[f>>2]=h+i;g[e>>2]=j*.9900000095367432;n=n+1|0}while((n|0)!=(o|0));sa=r;return}function Jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0;C=sa;sa=sa+32|0;p=+g[d>>2];h=(g[j>>2]=p,c[j>>2]|0);s=p<999999984306749440.0?h:1566444395;o=+g[d+4>>2];k=(g[j>>2]=o,c[j>>2]|0);t=o<999999984306749440.0?k:1566444395;D=+g[d+8>>2];m=(g[j>>2]=D,c[j>>2]|0);v=D<999999984306749440.0?m:1566444395;q=+g[d+12>>2];x=q<0.0?q:0.0;h=p>-999999984306749440.0?h:-581039253;k=o>-999999984306749440.0?k:-581039253;m=D>-999999984306749440.0?m:-581039253;q=q>0.0?q:0.0;D=+g[d+16>>2];A=D<(c[j>>2]=s,+g[j>>2]);i=(g[j>>2]=D,c[j>>2]|0);s=A?i:s;o=+g[d+20>>2];A=o<(c[j>>2]=t,+g[j>>2]);l=(g[j>>2]=o,c[j>>2]|0);t=A?l:t;p=+g[d+24>>2];A=p<(c[j>>2]=v,+g[j>>2]);n=(g[j>>2]=p,c[j>>2]|0);v=A?n:v;r=+g[d+28>>2];x=r(c[j>>2]=h,+g[j>>2])?i:h;u=o>(c[j>>2]=k,+g[j>>2])?l:k;l=p>(c[j>>2]=m,+g[j>>2])?n:m;r=q>2];A=D<(c[j>>2]=s,+g[j>>2]);h=(g[j>>2]=D,c[j>>2]|0);A=A?h:s;p=+g[d+36>>2];z=p<(c[j>>2]=t,+g[j>>2]);i=(g[j>>2]=p,c[j>>2]|0);z=z?i:t;q=+g[d+40>>2];y=q<(c[j>>2]=v,+g[j>>2]);k=(g[j>>2]=q,c[j>>2]|0);y=y?k:v;o=+g[d+44>>2];x=o(c[j>>2]=w,+g[j>>2])?h:w;u=p>(c[j>>2]=u,+g[j>>2])?i:u;t=q>(c[j>>2]=l,+g[j>>2])?k:l;o=r>2]|0;h=c[s+4>>2]|0;if((h|0)==(c[s+8>>2]|0)?(B=(h|0)==0?1:h<<1,(h|0)<(B|0)):0){if(!B)n=0;else{c[7182]=(c[7182]|0)+1;h=xb(B<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[s+4>>2]|0}if((h|0)>0){i=0;do{k=n+(i<<6)|0;l=(c[s+12>>2]|0)+(i<<6)|0;m=k+64|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));i=i+1|0}while((i|0)!=(h|0))}h=c[s+12>>2]|0;if(h|0){if(a[s+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[s+12>>2]=0}a[s+16>>0]=1;c[s+12>>2]=n;c[s+8>>2]=B;h=c[s+4>>2]|0}B=c[s+12>>2]|0;c[B+(h<<6)>>2]=A;c[B+(h<<6)+4>>2]=z;c[B+(h<<6)+8>>2]=y;g[B+(h<<6)+12>>2]=x;c[B+(h<<6)+16>>2]=v;c[B+(h<<6)+20>>2]=u;c[B+(h<<6)+24>>2]=t;g[B+(h<<6)+28>>2]=o;c[B+(h<<6)+32>>2]=-1;c[B+(h<<6)+36>>2]=e;c[B+(h<<6)+40>>2]=f;f=B+(h<<6)+44|0;c[f>>2]=c[C>>2];c[f+4>>2]=c[C+4>>2];c[f+8>>2]=c[C+8>>2];c[f+12>>2]=c[C+12>>2];c[f+16>>2]=c[C+16>>2];c[s+4>>2]=(c[s+4>>2]|0)+1;sa=C;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=sa;sa=sa+80|0;n=c[a+4>>2]|0;kb[c[(c[n>>2]|0)+16>>2]&3](n,r+76|0,r+72|0,r+68|0,r+64|0,r+60|0,r+56|0,r+52|0,r+48|0,b);n=(c[r+60>>2]|0)+(J(c[r+56>>2]|0,d)|0)|0;q=c[a+4>>2]|0;p=(c[r+68>>2]|0)==0;o=c[r+76>>2]|0;if((c[r+48>>2]|0)==3){m=c[r+64>>2]|0;k=o+(J(m,e[n+4>>1]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];l=k+8|0;f=+g[q+12>>2]}else{i=+g[q+8>>2]*+h[k+8>>3];j=+g[q+4>>2]*+h[k>>3];l=q+12|0;f=+h[k+16>>3]}f=+g[l>>2]*f;g[r+32>>2]=j;g[r+36>>2]=i;g[r+40>>2]=f;g[r+44>>2]=0.0;k=o+(J(m,e[n+2>>1]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];l=k+8|0;f=+g[q+12>>2]}else{i=+g[q+8>>2]*+h[k+8>>3];j=+g[q+4>>2]*+h[k>>3];l=q+12|0;f=+h[k+16>>3]}f=+g[l>>2]*f;g[r+16>>2]=j;g[r+20>>2]=i;g[r+24>>2]=f;g[r+28>>2]=0.0;l=o+(J(m,e[n>>1]|0)|0)|0;if(p){i=+g[l+4>>2]*+g[q+8>>2];j=+g[l>>2]*+g[q+4>>2];k=l+8|0;f=+g[q+12>>2]}else{i=+g[q+8>>2]*+h[l+8>>3];j=+g[q+4>>2]*+h[l>>3];k=q+12|0;f=+h[l+16>>3]}f=+g[k>>2]*f;g[r>>2]=j;q=r+4|0;g[q>>2]=i;q=r+8|0;g[q>>2]=f;q=r+12|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;ab[p&127](q,r,b,d);d=c[a+4>>2]|0;a=c[d>>2]|0;a=a+24|0;a=c[a>>2]|0;Va[a&127](d,b);sa=r;return}else{m=c[r+64>>2]|0;k=o+(J(m,c[n+8>>2]|0)|0)|0;if(p){l=k+8|0;i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];f=+g[q+12>>2]}else{l=q+12|0;i=+g[q+8>>2]*+h[k+8>>3];j=+g[q+4>>2]*+h[k>>3];f=+h[k+16>>3]}f=+g[l>>2]*f;g[r+32>>2]=j;g[r+36>>2]=i;g[r+40>>2]=f;g[r+44>>2]=0.0;k=o+(J(m,c[n+4>>2]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];l=k+8|0;f=+g[q+12>>2]}else{i=+g[q+8>>2]*+h[k+8>>3];j=+g[q+4>>2]*+h[k>>3];l=q+12|0;f=+h[k+16>>3]}f=+g[l>>2]*f;g[r+16>>2]=j;g[r+20>>2]=i;g[r+24>>2]=f;g[r+28>>2]=0.0;l=o+(J(m,c[n>>2]|0)|0)|0;if(p){i=+g[l+4>>2]*+g[q+8>>2];j=+g[l>>2]*+g[q+4>>2];k=l+8|0;f=+g[q+12>>2]}else{i=+g[q+8>>2]*+h[l+8>>3];j=+g[q+4>>2]*+h[l>>3];k=q+12|0;f=+h[l+16>>3]}f=+g[k>>2]*f;g[r>>2]=j;q=r+4|0;g[q>>2]=i;q=r+8|0;g[q>>2]=f;q=r+12|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;ab[p&127](q,r,b,d);d=c[a+4>>2]|0;a=c[d>>2]|0;a=a+24|0;a=c[a>>2]|0;Va[a&127](d,b);sa=r;return}}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;dg(a,b+(c*284|0)|0,d);i=+g[b+(c*284|0)+52>>2];f=+g[b+(c*284|0)+56>>2];e=+g[b+(c*284|0)+60>>2];J=+g[b+(c*284|0)+76>>2];y=+g[b+(c*284|0)+72>>2];C=+g[b+(c*284|0)+68>>2];w=1.0/+x(+((y*-i-C*-f)*(y*-i-C*-f)+((J*-f-y*-e)*(J*-f-y*-e)+(C*-e-J*-i)*(C*-e-J*-i))));v=(J*-f-y*-e)*w;u=(C*-e-J*-i)*w;w=(y*-i-C*-f)*w;j=+g[b+(c*284|0)+232>>2]*.5;n=+A(+j)/+x(+(i*i+f*f+e*e));j=+z(+j);m=2.0/(j*j+(n*-e*n*-e+(n*-i*n*-i+n*-f*n*-f)));H=1.0-(n*-f*n*-f*m+n*-e*n*-e*m);G=n*-i*n*-f*m-j*n*-e*m;I=n*-i*n*-e*m+j*n*-f*m;E=n*-i*n*-f*m+j*n*-e*m;D=1.0-(n*-i*n*-i*m+n*-e*n*-e*m);F=n*-f*n*-e*m-j*n*-i*m;l=n*-i*n*-e*m-j*n*-f*m;j=n*-f*n*-e*m+j*n*-i*m;m=1.0-(n*-i*n*-i*m+n*-f*n*-f*m);n=+g[b+(c*284|0)+236>>2]*-.5;B=+A(+n)/+x(+(J*J+(y*y+C*C)));n=+z(+n);r=2.0/(n*n+(J*B*J*B+(C*B*C*B+y*B*y*B)));o=1.0-(y*B*y*B*r+J*B*J*B*r);k=C*B*y*B*r-n*J*B*r;t=C*B*J*B*r+n*y*B*r;p=C*B*y*B*r+n*J*B*r;h=1.0-(C*B*C*B*r+J*B*J*B*r);s=y*B*J*B*r-n*C*B*r;q=C*B*J*B*r-n*y*B*r;n=y*B*J*B*r+n*C*B*r;r=1.0-(C*B*C*B*r+y*B*y*B*r);B=+g[b+(c*284|0)+68>>2];y=+g[b+(c*284|0)+72>>2];C=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=C*(H*t+G*s+I*r)+(B*(I*q+(G*p+H*o))+y*(I*n+(H*k+G*h)));g[b+(c*284|0)+96>>2]=w*(H*t+G*s+I*r)+(v*(I*q+(G*p+H*o))+u*(I*n+(H*k+G*h)));g[b+(c*284|0)+100>>2]=(H*t+G*s+I*r)*-e+((I*q+(G*p+H*o))*-i+(I*n+(H*k+G*h))*-f);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=C*(E*t+s*D+F*r)+(B*(F*q+(p*D+E*o))+y*(F*n+(E*k+D*h)));g[b+(c*284|0)+112>>2]=w*(E*t+s*D+F*r)+(v*(F*q+(p*D+E*o))+u*(F*n+(E*k+D*h)));g[b+(c*284|0)+116>>2]=(E*t+s*D+F*r)*-e+((F*q+(p*D+E*o))*-i+(F*n+(E*k+D*h))*-f);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=C*(l*t+j*s+m*r)+(B*(q*m+(j*p+l*o))+y*(n*m+(l*k+j*h)));g[b+(c*284|0)+128>>2]=w*(l*t+j*s+m*r)+(v*(q*m+(j*p+l*o))+u*(n*m+(l*k+j*h)));g[b+(c*284|0)+132>>2]=(l*t+j*s+m*r)*-e+((q*m+(j*p+l*o))*-i+(n*m+(l*k+j*h))*-f);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=f*h+ +g[b+(c*284|0)+40>>2];e=e*h+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+36>>2]+i*h;g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function Md(b,d,e,f,h,i,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7516;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];p=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];do if(!(m*p+n*q+o*r>=.9999998807907104))if(!(m*p+n*q+o*r<=-.9999998807907104)){e=(g[j>>2]=o*q-n*r,c[j>>2]|0);s=(g[j>>2]=m*r-o*p,c[j>>2]|0);f=(g[j>>2]=n*p-m*q,c[j>>2]|0);z=r*(m*r-o*p)-q*(n*p-m*q);A=p*(n*p-m*q)-r*(o*q-n*r);y=q*(o*q-n*r)-p*(m*r-o*p);break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;z=+g[d+12>>2];A=+g[d+28>>2];y=+g[d+44>>2];break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;z=-+g[d+12>>2];A=-+g[d+28>>2];y=-+g[d+44>>2]}while(0);g[b+552>>2]=z;c[b+556>>2]=e;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;g[b+568>>2]=A;c[b+572>>2]=s;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=y;c[b+588>>2]=f;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;p=+g[i+4>>2];t=+g[k+8>>2];q=+g[i+8>>2];u=+g[k+4>>2];v=+g[k>>2];m=+g[i>>2];do if(t*q+(p*u+v*m)<-.9999998807907104)if(+w(+q)>.7071067690849304){n=1.0/+x(+(p*p+q*q));o=-(q*n);r=0.0;n=p*n;m=0.0;break}else{q=1.0/+x(+(p*p+m*m));o=m*q;r=0.0;n=0.0;m=-(p*q);break}else{B=+x(+((t*q+(p*u+v*m)+1.0)*2.0));o=(q*v-t*m)*(1.0/B);r=B*.5;n=(u*m-p*v)*(1.0/B);m=(p*t-q*u)*(1.0/B)}while(0);D=z*r+y*o-A*n;q=A*r+z*n-y*m;p=y*r+A*m-z*o;C=-(z*m)-A*o-y*n;z=-m;o=-o;y=-n;B=q*y+(r*D+C*z)-p*o;A=p*z+(r*q+C*o)-D*y;z=D*o+(C*y+r*p)-q*z;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=B;g[b+620>>2]=u*z-t*A;c[b+624>>2]=c[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=A;g[b+636>>2]=t*B-v*z;c[b+640>>2]=c[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=z;g[b+652>>2]=v*A-u*B;c[b+656>>2]=c[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;return}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;n=sa;sa=sa+16|0;m=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];k=+g[e>>2];l=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+228>>0]|0)){y=+g[b+100>>2];v=+g[b+116>>2];B=+g[b+132>>2];x=+g[b+104>>2];t=+g[b+120>>2];A=+g[b+136>>2];w=+g[b+108>>2];r=+g[b+124>>2];z=+g[b+140>>2];E=-+g[b+148>>2];D=-+g[b+152>>2];C=-+g[b+156>>2];I=+g[b+164>>2];H=+g[b+168>>2];q=+g[b+172>>2];G=+g[b+180>>2];F=+g[b+184>>2];p=+g[b+188>>2];u=+g[b+196>>2];s=+g[b+200>>2];o=+g[b+204>>2];q=h*(B*I+A*H+z*q)+(k*(y*I+x*H+w*q)+l*(v*I+t*H+r*q))+(I*(y*E+v*D+B*C)+(x*E+t*D+A*C)*H+(w*E+r*D+z*C)*q+ +g[b+212>>2]);p=h*(B*G+A*F+z*p)+(k*(y*G+x*F+w*p)+l*(v*G+t*F+r*p))+((y*E+v*D+B*C)*G+(x*E+t*D+A*C)*F+(w*E+r*D+z*C)*p+ +g[b+216>>2]);o=(y*E+v*D+B*C)*u+(x*E+t*D+A*C)*s+(w*E+r*D+z*C)*o+ +g[b+220>>2]+(h*(B*u+A*s+z*o)+(k*(y*u+x*s+w*o)+l*(v*u+t*s+r*o)));g[n>>2]=q;g[n+4>>2]=p;g[n+8>>2]=o;m=m*(m*f+k-q)+i*(i*f+l-p)+j*(j*f+h-o);e=n+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;_a[e&15](b,d,n,m);sa=n;return}else{y=+g[b+36>>2];B=+g[b+52>>2];v=+g[b+68>>2];z=+g[b+40>>2];D=+g[b+56>>2];w=+g[b+72>>2];A=+g[b+44>>2];F=+g[b+60>>2];x=+g[b+76>>2];s=-+g[b+84>>2];t=-+g[b+88>>2];u=-+g[b+92>>2];o=+g[b+164>>2];p=+g[b+168>>2];G=+g[b+172>>2];q=+g[b+180>>2];r=+g[b+184>>2];H=+g[b+188>>2];C=+g[b+196>>2];E=+g[b+200>>2];I=+g[b+204>>2];G=(j*f+h)*(v*o+w*p+x*G)+((m*f+k)*(y*o+z*p+A*G)+(i*f+l)*(B*o+D*p+F*G))+(o*(y*s+B*t+v*u)+(z*s+D*t+w*u)*p+(A*s+F*t+x*u)*G+ +g[b+212>>2]);H=(j*f+h)*(v*q+w*r+x*H)+((m*f+k)*(y*q+z*r+A*H)+(i*f+l)*(B*q+D*r+F*H))+((y*s+B*t+v*u)*q+(z*s+D*t+w*u)*r+(A*s+F*t+x*u)*H+ +g[b+216>>2]);I=(y*s+B*t+v*u)*C+(z*s+D*t+w*u)*E+(A*s+F*t+x*u)*I+ +g[b+220>>2]+((j*f+h)*(v*C+w*E+x*I)+((m*f+k)*(y*C+z*E+A*I)+(i*f+l)*(B*C+D*E+F*I)));g[n>>2]=G+m*(m*(G-k)+i*(H-l)+j*(I-h));g[n+4>>2]=H+i*(m*(G-k)+i*(H-l)+j*(I-h));g[n+8>>2]=I+j*(m*(G-k)+i*(H-l)+j*(I-h));I=m*(G-k)+i*(H-l)+j*(I-h);e=n+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;_a[e&15](b,d,n,I);sa=n;return}}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!((a|0)!=0&(b|0)!=0))return;c[7182]=(c[7182]|0)+1;e=xb(1043)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}c[f>>2]=a;c[f+4>>2]=b;e=1;b=124;h=128;a=f;l=128;k=f;i=f;o=f;while(1){r=e+-1|0;p=c[a+(r<<3)>>2]|0;q=c[a+(r<<3)+4>>2]|0;if((r|0)>(b|0)){n=l<<1;do if((l|0)<(n|0)&(h|0)<(n|0)){if(l){c[7182]=(c[7182]|0)+1;b=xb((l<<4|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}if((l|0)>0){b=0;do{j=a+(b<<3)|0;k=c[j+4>>2]|0;m=f+(b<<3)|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b=b+1|0}while((b|0)!=(l|0));h=f;a=f}else{h=f;b=f;s=13}}else{h=0;b=0;s=13}if((s|0)==13){s=0;if(!a){j=n;a=b;f=h;i=h;b=h;break}else a=b}if(!o){j=n;f=h;i=h;b=h}else{c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0);j=n;f=h;i=h;b=h}}else{j=h;f=k;b=o}while(0);m=n+-4|0;h=j;l=n;k=f;j=b}else{m=b;j=o}do if((p|0)==(q|0))if(!(c[p+40>>2]|0))e=r;else{q=c[p+36>>2]|0;c[a+(r<<3)>>2]=q;c[a+(r<<3)+4>>2]=q;q=c[p+40>>2]|0;r=e+1|0;c[a+(e<<3)>>2]=q;c[a+(e<<3)+4>>2]=q;q=c[p+40>>2]|0;c[a+(r<<3)>>2]=c[p+36>>2];c[a+(r<<3)+4>>2]=q;e=e+2|0}else if(((((+g[p>>2]<=+g[q+16>>2]?+g[p+16>>2]>=+g[q>>2]:0)?+g[p+4>>2]<=+g[q+20>>2]:0)?+g[p+20>>2]>=+g[q+4>>2]:0)?+g[p+8>>2]<=+g[q+24>>2]:0)?+g[p+24>>2]>=+g[q+8>>2]:0){b=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(b){o=c[q+36>>2]|0;c[a+(r<<3)>>2]=p;c[a+(r<<3)+4>>2]=o;r=c[q+40>>2]|0;c[a+(e<<3)>>2]=p;c[a+(e<<3)+4>>2]=r;e=e+1|0;break}else{Za[c[(c[d>>2]|0)+8>>2]&127](d,p,q);e=r;break}else{f=c[p+36>>2]|0;if(b){n=c[q+36>>2]|0;c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=n;n=c[q+36>>2]|0;o=e+1|0;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=n;n=c[q+40>>2]|0;r=e+2|0;c[a+(o<<3)>>2]=c[p+36>>2];c[a+(o<<3)+4>>2]=n;q=c[q+40>>2]|0;c[a+(r<<3)>>2]=c[p+40>>2];c[a+(r<<3)+4>>2]=q;e=e+3|0;break}else{c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=q;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=q;e=e+1|0;break}}}else e=r;while(0);if(!e)break;else{b=m;o=j}}if((a|0)==0|(k|0)==0)return;c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);return}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0;J=sa;sa=sa+32|0;if(!a){sa=J;return}E=+g[d>>2]-+g[b>>2];D=+g[d+4>>2]-+g[b+4>>2];w=+g[d+8>>2]-+g[b+8>>2];y=1.0/+x(+(E*E+D*D+w*w));z=E*y==0.0?999999984306749440.0:1.0/(E*y);A=D*y==0.0?999999984306749440.0:1.0/(D*y);B=w*y==0.0?999999984306749440.0:1.0/(w*y);c[7182]=(c[7182]|0)+1;d=xb(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}mk(d+4|0,0,508)|0;c[d>>2]=a;p=1;o=126;n=128;s=d;t=128;v=d;l=d;f=d;while(1){q=p+-1|0;d=s+(q<<2)|0;u=c[d>>2]|0;c[J>>2]=c[u>>2];c[J+4>>2]=c[u+4>>2];c[J+8>>2]=c[u+8>>2];c[J+12>>2]=c[u+12>>2];c[J+16>>2]=c[u+16>>2];c[J+16+4>>2]=c[u+16+4>>2];c[J+16+8>>2]=c[u+16+8>>2];c[J+16+12>>2]=c[u+16+12>>2];i=+g[b>>2];h=z*(+g[J+((z<0.0&1)<<4)>>2]-i);i=z*(+g[J+(((z<0.0^1)&1)<<4)>>2]-i);k=+g[b+4>>2];j=A*(+g[J+((A<0.0&1)<<4)+4>>2]-k);k=A*(+g[J+(((A<0.0^1)&1)<<4)+4>>2]-k);do if((!(j>i|h>k)?(F=j>h?j:h,C=k>2],G=B*(+g[J+((B<0.0&1)<<4)+8>>2]-H),H=B*(+g[J+(((B<0.0^1)&1)<<4)+8>>2]-H),!(G>C|F>H)):0)?((H0.0?(G>F?G:F)>2]|0)){Va[c[(c[e>>2]|0)+12>>2]&127](e,u);p=q;d=s;m=t;a=v;break}if((q|0)>(o|0)){r=t<<1;if((t|0)<(r|0)){do if((n|0)<(r|0)){if(t){c[7182]=(c[7182]|0)+1;d=xb((t<<3|3)+16|0)|0;if(!d)a=0;else{c[(d+4+15&-16)+-4>>2]=d;a=d+4+15&-16}if((t|0)>0){d=0;do{c[a+(d<<2)>>2]=c[s+(d<<2)>>2];d=d+1|0}while((d|0)!=(t|0));f=a;d=a}else{f=a;d=a;I=18}}else{f=0;d=0;I=18}if((I|0)==18){I=0;if(!s){n=r;l=f;m=f;a=f;break}}if(!v){n=r;l=f;m=f;a=f}else{c[7183]=(c[7183]|0)+1;Hc(c[v+-4>>2]|0);n=r;l=f;m=f;a=f}}else{d=s;m=f;a=v}while(0);mk(d+(t<<2)|0,0,t<<2|0)|0;o=d+(q<<2)|0;f=m}else{o=d;d=s;a=v}q=r+-2|0;m=r}else{q=o;o=d;d=s;m=t;a=v}c[o>>2]=c[u+36>>2];c[d+(p<<2)>>2]=c[u+40>>2];p=p+1|0;o=q}else{p=q;d=s;m=t;a=v}while(0);if(!p)break;s=d;t=m;v=a}if((d|0)==0|(l|0)==0){sa=J;return}c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0);sa=J;return}function Qd(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=sa;sa=sa+16|0;Ki(16410);k=c[b+204>>2]|0;Za[c[(c[k>>2]|0)+8>>2]&127](k,b,c[b+24>>2]|0);k=c[b+308>>2]|0;if((k|0)>0){l=c[b+316>>2]|0;j=0;do{e=c[l+(j<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){f=c[d+208>>2]|0;d=c[e+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(f<<3)>>2]|0;if((e|0)!=(f|0)){c[i+(f<<3)>>2]=c[i+(e<<3)>>2];f=c[i+(e<<3)>>2]|0;e=c[i+(f<<3)>>2]|0;if((f|0)!=(e|0)){h=i+(f<<3)|0;do{f=i+(e<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=i+(f<<3)|0;e=c[h>>2]|0}while((f|0)!=(e|0))}}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(e<<3)>>2];d=c[i+(e<<3)>>2]|0;e=c[i+(d<<3)>>2]|0;if((d|0)!=(e|0)){h=i+(d<<3)|0;do{d=i+(e<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;e=c[h>>2]|0}while((d|0)!=(e|0))}}if((f|0)!=(d|0)){c[i+(f<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(f<<3)+4>>2]|0)}}j=j+1|0}while((j|0)!=(k|0))}k=c[b+212>>2]|0;if((k|0)>0){l=c[b+220>>2]|0;j=0;do{d=c[l+(j<<2)>>2]|0;if((a[d+20>>0]|0?(m=c[d+28>>2]|0,(c[m+204>>2]&3|0)==0):0)?(n=c[d+32>>2]|0,(c[n+204>>2]&3|0)==0):0){e=c[m+208>>2]|0;d=c[n+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;f=c[i+(e<<3)>>2]|0;if((f|0)!=(e|0)){c[i+(e<<3)>>2]=c[i+(f<<3)>>2];e=c[i+(f<<3)>>2]|0;f=c[i+(e<<3)>>2]|0;if((e|0)!=(f|0)){h=i+(e<<3)|0;do{e=i+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=i+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}}f=c[i+(d<<3)>>2]|0;if((f|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(f<<3)>>2];d=c[i+(f<<3)>>2]|0;f=c[i+(d<<3)>>2]|0;if((d|0)!=(f|0)){h=i+(d<<3)|0;do{d=i+(f<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;f=c[h>>2]|0}while((d|0)!=(f|0))}}if((e|0)!=(d|0)){c[i+(e<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(e<<3)+4>>2]|0)}}j=j+1|0}while((j|0)!=(k|0))}d=c[b+204>>2]|0;Va[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[3084]|0;n=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=n;if(n|0){sa=o;return}do if(c[d+4>>2]|0){la(o|0,0)|0;n=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[o+4>>2]|0)-(c[n+4>>2]|0)+(((c[o>>2]|0)-(c[n>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=o;return}}while(0);c[3084]=c[d+20>>2];sa=o;return}function Rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0;d=sa;sa=sa+96|0;k=+g[b>>2];l=+g[a+28>>2];m=+g[b+4>>2];n=+g[a+32>>2];o=+g[b+8>>2];p=+g[a+36>>2];q=+g[a+44>>2];r=+g[a+48>>2];s=+g[a+52>>2];t=+g[a+60>>2];u=+g[a+64>>2];v=+g[a+68>>2];w=+g[a+76>>2];y=+g[a+80>>2];z=+g[a+84>>2];g[d+80>>2]=k*l+m*n+o*p+w;g[d+80+4>>2]=k*q+m*r+o*s+y;g[d+80+8>>2]=k*t+m*u+o*v+z;g[d+80+12>>2]=0.0;A=+g[b+16>>2];B=+g[b+20>>2];C=+g[b+24>>2];g[d+64>>2]=w+(l*A+n*B+p*C);g[d+64+4>>2]=y+(q*A+r*B+s*C);g[d+64+8>>2]=z+(t*A+u*B+v*C);g[d+64+12>>2]=0.0;D=+g[b+32>>2];E=+g[b+36>>2];j=+g[b+40>>2];g[d+48>>2]=w+(l*D+n*E+p*j);g[d+48+4>>2]=y+(q*D+r*E+s*j);g[d+48+8>>2]=z+(t*D+u*E+v*j);g[d+48+12>>2]=0.0;f=(k*l+m*n+o*p+w+(w+(l*A+n*B+p*C))+(w+(l*D+n*E+p*j)))*.3333333432674408;h=(k*q+m*r+o*s+y+(y+(q*A+r*B+s*C))+(y+(q*D+r*E+s*j)))*.3333333432674408;i=(k*t+m*u+o*v+z+(z+(t*A+u*B+v*C))+(z+(t*D+u*E+v*j)))*.3333333432674408;g[d+32>>2]=f;g[d+32+4>>2]=h;g[d+32+8>>2]=i;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((Fa[c[(c[b>>2]|0)+48>>2]&127](b)|0)&16384)){e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;b=a+12|0;ab[F&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;ab[F&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;ab[e&127](a,d+48|0,d+80|0,b);sa=d;return}I=+g[d+80>>2];H=y+(q*A+r*B+s*C)-(k*q+m*r+o*s+y);G=z+(t*A+u*B+v*C)-(k*t+m*u+o*v+z);y=y+(q*D+r*E+s*j)-(k*q+m*r+o*s+y);v=z+(t*D+u*E+v*j)-(k*t+m*u+o*v+z);z=G*(w+(l*D+n*E+p*j)-I)-(w+(l*A+n*B+p*C)-I)*v;D=(w+(l*A+n*B+p*C)-I)*y-H*(w+(l*D+n*E+p*j)-I);E=1.0/+x(+(D*D+((H*v-G*y)*(H*v-G*y)+z*z)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;g[d>>2]=(H*v-G*y)*E+f;g[d+4>>2]=z*E+h;g[d+8>>2]=D*E+i;g[d+12>>2]=0.0;ab[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;F=a+12|0;ab[e&127](b,d+80|0,d+64|0,F);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;ab[e&127](b,d+64|0,d+48|0,F);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;ab[b&127](a,d+48|0,d+80|0,F);sa=d;return}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0;t=sa;sa=sa+192|0;s=c[(c[b+4>>2]|0)+740>>2]|0;l=c[(c[b+8>>2]|0)+8>>2]|0;m=+g[e>>2];n=+g[d>>2]*f+m;o=+g[e+4>>2];p=+g[d+4>>2]*f+o;q=+g[e+8>>2];r=+g[d+8>>2]*f+q;if((s|0)!=(l|0)){u=c[(c[b+12>>2]|0)+8>>2]|0;w=n-+g[u+52>>2];v=p-+g[u+56>>2];k=r-+g[u+60>>2];h=l;i=w*+g[u+4>>2]+v*+g[u+20>>2]+k*+g[u+36>>2];j=w*+g[u+8>>2]+v*+g[u+24>>2]+k*+g[u+40>>2];k=w*+g[u+12>>2]+v*+g[u+28>>2]+k*+g[u+44>>2]}else{v=n-+g[s+52>>2];w=p-+g[s+56>>2];k=r-+g[s+60>>2];h=c[(c[b+12>>2]|0)+8>>2]|0;i=v*+g[s+4>>2]+w*+g[s+20>>2]+k*+g[s+36>>2];j=v*+g[s+8>>2]+w*+g[s+24>>2]+k*+g[s+40>>2];k=v*+g[s+12>>2]+w*+g[s+28>>2]+k*+g[s+44>>2]}m=m-+g[h+52>>2];o=o-+g[h+56>>2];w=q-+g[h+60>>2];q=m*+g[h+4>>2]+o*+g[h+20>>2]+w*+g[h+36>>2];v=m*+g[h+8>>2]+o*+g[h+24>>2]+w*+g[h+40>>2];w=m*+g[h+12>>2]+o*+g[h+28>>2]+w*+g[h+44>>2];g[t>>2]=i;g[t+4>>2]=j;g[t+8>>2]=k;g[t+12>>2]=0.0;g[t+16>>2]=q;g[t+20>>2]=v;g[t+24>>2]=w;g[t+28>>2]=0.0;c[t+64>>2]=c[d>>2];c[t+64+4>>2]=c[d+4>>2];c[t+64+8>>2]=c[d+8>>2];c[t+64+12>>2]=c[d+12>>2];g[t+80>>2]=f;g[t+84>>2]=0.0;g[t+88>>2]=0.0;g[t+92>>2]=0.0;c[t+112>>2]=0;a[t+116>>0]=0;c[t+120>>2]=0;c[t+120+4>>2]=0;c[t+120+8>>2]=0;c[t+120+12>>2]=0;c[t+120+16>>2]=0;c[t+120+20>>2]=0;c[t+120+24>>2]=0;c[t+120+28>>2]=0;g[t+48>>2]=n;g[t+52>>2]=p;g[t+56>>2]=r;g[t+60>>2]=0.0;c[t+32>>2]=c[e>>2];c[t+32+4>>2]=c[e+4>>2];c[t+32+8>>2]=c[e+8>>2];c[t+32+12>>2]=c[e+12>>2];if((s|0)!=(l|0)){u=b+24|0;d=b+28|0;e=b+16|0;h=b+20|0;u=c[u>>2]|0;d=c[d>>2]|0;e=c[e>>2]|0;h=c[h>>2]|0;y=t+96|0;c[y>>2]=h;y=t+100|0;c[y>>2]=e;y=t+104|0;c[y>>2]=d;y=t+108|0;c[y>>2]=u;y=b+12|0;x=(s|0)!=(l|0)?y:b+8|0;x=c[x>>2]|0;s=(s|0)!=(l|0)?b+8|0:y;s=c[s>>2]|0;l=b+32|0;l=c[l>>2]|0;b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;+Ca[b&1](l,t,x,h,d,s,e,u);sa=t;return}else{y=b+28|0;e=b+24|0;x=b+20|0;d=b+16|0;y=c[y>>2]|0;e=c[e>>2]|0;x=c[x>>2]|0;d=c[d>>2]|0;u=t+96|0;c[u>>2]=d;u=t+100|0;c[u>>2]=x;u=t+104|0;c[u>>2]=e;u=t+108|0;c[u>>2]=y;u=b+12|0;h=(s|0)!=(l|0)?u:b+8|0;h=c[h>>2]|0;u=(s|0)!=(l|0)?b+8|0:u;u=c[u>>2]|0;s=b+32|0;s=c[s>>2]|0;l=c[s>>2]|0;l=l+12|0;l=c[l>>2]|0;+Ca[l&1](s,t,h,d,e,u,x,y);sa=t;return}}function Td(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7188;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];d=b+680|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;tc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0;a=sa;sa=sa+144|0;switch(c[b+388>>2]&15){case 1:{c[a+112>>2]=6124;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+g[i+48>>2];e=+g[i+52>>2];f=+g[i+56>>2];f=+x(+((j-j)*(j-j)+(e-e)*(e-e)+(f-f)*(f-f)));i=c[b+192>>2]|0;e=+va[c[(c[i>>2]|0)+48>>2]&15](i);i=c[d+4>>2]|0;ab[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+96|0,a+64|0);c[a>>2]=c[a+96>>2];c[a+4>>2]=c[a+96+4>>2];c[a+8>>2]=c[a+96+8>>2];c[a+12>>2]=c[a+96+12>>2];c[a+16>>2]=c[a+64>>2];c[a+16+4>>2]=c[a+64+4>>2];c[a+16+8>>2]=c[a+64+8>>2];c[a+16+12>>2]=c[a+64+12>>2];c[a+32>>2]=c[a>>2];c[a+32+4>>2]=c[a+4>>2];c[a+32+8>>2]=c[a+8>>2];c[a+32+12>>2]=c[a+12>>2];c[a+32+16>>2]=c[a+16>>2];c[a+32+20>>2]=c[a+20>>2];c[a+32+24>>2]=c[a+24>>2];c[a+32+28>>2]=c[a+28>>2];g[a+32>>2]=+g[a+32>>2]-e;g[a+32+4>>2]=+g[a+32+4>>2]-e;g[a+32+8>>2]=+g[a+32+8>>2]-e;g[a+32+16>>2]=e+ +g[a+32+16>>2];g[a+32+20>>2]=e+ +g[a+32+20>>2];g[a+32+24>>2]=e+ +g[a+32+24>>2];c[a+112+4>>2]=b;c[a+112+8>>2]=d;c[a+112+12>>2]=h;g[a+112+16>>2]=e+f;g[a+112+20>>2]=e;le(c[b+928>>2]|0,a+32|0,a+112|0);sa=a;return}case 2:{g[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=6160;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];i=c[d+4>>2]|0;j=+va[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+192>>2]|0;j=j+ +va[c[(c[i>>2]|0)+48>>2]&15](i);g[a+12>>2]=j;f=+g[(c[d+8>>2]|0)+224>>2];g[a+112>>2]=f;c[a+16>>2]=c[(+g[b+316>>2]>2];i=c[d+4>>2]|0;ab[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];g[a+64>>2]=+g[a+64>>2]-j;g[a+64+4>>2]=+g[a+64+4>>2]-j;g[a+64+8>>2]=+g[a+64+8>>2]-j;g[a+64+16>>2]=j+ +g[a+64+16>>2];g[a+64+20>>2]=j+ +g[a+64+20>>2];g[a+64+24>>2]=j+ +g[a+64+24>>2];le(c[b+1048>>2]|0,a+64|0,a);sa=a;return}default:{sa=a;return}}}function Vd(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){j=c[a+88>>2]|0;k=Ja[c[(c[f>>2]|0)+16>>2]&63](f,48,j)|0;if((j|0)>0){g=c[a+96>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h+16>>2]=c[g+(i<<6)+16>>2];c[h+20>>2]=c[g+(i<<6)+20>>2];c[h+24>>2]=c[g+(i<<6)+24>>2];c[h+28>>2]=c[g+(i<<6)+28>>2];c[h>>2]=c[g+(i<<6)>>2];c[h+4>>2]=c[g+(i<<6)+4>>2];c[h+8>>2]=c[g+(i<<6)+8>>2];c[h+12>>2]=c[g+(i<<6)+12>>2];c[h+32>>2]=c[g+(i<<6)+32>>2];c[h+36>>2]=c[g+(i<<6)+36>>2];c[h+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+48|0}}else g=c[a+96>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,k,22787,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){j=c[a+128>>2]|0;k=Ja[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=c[a+136>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h+12>>2]=c[g+(i<<4)+12>>2];b[h+6>>1]=b[g+(i<<4)+6>>1]|0;b[h+8>>1]=b[g+(i<<4)+8>>1]|0;b[h+10>>1]=b[g+(i<<4)+10>>1]|0;b[h>>1]=b[g+(i<<4)>>1]|0;b[h+2>>1]=b[g+(i<<4)+2>>1]|0;b[h+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(j|0))break;else h=h+16|0}}else g=c[a+136>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,k,22810,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 22854}k=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 22854;j=c[a+152>>2]|0;k=Ja[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=c[k+8>>2]|0;i=0;while(1){b[h+14>>1]=b[g+(i<<5)+6>>1]|0;b[h+16>>1]=b[g+(i<<5)+8>>1]|0;b[h+18>>1]=b[g+(i<<5)+10>>1]|0;b[h+8>>1]=b[g+(i<<5)>>1]|0;b[h+10>>1]=b[g+(i<<5)+2>>1]|0;b[h+12>>1]=b[g+(i<<5)+4>>1]|0;c[h>>2]=c[g+(i<<5)+12>>2];c[h+4>>2]=c[g+(i<<5)+16>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+20|0}}else g=c[a+160>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,k,22833,1497453121,g);return 22854}function Wd(a,d,f,h,i){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];B=c[a+60>>2]|0;C=c[d+12>>2]&65535;r=+g[a+8>>2];t=+g[a+12>>2];v=+g[a+16>>2];s=+g[a+40>>2];n=(+g[f>>2]-r)*s;u=+g[a+44>>2];o=(+g[f+4>>2]-t)*u;w=+g[a+48>>2];p=(+g[f+8>>2]-v)*w;if(!(n<=0.0)){z=b[a+6>>1]|0;z=b[a+4>>1]&(!(n>=+(z&65535))?~~n&65535:z)}else z=0;if(!(o<=0.0)){A=b[a+6>>1]|0;A=b[a+4>>1]&(!(o>=+(A&65535))?~~o&65535:A)}else A=0;if(!(p<=0.0)){D=b[a+6>>1]|0;D=b[a+4>>1]&(!(p>=+(D&65535))?~~p&65535:D)}else D=0;p=(+g[h>>2]-r)*s;o=(+g[h+4>>2]-t)*u;n=(+g[h+8>>2]-v)*w;if(!(p<=0.0)){q=b[a+6>>1]|0;q=b[a+4>>1]&(!(p>=+(q&65535))?~~p&65535:q)|1}else q=1;if(!(o<=0.0)){x=b[a+6>>1]|0;x=b[a+4>>1]&(!(o>=+(x&65535))?~~o&65535:x)|1}else x=1;if(!(n<=0.0)){y=b[a+6>>1]|0;y=b[a+4>>1]&(!(n>=+(y&65535))?~~n&65535:y)|1}else y=1;j=b[B+(C<<6)+48>>1]|0;k=b[B+(C<<6)+54>>1]|0;E=c[a+68>>2]|0;l=(z&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(q&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=z;b[E+((k&65535)<<2)>>1]=q;if((l|0)<0)Ng(a,0,j);if((m|0)>0)Jg(a,0,k);if((l|0)>0)Kg(a,0,j,i);if((m|0)<0)Hg(a,0,k,i);j=b[B+(C<<6)+50>>1]|0;k=b[B+(C<<6)+56>>1]|0;E=c[a+72>>2]|0;l=(A&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(x&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=A;b[E+((k&65535)<<2)>>1]=x;if((l|0)<0)Ng(a,1,j);if((m|0)>0)Jg(a,1,k);if((l|0)>0)Kg(a,1,j,i);if((m|0)<0)Hg(a,1,k,i);m=b[B+(C<<6)+52>>1]|0;j=b[B+(C<<6)+58>>1]|0;E=c[a+76>>2]|0;k=(D&65535)-(e[E+((m&65535)<<2)>>1]|0)|0;l=(y&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;b[E+((m&65535)<<2)>>1]=D;b[E+((j&65535)<<2)>>1]=y;if((k|0)<0)Ng(a,2,m);if((l|0)>0)Jg(a,2,j);if((k|0)>0)Kg(a,2,m,i);if((l|0)<0)Hg(a,2,j,i);j=c[a+108>>2]|0;if(!j)return;eb[c[(c[j>>2]|0)+16>>2]&31](j,c[d+60>>2]|0,f,h,i);return}function Xd(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0;U=sa;sa=sa+32|0;A=+g[d>>2];C=+g[d+4>>2];B=+g[d+8>>2];v=+g[i>>2];s=+g[i+4>>2];q=+g[i+8>>2];p=+g[j>>2];r=+g[j+4>>2];u=+g[j+8>>2];K=1.0/+x(+((e-A)*(e-A)+(f-C)*(f-C)+(h-B)*(h-B)));L=(e-A)*K==0.0?999999984306749440.0:1.0/((e-A)*K);M=(f-C)*K==0.0?999999984306749440.0:1.0/((f-C)*K);N=(h-B)*K==0.0?999999984306749440.0:1.0/((h-B)*K);O=(A>e?e:A)+v;P=(C>f?f:C)+s;Q=(B>h?h:B)+q;R=(A>2]|0;a:do if((l|0)>0){n=c[a+96>>2]|0;k=0;y=0;w=l;while(1){k=k+1|0;c[U>>2]=c[n>>2];c[U+4>>2]=c[n+4>>2];c[U+8>>2]=c[n+8>>2];c[U+12>>2]=c[n+12>>2];t=n+16|0;c[U+16>>2]=c[t>>2];c[U+16+4>>2]=c[t+4>>2];c[U+16+8>>2]=c[t+8>>2];c[U+16+12>>2]=c[t+12>>2];g[U>>2]=+g[U>>2]-p;g[U+4>>2]=+g[U+4>>2]-r;g[U+8>>2]=+g[U+8>>2]-u;g[U+16>>2]=+g[U+16>>2]-v;g[U+20>>2]=+g[U+20>>2]-s;g[U+24>>2]=+g[U+24>>2]-q;if(!(O>+g[t>>2])?!(R<+g[n>>2]):0)l=1;else l=0;if(!(!(Q>+g[n+24>>2])?!(T<+g[n+8>>2]):0))l=0;if(((!(P>+g[n+20>>2])?!(S<+g[n+4>>2]|l^1):0)?(E=+g[d>>2],D=L*(+g[U+((L<0.0&1)<<4)>>2]-E),E=L*(+g[U+(((L<0.0^1)&1)<<4)>>2]-E),G=+g[d+4>>2],F=M*(+g[U+((M<0.0&1)<<4)+4>>2]-G),G=M*(+g[U+(((M<0.0^1)&1)<<4)+4>>2]-G),!(F>E|D>G)):0)?(H=F>D?F:D,z=G>2],I=N*(+g[U+((N<0.0&1)<<4)+8>>2]-J),J=N*(+g[U+(((N<0.0^1)&1)<<4)+8>>2]-J),!(I>z|H>J)):0){l=(J0.0?(I>H?I:H)<(h-B)*(h-B)*K+((e-A)*(e-A)*K+(f-C)*(f-C)*K):0;m=c[n+32>>2]|0;if(l&(m|0)==-1){Za[c[(c[b>>2]|0)+8>>2]&127](b,c[n+36>>2]|0,c[n+40>>2]|0);l=c[a+56>>2]|0;t=17}else{o=(m|0)==-1;t=16}}else{m=c[n+32>>2]|0;l=0;o=(m|0)==-1;t=16}if((t|0)==16){t=0;if(o|l){l=w;t=17}else{n=n+(m<<6)|0;m=m+y|0;l=w}}if((t|0)==17){n=n+64|0;m=y+1|0}if((m|0)>=(l|0))break a;y=m;w=l;p=+g[j>>2];r=+g[j+4>>2];u=+g[j+8>>2];v=+g[i>>2];s=+g[i+4>>2];q=+g[i+8>>2]}}else k=0;while(0);if((c[7162]|0)>=(k|0)){sa=U;return}c[7162]=k;sa=U;return}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=sa;sa=sa+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;h=c[a+28>>2]|0;H=c[h+4>>2]|0;c[d+80>>2]=H;E=c[h+20>>2]|0;c[d+80+4>>2]=E;B=c[h+36>>2]|0;c[d+80+8>>2]=B;g[d+80+12>>2]=0.0;G=c[h+8>>2]|0;c[d+80+16>>2]=G;D=c[h+24>>2]|0;c[d+80+20>>2]=D;A=c[h+40>>2]|0;c[d+80+24>>2]=A;g[d+80+28>>2]=0.0;F=c[h+12>>2]|0;c[d+80+32>>2]=F;C=c[h+28>>2]|0;c[d+80+36>>2]=C;z=c[h+44>>2]|0;c[d+80+40>>2]=z;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;y=c[f+4>>2]|0;c[d+32>>2]=y;v=c[f+20>>2]|0;c[d+32+4>>2]=v;s=c[f+36>>2]|0;c[d+32+8>>2]=s;g[d+32+12>>2]=0.0;x=c[f+8>>2]|0;c[d+32+16>>2]=x;u=c[f+24>>2]|0;c[d+32+20>>2]=u;r=c[f+40>>2]|0;c[d+32+24>>2]=r;g[d+32+28>>2]=0.0;w=c[f+12>>2]|0;c[d+32+32>>2]=w;t=c[f+28>>2]|0;c[d+32+36>>2]=t;o=c[f+44>>2]|0;c[d+32+40>>2]=o;g[d+32+44>>2]=0.0;p=+g[a+300>>2];l=p*(c[j>>2]=H,+g[j>>2]);i=+g[a+304>>2];l=l+i*(c[j>>2]=G,+g[j>>2]);k=+g[a+308>>2];l=l+k*(c[j>>2]=F,+g[j>>2]);q=p*(c[j>>2]=E,+g[j>>2]);q=q+i*(c[j>>2]=D,+g[j>>2]);q=q+k*(c[j>>2]=C,+g[j>>2]);p=p*(c[j>>2]=B,+g[j>>2]);i=p+i*(c[j>>2]=A,+g[j>>2]);p=+g[h+52>>2];n=+g[h+56>>2];m=+g[h+60>>2];m=i+k*(c[j>>2]=z,+g[j>>2])+m-m;g[d+16>>2]=l+p-p;g[d+16+4>>2]=q+n-n;g[d+16+8>>2]=m;g[d+16+12>>2]=0.0;m=+g[a+316>>2];n=m*(c[j>>2]=y,+g[j>>2]);q=+g[a+320>>2];n=n+q*(c[j>>2]=x,+g[j>>2]);p=+g[a+324>>2];n=n+p*(c[j>>2]=w,+g[j>>2]);l=m*(c[j>>2]=v,+g[j>>2]);l=l+q*(c[j>>2]=u,+g[j>>2]);l=l+p*(c[j>>2]=t,+g[j>>2]);m=m*(c[j>>2]=s,+g[j>>2]);q=m+q*(c[j>>2]=r,+g[j>>2]);m=+g[f+52>>2];k=+g[f+56>>2];i=+g[f+60>>2];i=q+p*(c[j>>2]=o,+g[j>>2])+i-i;g[d>>2]=n+m-m;g[d+4>>2]=l+k-k;g[d+8>>2]=i;g[d+12>>2]=0.0;fg(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);sa=d;return}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0;D=+g[a+452>>2];v=+g[a+304>>2];s=+g[a+300>>2];if(v>0.0|s>0.0)h=(c[a+288>>2]|0)<4;else h=0;E=c[a+720>>2]|0;z=+g[E+(d*104|0)+88>>2];if(!(z>0.0))return;o=c[c[a+684>>2]>>2]|0;if(!h)return;A=+g[E+(d*104|0)+40>>2];m=A-+g[b>>2];B=+g[E+(d*104|0)+44>>2];n=B-+g[b+4>>2];C=+g[E+(d*104|0)+48>>2];k=C-+g[b+8>>2];l=+x(+(m*m+n*n+k*k));if(!(m*m+n*n+k*k>1.1920928955078125e-07))return;u=m*(1.0/l);w=n*(1.0/l);y=k*(1.0/l);q=+g[E+(d*104|0)+72>>2];r=+g[E+(d*104|0)+76>>2];t=+g[E+(d*104|0)+80>>2];switch(c[a+288>>2]|0){case 2:{p=m*q+n*r+k*t<0.0?-1.0:1.0;f=y*t*p+(u*q*p+w*r*p);i=+g[E+(d*104|0)+92>>2]*.5;e=(c[j>>2]=o,+g[j>>2]);n=f*s*.5*e*(m*m+n*n+k*k)*i;if(f>0.0&f<.9847999811172485){k=+x(+(1.0-f*f))*v*.5*e*l*i;l=(y*(u*t*p-y*q*p)-w*(w*q*p-u*r*p))*k;m=(u*(w*q*p-u*r*p)-y*(y*r*p-w*t*p))*k;k=(w*(y*r*p-w*t*p)-u*(u*t*p-y*q*p))*k}else{l=0.0;m=0.0;k=0.0}e=D*z*-(y*n)*D*z*-(y*n)+(D*z*-(u*n)*D*z*-(u*n)+D*z*-(w*n)*D*z*-(w*n));if(e>0.0?e>=A*A+B*B+C*C:0){e=+x(+(A*A+B*B+C*C))/+x(+e)*.800000011920929;i=e*-(u*n);f=e*-(y*n);e=e*-(w*n)}else{i=-(u*n);f=-(y*n);e=-(w*n)}C=e+ +g[E+(d*104|0)+60>>2];D=f+ +g[E+(d*104|0)+64>>2];g[E+(d*104|0)+56>>2]=l+(i+ +g[E+(d*104|0)+56>>2]);g[E+(d*104|0)+60>>2]=m+C;g[E+(d*104|0)+64>>2]=k+D;return}case 1:case 3:case 0:{e=m*q+n*r+k*t<0.0?-1.0:1.0;if(!(k*t*e+(m*q*e+n*r*e)>0.0))return;p=-((m*m+n*n+k*k)*(k*t*e+(m*q*e+n*r*e))*+g[E+(d*104|0)+92>>2]*.5*(c[j>>2]=o,+g[j>>2]));i=u*s*p+(q*e*v*p+0.0);f=w*s*p+(r*e*v*p+0.0);e=y*s*p+(t*e*v*p+0.0);if(D*z*e*D*z*e+(D*z*i*D*z*i+D*z*f*D*z*f)>A*A+B*B+C*C){y=1.0/+x(+(e*e+(i*i+f*f)));g[E+(d*104|0)+56>>2]=+g[E+(d*104|0)+56>>2]-1.0/(D*z)*i*y*(C*e*y+(A*i*y+B*f*y));g[E+(d*104|0)+60>>2]=+g[E+(d*104|0)+60>>2]-1.0/(D*z)*f*y*(C*e*y+(A*i*y+B*f*y));g[E+(d*104|0)+64>>2]=+g[E+(d*104|0)+64>>2]-1.0/(D*z)*e*y*(C*e*y+(A*i*y+B*f*y));return}else{g[E+(d*104|0)+56>>2]=i+ +g[E+(d*104|0)+56>>2];g[E+(d*104|0)+60>>2]=f+ +g[E+(d*104|0)+60>>2];g[E+(d*104|0)+64>>2]=e+ +g[E+(d*104|0)+64>>2];return}}default:return}}function _d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0;a:while(1){F=c[e+12>>2]|0;if((b|0)>0){k=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];f=-1;h=0;do{do if(c[F+(h<<2)>>2]|0){if((f|0)!=-1?!(k*+g[a+(h<<4)>>2]+i*+g[a+(h<<4)+4>>2]+j*+g[a+(h<<4)+8>>2]>k*+g[a+(f<<4)>>2]+i*+g[a+(f<<4)+4>>2]+j*+g[a+(f<<4)+8>>2]):0)break;f=h}while(0);h=h+1|0}while((h|0)!=(b|0))}else f=-1;E=F+(f<<2)|0;if((c[E>>2]|0)==3){G=40;break}B=+g[d+4>>2];C=+g[d+8>>2];D=+g[d>>2];i=+x(+((B-C*0.0)*(B-C*0.0)+(C*0.0-D)*(C*0.0-D)+(D*0.0-B*0.0)*(D*0.0-B*0.0)));j=+x(+((D-B*0.0)*(D-B*0.0)+((B*0.0-C)*(B*0.0-C)+(C*0.0-D*0.0)*(C*0.0-D*0.0))));if(i>j){w=(B-C*0.0)*(1.0/i);y=(D*0.0-B*0.0)*(1.0/i);q=(C*0.0-D)*(1.0/i)}else{w=(B*0.0-C)*(1.0/j);y=(D-B*0.0)*(1.0/j);q=(C*0.0-D*0.0)*(1.0/j)}r=C*q-B*y;s=D*y-C*w;t=B*w-D*q;u=(f|0)==-1;p=0;h=-1;while(1){v=+(p|0);o=+A(+(v*.01745329238474369));k=+z(+(v*.01745329238474369));i=D+(w*o+r*k)*.02500000037252903;j=B+(q*o+s*k)*.02500000037252903;k=C+(y*o+t*k)*.02500000037252903;if((b|0)>0){l=-1;m=0;do{do if(c[F+(m<<2)>>2]|0){if((l|0)!=-1?!(i*+g[a+(m<<4)>>2]+j*+g[a+(m<<4)+4>>2]+k*+g[a+(m<<4)+8>>2]>i*+g[a+(l<<4)>>2]+j*+g[a+(l<<4)+4>>2]+k*+g[a+(l<<4)+8>>2]):0)break;l=m}while(0);m=m+1|0}while((m|0)!=(b|0))}else l=-1;if((h|0)==(f|0)&(l|0)==(f|0))break a;b:do if(!((h|0)==-1|(h|0)==(l|0))?v+-40.0<=v:0){if((b|0)<=0){i=v+-40.0;while(1){if((h|0)==(f|0)&u){f=-1;break a}i=i+5.0;if(!(i<=v))break b;else h=-1}}o=v+-40.0;while(1){k=o*.01745329238474369;H=+A(+k);k=+z(+k);i=D+(w*H+r*k)*.02500000037252903;j=B+(q*H+s*k)*.02500000037252903;k=C+(y*H+t*k)*.02500000037252903;m=-1;n=0;do{do if(c[F+(n<<2)>>2]|0){if((m|0)!=-1?!(i*+g[a+(n<<4)>>2]+j*+g[a+(n<<4)+4>>2]+k*+g[a+(n<<4)+8>>2]>i*+g[a+(m<<4)>>2]+j*+g[a+(m<<4)+4>>2]+k*+g[a+(m<<4)+8>>2]):0)break;m=n}while(0);n=n+1|0}while((n|0)!=(b|0));if((h|0)==(f|0)&(m|0)==(f|0))break a;o=o+5.0;if(!(o<=v))break;else h=m}}while(0);p=p+45|0;if(p>>>0>360)break;else h=l}c[E>>2]=0}if((G|0)==40)return f|0;c[E>>2]=3;G=f;return G|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];w=+g[a+4>>2];q=+g[a+396>>2];v=+g[a+8>>2];o=+g[a+400>>2];u=+g[a+12>>2];m=+g[a+404>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+264>>2]=w*w*q+v*v*o+u*u*m;g[a+268>>2]=w*q*t+v*o*s+u*m*r;g[a+272>>2]=w*q*p+v*o*n+u*m*l;g[a+276>>2]=0.0;g[a+280>>2]=w*q*t+v*o*s+u*m*r;g[a+284>>2]=t*q*t+s*o*s+r*m*r;g[a+288>>2]=q*t*p+o*s*n+m*r*l;g[a+292>>2]=0.0;g[a+296>>2]=w*q*p+v*o*n+u*m*l;g[a+300>>2]=t*q*p+s*o*n+r*m*l;g[a+304>>2]=p*q*p+n*o*n+l*m*l;g[a+308>>2]=0.0;return}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;h=sa;sa=sa+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;C=+g[f>>2];B=+g[f+4>>2];A=+g[f+8>>2];z=+g[f+16>>2];y=+g[f+20>>2];x=+g[f+24>>2];q=+g[f+32>>2];o=+g[f+36>>2];m=+g[f+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;w=+g[e+(d*80|0)>>2];v=+g[e+(d*80|0)+16>>2];u=+g[e+(d*80|0)+32>>2];t=+g[e+(d*80|0)+4>>2];s=+g[e+(d*80|0)+20>>2];r=+g[e+(d*80|0)+36>>2];p=+g[e+(d*80|0)+8>>2];n=+g[e+(d*80|0)+24>>2];l=+g[e+(d*80|0)+40>>2];E=+g[e+(d*80|0)+48>>2];D=+g[e+(d*80|0)+52>>2];i=+g[e+(d*80|0)+56>>2];k=+g[f+48>>2]+(C*E+B*D+A*i);j=+g[f+52>>2]+(z*E+y*D+x*i);i=+g[f+56>>2]+(q*E+o*D+m*i);g[h+88>>2]=C*w+B*v+A*u;g[h+88+4>>2]=C*t+B*s+A*r;g[h+88+8>>2]=C*p+B*n+A*l;g[h+88+12>>2]=0.0;g[h+88+16>>2]=z*w+y*v+x*u;g[h+88+20>>2]=z*t+y*s+x*r;g[h+88+24>>2]=z*p+y*n+x*l;g[h+88+28>>2]=0.0;g[h+88+32>>2]=q*w+o*v+m*u;g[h+88+36>>2]=q*t+o*s+m*r;g[h+88+40>>2]=q*p+o*n+m*l;g[h+88+44>>2]=0.0;g[h+88+48>>2]=k;g[h+88+52>>2]=j;g[h+88+56>>2]=i;g[h+88+60>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);f=c[a+8>>2]|0;e=c[f+4>>2]|0;ab[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){sa=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){sa=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){b=c[a+12>>2]|0;b=Ka[c[(c[b>>2]|0)+8>>2]&31](b,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=b;b=(c[a+4>>2]|0)+8|0}else b=e+8|0;f=c[a+20>>2]|0;e=c[f+8>>2]|0;if((c[e+8>>2]|0)==(c[b>>2]|0)){c[f+8>>2]=h;Za[c[(c[f>>2]|0)+8>>2]&127](f,-1,d)}else{e=c[f+12>>2]|0;c[f+12>>2]=h;Za[c[(c[f>>2]|0)+12>>2]&127](f,-1,d)}d=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;eb[c[(c[d>>2]|0)+8>>2]&31](d,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)?d+8|0:d+12|0)>>2]=e;sa=h;return}function be(){if(a[26744]|0)return;if(!(mz(26744)|0))return;c[6388]=0;c[6389]=-2147483648;c[6390]=-1082130432;g[6391]=0.0;c[6392]=1060716128;c[6393]=-1090087446;c[6394]=-1092290076;g[6395]=0.0;c[6396]=-1098022214;c[6397]=-1084636126;c[6398]=-1092290076;g[6399]=0.0;c[6400]=-1083901670;c[6401]=-2147483648;c[6402]=-1092290177;g[6403]=0.0;c[6404]=-1098022214;c[6405]=1062847522;c[6406]=-1092290043;g[6407]=0.0;c[6408]=1060716128;c[6409]=1057396202;c[6410]=-1092290076;g[6411]=0.0;c[6412]=1049461434;c[6413]=-1084636126;c[6414]=1055193605;g[6415]=0.0;c[6416]=-1086767520;c[6417]=-1090087446;c[6418]=1055193572;g[6419]=0.0;c[6420]=-1086767520;c[6421]=1057396202;c[6422]=1055193572;g[6423]=0.0;c[6424]=1049461434;c[6425]=1062847522;c[6426]=1055193572;g[6427]=0.0;c[6428]=1063581978;c[6429]=0;c[6430]=1055193471;g[6431]=0.0;c[6432]=-2147483648;c[6433]=0;c[6434]=1065353216;g[6435]=0.0;c[6436]=1054458864;c[6437]=-1096927567;c[6438]=-1084636042;g[6439]=0.0;c[6440]=-1104782626;c[6441]=-1090519208;c[6442]=-1084636042;g[6443]=0.0;c[6444]=1049007812;c[6445]=-1085334679;c[6446]=-1090087228;g[6447]=0.0;c[6448]=1054458864;c[6449]=1050556081;c[6450]=-1084636042;g[6451]=0.0;c[6452]=1062847505;c[6453]=-2147483648;c[6454]=-1090087262;g[6455]=0.0;c[6456]=-1090087362;c[6457]=-2147483648;c[6458]=-1084636076;g[6459]=0.0;c[6460]=-1087361736;c[6461]=-1090519141;c[6462]=-1090087262;g[6463]=0.0;c[6464]=-1104782626;c[6465]=1056964440;c[6466]=-1084636042;g[6467]=0.0;c[6468]=-1087361736;c[6469]=1056964507;c[6470]=-1090087262;g[6471]=0.0;c[6472]=1049007812;c[6473]=1062148969;c[6474]=-1090087228;g[6475]=0.0;c[6476]=1064532105;c[6477]=1050556148;c[6478]=0;g[6479]=0.0;c[6480]=1064532105;c[6481]=-1096927500;c[6482]=0;g[6483]=0.0;c[6484]=1058437413;c[6485]=-1085334595;c[6486]=0;g[6487]=0.0;c[6488]=0;c[6489]=-1082130432;c[6490]=0;g[6491]=0.0;c[6492]=-1089046235;c[6493]=-1085334595;c[6494]=0;g[6495]=0.0;c[6496]=-1082951543;c[6497]=-1096927500;c[6498]=-2147483648;g[6499]=0.0;c[6500]=-1082951543;c[6501]=1050556148;c[6502]=-2147483648;g[6503]=0.0;c[6504]=-1089046235;c[6505]=1062149053;c[6506]=-2147483648;g[6507]=0.0;c[6508]=-2147483648;c[6509]=1065353216;c[6510]=-2147483648;g[6511]=0.0;c[6512]=1058437413;c[6513]=1062149053;c[6514]=-2147483648;g[6515]=0.0;c[6516]=1060121912;c[6517]=-1090519141;c[6518]=1057396386;g[6519]=0.0;c[6520]=-1098475836;c[6521]=-1085334679;c[6522]=1057396420;g[6523]=0.0;c[6524]=-1084636143;c[6525]=0;c[6526]=1057396386;g[6527]=0.0;c[6528]=-1098475836;c[6529]=1062148969;c[6530]=1057396420;g[6531]=0.0;c[6532]=1060121912;c[6533]=1056964507;c[6534]=1057396386;g[6535]=0.0;c[6536]=1057396286;c[6537]=0;c[6538]=1062847572;g[6539]=0.0;c[6540]=1042701022;c[6541]=-1090519208;c[6542]=1062847606;g[6543]=0.0;c[6544]=-1093024784;c[6545]=-1096927567;c[6546]=1062847606;g[6547]=0.0;c[6548]=-1093024784;c[6549]=1050556081;c[6550]=1062847606;g[6551]=0.0;c[6552]=1042701022;c[6553]=1056964440;c[6554]=1062847606;g[6555]=0.0;return}function ce(){if(a[26728]|0)return;if(!(mz(26728)|0))return;c[6116]=0;c[6117]=-2147483648;c[6118]=-1082130432;g[6119]=0.0;c[6120]=1060716128;c[6121]=-1090087446;c[6122]=-1092290076;g[6123]=0.0;c[6124]=-1098022214;c[6125]=-1084636126;c[6126]=-1092290076;g[6127]=0.0;c[6128]=-1083901670;c[6129]=-2147483648;c[6130]=-1092290177;g[6131]=0.0;c[6132]=-1098022214;c[6133]=1062847522;c[6134]=-1092290043;g[6135]=0.0;c[6136]=1060716128;c[6137]=1057396202;c[6138]=-1092290076;g[6139]=0.0;c[6140]=1049461434;c[6141]=-1084636126;c[6142]=1055193605;g[6143]=0.0;c[6144]=-1086767520;c[6145]=-1090087446;c[6146]=1055193572;g[6147]=0.0;c[6148]=-1086767520;c[6149]=1057396202;c[6150]=1055193572;g[6151]=0.0;c[6152]=1049461434;c[6153]=1062847522;c[6154]=1055193572;g[6155]=0.0;c[6156]=1063581978;c[6157]=0;c[6158]=1055193471;g[6159]=0.0;c[6160]=-2147483648;c[6161]=0;c[6162]=1065353216;g[6163]=0.0;c[6164]=1054458864;c[6165]=-1096927567;c[6166]=-1084636042;g[6167]=0.0;c[6168]=-1104782626;c[6169]=-1090519208;c[6170]=-1084636042;g[6171]=0.0;c[6172]=1049007812;c[6173]=-1085334679;c[6174]=-1090087228;g[6175]=0.0;c[6176]=1054458864;c[6177]=1050556081;c[6178]=-1084636042;g[6179]=0.0;c[6180]=1062847505;c[6181]=-2147483648;c[6182]=-1090087262;g[6183]=0.0;c[6184]=-1090087362;c[6185]=-2147483648;c[6186]=-1084636076;g[6187]=0.0;c[6188]=-1087361736;c[6189]=-1090519141;c[6190]=-1090087262;g[6191]=0.0;c[6192]=-1104782626;c[6193]=1056964440;c[6194]=-1084636042;g[6195]=0.0;c[6196]=-1087361736;c[6197]=1056964507;c[6198]=-1090087262;g[6199]=0.0;c[6200]=1049007812;c[6201]=1062148969;c[6202]=-1090087228;g[6203]=0.0;c[6204]=1064532105;c[6205]=1050556148;c[6206]=0;g[6207]=0.0;c[6208]=1064532105;c[6209]=-1096927500;c[6210]=0;g[6211]=0.0;c[6212]=1058437413;c[6213]=-1085334595;c[6214]=0;g[6215]=0.0;c[6216]=0;c[6217]=-1082130432;c[6218]=0;g[6219]=0.0;c[6220]=-1089046235;c[6221]=-1085334595;c[6222]=0;g[6223]=0.0;c[6224]=-1082951543;c[6225]=-1096927500;c[6226]=-2147483648;g[6227]=0.0;c[6228]=-1082951543;c[6229]=1050556148;c[6230]=-2147483648;g[6231]=0.0;c[6232]=-1089046235;c[6233]=1062149053;c[6234]=-2147483648;g[6235]=0.0;c[6236]=-2147483648;c[6237]=1065353216;c[6238]=-2147483648;g[6239]=0.0;c[6240]=1058437413;c[6241]=1062149053;c[6242]=-2147483648;g[6243]=0.0;c[6244]=1060121912;c[6245]=-1090519141;c[6246]=1057396386;g[6247]=0.0;c[6248]=-1098475836;c[6249]=-1085334679;c[6250]=1057396420;g[6251]=0.0;c[6252]=-1084636143;c[6253]=0;c[6254]=1057396386;g[6255]=0.0;c[6256]=-1098475836;c[6257]=1062148969;c[6258]=1057396420;g[6259]=0.0;c[6260]=1060121912;c[6261]=1056964507;c[6262]=1057396386;g[6263]=0.0;c[6264]=1057396286;c[6265]=0;c[6266]=1062847572;g[6267]=0.0;c[6268]=1042701022;c[6269]=-1090519208;c[6270]=1062847606;g[6271]=0.0;c[6272]=-1093024784;c[6273]=-1096927567;c[6274]=1062847606;g[6275]=0.0;c[6276]=-1093024784;c[6277]=1050556081;c[6278]=1062847606;g[6279]=0.0;c[6280]=1042701022;c[6281]=1056964440;c[6282]=1062847606;g[6283]=0.0;return}function de(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+9288>>2]|0;if(!k){c[b>>2]=5;k=0;return k|0}i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9288>>2]|0)==(k|0))c[b+9288>>2]=c[k+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9280>>2]=k;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[k+55>>0]=0;c[k+20>>2]=d;c[k+24>>2]=e;c[k+28>>2]=f;j=+g[d+16>>2];n=+g[e+16>>2]-j;m=+g[d+20>>2];l=+g[e+20>>2]-m;o=+g[d+24>>2];p=+g[e+24>>2]-o;j=+g[f+16>>2]-j;m=+g[f+20>>2]-m;o=+g[f+24>>2]-o;g[k>>2]=l*o-p*m;g[k+4>>2]=p*j-n*o;g[k+8>>2]=n*m-l*j;g[k+12>>2]=0.0;j=+x(+((l*o-p*m)*(l*o-p*m)+(p*j-n*o)*(p*j-n*o)+(n*m-l*j)*(n*m-l*j)));if(!(j>9.999999747378752e-05)){c[b>>2]=2;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;k=0;return k|0}if((!(nk(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],k+16|0)|0)?!(nk(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],k+16|0)|0):0)?!(nk(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],k+16|0)|0):0)g[k+16>>2]=(+g[d+16>>2]*+g[k>>2]+ +g[d+20>>2]*+g[k+4>>2]+ +g[d+24>>2]*+g[k+8>>2])/j;g[k>>2]=1.0/j*+g[k>>2];g[k+4>>2]=1.0/j*+g[k+4>>2];g[k+8>>2]=1.0/j*+g[k+8>>2];if(h)return k|0;if(+g[k+16>>2]>=-9.999999747378752e-06)return k|0;c[b>>2]=3;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;k=0;return k|0}function ee(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];k=+g[a+568>>2];l=+g[a+560>>2];i=+g[a+564>>2];j=+g[a+556>>2];d=-j-l*0.0-i*0.0;e=(i+k*0.0-j*0.0)*-i+(k*(k+l*0.0-i*0.0)+d*-j)-(k*0.0+j*0.0-l)*-l;f=(k*0.0+j*0.0-l)*-j+(k*(i+k*0.0-j*0.0)+d*-l)-(k+l*0.0-i*0.0)*-i;d=(k+l*0.0-i*0.0)*-l+(d*-i+k*(k*0.0+j*0.0-l))-(i+k*0.0-j*0.0)*-j;if(d*0.0+(f*0.0+e)<-.9999998807907104){h=1.0;d=-0.0;e=0.0;f=0.0}else{s=+x(+((d*0.0+(f*0.0+e)+1.0)*2.0));h=(e*0.0-d)*(1.0/s);d=(d*0.0-f*0.0)*(1.0/s);e=(f-e*0.0)*(1.0/s);f=s*.5}m=1.0/+x(+(d*d+h*h+e*e+f*f));o=d*m;n=h*m;p=e*m;m=f*m;r=1.0/+x(+((k*m-j*-o-l*-n-i*-p)*(k*m-j*-o-l*-n-i*-p)+((l*-o+(i*m+k*-p)-j*-n)*(l*-o+(i*m+k*-p)-j*-n)+((i*-n+(j*m+k*-o)-l*-p)*(i*-n+(j*m+k*-o)-l*-p)+(j*-p+(k*-n+l*m)-i*-o)*(j*-p+(k*-n+l*m)-i*-o)))));h=(i*-n+(j*m+k*-o)-l*-p)*r;s=(j*-p+(k*-n+l*m)-i*-o)*r;f=(l*-o+(i*m+k*-p)-j*-n)*r;r=(k*m-j*-o-l*-n-i*-p)*r;e=+g[a+444>>2];if(e>=.05000000074505806?(q=+g[a+448>>2],q>=.05000000074505806):0){d=m<-1.0?-1.0:m;d=+C(+(d>1.0?1.0:d))*2.0;if(d>1.1920928955078125e-07){i=1.0/+x(+(p*p+(o*o+n*n)));if(+w(+(n*i))>1.1920928955078125e-07){k=o*i;j=n*i;l=p*i;e=+x(+((p*i*p*i/(n*i*n*i)+1.0)/(p*i*p*i/(n*i*n*i)/(e*e)+1.0/(q*q))))}else{k=o*i;j=n*i;l=p*i}}else{k=0.0;j=0.0;l=0.0;e=0.0}if(+w(+d)>1.1920928955078125e-07){if(!(d>e)){e=-e;if(d>2];if(k>=.05000000074505806){d=r<-1.0?-1.0:r;d=+C(+(d>1.0?1.0:d))*2.0;if(d>3.1415927410125732){d=-r<-1.0?-1.0:-r;d=+C(+(d>1.0?1.0:d))*2.0;e=-h;i=-s;j=-f}else{e=h;i=s;j=f}if(d>1.1920928955078125e-07){q=1.0/+x(+(e*e+i*i+j*j));e=e*q;i=i*q;j=j*q}if(+w(+d)>1.1920928955078125e-07){if(!(d>k)){if(d<-k)d=-k}else d=k;s=d*.5;d=+A(+s)/+x(+(j*j+(i*i+e*e)));h=e*d;f=j*d;e=+z(+s);d=i*d}else{e=r;d=s}}else{e=r;d=s}g[a+556>>2]=n*f+(m*h+o*e)-l*d;g[a+560>>2]=l*h+(m*d+n*e)-o*f;g[a+564>>2]=o*d+(m*f+l*e)-n*h;g[a+568>>2]=m*e-o*h-n*d-l*f;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0;o=c[a+192>>2]|0;n=+va[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+712>>2]|0;if((o|0)>0){i=0;do{m=c[a+720>>2]|0;d=m+(i*104|0)+8|0;j=+g[b>>2]*+g[d>>2];g[d>>2]=j;d=m+(i*104|0)+12|0;k=+g[b+4>>2]*+g[d>>2];g[d>>2]=k;d=m+(i*104|0)+16|0;l=+g[b+8>>2]*+g[d>>2];g[d>>2]=l;d=m+(i*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=m+(i*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=m+(i*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];m=c[m+(i*104|0)+96>>2]|0;d=sg(a+928|0,m)|0;a:do if(d){h=c[a+936>>2]|0;if((h|0)<=-1){d=c[a+928>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;ue(a+928|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Nf(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;k=+va[c[(c[o>>2]|0)+48>>2]&15](o);n=+g[d+4>>2]-k;l=+g[d+8>>2]-k;g[a+892>>2]=+g[d>>2]-k;g[a+896>>2]=n;g[a+900>>2]=l;g[a+904>>2]=0.0;l=k+ +g[d+20>>2];n=k+ +g[d+24>>2];g[a+908>>2]=k+ +g[d+16>>2];g[a+912>>2]=l;g[a+916>>2]=n;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;m=c[o+32>>2]|0;eb[c[(c[m>>2]|0)+16>>2]&31](m,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){cf(a);return}f=c[a+740>>2]|0;d=0;do{m=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;k=+g[m+8>>2]-+g[o+8>>2];l=+g[m+12>>2]-+g[o+12>>2];n=+g[m+16>>2]-+g[o+16>>2];n=+x(+(k*k+l*l+n*n));g[f+(d*52|0)+16>>2]=n;g[f+(d*52|0)+28>>2]=n*n;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));cf(a);return}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (P(e|0),f)|0}else{if(!f){e=0;f=0;return (P(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (P(e|0),f)|0}do if(d){if(e|0){h=(M(e|0)|0)-(M(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (P(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (P(e|0),f)|0}if(d-1&d|0){h=(M(d|0)|0)+33-(M(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (P(e|0),f)|0}else{f=eF(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (P(e|0),f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (P(e|0),f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (P(d|0),f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((eF(e|0)|0)>>>0);return (P(d|0),f)|0}h=(M(e|0)|0)-(M(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (P(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (P(e|0),f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=xv(d|0|0,e|e&0|0,-1,-1)|0;l=Q()|0;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;lv(k|0,l|0,p|0,o|0)|0;n=Q()|0;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=lv(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=Q()|0;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (P(o|0),p)|0}function he(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0;o=sa;sa=sa+352|0;m=IH(f)|0;j=+g[m>>2];k=+g[m+4>>2];l=+g[m+8>>2];g[o+328>>2]=0.0;g[o+324>>2]=0.0;g[o+320>>2]=0.0;ns(o+336|0,o+328|0,o+324|0,o+320|0);g[(JI(o+336|0)|0)+(e<<2)>>2]=d;g[o+296>>2]=0.0;g[o+292>>2]=0.0;g[o+288>>2]=0.0;ns(o+304|0,o+296|0,o+292|0,o+288|0);m=JI(o+304|0)|0;g[m+(e<<2)>>2]=-d;g[o+264>>2]=0.0;g[o+260>>2]=0.0;g[o+256>>2]=0.0;ns(o+272|0,o+264|0,o+260|0,o+256|0);n=JI(o+272|0)|0;g[n+(e<<2)>>2]=d;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;r=+yI(d)*b;g[m+(((e+1|0)%3|0)<<2)>>2]=r;g[n+(((e+1|0)%3|0)<<2)>>2]=r;d=+zI(d)*b;g[m+(((e+2|0)%3|0)<<2)>>2]=d;g[n+(((e+2|0)%3|0)<<2)>>2]=d;p=c[(c[a>>2]|0)+8>>2]|0;q=JI(f)|0;vl(o+224|0,q,+g[o+304>>2],+g[o+304+4>>2],+g[o+304+8>>2]);qp(o+240|0,j,k,l,+g[o+224>>2],+g[o+224+4>>2],+g[o+224+8>>2]);vl(o+192|0,q,+g[o+272>>2],+g[o+272+4>>2],+g[o+272+8>>2]);qp(o+208|0,j,k,l,+g[o+192>>2],+g[o+192+4>>2],+g[o+192+8>>2]);ab[p&127](a,o+240|0,o+208|0,h);i=i+30|0}g[o+168>>2]=0.0;g[o+164>>2]=0.0;g[o+160>>2]=0.0;ns(o+176|0,o+168|0,o+164|0,o+160|0);g[(JI(o+176|0)|0)+(e<<2)>>2]=1.0;g[o+136>>2]=0.0;g[o+132>>2]=0.0;g[o+128>>2]=0.0;ns(o+144|0,o+136|0,o+132|0,o+128|0);g[(JI(o+144|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;q=c[(c[a>>2]|0)+60>>2]|0;p=JI(f)|0;vl(o+96|0,p,+g[o+336>>2],+g[o+336+4>>2],+g[o+336+8>>2]);sp(o+112|0,j,k,l,+g[o+96>>2],+g[o+96+4>>2],+g[o+96+8>>2]);vl(o+80|0,p,+g[o+176>>2],+g[o+176+4>>2],+g[o+176+8>>2]);vl(o+64|0,p,+g[o+144>>2],+g[o+144+4>>2],+g[o+144+8>>2]);db[q&1](a,o+112|0,o+80|0,o+64|0,b,b,0.0,6.2831854820251465,h,0,10.0);q=c[(c[a>>2]|0)+60>>2]|0;vl(o+32|0,p,+g[o+336>>2],+g[o+336+4>>2],+g[o+336+8>>2]);qp(o+48|0,j,k,l,+g[o+32>>2],+g[o+32+4>>2],+g[o+32+8>>2]);vl(o+16|0,p,+g[o+176>>2],+g[o+176+4>>2],+g[o+176+8>>2]);vl(o,p,+g[o+144>>2],+g[o+144+4>>2],+g[o+144+8>>2]);db[q&1](a,o+48|0,o+16|0,o,b,b,0.0,6.2831854820251465,h,0,10.0);sa=o;return}function ie(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;n=sa;sa=sa+400|0;g[n+376>>2]=0.0;g[n+372>>2]=0.0;g[n+368>>2]=0.0;ns(n+384|0,n+376|0,n+372|0,n+368|0);l=JI(n+384|0)|0;g[l+(e<<2)>>2]=-d;g[n+344>>2]=0.0;g[n+340>>2]=0.0;g[n+336>>2]=0.0;ns(n+352|0,n+344|0,n+340|0,n+336|0);m=JI(n+352|0)|0;g[m+(e<<2)>>2]=d;Dq(n+272|0,f);Qv(n+256|0,f,+g[n+384>>2],+g[n+384+4>>2],+g[n+384+8>>2]);i=IH(n+272|0)|0;c[i>>2]=c[n+256>>2];c[i+4>>2]=c[n+256+4>>2];c[i+8>>2]=c[n+256+8>>2];c[i+12>>2]=c[n+256+12>>2];c[n+240>>2]=c[n+256>>2];c[n+240+4>>2]=c[n+256+4>>2];c[n+240+8>>2]=c[n+256+8>>2];c[n+240+12>>2]=c[n+256+12>>2];i=JI(n+272|0)|0;sr(n+224|0,i,(e+1|0)%3|0);sr(n+192|0,i,e);Lq(n+208|0,+g[n+192>>2],+g[n+192+4>>2],+g[n+192+8>>2]);cb[c[(c[a>>2]|0)+64>>2]&1](a,n+240|0,n+224|0,n+208|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);Dq(n+128|0,f);Qv(n+112|0,f,+g[n+352>>2],+g[n+352+4>>2],+g[n+352+8>>2]);i=IH(n+128|0)|0;c[i>>2]=c[n+112>>2];c[i+4>>2]=c[n+112+4>>2];c[i+8>>2]=c[n+112+8>>2];c[i+12>>2]=c[n+112+12>>2];c[n+96>>2]=c[n+112>>2];c[n+96+4>>2]=c[n+112+4>>2];c[n+96+8>>2]=c[n+112+8>>2];c[n+96+12>>2]=c[n+112+12>>2];i=JI(n+128|0)|0;sr(n+80|0,i,(e+1|0)%3|0);sr(n+64|0,i,e);cb[c[(c[a>>2]|0)+64>>2]&1](a,n+96|0,n+80|0,n+64|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);i=IH(f)|0;d=+g[i>>2];j=+g[i+4>>2];k=+g[i+8>>2];i=0;while(1){if(i>>>0>=360)break;q=+(i|0)*.01745329238474369;r=+yI(q)*b;g[l+(((e+1|0)%3|0)<<2)>>2]=r;g[m+(((e+1|0)%3|0)<<2)>>2]=r;q=+zI(q)*b;g[l+(((e+2|0)%3|0)<<2)>>2]=q;g[m+(((e+2|0)%3|0)<<2)>>2]=q;o=c[(c[a>>2]|0)+8>>2]|0;p=JI(f)|0;vl(n+32|0,p,+g[n+384>>2],+g[n+384+4>>2],+g[n+384+8>>2]);qp(n+48|0,d,j,k,+g[n+32>>2],+g[n+32+4>>2],+g[n+32+8>>2]);vl(n,p,+g[n+352>>2],+g[n+352+4>>2],+g[n+352+8>>2]);qp(n+16|0,d,j,k,+g[n>>2],+g[n+4>>2],+g[n+8>>2]);ab[o&127](a,n+48|0,n+16|0,h);i=i+30|0}sa=n;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d+8>>2]|0;if((h|0)>0){i=c[d+16>>2]|0;f=0;e=0;do{j=c[i+(f<<2)>>2]|0;if(!(c[j+204>>2]&3)){c[j+208>>2]=e;e=e+1|0}c[j+212>>2]=-1;g[j+244>>2]=1.0;f=f+1|0}while((f|0)!=(h|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7182]=(c[7182]|0)+1;e=xb((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+8>>2]|0}if((h|0)>0){f=0;do{m=(c[b+16>>2]|0)+(f<<3)|0;k=c[m+4>>2]|0;l=e+(f<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;f=f+1|0}while((f|0)!=(h|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){f=c[b+16>>2]|0;e=0;do{c[f+(e<<3)>>2]=e;c[f+(e<<3)+4>>2]=1;e=e+1|0}while((e|0)!=(j|0))}e=c[d+68>>2]|0;e=Fa[c[(c[e>>2]|0)+36>>2]&127](e)|0;l=Fa[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!l)return;k=Fa[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((l|0)<=0)return;d=0;do{e=c[c[k+(d<<4)>>2]>>2]|0;f=c[c[k+(d<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){h=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(h<<3)>>2]|0;if((f|0)!=(h|0)){c[j+(h<<3)>>2]=c[j+(f<<3)>>2];h=c[j+(f<<3)>>2]|0;f=c[j+(h<<3)>>2]|0;if((h|0)!=(f|0)){i=j+(h<<3)|0;do{h=j+(f<<3)|0;c[i>>2]=c[h>>2];h=c[h>>2]|0;i=j+(h<<3)|0;f=c[i>>2]|0}while((h|0)!=(f|0))}}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){c[j+(e<<3)>>2]=c[j+(f<<3)>>2];e=c[j+(f<<3)>>2]|0;f=c[j+(e<<3)>>2]|0;if((e|0)!=(f|0)){i=j+(e<<3)|0;do{e=j+(f<<3)|0;c[i>>2]=c[e>>2];e=c[e>>2]|0;i=j+(e<<3)|0;f=c[i>>2]|0}while((e|0)!=(f|0))}}if((h|0)!=(e|0)){c[j+(h<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}d=d+1|0}while((d|0)!=(l|0));return}function ke(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=sa;sa=sa+48|0;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=9732;c[b+48>>2]=d;c[b+4>>2]=21;if(Fa[c[(c[d>>2]|0)+40>>2]&127](d)|0)Za[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{d=h+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g[h+32>>2]=1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+32>>2]=+g[h+16>>2]+ +g[b+12>>2];g[h+32>>2]=-1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[d>>2]=1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16+4>>2]+ +g[b+12>>2];g[d>>2]=-1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16+4>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+8>>2]+ +g[b+12>>2];g[h+32+8>>2]=-1.0;Za[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+8>>2]-+g[b+12>>2]}c[b>>2]=9580;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!f){sa=h;return}c[7182]=(c[7182]|0)+1;d=xb(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=282;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=10888;c[b+52>>2]=d;pc(d,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;sa=h;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0;if(!a)return;q=+g[b>>2];r=+g[b+4>>2];s=+g[b+8>>2];t=+g[b+16>>2];u=+g[b+20>>2];p=+g[b+24>>2];c[7182]=(c[7182]|0)+1;b=xb(275)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b>>2]=a;o=64;j=1;h=b;i=b;f=b;e=b;m=b;while(1){k=j+-1|0;n=c[h+(k<<2)>>2]|0;do if(((((+g[n>>2]<=t?+g[n+16>>2]>=q:0)?+g[n+4>>2]<=u:0)?+g[n+20>>2]>=r:0)?+g[n+8>>2]<=p:0)?+g[n+24>>2]>=s:0){if(!(c[n+40>>2]|0)){Va[c[(c[d>>2]|0)+12>>2]&127](d,n);a=o;b=m;break}l=c[n+36>>2]|0;do if((k|0)==(o|0)){a=(o|0)==0?1:o<<1;if((j|0)<=(a|0)){if((a|0)!=0?(c[7182]=(c[7182]|0)+1,v=xb((a<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;e=v+4+15&-16}else e=0;if((j|0)<=1){if(!h){h=e;j=e;i=e;f=e;b=e;k=0;break}}else{b=0;do{c[e+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(o|0))}if(!m){h=e;j=e;i=e;f=e;b=e;k=o}else{c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0);h=e;j=e;i=e;f=e;b=e;k=o}}else{a=o;j=e;b=m;k=o}}else{a=o;j=e;b=m}while(0);c[h+(k<<2)>>2]=l;m=k+1|0;l=c[n+40>>2]|0;do if((m|0)==(a|0)?(w=(a|0)==0?1:a<<1,(a|0)<(w|0)):0){if((w|0)!=0?(c[7182]=(c[7182]|0)+1,x=xb((w<<2|3)+16|0)|0,(x|0)!=0):0){c[(x+4+15&-16)+-4>>2]=x;e=x+4+15&-16}else e=0;if((k|0)>-1){b=0;do{c[e+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(a|0));if(!j){a=w;h=e;i=e;f=e;j=e;b=e;break}}else if((h|0)==0|(j|0)==0){a=w;h=e;i=e;f=e;j=e;b=e;break}c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);a=w;h=e;i=e;f=e;j=e;b=e}while(0);c[h+(m<<2)>>2]=l;k=k+2|0;e=j}else{a=o;b=m}while(0);if((k|0)<=0)break;o=a;j=k;m=b}if((h|0)==0|(i|0)==0)return;c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);return}function me(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;j=sa;sa=sa+64|0;k=(a[b+8>>0]|0)!=0;i=k?e:d;d=k?d:e;e=c[d+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){sa=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){sa=j;return}l=+va[c[(c[e>>2]|0)+48>>2]&15](e);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=i;c[b+20>>2]=d;c[b+64>>2]=f;g[b+68>>2]=l;c[b+56>>2]=h;k=c[d+12>>2]|0;A=+g[k>>2];z=+g[k+16>>2];y=+g[k+32>>2];x=+g[k+4>>2];w=+g[k+20>>2];v=+g[k+36>>2];r=+g[k+8>>2];p=+g[k+24>>2];n=+g[k+40>>2];u=-+g[k+48>>2];t=-+g[k+52>>2];s=-+g[k+56>>2];k=c[i+12>>2]|0;J=+g[k>>2];I=+g[k+16>>2];H=+g[k+32>>2];G=+g[k+4>>2];F=+g[k+20>>2];E=+g[k+36>>2];D=+g[k+8>>2];C=+g[k+24>>2];B=+g[k+40>>2];q=+g[k+48>>2];o=+g[k+52>>2];m=+g[k+56>>2];g[j>>2]=A*J+z*I+y*H;g[j+4>>2]=A*G+z*F+y*E;g[j+8>>2]=A*D+z*C+y*B;g[j+12>>2]=0.0;g[j+16>>2]=x*J+w*I+v*H;g[j+20>>2]=x*G+w*F+v*E;g[j+24>>2]=x*D+w*C+v*B;g[j+28>>2]=0.0;g[j+32>>2]=r*J+p*I+n*H;g[j+36>>2]=r*G+p*F+n*E;g[j+40>>2]=r*D+p*C+n*B;g[j+44>>2]=0.0;g[j+48>>2]=A*u+z*t+y*s+(A*q+z*o+y*m);g[j+52>>2]=x*u+w*t+v*s+(x*q+w*o+v*m);g[j+56>>2]=r*u+p*t+n*s+(r*q+p*o+n*m);g[j+60>>2]=0.0;k=c[i+4>>2]|0;ab[c[(c[k>>2]|0)+8>>2]&127](k,j,b+24|0,b+40|0);g[b+40>>2]=+g[b+40>>2]+l;g[b+44>>2]=+g[b+44>>2]+l;g[b+48>>2]=+g[b+48>>2]+l;g[b+24>>2]=+g[b+24>>2]-l;g[b+28>>2]=+g[b+28>>2]-l;g[b+32>>2]=+g[b+32>>2]-l;k=c[b+76>>2]|0;d=c[d+8>>2]|0;c[k+740>>2]=c[i+8>>2];c[k+744>>2]=d;ab[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);d=c[h+4>>2]|0;do if(c[d+748>>2]|0){e=c[d+740>>2]|0;f=c[(c[h+8>>2]|0)+8>>2]|0;if((e|0)==(f|0)){re(d,e+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(d,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,f+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;sa=j;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0;n=sa;sa=sa+128|0;i=+g[b>>2];j=+g[b+16>>2];o=i>2];if((o+g[a+28>>2]){sa=n;return}l=i>j?b:b+16|0;if(+g[(+g[l>>2]>h?l:b+32|0)>>2]<+g[a+12>>2]){sa=n;return}h=+g[b+8>>2];i=+g[b+24>>2];o=h>2];if((o+g[a+36>>2]){sa=n;return}l=h>i?b+8|0:b+24|0;if(+g[(+g[l>>2]>j?l:b+40|0)>>2]<+g[a+20>>2]){sa=n;return}h=+g[b+4>>2];i=+g[b+20>>2];o=h>2];if((o+g[a+32>>2]){sa=n;return}l=h>i?b+4|0:b+20|0;if(+g[(+g[l>>2]>j?l:b+36|0)>>2]<+g[a+16>>2]){sa=n;return}f=c[a+4>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){sa=n;return}l=c[a+48>>2]|0;c[n+24+8>>2]=0;c[n+24+12>>2]=1065353216;c[n+24+16>>2]=1065353216;c[n+24+20>>2]=1065353216;g[n+24+24>>2]=0.0;c[n+24+52>>2]=0;c[n+24>>2]=6476;c[n+24+4>>2]=1;c[n+24+56>>2]=c[b>>2];c[n+24+56+4>>2]=c[b+4>>2];c[n+24+56+8>>2]=c[b+8>>2];c[n+24+56+12>>2]=c[b+12>>2];c[n+24+72>>2]=c[b+16>>2];c[n+24+72+4>>2]=c[b+16+4>>2];c[n+24+72+8>>2]=c[b+16+8>>2];c[n+24+72+12>>2]=c[b+16+12>>2];c[n+24+88>>2]=c[b+32>>2];c[n+24+88+4>>2]=c[b+32+4>>2];c[n+24+88+8>>2]=c[b+32+8>>2];c[n+24+88+12>>2]=c[b+32+12>>2];c[n+24+44>>2]=c[a+56>>2];p=c[a+8>>2]|0;b=c[p+8>>2]|0;k=c[p+12>>2]|0;c[n>>2]=p;c[n+4>>2]=n+24;c[n+8>>2]=b;c[n+12>>2]=k;c[n+16>>2]=d;c[n+20>>2]=e;k=Ka[c[(c[l>>2]|0)+8>>2]&31](l,f,n,c[a+64>>2]|0)|0;b=c[a+44>>2]|0;f=c[b+8>>2]|0;if((c[f+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[b+8>>2]=n;Za[c[(c[b>>2]|0)+8>>2]&127](b,d,e)}else{f=c[b+12>>2]|0;c[b+12>>2]=n;Za[c[(c[b>>2]|0)+12>>2]&127](b,d,e)}eb[c[(c[k>>2]|0)+8>>2]&31](k,c[a+4>>2]|0,n,c[a+52>>2]|0,c[a+44>>2]|0);p=c[a+44>>2]|0;c[((c[(c[p+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)?p+8|0:p+12|0)>>2]=f;Pa[c[c[k>>2]>>2]&511](k);Va[c[(c[l>>2]|0)+60>>2]&127](l,k);c[n+24>>2]=9932;f=c[n+24+52>>2]|0;if(f|0?(Pa[c[c[f>>2]>>2]&511](f),m=c[n+24+52>>2]|0,m|0):0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}sa=n;return}function oe(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=a[h+16>>0]&-16;a[h+16>>0]=v;w=+g[e>>2];x=+g[d>>2];n=+g[e+4>>2];o=+g[d+4>>2];p=+g[e+8>>2];q=+g[d+8>>2];r=+g[f>>2];s=+g[f+4>>2];t=+g[f+8>>2];l=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];y=(w-x)*(l-x)+(n-o)*(m-o)+(p-q)*(i-q);z=(r-x)*(l-x)+(s-o)*(m-o)+(t-q)*(i-q);do if(y<=0.0&z<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=v|1;j=0.0;k=0.0;i=1.0}else{u=(w-x)*(l-w)+(n-o)*(m-n)+(p-q)*(i-p);k=(r-x)*(l-w)+(s-o)*(m-n)+(t-q)*(i-p);if(!(!(u>=0.0)|!(k<=u))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=v|2;j=0.0;k=1.0;i=0.0;break}if(u<=0.0&(y>=0.0?y*k-u*z<=0.0:0)){g[h>>2]=x+(w-x)*(y/(y-u));g[h+4>>2]=o+(n-o)*(y/(y-u));g[h+8>>2]=q+(p-q)*(y/(y-u));g[h+12>>2]=0.0;a[h+16>>0]=v|3;j=0.0;k=y/(y-u);i=1.0-y/(y-u);break}j=(w-x)*(l-r)+(n-o)*(m-s)+(p-q)*(i-t);i=(r-x)*(l-r)+(s-o)*(m-s)+(t-q)*(i-t);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[h+16>>0]=v|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(z>=0.0?j*z-y*i<=0.0:0)){g[h>>2]=x+(r-x)*(z/(z-i));g[h+4>>2]=o+(s-o)*(z/(z-i));g[h+8>>2]=q+(t-q)*(z/(z-i));g[h+12>>2]=0.0;a[h+16>>0]=v|5;j=z/(z-i);k=0.0;i=1.0-z/(z-i);break}if((u*i-j*k<=0.0?k-u>=0.0:0)?j-i>=0.0:0){k=(k-u)/(k-u+(j-i));g[h>>2]=w+(r-w)*k;g[h+4>>2]=n+(s-n)*k;g[h+8>>2]=p+(t-p)*k;g[h+12>>2]=0.0;a[h+16>>0]=v|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(y*k-u*z+(u*i-j*k+(j*z-y*i)));m=(j*z-y*i)*l;i=(y*k-u*z)*l;g[h>>2]=(r-x)*i+(x+(w-x)*m);g[h+4>>2]=(s-o)*i+(o+(n-o)*m);g[h+8>>2]=(t-q)*i+(q+(p-q)*m);g[h+12>>2]=0.0;a[h+16>>0]=v|7;j=i;k=m;i=1.0-m-i}while(0);g[h+20>>2]=i;g[h+24>>2]=k;g[h+28>>2]=j;g[h+32>>2]=0.0;return}function pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;f=sa;sa=sa+256|0;Ki(16022);c[f+32>>2]=6820;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];l=f+32+52|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];m=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+x(+(m*m+j*j+i*i));p=m*h==0.0?1000000015047466219876688.0e6:1.0/(m*h);g[f+32+4>>2]=p;o=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+8>>2]=o;n=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);g[f+32+12>>2]=n;c[f+32+20>>2]=p<0.0&1;c[f+32+24>>2]=o<0.0&1;c[f+32+28>>2]=n<0.0&1;g[f+32+32>>2]=m*h*(+g[l>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;gb[e&7](a,b,d,f+32|0,f+16|0,f);a=c[3084]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){sa=f;return}do if(c[a+4>>2]|0){la(f+32|0,0)|0;l=c[7181]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[f+32+4>>2]|0)-(c[l+4>>2]|0)+(((c[f+32>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3084]|0;break}else{sa=f;return}}while(0);c[3084]=c[a+20>>2];sa=f;return}function qe(a,b,f){a=a|0;b=b|0;f=f|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=sa;sa=sa+32|0;n=c[a+4>>2]|0;kb[c[(c[n>>2]|0)+16>>2]&3](n,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);n=(c[t+12>>2]|0)+(J(c[t+8>>2]|0,f)|0)|0;r=c[a+4>>2]|0;o=c[t>>2]|0;switch(o|0){case 3:{i=e[n+4>>1]|0;break}case 2:{i=c[n+8>>2]|0;break}default:i=d[n+2>>0]|0}s=(c[t+20>>2]|0)==0;p=c[t+28>>2]|0;q=c[t+16>>2]|0;i=p+(J(q,i)|0)|0;if(s){l=+g[i+4>>2]*+g[r+8>>2];m=+g[i>>2]*+g[r+4>>2];k=i+8|0;j=+g[r+12>>2]}else{l=+g[r+8>>2]*+h[i+8>>3];m=+g[r+4>>2]*+h[i>>3];k=r+12|0;j=+h[i+16>>3]}j=+g[k>>2]*j;g[a+44>>2]=m;g[a+48>>2]=l;g[a+52>>2]=j;g[a+56>>2]=0.0;switch(o|0){case 3:{i=e[n+2>>1]|0;break}case 2:{i=c[n+4>>2]|0;break}default:i=d[n+1>>0]|0}i=p+(J(q,i)|0)|0;if(s){k=i+8|0;l=+g[i+4>>2]*+g[r+8>>2];m=+g[i>>2]*+g[r+4>>2];j=+g[r+12>>2]}else{k=r+12|0;l=+g[r+8>>2]*+h[i+8>>3];m=+g[r+4>>2]*+h[i>>3];j=+h[i+16>>3]}j=+g[k>>2]*j;g[a+28>>2]=m;g[a+32>>2]=l;g[a+36>>2]=j;g[a+40>>2]=0.0;switch(o|0){case 3:{i=e[n>>1]|0;break}case 2:{i=c[n>>2]|0;break}default:i=d[n>>0]|0}i=p+(J(q,i)|0)|0;if(s){l=+g[i+4>>2]*+g[r+8>>2];j=+g[i>>2]*+g[r+4>>2];q=i+8|0;m=+g[r+12>>2];u=+g[q>>2];m=u*m;r=a+12|0;g[r>>2]=j;r=a+16|0;g[r>>2]=l;r=a+20|0;g[r>>2]=m;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;ab[q&127](r,s,b,f);s=c[a+4>>2]|0;r=c[s>>2]|0;r=r+24|0;r=c[r>>2]|0;Va[r&127](s,b);sa=t;return}else{m=+g[r+8>>2]*+h[i+8>>3];l=+g[r+4>>2]*+h[i>>3];r=r+12|0;u=+h[i+16>>3];j=+g[r>>2];u=j*u;r=a+12|0;g[r>>2]=l;r=a+16|0;g[r>>2]=m;r=a+20|0;g[r>>2]=u;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;ab[q&127](r,s,b,f);s=c[a+4>>2]|0;r=c[s>>2]|0;r=r+24|0;r=c[r>>2]|0;Va[r&127](s,b);sa=t;return}}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[b+748>>2]|0;if((f|0)<=0)return;do{j=f;f=f+-1|0;p=+g[b+4+(f*184|0)>>2];q=+g[b+4+(f*184|0)+4>>2];h=+g[b+4+(f*184|0)+8>>2];o=p*+g[d>>2]+q*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];m=p*+g[d+16>>2]+q*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=p*+g[d+32>>2]+q*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[b+4+(f*184|0)+48>>2]=o;g[b+4+(f*184|0)+52>>2]=m;g[b+4+(f*184|0)+56>>2]=h;g[b+4+(f*184|0)+60>>2]=0.0;q=+g[b+4+(f*184|0)+16>>2];p=+g[b+4+(f*184|0)+20>>2];i=+g[b+4+(f*184|0)+24>>2];n=q*+g[e>>2]+p*+g[e+4>>2]+i*+g[e+8>>2]+ +g[e+48>>2];l=q*+g[e+16>>2]+p*+g[e+20>>2]+i*+g[e+24>>2]+ +g[e+52>>2];i=q*+g[e+32>>2]+p*+g[e+36>>2]+i*+g[e+40>>2]+ +g[e+56>>2];g[b+4+(f*184|0)+32>>2]=n;g[b+4+(f*184|0)+36>>2]=l;g[b+4+(f*184|0)+40>>2]=i;g[b+4+(f*184|0)+44>>2]=0.0;g[b+4+(f*184|0)+80>>2]=(o-n)*+g[b+4+(f*184|0)+64>>2]+(m-l)*+g[b+4+(f*184|0)+68>>2]+(h-i)*+g[b+4+(f*184|0)+72>>2];k=b+4+(f*184|0)+148|0;c[k>>2]=(c[k>>2]|0)+1}while((j|0)>1);f=c[b+748>>2]|0;if((f|0)<=0)return;j=f;do{e=j;j=j+-1|0;d=b+4+(j*184|0)|0;h=+g[b+4+(j*184|0)+80>>2];i=+g[b+752>>2];if(h<=i){o=+g[b+4+(j*184|0)+32>>2]-(+g[b+4+(j*184|0)+48>>2]-+g[b+4+(j*184|0)+64>>2]*h);p=+g[b+4+(j*184|0)+36>>2]-(+g[b+4+(j*184|0)+52>>2]-h*+g[b+4+(j*184|0)+68>>2]);q=+g[b+4+(j*184|0)+40>>2]-(+g[b+4+(j*184|0)+56>>2]-h*+g[b+4+(j*184|0)+72>>2]);if(o*o+p*p+q*q>i*i){f=f+-1|0;if((f|0)==(j|0))f=j;else{Bh(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=f}}else{f=f+-1|0;if((f|0)==(j|0))f=j;else{Bh(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=f}}while((e|0)>1);return}function se(b){b=b|0;var d=0,e=0;c[b>>2]=8032;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+60>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+60>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+88>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+88>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+28>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(!d)return;c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);return} +function vb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,G=0,H=0,I=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,ta=0.0,ua=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0,Ea=0,Fa=0;Fa=sa;sa=sa+480|0;c[Fa+48>>2]=c[b>>2];c[Fa>>2]=c[b+64>>2];f=Fa+48+4|0;c[f>>2]=c[b+4>>2];c[Fa+4>>2]=c[b+68>>2];e=Fa+48+8|0;c[e>>2]=c[b+8>>2];c[Fa+8>>2]=c[b+72>>2];E=Fa+48+16|0;c[E>>2]=c[b+16>>2];c[Fa+16>>2]=c[b+80>>2];k=Fa+48+20|0;c[k>>2]=c[b+20>>2];c[Fa+20>>2]=c[b+84>>2];n=Fa+48+24|0;c[n>>2]=c[b+24>>2];c[Fa+24>>2]=c[b+88>>2];D=Fa+48+32|0;c[D>>2]=c[b+32>>2];c[Fa+32>>2]=c[b+96>>2];Q=Fa+48+36|0;c[Q>>2]=c[b+36>>2];c[Fa+36>>2]=c[b+100>>2];l=Fa+48+40|0;c[l>>2]=c[b+40>>2];c[Fa+40>>2]=c[b+104>>2];Ea=c[a+4>>2]|0;ta=+g[Ea+28>>2];ua=+g[Ea+32>>2];ya=+g[Ea+36>>2];wa=+va[c[(c[Ea>>2]|0)+48>>2]&15](Ea);xa=+va[c[(c[Ea>>2]|0)+48>>2]&15](Ea);ya=(ya+ +va[c[(c[Ea>>2]|0)+48>>2]&15](Ea))*2.0;Ea=c[a+8>>2]|0;za=+g[Ea+28>>2];Aa=+g[Ea+32>>2];V=+g[Ea+36>>2];Ba=+va[c[(c[Ea>>2]|0)+48>>2]&15](Ea);Ca=+va[c[(c[Ea>>2]|0)+48>>2]&15](Ea);V=(V+ +va[c[(c[Ea>>2]|0)+48>>2]&15](Ea))*2.0;ba=+g[b+112>>2]-+g[b+48>>2];ca=+g[b+116>>2]-+g[b+52>>2];da=+g[b+120>>2]-+g[b+56>>2];ra=+g[Fa+48>>2];oa=+g[E>>2];pa=+g[D>>2];la=+g[f>>2];ja=+g[k>>2];ka=+g[Q>>2];L=+g[e>>2];C=+g[n>>2];K=+g[l>>2];g[Fa+468>>2]=(ta+wa)*2.0*.5;g[Fa+468+4>>2]=(ua+xa)*2.0*.5;g[Fa+468+8>>2]=ya*.5;g[Fa+456>>2]=(za+Ba)*2.0*.5;g[Fa+456+4>>2]=(Aa+Ca)*2.0*.5;g[Fa+456+8>>2]=V*.5;U=+g[Fa>>2];S=+g[Fa+16>>2];T=+g[Fa+32>>2];$=+g[Fa+4>>2];Z=+g[Fa+20>>2];_=+g[Fa+36>>2];qa=+g[Fa+8>>2];ma=+g[Fa+24>>2];na=+g[Fa+40>>2];M=+w(+(ra*U+oa*S+pa*T));W=+w(+(ra*$+oa*Z+pa*_));fa=+w(+(ra*qa+oa*ma+pa*na));N=+w(+(la*U+ja*S+ka*T));X=+w(+(la*$+ja*Z+ka*_));ga=+w(+(la*qa+ja*ma+ka*na));ha=+w(+(L*U+C*S+K*T));ia=+w(+(L*$+C*Z+K*_));Y=+w(+(L*qa+C*ma+K*na));o=+w(+(ba*ra+ca*oa+da*pa))-((ta+wa)*2.0*.5+(za+Ba)*2.0*.5*M+(Aa+Ca)*2.0*.5*W+V*.5*fa);if(o>0.0){sa=Fa;return}if(o>-3402823466385288598117041.0e14){G=Fa+48|0;a=1;H=ba*ra+ca*oa+da*pa<0.0&1}else{G=0;a=0;H=0;o=-3402823466385288598117041.0e14}h=+w(+(ba*la+ca*ja+da*ka))-((ua+xa)*2.0*.5+(za+Ba)*2.0*.5*N+(Aa+Ca)*2.0*.5*X+V*.5*ga);if(h>0.0){sa=Fa;return}if(h>o){G=f;a=2;H=ba*la+ca*ja+da*ka<0.0&1;o=h}h=+w(+(ba*L+ca*C+da*K))-(ya*.5+(za+Ba)*2.0*.5*ha+(Aa+Ca)*2.0*.5*ia+V*.5*Y);if(h>0.0){sa=Fa;return}if(h>o){G=e;a=3;H=ba*L+ca*C+da*K<0.0&1;o=h}h=+w(+(ba*U+ca*S+da*T))-((za+Ba)*2.0*.5+(ya*.5*ha+((ta+wa)*2.0*.5*M+(ua+xa)*2.0*.5*N)));if(h>0.0){sa=Fa;return}if(h>o){G=Fa;a=4;H=ba*U+ca*S+da*T<0.0&1;o=h}h=+w(+(ba*$+ca*Z+da*_))-((Aa+Ca)*2.0*.5+(ya*.5*ia+((ta+wa)*2.0*.5*W+(ua+xa)*2.0*.5*X)));if(h>0.0){sa=Fa;return}if(h>o){G=Fa+4|0;a=5;H=ba*$+ca*Z+da*_<0.0&1;o=h}h=+w(+(ba*qa+ca*ma+da*na))-(V*.5+(ya*.5*Y+((ta+wa)*2.0*.5*fa+(ua+xa)*2.0*.5*ga)));if(h>0.0){sa=Fa;return}if(h>o){G=Fa+8|0;a=6;H=ba*qa+ca*ma+da*na<0.0&1;o=h}h=(ba*L+ca*C+da*K)*(la*U+ja*S+ka*T)-(ba*la+ca*ja+da*ka)*(L*U+C*S+K*T);i=+w(+h)-(V*.5*(W+9.999999747378752e-06)+((ua+xa)*2.0*.5*(ha+9.999999747378752e-06)+ya*.5*(N+9.999999747378752e-06)+(Aa+Ca)*2.0*.5*(fa+9.999999747378752e-06)));if(i>1.1920928955078125e-07){sa=Fa;return}s=(L*U+C*S+K*T)*(L*U+C*S+K*T)+0.0;z=(la*U+ja*S+ka*T)*(la*U+ja*S+ka*T);p=+x(+(z+s));if(p>1.1920928955078125e-07?i/p*1.0499999523162842>o:0){G=0;a=7;H=h<0.0&1;o=i/p;m=0.0/p;i=-(L*U+C*S+K*T)/p;h=(la*U+ja*S+ka*T)/p}else{m=0.0;i=0.0;h=0.0}p=(ba*L+ca*C+da*K)*(la*$+ja*Z+ka*_)-(ba*la+ca*ja+da*ka)*(L*$+C*Z+K*_);q=+w(+p)-(V*.5*(M+9.999999747378752e-06)+((ua+xa)*2.0*.5*(ia+9.999999747378752e-06)+ya*.5*(X+9.999999747378752e-06)+(za+Ba)*2.0*.5*(fa+9.999999747378752e-06)));if(q>1.1920928955078125e-07){sa=Fa;return}t=(L*$+C*Z+K*_)*(L*$+C*Z+K*_)+0.0;A=(la*$+ja*Z+ka*_)*(la*$+ja*Z+ka*_);r=+x(+(A+t));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>o:0){G=0;a=8;H=p<0.0&1;o=q/r;m=0.0/r;i=-(L*$+C*Z+K*_)/r;h=(la*$+ja*Z+ka*_)/r}p=(ba*L+ca*C+da*K)*(la*qa+ja*ma+ka*na)-(ba*la+ca*ja+da*ka)*(L*qa+C*ma+K*na);q=+w(+p)-((Aa+Ca)*2.0*.5*(M+9.999999747378752e-06)+((za+Ba)*2.0*.5*(W+9.999999747378752e-06)+((ua+xa)*2.0*.5*(Y+9.999999747378752e-06)+ya*.5*(ga+9.999999747378752e-06))));if(q>1.1920928955078125e-07){sa=Fa;return}v=(L*qa+C*ma+K*na)*(L*qa+C*ma+K*na)+0.0;B=(la*qa+ja*ma+ka*na)*(la*qa+ja*ma+ka*na);r=+x(+(B+v));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>o:0){G=0;a=9;H=p<0.0&1;o=q/r;m=0.0/r;i=-(L*qa+C*ma+K*na)/r;h=(la*qa+ja*ma+ka*na)/r}p=(ba*ra+ca*oa+da*pa)*(L*U+C*S+K*T)-(ba*L+ca*C+da*K)*(ra*U+oa*S+pa*T);q=+w(+p)-(V*.5*(X+9.999999747378752e-06)+((ta+wa)*2.0*.5*(ha+9.999999747378752e-06)+ya*.5*(M+9.999999747378752e-06)+(Aa+Ca)*2.0*.5*(ga+9.999999747378752e-06)));if(q>1.1920928955078125e-07){sa=Fa;return}y=(ra*U+oa*S+pa*T)*(ra*U+oa*S+pa*T);r=+x(+(y+s));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>o))break;G=0;a=10;H=p<0.0&1;o=q/r;m=(L*U+C*S+K*T)/r;i=0.0/r;h=-(ra*U+oa*S+pa*T)/r}while(0);p=(ba*ra+ca*oa+da*pa)*(L*$+C*Z+K*_)-(ba*L+ca*C+da*K)*(ra*$+oa*Z+pa*_);q=+w(+p)-(V*.5*(N+9.999999747378752e-06)+((ta+wa)*2.0*.5*(ia+9.999999747378752e-06)+ya*.5*(W+9.999999747378752e-06)+(za+Ba)*2.0*.5*(ga+9.999999747378752e-06)));if(q>1.1920928955078125e-07){sa=Fa;return}u=(ra*$+oa*Z+pa*_)*(ra*$+oa*Z+pa*_);r=+x(+(u+t));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>o))break;G=0;a=11;H=p<0.0&1;o=q/r;m=(L*$+C*Z+K*_)/r;i=0.0/r;h=-(ra*$+oa*Z+pa*_)/r}while(0);p=(ba*ra+ca*oa+da*pa)*(L*qa+C*ma+K*na)-(ba*L+ca*C+da*K)*(ra*qa+oa*ma+pa*na);q=+w(+p)-((Aa+Ca)*2.0*.5*(N+9.999999747378752e-06)+((za+Ba)*2.0*.5*(X+9.999999747378752e-06)+((ta+wa)*2.0*.5*(Y+9.999999747378752e-06)+ya*.5*(fa+9.999999747378752e-06))));if(q>1.1920928955078125e-07){sa=Fa;return}s=(ra*qa+oa*ma+pa*na)*(ra*qa+oa*ma+pa*na);r=+x(+(s+v));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>o))break;G=0;a=12;H=p<0.0&1;o=q/r;m=(L*qa+C*ma+K*na)/r;i=0.0/r;h=-(ra*qa+oa*ma+pa*na)/r}while(0);q=(ba*la+ca*ja+da*ka)*(ra*U+oa*S+pa*T)-(ba*ra+ca*oa+da*pa)*(la*U+ja*S+ka*T);p=+w(+q)-(V*.5*(ia+9.999999747378752e-06)+((ta+wa)*2.0*.5*(N+9.999999747378752e-06)+(ua+xa)*2.0*.5*(M+9.999999747378752e-06)+(Aa+Ca)*2.0*.5*(Y+9.999999747378752e-06)));if(p>1.1920928955078125e-07){sa=Fa;return}r=+x(+(z+y+0.0));do if(r>1.1920928955078125e-07){if(!(p/r*1.0499999523162842>o))break;G=0;a=13;H=q<0.0&1;o=p/r;m=-(la*U+ja*S+ka*T)/r;i=(ra*U+oa*S+pa*T)/r;h=0.0/r}while(0);r=(ba*la+ca*ja+da*ka)*(ra*$+oa*Z+pa*_)-(ba*ra+ca*oa+da*pa)*(la*$+ja*Z+ka*_);p=+w(+r)-(V*.5*(ha+9.999999747378752e-06)+((ta+wa)*2.0*.5*(X+9.999999747378752e-06)+(ua+xa)*2.0*.5*(W+9.999999747378752e-06)+(za+Ba)*2.0*.5*(Y+9.999999747378752e-06)));if(p>1.1920928955078125e-07){sa=Fa;return}q=+x(+(A+u+0.0));do if(q>1.1920928955078125e-07){if(!(p/q*1.0499999523162842>o))break;G=0;a=14;H=r<0.0&1;o=p/q;m=-(la*$+ja*Z+ka*_)/q;i=(ra*$+oa*Z+pa*_)/q;h=0.0/q}while(0);r=(ba*la+ca*ja+da*ka)*(ra*qa+oa*ma+pa*na)-(ba*ra+ca*oa+da*pa)*(la*qa+ja*ma+ka*na);p=+w(+r)-((Aa+Ca)*2.0*.5*(ha+9.999999747378752e-06)+((za+Ba)*2.0*.5*(ia+9.999999747378752e-06)+((ta+wa)*2.0*.5*(ga+9.999999747378752e-06)+(ua+xa)*2.0*.5*(fa+9.999999747378752e-06))));if(p>1.1920928955078125e-07){sa=Fa;return}q=+x(+(B+s+0.0));do if(q>1.1920928955078125e-07){if(!(p/q*1.0499999523162842>o)){O=55;break}a=15;H=r<0.0&1;o=p/q;m=-(la*qa+ja*ma+ka*na)/q;i=(ra*qa+oa*ma+pa*na)/q;h=0.0/q;O=58}else O=55;while(0);do if((O|0)==55){if(!a){sa=Fa;return}if(!G){O=58;break}Da=c[G>>2]|0;I=c[G+16>>2]|0;Ea=c[G+32>>2]|0;h=(c[j>>2]=Da,+g[j>>2]);i=(c[j>>2]=I,+g[j>>2]);P=a;N=o;a=Da;G=I;I=Ea;m=(c[j>>2]=Ea,+g[j>>2])}while(0);if((O|0)==58){qa=ra*m+i*+g[f>>2]+h*+g[e>>2];I=(g[j>>2]=qa,c[j>>2]|0);ra=m*+g[E>>2]+i*+g[k>>2]+h*+g[n>>2];G=(g[j>>2]=ra,c[j>>2]|0);m=m*+g[D>>2]+i*+g[Q>>2]+h*+g[l>>2];P=a;N=o;a=I;I=(g[j>>2]=m,c[j>>2]|0);h=qa;i=ra}if(H){a=(g[j>>2]=-h,c[j>>2]|0);G=(g[j>>2]=-i,c[j>>2]|0);I=(g[j>>2]=-m,c[j>>2]|0)}if((P|0)>6){M=(c[j>>2]=a,+g[j>>2]);L=(c[j>>2]=G,+g[j>>2]);K=(c[j>>2]=I,+g[j>>2]);t=+g[Fa+48>>2];v=+g[E>>2];p=+g[D>>2];h=(t*M+v*L+p*K>0.0?1.0:-1.0)*(ta+wa)*2.0*.5;i=+g[f>>2];u=+g[k>>2];s=+g[Q>>2];z=(i*M+u*L+s*K>0.0?1.0:-1.0)*(ua+xa)*2.0*.5;A=+g[e>>2];B=+g[n>>2];C=+g[l>>2];m=(A*M+B*L+C*K>0.0?1.0:-1.0)*ya*.5;A=+g[b+48>>2]+h*t+z*i+m*A;B=+g[b+52>>2]+h*v+z*u+m*B;C=+g[b+56>>2]+h*p+z*s+m*C;c[Fa+352>>2]=c[b+112>>2];c[Fa+352+4>>2]=c[b+112+4>>2];c[Fa+352+8>>2]=c[b+112+8>>2];m=+g[Fa>>2];s=+g[Fa+16>>2];z=+g[Fa+32>>2];p=(m*M+s*L+z*K>0.0?-1.0:1.0)*(za+Ba)*2.0*.5;h=+g[Fa+4>>2];u=+g[Fa+20>>2];v=+g[Fa+36>>2];i=(h*M+u*L+v*K>0.0?-1.0:1.0)*(Aa+Ca)*2.0*.5;u=+g[Fa+352+4>>2]+p*s+i*u;v=+g[Fa+352+8>>2]+p*z+i*v;z=+g[Fa+8>>2];s=+g[Fa+24>>2];t=+g[Fa+40>>2];y=(z*M+s*L+t*K>0.0?-1.0:1.0)*+g[Fa+456+8>>2];z=+g[Fa+352>>2]+p*m+i*h+y*z;g[Fa+352>>2]=z;g[Fa+352+4>>2]=u+y*s;g[Fa+352+8>>2]=v+y*t;Ea=P+-7|0;h=+g[Fa+48+(((Ea|0)/3|0)<<2)>>2];i=+g[Fa+48+(((Ea|0)/3|0)+4<<2)>>2];m=+g[Fa+48+(((Ea|0)/3|0)+8<<2)>>2];Ea=Ea+(J((Ea|0)/3|0,-3)|0)|0;p=+g[Fa+(Ea<<2)>>2];q=+g[Fa+(Ea+4<<2)>>2];r=+g[Fa+(Ea+8<<2)>>2];o=1.0-(h*p+i*q+m*r)*(h*p+i*q+m*r);if(!(o<=9.999999747378752e-05))h=(((z-A)*h+(u+y*s-B)*i+(v+y*t-C)*m)*(h*p+i*q+m*r)-((z-A)*p+(u+y*s-B)*q+(v+y*t-C)*r))*(1.0/o);else h=0.0;g[Fa+352>>2]=z+h*p;g[Fa+352+4>>2]=u+y*s+h*q;g[Fa+352+8>>2]=v+y*t+h*r;Ea=c[(c[d>>2]|0)+16>>2]|0;g[Fa+320>>2]=-M;g[Fa+320+4>>2]=-L;g[Fa+320+8>>2]=-K;g[Fa+320+12>>2]=0.0;_a[Ea&15](d,Fa+320|0,Fa+352|0,N);sa=Fa;return}Da=(P|0)<4;fa=(c[j>>2]=a,+g[j>>2]);if(Da){ca=(c[j>>2]=G,+g[j>>2]);O=Fa+456|0;aa=Fa+468|0;H=b+112|0;Ea=b+48|0;E=Fa+16|0;D=Fa+32|0;ea=Fa;b=Fa+48|0;n=Fa+24|0;l=Fa+40|0;k=Fa+20|0;a=Fa+36|0;f=Fa+4|0;e=Fa+8|0;ba=fa;da=(c[j>>2]=I,+g[j>>2])}else{ca=-(c[j>>2]=G,+g[j>>2]);O=Fa+468|0;aa=Fa+456|0;H=b+48|0;Ea=b+112|0;ea=Fa+48|0;b=Fa;a=Q;ba=-fa;da=-(c[j>>2]=I,+g[j>>2])}v=ba*+g[ea>>2]+ca*+g[E>>2]+da*+g[D>>2];g[Fa+440>>2]=v;y=ba*+g[f>>2]+ca*+g[k>>2]+da*+g[a>>2];g[Fa+440+4>>2]=y;z=ba*+g[e>>2]+ca*+g[n>>2]+da*+g[l>>2];g[Fa+440+8>>2]=z;v=+w(+v);y=+w(+y);z=+w(+z);e=y>v?(y>z?1:2):v>z?0:2;R=(y>v?y>z:v>z)?2:1;m=+g[O+(e<<2)>>2];h=+g[H>>2]-+g[Ea>>2];i=m*+g[ea+(e<<2)>>2];if(+g[Fa+440+(e<<2)>>2]<0.0){$=+g[H+8>>2]-+g[Ea+8>>2]+m*+g[ea+((e|8)<<2)>>2];_=h+i;Z=+g[H+4>>2]-+g[Ea+4>>2]+m*+g[ea+((e|4)<<2)>>2]}else{$=+g[H+8>>2]-+g[Ea+8>>2]-m*+g[ea+((e|8)<<2)>>2];_=h-i;Z=+g[H+4>>2]-+g[Ea+4>>2]-m*+g[ea+((e|4)<<2)>>2]}P=(Da?-1:-4)+P|0;switch(P|0){case 0:{f=2;e=1;break}case 1:{f=2;e=0;break}default:{f=1;e=0}}Q=b+(e<<2)|0;X=+g[Q>>2];V=+g[Q+16>>2];W=+g[Q+32>>2];Y=_*X+Z*V+$*W;b=b+(f<<2)|0;N=+g[b>>2];A=+g[b+16>>2];B=+g[b+32>>2];U=_*N+Z*A+$*B;b=ea+((v>z&(y>v^1)&1)<<2)|0;T=+g[b>>2];L=+g[b+16>>2];M=+g[b+32>>2];Q=ea+(R<<2)|0;S=+g[Q>>2];C=+g[Q+16>>2];K=+g[Q+32>>2];u=+g[O+((v>z&(y>v^1)&1)<<2)>>2];t=+g[O+(R<<2)>>2];s=(X*S+V*C+W*K)*t;t=(N*S+A*C+B*K)*t;q=Y-(X*T+V*L+W*M)*u-s;r=U-(N*T+A*L+B*M)*u-t;h=Y-(X*T+V*L+W*M)*u+s;g[Fa+416>>2]=h;m=U-(N*T+A*L+B*M)*u+t;o=Y+(X*T+V*L+W*M)*u+s;p=U+(N*T+A*L+B*M)*u+t;s=Y+(X*T+V*L+W*M)*u-s;t=U+(N*T+A*L+B*M)*u-t;E=c[aa+(e<<2)>>2]|0;H=c[aa+(f<<2)>>2]|0;u=(c[j>>2]=E,+g[j>>2]);do if(!(u>-q))if(u>-h){f=Fa+256|0;e=1;a=1;i=-h;O=78}else{f=Fa+256|0;e=0;i=-h;O=153}else{g[Fa+256>>2]=q;g[Fa+256+4>>2]=r;if(!(u>-h)){f=Fa+256+8|0;e=2;a=u>-h;i=-h;O=78;break}g[Fa+256+8>>2]=h;g[Fa+256+8+4>>2]=m;f=Fa+256+8|0;e=2;O=152}while(0);do if((O|0)==78){g[f+4>>2]=r+(-u-q)*((m-r)/(h-q));g[f>>2]=-u;f=f+8|0;if(!a){O=153;break}g[f>>2]=h;g[f+4>>2]=m;if(!(e+1&8)){e=e+1|0;O=152}else{e=e+1|0;O=102}}while(0);if((O|0)==152){h=+g[Fa+416>>2];f=f+8|0;i=-h;O=153}a:do if((O|0)==153){if(i-o){g[f+4>>2]=m+(-u-h)*((p-m)/(o-h));g[f>>2]=-u;e=e+1|0;if(!(e&8))f=f+8|0;else{O=102;break}}if(u>-o){g[f>>2]=o;g[f+4>>2]=p;e=e+1|0;if(e&8|0){O=102;break}f=f+8|0;if(u>-o^u>-s){a=u>-s;O=159}else{a=u>-s;O=161}}else if(u>-o^u>-s){a=u>-s;O=159}else{a=u>-s;O=161}if((O|0)==159){g[f+4>>2]=p+(-u-o)*((t-p)/(s-o));g[f>>2]=-u;e=e+1|0;if(e&8|0){O=102;break}f=f+8|0;if(a)O=162;else O=163}else if((O|0)==161)if(a)O=162;else O=163;do if((O|0)==162){g[f>>2]=s;g[f+4>>2]=t;e=e+1|0;if(e&8|0){O=102;break a}if(a^u>-q){f=f+8|0;O=165}else O=167}else if((O|0)==163){if(u>-q){O=165;break}if((e|0)>0)O=167;else{e=0;O=79}}while(0);if((O|0)==165){g[f+4>>2]=t+(-u-s)*((r-t)/(q-s));g[f>>2]=-u;e=e+1|0;if(!(e&8))O=167;else{O=102;break}}b:do if((O|0)==167){a=Fa+352|0;D=Fa+256|0;f=0;while(1){h=+g[D>>2];if(h>2]=h;c[a+4>>2]=c[D+4>>2];f=f+1|0;if(f&8|0){e=f;O=79;break b}a=a+8|0;h=+g[D>>2]}n=(e|0)>1;k=D;D=D+8|0;l=n?D:Fa+256|0;i=+g[l>>2];if(h>2];g[a+4>>2]=Ca+(u-h)*((+g[l+4>>2]-Ca)/(i-h));c[a>>2]=E;f=f+1|0;if(!(f&8))a=a+8|0;else{e=f;O=79;break b}}if(!n)break;else e=e+-1|0}if((f|0)<=0){e=0;O=79;break}o=(c[j>>2]=H,+g[j>>2]);a=Fa+256|0;D=Fa+352|0;e=0;while(1){k=D+4|0;h=+g[k>>2];if(o>-h){c[a>>2]=c[D>>2];c[a+4>>2]=c[k>>2];e=e+1|0;if(e&8|0)break b;h=+g[k>>2];a=a+8|0;m=-h}else m=-h;n=(f|0)>1;k=D;D=D+8|0;l=n?D:Fa+352|0;i=+g[l+4>>2];if(m-i){Ca=+g[k>>2];g[a>>2]=Ca+(-o-h)*((+g[l>>2]-Ca)/(i-h));g[a+4>>2]=-o;e=e+1|0;if(!(e&8))a=a+8|0;else break b}if(!n)break;else f=f+-1|0}if((e|0)<=0){e=0;O=79;break}n=e;f=Fa+352|0;D=Fa+256|0;e=0;while(1){a=D+4|0;h=+g[a>>2];if(h>2]=c[D>>2];c[f+4>>2]=c[a>>2];e=e+1|0;if(e&8|0){O=79;break b}f=f+8|0;h=+g[a>>2]}l=(n|0)>1;a=D;D=D+8|0;k=l?D:Fa+256|0;i=+g[k+4>>2];if(h>2];g[f>>2]=Ca+(o-h)*((+g[k>>2]-Ca)/(i-h));c[f+4>>2]=H;e=e+1|0;if(!(e&8))f=f+8|0;else{O=79;break b}}if(!l){O=79;break}else n=n+-1|0}}while(0);if((O|0)==79)Bh(Fa+256|0,Fa+352|0,e<<3|0)|0;if((e|0)>=1)O=104}while(0);if((O|0)==102)O=104;if((O|0)==104){u=1.0/((X*T+V*L+W*M)*(N*S+A*C+B*K)-(N*T+A*L+B*M)*(X*S+V*C+W*K));t=+g[aa+(P<<2)>>2];s=+g[b>>2];p=+g[Q>>2];q=+g[ea+((v>z&(y>v^1)&1|4)<<2)>>2];r=+g[ea+((R|4)<<2)>>2];o=+g[ea+((v>z&(y>v^1)&1|8)<<2)>>2];m=+g[ea+((R|8)<<2)>>2];n=0;a=0;do{f=a<<1;h=+g[Fa+256+(f<<2)>>2];i=+g[Fa+256+((f|1)<<2)>>2];za=(N*S+A*C+B*K)*u*(h-Y)-(X*S+V*C+W*K)*u*(i-U);Ca=(X*T+V*L+W*M)*u*(i-U)-(N*T+A*L+B*M)*u*(h-Y);f=n*3|0;Aa=_+za*s+Ca*p;g[Fa+160+(f<<2)>>2]=Aa;Ba=Z+za*q+Ca*r;g[Fa+160+(f+1<<2)>>2]=Ba;Ca=$+za*o+Ca*m;g[Fa+160+(f+2<<2)>>2]=Ca;Ca=t-(ba*Aa+ca*Ba+da*Ca);g[Fa+128+(n<<2)>>2]=Ca;f=n<<1;if(Ca>=0.0){g[Fa+256+(f<<2)>>2]=h;g[Fa+256+((f|1)<<2)>>2]=i;n=n+1|0}a=a+1|0}while((a|0)!=(e|0));c:do if((n|0)>=1){D=(n|0)<4?n:4;E=(D|0)>1?D:1;if((n|0)<=(E|0))if(Da){f=Ea+4|0;a=Ea+8|0;i=-(c[j>>2]=G,+g[j>>2]);h=-(c[j>>2]=I,+g[j>>2]);e=0;while(1){Da=e*3|0;g[Fa+352>>2]=+g[Fa+160+(Da<<2)>>2]+ +g[Ea>>2];g[Fa+352+4>>2]=+g[Fa+160+(Da+1<<2)>>2]+ +g[f>>2];g[Fa+352+8>>2]=+g[Fa+160+(Da+2<<2)>>2]+ +g[a>>2];Da=c[(c[d>>2]|0)+16>>2]|0;g[Fa+320>>2]=-fa;g[Fa+320+4>>2]=i;g[Fa+320+8>>2]=h;g[Fa+320+12>>2]=0.0;_a[Da&15](d,Fa+320|0,Fa+352|0,-+g[Fa+128+(e<<2)>>2]);e=e+1|0;if((e|0)==(n|0))break c}}else{f=Ea+4|0;a=Ea+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=I,+g[j>>2]);e=0;while(1){Da=e*3|0;Ca=+g[Fa+128+(e<<2)>>2];g[Fa+352>>2]=+g[Fa+160+(Da<<2)>>2]+ +g[Ea>>2]-Ca*fa;g[Fa+352+4>>2]=+g[Fa+160+(Da+1<<2)>>2]+ +g[f>>2]-Ca*i;g[Fa+352+8>>2]=+g[Fa+160+(Da+2<<2)>>2]+ +g[a>>2]-Ca*h;Da=c[(c[d>>2]|0)+16>>2]|0;g[Fa+320>>2]=-fa;g[Fa+320+4>>2]=-i;g[Fa+320+8>>2]=-h;g[Fa+320+12>>2]=0.0;_a[Da&15](d,Fa+320|0,Fa+352|0,-Ca);e=e+1|0;if((e|0)==(n|0))break c}}d:do if((n|0)>1){h=+g[Fa+128>>2];e=0;f=1;while(1){i=+g[Fa+128+(f<<2)>>2];a=i>h;e=a?f:e;f=f+1|0;if((f|0)==(n|0))break;else h=a?i:h}switch(n|0){case 1:{f=1;a=Fa+96|0;k=Fa+96|0;O=120;break d}case 2:{h=(+g[Fa+256+4>>2]+ +g[Fa+256+12>>2])*.5;i=(+g[Fa+256>>2]+ +g[Fa+256+8>>2])*.5;f=2;a=Fa+96|0;k=Fa+96|0;O=124;break d}default:{}}a=n+-1|0;r=0.0;s=0.0;h=0.0;f=0;do{ea=f<<1;za=+g[Fa+256+(ea<<2)>>2];Aa=+g[Fa+256+(ea+3<<2)>>2];Ba=+g[Fa+256+(ea+2<<2)>>2];Ca=+g[Fa+256+((ea|1)<<2)>>2];h=h+(za*Aa-Ba*Ca);s=s+(za+Ba)*(za*Aa-Ba*Ca);r=r+(Aa+Ca)*(za*Aa-Ba*Ca);f=f+1|0}while((f|0)!=(a|0));ea=n<<1;m=+g[Fa+256+(ea+-2<<2)>>2];o=+g[Fa+256+4>>2];p=+g[Fa+256>>2];q=+g[Fa+256+(ea+-1<<2)>>2];i=h+(m*o-p*q);ea=+w(+i)>1.1920928955078125e-07;i=ea?1.0/(i*3.0):999999984306749440.0;if((n|0)>0){h=(r+(o+q)*(m*o-p*q))*i;i=(s+(m+p)*(m*o-p*q))*i;a=Fa+96|0;k=Fa+96|0;l=Fa+352|0;O=127;break}l=e;e=Fa+96|0;f=0}else{e=0;f=n;a=Fa+96|0;k=Fa+96|0;O=120}while(0);if((O|0)==120){h=+g[Fa+256+4>>2];i=+g[Fa+256>>2];O=124}if((O|0)==124){n=f;l=Fa+352|0;O=127}if((O|0)==127){f=0;do{ea=f<<1;g[Fa+352+(f<<2)>>2]=+F(+(+g[Fa+256+((ea|1)<<2)>>2]-h),+(+g[Fa+256+(ea<<2)>>2]-i));f=f+1|0}while((f|0)!=(n|0));f=0;do{c[Fa+320+(f<<2)>>2]=1;f=f+1|0}while((f|0)!=(n|0));l=e;e=a;f=1}a=Fa+320+(l<<2)|0;c[a>>2]=0;c[e>>2]=l;e:do if((D|0)>1){o=+g[Fa+352+(l<<2)>>2];if(!f){e=1;f=Fa+96+4|0;while(1){c[f>>2]=l;c[a>>2]=0;e=e+1|0;if((e|0)==(E|0))break e;else f=f+4|0}}f=1;a=Fa+96+4|0;while(1){m=6.2831854820251465/+(E|0)*+(f|0)+o;m=m>3.1415927410125732?m+-6.2831854820251465:m;c[a>>2]=l;i=1.0e9;k=0;e=l;while(1){do if(!(c[Fa+320+(k<<2)>>2]|0))h=i;else{h=+w(+(+g[Fa+352+(k<<2)>>2]-m));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h>2]=k;e=k}while(0);k=k+1|0;if((k|0)==(n|0))break;else i=h}c[Fa+320+(e<<2)>>2]=0;f=f+1|0;if((f|0)==(E|0))break;else a=a+4|0}}while(0);if((E|0)>0){f=Ea+4|0;a=Ea+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=I,+g[j>>2]);if(Da){e=0;do{Da=c[Fa+96+(e<<2)>>2]|0;g[Fa+352>>2]=+g[Fa+160+(Da*3<<2)>>2]+ +g[Ea>>2];g[Fa+352+4>>2]=+g[Fa+160+((Da*3|0)+1<<2)>>2]+ +g[f>>2];g[Fa+352+8>>2]=+g[Fa+160+((Da*3|0)+2<<2)>>2]+ +g[a>>2];ea=c[(c[d>>2]|0)+16>>2]|0;g[Fa+320>>2]=-fa;g[Fa+320+4>>2]=-i;g[Fa+320+8>>2]=-h;g[Fa+320+12>>2]=0.0;_a[ea&15](d,Fa+320|0,Fa+352|0,-+g[Fa+128+(Da<<2)>>2]);e=e+1|0}while(e>>>0>>0)}else{e=0;do{ea=c[Fa+96+(e<<2)>>2]|0;za=+g[Fa+160+(ea*3<<2)>>2]+ +g[Ea>>2];g[Fa+352>>2]=za;Aa=+g[Fa+160+((ea*3|0)+1<<2)>>2]+ +g[f>>2];g[Fa+352+4>>2]=Aa;Ba=+g[Fa+160+((ea*3|0)+2<<2)>>2]+ +g[a>>2];g[Fa+352+8>>2]=Ba;Da=c[(c[d>>2]|0)+16>>2]|0;g[Fa+320>>2]=-fa;g[Fa+320+4>>2]=-i;g[Fa+320+8>>2]=-h;g[Fa+320+12>>2]=0.0;Ca=+g[Fa+128+(ea<<2)>>2];g[Fa+424>>2]=za-Ca*fa;g[Fa+424+4>>2]=Aa-Ca*i;g[Fa+424+8>>2]=Ba-Ca*h;g[Fa+424+12>>2]=0.0;_a[Da&15](d,Fa+320|0,Fa+424|0,-Ca);e=e+1|0}while(e>>>0>>0)}}}while(0)}sa=Fa;return}function wb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;P=sa;sa=sa+448|0;if(!(a[b+527>>0]|0)){sa=P;return}J=c[b+28>>2]|0;C=+g[b+348>>2];B=+g[b+352>>2];I=+g[b+356>>2];D=+g[J+52>>2];E=C*+g[J+4>>2]+B*+g[J+8>>2]+I*+g[J+12>>2]+D;F=+g[J+56>>2];G=C*+g[J+20>>2]+B*+g[J+24>>2]+I*+g[J+28>>2]+F;H=+g[J+60>>2];I=C*+g[J+36>>2]+B*+g[J+40>>2]+I*+g[J+44>>2]+H;K=c[b+32>>2]|0;B=+g[b+412>>2];C=+g[b+416>>2];s=+g[b+420>>2];k=+g[K+52>>2];l=B*+g[K+4>>2]+C*+g[K+8>>2]+s*+g[K+12>>2]+k;m=+g[K+56>>2];n=B*+g[K+20>>2]+C*+g[K+24>>2]+s*+g[K+28>>2]+m;r=+g[K+60>>2];s=B*+g[K+36>>2]+C*+g[K+40>>2]+s*+g[K+44>>2]+r;if(!(a[b+524>>0]|0)){A=+g[d+192>>2]+ +g[d+80>>2];B=+g[d+196>>2]+ +g[d+84>>2];z=+g[d+200>>2]+ +g[d+88>>2];C=+g[e+192>>2]+ +g[e+80>>2];w=+g[e+196>>2]+ +g[e+84>>2];u=+g[e+200>>2]+ +g[e+88>>2];t=+g[d+176>>2]+ +g[d+64>>2]+((I-H)*B-(G-F)*z)-(+g[e+176>>2]+ +g[e+64>>2]+((s-r)*w-(n-m)*u));u=+g[d+180>>2]+ +g[d+68>>2]+((E-D)*z-(I-H)*A)-(+g[e+180>>2]+ +g[e+68>>2]+((l-k)*u-(s-r)*C));w=+g[d+184>>2]+ +g[d+72>>2]+((G-F)*A-(E-D)*B)-(+g[e+184>>2]+ +g[e+72>>2]+((n-m)*C-(l-k)*w));o=(c[d+240>>2]|0)==0;p=(c[e+240>>2]|0)==0;h=0;do{C=1.0/+g[b+48+(h*84|0)+80>>2];q=b+48+(h*84|0)|0;B=+g[q>>2];v=b+48+(h*84|0)+4|0;A=+g[v>>2];y=b+48+(h*84|0)+8|0;z=+g[y>>2];z=C*(((E-l)*B+(G-n)*A+(I-s)*z)*-.30000001192092896/f)-C*(t*B+u*A+w*z);g[b+36>>2]=+g[b+36>>2]+z;A=+g[y>>2];B=+g[v>>2];C=+g[q>>2];i=+g[J+344>>2];if(!o){S=((G-F)*A-(I-H)*B)*+g[J+296>>2]+((I-H)*C-(E-D)*A)*+g[J+300>>2]+((E-D)*B-(G-F)*C)*+g[J+304>>2];Q=((G-F)*A-(I-H)*B)*+g[J+280>>2]+((I-H)*C-(E-D)*A)*+g[J+284>>2]+((E-D)*B-(G-F)*C)*+g[J+288>>2];R=((G-F)*A-(I-H)*B)*+g[J+264>>2]+((I-H)*C-(E-D)*A)*+g[J+268>>2]+((E-D)*B-(G-F)*C)*+g[J+272>>2];U=z*B*i*+g[d+116>>2];T=z*A*i*+g[d+120>>2];g[d+64>>2]=z*C*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];Q=Q*z*+g[d+100>>2];i=S*z*+g[d+104>>2];g[d+80>>2]=R*z*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=Q+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}i=+g[K+344>>2];if(!p){U=((n-m)*A-(s-r)*B)*+g[K+296>>2]+((s-r)*C-(l-k)*A)*+g[K+300>>2]+((l-k)*B-(n-m)*C)*+g[K+304>>2];T=((n-m)*A-(s-r)*B)*+g[K+280>>2]+((s-r)*C-(l-k)*A)*+g[K+284>>2]+((l-k)*B-(n-m)*C)*+g[K+288>>2];S=((n-m)*A-(s-r)*B)*+g[K+264>>2]+((s-r)*C-(l-k)*A)*+g[K+268>>2]+((l-k)*B-(n-m)*C)*+g[K+272>>2];Q=i*+g[v>>2]*-z*+g[e+116>>2];R=i*+g[y>>2]*-z*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[q>>2]*-z+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-z;U=U*+g[e+104>>2]*-z;g[e+80>>2]=S*+g[e+96>>2]*-z+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2]}h=h+1|0}while((h|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){h=d+192|0;J=d+80|0;o=d+196|0;K=d+84|0;p=d+200|0;L=d+88|0;q=e+192|0;M=e+80|0;v=e+196|0;N=e+84|0;y=e+200|0;O=e+88|0;break}t=+g[d+80>>2];u=+g[d+84>>2];w=+g[d+88>>2];k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+t);m=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+u);r=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+w);if(k*k+m*m+r*r>1.1920928955078125e-07){n=1.0/+x(+(k*k+m*m+r*r));z=+g[J+264>>2];A=+g[J+280>>2];B=+g[J+296>>2];C=+g[J+268>>2];D=+g[J+284>>2];E=+g[J+300>>2];F=+g[J+272>>2];G=+g[J+288>>2];s=+g[J+304>>2];i=i*(1.0/(k*n*(k*n*z+m*n*A+r*n*B)+m*n*(k*n*C+m*n*D+r*n*E)+r*n*(k*n*F+m*n*G+r*n*s)+(k*n*(k*n*+g[K+264>>2]+m*n*+g[K+280>>2]+r*n*+g[K+296>>2])+m*n*(k*n*+g[K+268>>2]+m*n*+g[K+284>>2]+r*n*+g[K+300>>2])+r*n*(k*n*+g[K+272>>2]+m*n*+g[K+288>>2]+r*n*+g[K+304>>2]))));n=+x(+(r*i*r*i+(k*i*k*i+m*i*m*i)));l=k*i*(1.0/n);k=m*i*(1.0/n);i=r*i*(1.0/n);if(c[d+240>>2]|0){U=n*0.0*+g[d+116>>2];T=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];T=(l*A+k*D+i*G)*n*+g[d+100>>2];U=(l*B+k*E+i*s)*n*+g[d+104>>2];g[d+80>>2]=t+(l*z+k*C+i*F)*n*+g[d+96>>2];g[d+84>>2]=u+T;g[d+88>>2]=w+U}if(c[e+240>>2]|0){U=l*+g[K+296>>2]+k*+g[K+300>>2]+i*+g[K+304>>2];T=l*+g[K+280>>2]+k*+g[K+284>>2]+i*+g[K+288>>2];S=l*+g[K+264>>2]+k*+g[K+268>>2]+i*+g[K+272>>2];Q=n*-0.0*+g[e+116>>2];R=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-n;U=U*+g[e+104>>2]*-n;g[e+80>>2]=S*+g[e+96>>2]*-n+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2];h=d+192|0;J=d+80|0;o=d+196|0;K=d+84|0;p=d+200|0;L=d+88|0;q=e+192|0;M=e+80|0;v=e+196|0;N=e+84|0;y=e+200|0;O=e+88|0}else{h=d+192|0;J=d+80|0;o=d+196|0;K=d+84|0;p=d+200|0;L=d+88|0;q=e+192|0;M=e+80|0;v=e+196|0;N=e+84|0;y=e+200|0;O=e+88|0}}else{h=d+192|0;J=d+80|0;o=d+196|0;K=d+84|0;p=d+200|0;L=d+88|0;q=e+192|0;M=e+80|0;v=e+196|0;N=e+84|0;y=e+200|0;O=e+88|0}}else{c[P+352>>2]=c[J+4>>2];c[P+352+4>>2]=c[J+4+4>>2];c[P+352+8>>2]=c[J+4+8>>2];c[P+352+12>>2]=c[J+4+12>>2];c[P+352+16>>2]=c[J+20>>2];c[P+352+16+4>>2]=c[J+20+4>>2];c[P+352+16+8>>2]=c[J+20+8>>2];c[P+352+16+12>>2]=c[J+20+12>>2];c[P+352+32>>2]=c[J+36>>2];c[P+352+32+4>>2]=c[J+36+4>>2];c[P+352+32+8>>2]=c[J+36+8>>2];c[P+352+32+12>>2]=c[J+36+12>>2];c[P+352+48>>2]=c[J+52>>2];c[P+352+48+4>>2]=c[J+52+4>>2];c[P+352+48+8>>2]=c[J+52+8>>2];c[P+352+48+12>>2]=c[J+52+12>>2];c[P+288>>2]=c[K+4>>2];c[P+288+4>>2]=c[K+4+4>>2];c[P+288+8>>2]=c[K+4+8>>2];c[P+288+12>>2]=c[K+4+12>>2];c[P+288+16>>2]=c[K+20>>2];c[P+288+16+4>>2]=c[K+20+4>>2];c[P+288+16+8>>2]=c[K+20+8>>2];c[P+288+16+12>>2]=c[K+20+12>>2];c[P+288+32>>2]=c[K+36>>2];c[P+288+32+4>>2]=c[K+36+4>>2];c[P+288+32+8>>2]=c[K+36+8>>2];c[P+288+32+12>>2]=c[K+36+12>>2];c[P+288+48>>2]=c[K+52>>2];c[P+288+48+4>>2]=c[K+52+4>>2];c[P+288+48+8>>2]=c[K+52+8>>2];c[P+288+48+12>>2]=c[K+52+12>>2];S=+g[d+196>>2]+ +g[d+84>>2];t=+g[d+200>>2]+ +g[d+88>>2];g[P+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[P+272+4>>2]=S;g[P+272+8>>2]=t;g[P+272+12>>2]=0.0;t=+g[e+196>>2]+ +g[e+84>>2];S=+g[e+200>>2]+ +g[e+88>>2];g[P+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[P+256+4>>2]=t;g[P+256+8>>2]=S;g[P+256+12>>2]=0.0;c[P+192>>2]=1065353216;N=P+192+4|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[P+192+20>>2]=1065353216;O=P+192+24|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P+192+40>>2]=1065353216;L=P+192+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;jg(P+352|0,0.0,0.0,0.0,P+272|0,f,P+192|0);c[P+128>>2]=1065353216;L=P+128+4|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[P+128+20>>2]=1065353216;M=P+128+24|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[P+128+40>>2]=1065353216;K=P+128+44|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;jg(P+288|0,0.0,0.0,0.0,P+256|0,f,P+128|0);S=+g[b+556>>2];t=+g[b+560>>2];T=+g[b+564>>2];u=+g[b+568>>2];G=S*(2.0/(S*S+t*t+T*T+u*u));B=t*(2.0/(S*S+t*t+T*T+u*u));H=T*(2.0/(S*S+t*t+T*T+u*u));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];k=Z*(S*H-u*B)+(V*(S*B+u*H)+W*(1.0-(t*B+T*H)));l=Z*(t*H+u*G)+(W*(S*B-u*H)+V*(1.0-(S*G+T*H)));m=W*(S*H+u*B)+V*(t*H-u*G)+Z*(1.0-(S*G+t*B));i=+g[b+380>>2];F=+g[b+384>>2];C=+g[b+388>>2];n=(S*H-u*B)*C+(F*(S*B+u*H)+i*(1.0-(t*B+T*H)));r=(t*H+u*G)*C+(i*(S*B-u*H)+F*(1.0-(S*G+T*H)));s=i*(S*H+u*B)+F*(t*H-u*G)+C*(1.0-(S*G+t*B));Q=+g[b+396>>2];D=+g[b+400>>2];A=+g[b+404>>2];R=(1.0-(t*B+T*H))*Q+(S*B+u*H)*D+(S*H-u*B)*A;T=(S*B-u*H)*Q+(1.0-(S*G+T*H))*D+(t*H+u*G)*A;B=(S*H+u*B)*Q+(t*H-u*G)*D+(1.0-(S*G+t*B))*A;t=+g[b+300>>2];G=+g[b+316>>2];S=+g[b+332>>2];u=+g[b+304>>2];H=+g[b+320>>2];U=+g[b+336>>2];E=+g[b+308>>2];I=+g[b+324>>2];z=+g[b+340>>2];w=-+g[b+348>>2];aa=-+g[b+352>>2];Y=-+g[b+356>>2];Z=W*0.0+V*0.0+Z*0.0+ +g[b+412>>2]+(m*(E*w+I*aa+z*Y)+(k*(t*w+G*aa+S*Y)+l*(u*w+H*aa+U*Y)));C=i*0.0+F*0.0+C*0.0+ +g[b+416>>2]+(s*(E*w+I*aa+z*Y)+(n*(t*w+G*aa+S*Y)+r*(u*w+H*aa+U*Y)));Y=Q*0.0+D*0.0+A*0.0+ +g[b+420>>2]+(B*(E*w+I*aa+z*Y)+(R*(t*w+G*aa+S*Y)+T*(u*w+H*aa+U*Y)));aa=+g[P+128>>2];w=+g[L>>2];A=+g[P+128+8>>2];D=+g[P+128+16>>2];Q=+g[P+128+20>>2];F=+g[M>>2];i=+g[P+128+32>>2];V=+g[P+128+36>>2];W=+g[P+128+40>>2];X=A*Y+(aa*Z+w*C)+ +g[P+128+48>>2];_=D*Z+C*Q+Y*F+ +g[P+128+52>>2];$=Z*i+C*V+Y*W+ +g[P+128+56>>2];g[P+64>>2]=(k*t+l*u+m*E)*aa+(n*t+r*u+s*E)*w+(R*t+T*u+B*E)*A;g[P+64+4>>2]=(k*G+l*H+m*I)*aa+(n*G+r*H+s*I)*w+(R*G+T*H+B*I)*A;g[P+64+8>>2]=(k*S+l*U+m*z)*aa+(n*S+r*U+s*z)*w+(R*S+T*U+B*z)*A;g[P+64+12>>2]=0.0;g[P+64+16>>2]=(k*t+l*u+m*E)*D+(n*t+r*u+s*E)*Q+(R*t+T*u+B*E)*F;g[P+64+20>>2]=(k*G+l*H+m*I)*D+(n*G+r*H+s*I)*Q+(R*G+T*H+B*I)*F;g[P+64+24>>2]=(k*S+l*U+m*z)*D+(n*S+r*U+s*z)*Q+(R*S+T*U+B*z)*F;g[P+64+28>>2]=0.0;g[P+64+32>>2]=(k*t+l*u+m*E)*i+(n*t+r*u+s*E)*V+(R*t+T*u+B*E)*W;g[P+64+36>>2]=(k*G+l*H+m*I)*i+(n*G+r*H+s*I)*V+(R*G+T*H+B*I)*W;g[P+64+40>>2]=(k*S+l*U+m*z)*i+(n*S+r*U+s*z)*V+(R*S+T*U+B*z)*W;g[P+64+44>>2]=0.0;g[P+64+48>>2]=X;g[P+64+52>>2]=_;g[P+64+56>>2]=$;g[P+64+60>>2]=0.0;$=(R*t+T*u+B*E)*-Y+((k*t+l*u+m*E)*-Z+(n*t+r*u+s*E)*-C);_=(R*G+T*H+B*I)*-Y+((k*G+l*H+m*I)*-Z+(n*G+r*H+s*I)*-C);C=(R*S+T*U+B*z)*-Y+((k*S+l*U+m*z)*-Z+(n*S+r*U+s*z)*-C);Z=+g[P+192>>2];Y=+g[N>>2];X=+g[P+192+8>>2];W=+g[P+192+16>>2];V=+g[P+192+20>>2];i=+g[O>>2];F=+g[P+192+32>>2];Q=+g[P+192+36>>2];D=+g[P+192+40>>2];A=$*Z+_*Y+C*X+ +g[P+192+48>>2];w=$*W+_*V+C*i+ +g[P+192+52>>2];C=$*F+_*Q+C*D+ +g[P+192+56>>2];g[P>>2]=(k*t+l*u+m*E)*Z+(k*G+l*H+m*I)*Y+(k*S+l*U+m*z)*X;g[P+4>>2]=(n*t+r*u+s*E)*Z+(n*G+r*H+s*I)*Y+(n*S+r*U+s*z)*X;g[P+8>>2]=(R*t+T*u+B*E)*Z+(R*G+T*H+B*I)*Y+(R*S+T*U+B*z)*X;g[P+12>>2]=0.0;g[P+16>>2]=(k*t+l*u+m*E)*W+(k*G+l*H+m*I)*V+(k*S+l*U+m*z)*i;g[P+20>>2]=(n*t+r*u+s*E)*W+(n*G+r*H+s*I)*V+(n*S+r*U+s*z)*i;g[P+24>>2]=(R*t+T*u+B*E)*W+(R*G+T*H+B*I)*V+(R*S+T*U+B*z)*i;g[P+28>>2]=0.0;g[P+32>>2]=(k*t+l*u+m*E)*F+(k*G+l*H+m*I)*Q+(k*S+l*U+m*z)*D;g[P+36>>2]=(n*t+r*u+s*E)*F+(n*G+r*H+s*I)*Q+(n*S+r*U+s*z)*D;g[P+40>>2]=(R*t+T*u+B*E)*F+(R*G+T*H+B*I)*Q+(R*S+T*U+B*z)*D;g[P+44>>2]=0.0;g[P+48>>2]=A;g[P+52>>2]=w;g[P+56>>2]=C;g[P+60>>2]=0.0;Se(P+352|0,P+64|0,P+424|0,P+416|0);C=+g[P+416>>2];w=1.0/f*+g[P+424>>2]*C;A=1.0/f*C*+g[P+424+4>>2];C=1.0/f*C*+g[P+424+8>>2];Se(P+288|0,P,P+424|0,P+416|0);D=+g[P+416>>2];w=w-+g[P+272>>2];A=A-+g[P+272+4>>2];C=C-+g[P+272+8>>2];z=1.0/f*+g[P+424>>2]*D-+g[P+256>>2];B=1.0/f*D*+g[P+424+4>>2]-+g[P+256+4>>2];D=1.0/f*D*+g[P+424+8>>2]-+g[P+256+8>>2];if(w*w+A*A+C*C>1.1920928955078125e-07){t=1.0/+x(+(w*w+A*A+C*C));O=c[b+28>>2]|0;n=w*t*(w*t*+g[O+264>>2]+A*t*+g[O+280>>2]+C*t*+g[O+296>>2])+A*t*(w*t*+g[O+268>>2]+A*t*+g[O+284>>2]+C*t*+g[O+300>>2])+C*t*(w*t*+g[O+272>>2]+A*t*+g[O+288>>2]+C*t*+g[O+304>>2]);k=w*t;m=A*t;t=C*t}else{n=0.0;k=0.0;m=0.0;t=0.0}if(z*z+B*B+D*D>1.1920928955078125e-07){s=1.0/+x(+(z*z+B*B+D*D));O=c[b+32>>2]|0;r=z*s*(z*s*+g[O+264>>2]+B*s*+g[O+280>>2]+D*s*+g[O+296>>2])+B*s*(z*s*+g[O+268>>2]+B*s*+g[O+284>>2]+D*s*+g[O+300>>2])+D*s*(z*s*+g[O+272>>2]+B*s*+g[O+288>>2]+D*s*+g[O+304>>2]);i=z*s;l=B*s;s=D*s}else{r=0.0;i=0.0;l=0.0;s=0.0}u=n*k+r*i;k=n*m+r*l;i=n*t+r*s;if(u*u+k*k+i*i>1.1920928955078125e-07){n=1.0/+x(+(u*u+k*k+i*i));h=c[b+28>>2]|0;l=u*n*(u*n*+g[h+264>>2]+k*n*+g[h+280>>2]+i*n*+g[h+296>>2])+k*n*(u*n*+g[h+268>>2]+k*n*+g[h+284>>2]+i*n*+g[h+300>>2])+i*n*(u*n*+g[h+272>>2]+k*n*+g[h+288>>2]+i*n*+g[h+304>>2]);o=c[b+32>>2]|0;n=u*n*(u*n*+g[o+264>>2]+k*n*+g[o+280>>2]+i*n*+g[o+296>>2])+k*n*(u*n*+g[o+268>>2]+k*n*+g[o+284>>2]+i*n*+g[o+300>>2])+i*n*(u*n*+g[o+272>>2]+k*n*+g[o+288>>2]+i*n*+g[o+304>>2]);z=(w*l-z*n)*(1.0/((l+n)*(l+n)));i=(A*l-B*n)*(1.0/((l+n)*(l+n)));n=(C*l-D*n)*(1.0/((l+n)*(l+n)));k=+g[b+572>>2];if(!(k>=0.0))k=z;else{s=(a[b+553>>0]|0)==0?k:k/l;k=+g[b+576>>2];m=+g[b+580>>2];l=+g[b+584>>2];r=+x(+((z+k)*(z+k)+(i+m)*(i+m)+(n+l)*(n+l)));if(r>s){t=m+(s*(i+m)*(1.0/r)-m);u=l+(s*(n+l)*(1.0/r)-l);w=k+(s*(z+k)*(1.0/r)-k);k=s*(z+k)*(1.0/r)-k;n=s*(n+l)*(1.0/r)-l;i=s*(i+m)*(1.0/r)-m}else{t=i+m;u=n+l;w=z+k;k=z}g[b+576>>2]=w;g[b+580>>2]=t;g[b+584>>2]=u}m=+x(+(k*k+i*i+n*n));l=k*(1.0/m);k=i*(1.0/m);i=n*(1.0/m);if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];Y=m*0.0*+g[d+116>>2];Z=m*0.0*+g[d+120>>2];g[d+64>>2]=m*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*m*+g[d+100>>2];aa=aa*m*+g[d+104>>2];g[d+80>>2]=_*m*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=$+ +g[d+84>>2];g[d+88>>2]=aa+ +g[d+88>>2]}if(c[e+240>>2]|0){aa=l*+g[o+296>>2]+k*+g[o+300>>2]+i*+g[o+304>>2];$=l*+g[o+280>>2]+k*+g[o+284>>2]+i*+g[o+288>>2];_=l*+g[o+264>>2]+k*+g[o+268>>2]+i*+g[o+272>>2];Y=m*-0.0*+g[e+116>>2];Z=m*-0.0*+g[e+120>>2];g[e+64>>2]=m*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-m;aa=aa*+g[e+104>>2]*-m;g[e+80>>2]=_*+g[e+96>>2]*-m+ +g[e+80>>2];g[e+84>>2]=$+ +g[e+84>>2];g[e+88>>2]=aa+ +g[e+88>>2]}}h=d+192|0;J=d+80|0;o=d+196|0;K=d+84|0;p=d+200|0;L=d+88|0;q=e+192|0;M=e+80|0;v=e+196|0;N=e+84|0;y=e+200|0;O=e+88|0}while(0);z=+g[h>>2]+ +g[J>>2];w=+g[o>>2]+ +g[K>>2];u=+g[p>>2]+ +g[L>>2];t=+g[q>>2]+ +g[M>>2];s=+g[v>>2]+ +g[N>>2];r=+g[y>>2]+ +g[O>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];i=k*+g[b+504>>2]*+g[b+432>>2]/f;l=+g[b+460>>2];m=+g[b+464>>2];n=+g[b+468>>2];if((t-z)*l+(s-w)*m+(r-u)*n>0.0)i=i+k*((t-z)*l+(s-w)*m+(r-u)*n)*+g[b+436>>2];$=+g[b+516>>2];Z=$+i*+g[b+492>>2];g[P+424>>2]=Z;g[P+416>>2]=0.0;h=c[(Z>0.0?P+424|0:P+416|0)>>2]|0;c[b+516>>2]=h;$=(c[j>>2]=h,+g[j>>2])-$;Z=+g[b+536>>2];_=+g[b+540>>2];i=+g[b+544>>2];k=l*$-Z*(l*$*Z+m*$*_+n*$*i);aa=m*$-_*(l*$*Z+m*$*_+n*$*i);m=n*$-i*(l*$*Z+m*$*_+n*$*i);i=+x(+(m*m+(k*k+aa*aa)));k=k*(1.0/i);l=aa*(1.0/i);m=m*(1.0/i);h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=k*+g[h+296>>2]+l*+g[h+300>>2]+m*+g[h+304>>2];$=k*+g[h+280>>2]+l*+g[h+284>>2]+m*+g[h+288>>2];_=k*+g[h+264>>2]+l*+g[h+268>>2]+m*+g[h+272>>2];Y=i*0.0*+g[d+116>>2];Z=i*0.0*+g[d+120>>2];g[d+64>>2]=i*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*i*+g[d+100>>2];aa=aa*i*+g[d+104>>2];g[J>>2]=_*i*+g[d+96>>2]+ +g[J>>2];g[K>>2]=$+ +g[K>>2];g[L>>2]=aa+ +g[L>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){aa=k*+g[h+296>>2]+l*+g[h+300>>2]+m*+g[h+304>>2];$=k*+g[h+280>>2]+l*+g[h+284>>2]+m*+g[h+288>>2];_=k*+g[h+264>>2]+l*+g[h+268>>2]+m*+g[h+272>>2];Y=i*-0.0*+g[e+116>>2];Z=i*-0.0*+g[e+120>>2];g[e+64>>2]=i*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-i;aa=aa*+g[e+104>>2]*-i;g[M>>2]=_*+g[e+96>>2]*-i+ +g[M>>2];g[N>>2]=$+ +g[N>>2];g[O>>2]=aa+ +g[O>>2]}}if(!(a[b+525>>0]|0)){sa=P;return}n=+g[b+532>>2];m=n*+g[b+508>>2]*+g[b+432>>2]/f;l=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2];if((t-z)*l+(s-w)*k+(r-u)*i>0.0)m=m+n*((t-z)*l+(s-w)*k+(r-u)*i)*+g[b+436>>2];aa=+g[b+520>>2];m=aa+m*+g[b+496>>2];g[P+424>>2]=m;g[P+416>>2]=0.0;h=c[(m>0.0?P+424|0:P+416|0)>>2]|0;c[b+520>>2]=h;m=(c[j>>2]=h,+g[j>>2])-aa;h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];i=l*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];l=m*0.0*+g[d+116>>2];k=m*0.0*+g[d+120>>2];g[d+64>>2]=m*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=l+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=$*m*+g[d+100>>2];l=aa*m*+g[d+104>>2];g[J>>2]=i*m*+g[d+96>>2]+ +g[J>>2];g[K>>2]=k+ +g[K>>2];g[L>>2]=l+ +g[L>>2];l=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){sa=P;return}aa=l*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];Y=m*-0.0*+g[e+116>>2];Z=m*-0.0*+g[e+120>>2];g[e+64>>2]=m*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-m;aa=aa*+g[e+104>>2]*-m;g[M>>2]=_*+g[e+96>>2]*-m+ +g[M>>2];g[N>>2]=$+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];sa=P;return}function xb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=sa;sa=sa+16|0;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;e=3?m>>>3:m;n=c[7201]|0;f=e?n>>>e:n;if(f&3|0){a=28844+((f&1^1)+e<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;if((d|0)==(a|0))c[7201]=n&~(1<<(f&1^1)+e);else{c[d+12>>2]=a;c[a+8>>2]=d}c[b+4>>2]=(f&1^1)+e<<3|3;c[b+((f&1^1)+e<<3)+4>>2]=c[b+((f&1^1)+e<<3)+4>>2]|1;u=b+8|0;sa=v;return u|0}l=c[7203]|0;if(m>>>0>l>>>0){if(f|0){f=(f<>>12:f)&16;f=t?f>>>t:f;s=(5?f>>>5:f)&8;f=s?f>>>s:f;u=(2?f>>>2:f)&4;f=u?f>>>u:f;a=(1?f>>>1:f)&2;f=a?f>>>a:f;g=(1?f>>>1:f)&1;f=(s|t|u|a|g)+(g?f>>>g:f)|0;g=c[28844+(f<<1<<2)+8>>2]|0;a=c[g+8>>2]|0;if((a|0)==(28844+(f<<1<<2)|0)){c[7201]=n&~(1<>2]=28844+(f<<1<<2);c[28844+(f<<1<<2)+8>>2]=a;a=n}c[g+4>>2]=m|3;c[g+m+4>>2]=(f<<3)-m|1;c[g+(f<<3)>>2]=(f<<3)-m;if(l|0){e=c[7206]|0;d=3?l>>>3:l;if(!(a&1<>2]|0;b=28844+(d<<1<<2)+8|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=28844+(d<<1<<2)}c[7203]=(f<<3)-m;c[7206]=g+m;u=g+8|0;sa=v;return u|0}h=c[7202]|0;if(h){f=(12?((h&0-h)+-1|0)>>>12:(h&0-h)+-1|0)&16;k=f?((h&0-h)+-1|0)>>>f:(h&0-h)+-1|0;e=(5?k>>>5:k)&8;k=e?k>>>e:k;i=(2?k>>>2:k)&4;k=i?k>>>i:k;j=(1?k>>>1:k)&2;k=j?k>>>j:k;b=(1?k>>>1:k)&1;k=c[29108+((e|f|i|j|b)+(b?k>>>b:k)<<2)>>2]|0;b=k;j=k;k=(c[k+4>>2]&-8)-m|0;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}i=(c[a+4>>2]&-8)-m|0;f=i>>>0>>0;b=a;j=f?a:j;k=f?i:k}i=j+m|0;if(i>>>0>j>>>0){f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[j+28>>2]|0;if((j|0)==(c[29108+(a<<2)>>2]|0)){c[29108+(a<<2)>>2]=b;if(!b){c[7202]=h&~(1<>2]|0)==(j|0)?f+16|0:f+20|0)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(k>>>0<16){u=k+m|0;c[j+4>>2]=u|3;u=j+u+4|0;c[u>>2]=c[u>>2]|1}else{c[j+4>>2]=m|3;c[i+4>>2]=k|1;c[i+k>>2]=k;if(l|0){e=c[7206]|0;d=3?l>>>3:l;if(!(1<>2]|0;b=28844+(d<<1<<2)+8|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=28844+(d<<1<<2)}c[7203]=k;c[7206]=i}u=j+8|0;sa=v;return u|0}}}}else if(a>>>0<=4294967231){m=a+11&-8;e=c[7202]|0;if(e){a=8?(a+11|0)>>>8:a+11|0;if(a)if(m>>>0>16777215)j=31;else{n=(16?(a+1048320|0)>>>16:a+1048320|0)&8;r=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(j+7|0):m)&1|j<<1}else j=0;a=c[29108+(j<<2)>>2]|0;a:do if(!a){d=0;a=0;b=0-m|0;r=61}else{h=0;b=0-m|0;i=m<<((j|0)==31?0:25-(1?j>>>1:j)|0);d=0;while(1){f=(c[a+4>>2]&-8)-m|0;if(f>>>0>>0)if(!f){f=a;b=0;d=a;r=65;break a}else{h=a;b=f}r=c[a+20>>2]|0;a=c[a+16+((31?i>>>31:i)<<2)>>2]|0;d=(r|0)==0|(r|0)==(a|0)?d:r;if(!a){a=h;r=61;break}else i=i<<1}}while(0);if((r|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12:d)&16;d=i?d>>>i:d;h=(5?d>>>5:d)&8;d=h?d>>>h:d;j=(2?d>>>2:d)&4;d=j?d>>>j:d;l=(1?d>>>1:d)&2;d=l?d>>>l:d;n=(1?d>>>1:d)&1;a=0;d=c[29108+((h|i|j|l|n)+(n?d>>>n:d)<<2)>>2]|0}if(!d){i=a;h=b}else{f=a;r=65}}if((r|0)==65)while(1){n=(c[d+4>>2]&-8)-m|0;a=n>>>0>>0;b=a?n:b;f=a?d:f;a=c[d+16>>2]|0;if(!a)a=c[d+20>>2]|0;if(!a){i=f;h=b;break}else d=a}if(((i|0)!=0?h>>>0<((c[7203]|0)-m|0)>>>0:0)?(k=i+m|0,k>>>0>i>>>0):0){g=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=c[b>>2]|0;if(!a){b=i+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){f=a+20|0;d=c[f>>2]|0;if(!d){f=a+16|0;d=c[f>>2]|0;if(!d)break;else{a=d;b=f}}else{a=d;b=f}}c[b>>2]=0}else{u=c[i+8>>2]|0;c[u+12>>2]=a;c[a+8>>2]=u}while(0);do if(g){b=c[i+28>>2]|0;if((i|0)==(c[29108+(b<<2)>>2]|0)){c[29108+(b<<2)>>2]=a;if(!a){c[7202]=e&~(1<>2]|0)==(i|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[i+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[i+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a}}while(0);b:do if(h>>>0<16){u=h+m|0;c[i+4>>2]=u|3;u=i+u+4|0;c[u>>2]=c[u>>2]|1}else{c[i+4>>2]=m|3;c[k+4>>2]=h|1;c[k+h>>2]=h;d=3?h>>>3:h;if(h>>>0<256){a=c[7201]|0;if(!(a&1<>2]|0;b=28844+(d<<1<<2)+8|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=28844+(d<<1<<2);break}a=8?h>>>8:h;if(a)if(h>>>0>16777215)d=31;else{t=(16?(a+1048320|0)>>>16:a+1048320|0)&8;u=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(d+7|0):h)&1|d<<1}else d=0;a=29108+(d<<2)|0;c[k+28>>2]=d;c[k+16+4>>2]=0;c[k+16>>2]=0;b=1<>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}a=c[a>>2]|0;c:do if((c[a+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(1?d>>>1:d)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(h|0)){a=b;break c}else{e=e<<1;a=b}}c[d>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break b}while(0);t=a+8|0;u=c[t>>2]|0;c[u+12>>2]=k;c[t>>2]=k;c[k+8>>2]=u;c[k+12>>2]=a;c[k+24>>2]=0}while(0);u=i+8|0;sa=v;return u|0}}}else m=-1;while(0);d=c[7203]|0;if(d>>>0>=m>>>0){a=d-m|0;b=c[7206]|0;if(a>>>0>15){u=b+m|0;c[7206]=u;c[7203]=a;c[u+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=m|3}else{c[7203]=0;c[7206]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}u=b+8|0;sa=v;return u|0}f=c[7204]|0;if(f>>>0>m>>>0){s=f-m|0;c[7204]=s;u=c[7207]|0;t=u+m|0;c[7207]=t;c[t+4>>2]=s|1;c[u+4>>2]=m|3;u=u+8|0;sa=v;return u|0}if(!(c[7319]|0)){c[7321]=4096;c[7320]=4096;c[7322]=-1;c[7323]=-1;c[7324]=0;c[7312]=0;c[7319]=v&-16^1431655768;a=4096}else a=c[7321]|0;h=m+48|0;i=m+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=m>>>0){u=0;sa=v;return u|0}a=c[7311]|0;if(a|0?(n=c[7309]|0,(n+(k&j)|0)>>>0<=n>>>0?1:(n+(k&j)|0)>>>0>a>>>0):0){u=0;sa=v;return u|0}d:do if(!(c[7312]&4)){d=c[7207]|0;e:do if(d){b=29252;while(1){a=c[b>>2]|0;if(a>>>0<=d>>>0?(o=b+4|0,(a+(c[o>>2]|0)|0)>>>0>d>>>0):0)break;a=c[b+8>>2]|0;if(!a){r=128;break e}else b=a}if((k-f&j)>>>0<2147483647){a=io(k-f&j|0)|0;if((a|0)==((c[b>>2]|0)+(c[o>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=k-f&j;g=a;r=145;break d}else{e=a;d=k-f&j;r=136}}else a=0}else r=128;while(0);do if((r|0)==128){b=io(0)|0;if((b|0)!=(-1|0)?(q=c[7320]|0,q=((q+-1&b|0)==0?0:(q+-1+b&0-q)-b|0)+(k&j)|0,p=c[7309]|0,q>>>0>m>>>0&q>>>0<2147483647):0){o=c[7311]|0;if(o|0?(q+p|0)>>>0<=p>>>0|(q+p|0)>>>0>o>>>0:0){a=0;break}a=io(q|0)|0;if((a|0)==(b|0)){h=q;g=b;r=145;break d}else{e=a;d=q;r=136}}else a=0}while(0);do if((r|0)==136){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=d;g=e;r=145;break d}a=c[7321]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=d;g=e;r=145;break d}if((io(a|0)|0)==(-1|0)){io(b|0)|0;a=0;break}else{h=a+d|0;g=e;r=145;break d}}while(0);c[7312]=c[7312]|4;r=143}else{a=0;r=143}while(0);if(((r|0)==143?(k&j)>>>0<2147483647:0)?(g=io(k&j|0)|0,s=io(0)|0,t=(s-g|0)>>>0>(m+40|0)>>>0,!((g|0)==(-1|0)|t^1|g>>>0>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=t?s-g|0:a;r=145}if((r|0)==145){a=(c[7309]|0)+h|0;c[7309]=a;if(a>>>0>(c[7310]|0)>>>0)c[7310]=a;j=c[7207]|0;f:do if(j){a=29252;while(1){b=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if((g|0)==(b+e|0)){r=154;break}f=c[a+8>>2]|0;if(!f)break;else a=f}if(((r|0)==154?(c[a+12>>2]&8|0)==0:0)?g>>>0>j>>>0&b>>>0<=j>>>0:0){c[d>>2]=e+h;u=(c[7204]|0)+h|0;t=(j+8&7|0)==0?0:0-(j+8)&7;c[7207]=j+t;c[7204]=u-t;c[j+t+4>>2]=u-t|1;c[j+u+4>>2]=40;c[7208]=c[7323];break}if(g>>>0<(c[7205]|0)>>>0)c[7205]=g;d=g+h|0;a=29252;while(1){if((c[a>>2]|0)==(d|0)){r=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((r|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=g;l=a+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;k=l+m|0;i=a-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(a|0)){u=(c[7204]|0)+i|0;c[7204]=u;c[7207]=k;c[k+4>>2]=u|1}else{if((c[7206]|0)==(a|0)){u=(c[7203]|0)+i|0;c[7203]=u;c[7206]=k;c[k+4>>2]=u|1;c[k+u>>2]=u;break}h=c[a+4>>2]|0;if((h&3|0)==1){b=3?h>>>3:h;h:do if(h>>>0<256){d=c[a+8>>2]|0;e=c[a+12>>2]|0;if((e|0)==(d|0)){c[7201]=c[7201]&~(1<>2]=e;c[e+8>>2]=d;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else d=a+16|0}else d=a+16+4|0;while(1){f=b+20|0;e=c[f>>2]|0;if(!e){f=b+16|0;e=c[f>>2]|0;if(!e)break;else{b=e;d=f}}else{b=e;d=f}}c[d>>2]=0}else{u=c[a+8>>2]|0;c[u+12>>2]=b;c[b+8>>2]=u}while(0);if(!g)break;d=c[a+28>>2]|0;do if((c[29108+(d<<2)>>2]|0)!=(a|0)){c[((c[g+16>>2]|0)==(a|0)?g+16|0:g+20|0)>>2]=b;if(!b)break h}else{c[29108+(d<<2)>>2]=b;if(b|0)break;c[7202]=c[7202]&~(1<>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;d=3?f>>>3:f;if(f>>>0<256){a=c[7201]|0;if(!(a&1<>2]|0;b=28844+(d<<1<<2)+8|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=28844+(d<<1<<2);break}a=8?f>>>8:f;do if(!a)e=0;else{if(f>>>0>16777215){e=31;break}t=(16?(a+1048320|0)>>>16:a+1048320|0)&8;u=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(e+7|0):f)&1|e<<1}while(0);a=29108+(e<<2)|0;c[k+28>>2]=e;c[k+16+4>>2]=0;c[k+16>>2]=0;b=c[7202]|0;d=1<>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}a=c[a>>2]|0;i:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break i}else{e=e<<1;a=b}}c[d>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);t=a+8|0;u=c[t>>2]|0;c[u+12>>2]=k;c[t>>2]=k;c[k+8>>2]=u;c[k+12>>2]=a;c[k+24>>2]=0}while(0);u=l+8|0;sa=v;return u|0}a=29252;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(u=b+(c[a+4>>2]|0)|0,u>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=u+-47+((u+-47+8&7|0)==0?0:0-(u+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=h+-40|0;s=g+8|0;s=(s&7|0)==0?0:0-s&7;t=g+s|0;c[7207]=t;c[7204]=a-s;c[t+4>>2]=a-s|1;c[g+a+4>>2]=40;c[7208]=c[7323];c[f+4>>2]=27;c[f+8>>2]=c[7313];c[f+8+4>>2]=c[7314];c[f+8+8>>2]=c[7315];c[f+8+12>>2]=c[7316];c[7313]=g;c[7314]=h;c[7316]=0;c[7315]=f+8;a=f+24|0;do{t=a;a=a+4|0;c[a>>2]=7}while((t+8|0)>>>0>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;d=3?(f-j|0)>>>3:f-j|0;if((f-j|0)>>>0<256){a=c[7201]|0;if(!(a&1<>2]|0;b=28844+(d<<1<<2)+8|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=28844+(d<<1<<2);break}a=8?(f-j|0)>>>8:f-j|0;if(a)if((f-j|0)>>>0>16777215)e=31;else{t=(16?(a+1048320|0)>>>16:a+1048320|0)&8;u=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(e+7|0):f-j|0)&1|e<<1}else e=0;a=29108+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;b=c[7202]|0;d=1<>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}a=c[a>>2]|0;j:do if((c[a+4>>2]&-8|0)!=(f-j|0)){e=f-j<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f-j|0)){a=b;break j}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);t=a+8|0;u=c[t>>2]|0;c[u+12>>2]=j;c[t>>2]=j;c[j+8>>2]=u;c[j+12>>2]=a;c[j+24>>2]=0}}else{u=c[7205]|0;if((u|0)==0|g>>>0>>0)c[7205]=g;c[7313]=g;c[7314]=h;c[7316]=0;c[7210]=c[7319];c[7209]=-1;c[7214]=28844;c[7213]=28844;c[7216]=28852;c[7215]=28852;c[7218]=28860;c[7217]=28860;c[7220]=28868;c[7219]=28868;c[7222]=28876;c[7221]=28876;c[7224]=28884;c[7223]=28884;c[7226]=28892;c[7225]=28892;c[7228]=28900;c[7227]=28900;c[7230]=28908;c[7229]=28908;c[7232]=28916;c[7231]=28916;c[7234]=28924;c[7233]=28924;c[7236]=28932;c[7235]=28932;c[7238]=28940;c[7237]=28940;c[7240]=28948;c[7239]=28948;c[7242]=28956;c[7241]=28956;c[7244]=28964;c[7243]=28964;c[7246]=28972;c[7245]=28972;c[7248]=28980;c[7247]=28980;c[7250]=28988;c[7249]=28988;c[7252]=28996;c[7251]=28996;c[7254]=29004;c[7253]=29004;c[7256]=29012;c[7255]=29012;c[7258]=29020;c[7257]=29020;c[7260]=29028;c[7259]=29028;c[7262]=29036;c[7261]=29036;c[7264]=29044;c[7263]=29044;c[7266]=29052;c[7265]=29052;c[7268]=29060;c[7267]=29060;c[7270]=29068;c[7269]=29068;c[7272]=29076;c[7271]=29076;c[7274]=29084;c[7273]=29084;c[7276]=29092;c[7275]=29092;u=h+-40|0;s=g+8|0;s=(s&7|0)==0?0:0-s&7;t=g+s|0;c[7207]=t;c[7204]=u-s;c[t+4>>2]=u-s|1;c[g+u+4>>2]=40;c[7208]=c[7323]}while(0);a=c[7204]|0;if(a>>>0>m>>>0){s=a-m|0;c[7204]=s;u=c[7207]|0;t=u+m|0;c[7207]=t;c[t+4>>2]=s|1;c[u+4>>2]=m|3;u=u+8|0;sa=v;return u|0}}c[7184]=12;u=0;sa=v;return u|0}function yb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;T=c[e>>2]|0;da=c[f>>2]|0;if(T|0)g=c[T+12>>2]|0;else g=b;h=c[g+88>>2]|0;j=c[g+92>>2]|0;l=c[g+96>>2]|0;if(!da)g=d;else g=c[da+12>>2]|0;s=c[g+88>>2]|0;q=c[g+92>>2]|0;k=c[g+96>>2]|0;X=c[b+88>>2]|0;ba=(c[d+88>>2]|0)-X|0;u=c[b+92>>2]|0;ca=(c[d+92>>2]|0)-u|0;i=c[b+96>>2]|0;U=(c[d+96>>2]|0)-i|0;W=c[(T|0?T:da)+12>>2]|0;Y=(c[W+88>>2]|0)-X|0;S=(c[W+92>>2]|0)-u|0;W=(c[W+96>>2]|0)-i|0;V=(J(S,U)|0)-(J(W,ca)|0)|0;W=(J(W,ba)|0)-(J(Y,U)|0)|0;S=(J(Y,ca)|0)-(J(S,ba)|0)|0;X=Vr(V|0,((V|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;Y=Q()|0;u=Vr(W|0,((W|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=Q()|0;i=Vr(S|0,((S|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xv(X|0,Y|0,i|0,Q()|0)|0;t=xv(i|0,Q()|0,u|0,t|0)|0;u=Q()|0;i=Vr(S|0,((S|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;Y=Q()|0;X=Vr(W|0,((W|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;X=lv(i|0,Y|0,X|0,Q()|0)|0;Y=Q()|0;i=Vr(V|0,((V|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;_=Q()|0;Z=Vr(S|0,((S|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;Z=lv(i|0,_|0,Z|0,Q()|0)|0;_=Q()|0;i=Vr(W|0,((W|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;aa=Q()|0;$=Vr(V|0,((V|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;$=lv(i|0,aa|0,$|0,Q()|0)|0;aa=Q()|0;i=Vr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=Q()|0;m=Vr(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;R=xv(m|0,Q()|0,i|0,R|0)|0;i=Q()|0;m=Vr($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;m=xv(R|0,i|0,m|0,Q()|0)|0;i=Q()|0;if((T|0)!=0?(c[T+12>>2]|0)!=0:0){g=h;b=j;d=l;n=T;o=i;while(1){n=c[(c[n+8>>2]|0)+4>>2]|0;l=n+12|0;j=c[l>>2]|0;h=c[j+88>>2]|0;P=Vr(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;O=Q()|0;i=c[j+92>>2]|0;R=Vr(i|0,((i|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;O=xv(R|0,Q()|0,P|0,O|0)|0;P=Q()|0;j=c[j+96>>2]|0;R=Vr(j|0,((j|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=xv(O|0,P|0,R|0,Q()|0)|0;P=Q()|0;if((P|0)<(u|0)|(P|0)==(u|0)&R>>>0>>0){j=m;i=o;break}if((c[n+20>>2]|0)==(c[a+100>>2]|0)){j=m;i=o;break}P=Vr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=Q()|0;i=Vr(Z|0,_|0,i|0,((i|0)<0)<<31>>31|0)|0;R=xv(i|0,Q()|0,P|0,R|0)|0;i=Q()|0;j=Vr($|0,aa|0,j|0,((j|0)<0)<<31>>31|0)|0;j=xv(R|0,i|0,j|0,Q()|0)|0;i=Q()|0;if(!((i|0)>(o|0)|(i|0)==(o|0)&j>>>0>m>>>0)){j=m;i=o;break}c[e>>2]=n;R=c[l>>2]|0;g=c[R+88>>2]|0;b=c[R+92>>2]|0;d=c[R+96>>2]|0;if(!R)break;else{o=i;m=j}}h=g;l=d;n=c[f>>2]|0}else{b=j;n=da;j=m}g=Vr(X|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;R=Q()|0;d=Vr(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;R=xv(d|0,Q()|0,g|0,R|0)|0;g=Q()|0;d=Vr($|0,aa|0,k|0,((k|0)<0)<<31>>31|0)|0;d=xv(R|0,g|0,d|0,Q()|0)|0;g=Q()|0;a:do if(n)if(!(c[n+12>>2]|0))p=n;else{p=n;while(1){r=c[c[p+8>>2]>>2]|0;o=c[r+12>>2]|0;m=c[o+88>>2]|0;P=Vr(m|0,((m|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;O=Q()|0;n=c[o+92>>2]|0;R=Vr(n|0,((n|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;O=xv(R|0,Q()|0,P|0,O|0)|0;P=Q()|0;o=c[o+96>>2]|0;R=Vr(o|0,((o|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=xv(O|0,P|0,R|0,Q()|0)|0;P=Q()|0;if((P|0)<(u|0)|(P|0)==(u|0)&R>>>0>>0)break a;if((c[r+20>>2]|0)==(c[a+100>>2]|0))break a;m=Vr(X|0,Y|0,m|0,((m|0)<0)<<31>>31|0)|0;R=Q()|0;n=Vr(Z|0,_|0,n|0,((n|0)<0)<<31>>31|0)|0;R=xv(n|0,Q()|0,m|0,R|0)|0;n=Q()|0;m=Vr($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;m=xv(R|0,n|0,m|0,Q()|0)|0;n=Q()|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0))break a;c[f>>2]=r;R=c[r+12>>2]|0;g=c[R+88>>2]|0;d=c[R+92>>2]|0;k=c[R+96>>2]|0;if(!R){s=g;q=d;p=r;d=m;g=n;break}else{s=g;q=d;p=r;g=n;d=m}}}else p=0;while(0);i=lv(d|0,g|0,j|0,i|0)|0;d=Q()|0;if((d|0)>0|(d|0)==0&i>>>0>0){P=lv(0,0,S|0,((S|0)<0)<<31>>31|0)|0;R=Q()|0;K=s;g=h;L=q;j=b;M=k;m=l;o=i;n=d;while(1){O=g;I=c[e>>2]|0;b:while(1){N=(J(L-j|0,ca)|0)+(J(K-O|0,ba)|0)+(J(M-m|0,U)|0)|0;if(!I)break;if(!(c[I+12>>2]|0))break;E=c[(c[I>>2]|0)+8>>2]|0;if((c[E+20>>2]|0)<=(c[a+100>>2]|0))break;H=c[E+12>>2]|0;F=c[H+88>>2]|0;D=F-O|0;G=c[H+92>>2]|0;C=G-j|0;H=c[H+96>>2]|0;g=H-m|0;t=Vr(X|0,Y|0,D|0,((D|0)<0)<<31>>31|0)|0;B=Q()|0;r=Vr(Z|0,_|0,C|0,((C|0)<0)<<31>>31|0)|0;B=xv(r|0,Q()|0,t|0,B|0)|0;t=Q()|0;r=Vr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;r=xv(B|0,t|0,r|0,Q()|0)|0;t=Q()|0;g=(J(C,ca)|0)+(J(D,ba)|0)+(J(g,U)|0)|0;do if((r|0)==0&(t|0)==0){if((g|0)>=0)break b}else{if((t|0)>=0)break b;if((g|0)>0){D=-1;v=g;u=((g|0)<0)<<31>>31}else{v=lv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;u=Q()|0;D=(g|0)!=0&1;v=g|0?v:0;u=g|0?u:0}z=lv(0,0,r|0,t|0)|0;A=Q()|0;if((N|0)>0){g=1;r=-1;B=N;C=((N|0)<0)<<31>>31}else{B=lv(0,0,N|0,((N|0)<0)<<31>>31|0)|0;C=Q()|0;g=((N|0)!=0)<<31>>31;r=(N|0)!=0&1;B=N|0?B:0;C=N|0?C:0}if((n|0)>0|(n|0)==0&o>>>0>0){r=o;t=n}else{y=(o|0)!=0|(n|0)!=0;x=lv(0,0,o|0,n|0)|0;t=Q()|0;g=y?r:g;r=y?x:0;t=y?t:0}if((D|0)==(g|0)){if(!D)break;g=Vr(r|0,0,v|0,0)|0;w=Q()|0;ha=Vr(t|0,0,v|0,0)|0;ga=Q()|0;x=Vr(r|0,0,u|0,0)|0;y=Q()|0;fa=Vr(t|0,0,u|0,0)|0;v=Q()|0;x=xv(ha|0,0,x|0,0)|0;r=Q()|0;v=xv(ga|0,0,fa|0,v|0)|0;y=xv(v|0,Q()|0,y|0,0)|0;r=xv(y|0,Q()|0,r|0,0)|0;y=Q()|0;v=xv(0,x|0,g|0,w|0)|0;w=Q()|0;x=xv(r|0,y|0,(w>>>0>>0|(w|0)==(x|0)&v>>>0<0)&1|0,0)|0;y=Q()|0;r=Vr(B|0,0,z|0,0)|0;g=Q()|0;fa=Vr(C|0,0,z|0,0)|0;z=Q()|0;t=Vr(B|0,0,A|0,0)|0;u=Q()|0;A=Vr(C|0,0,A|0,0)|0;B=Q()|0;t=xv(fa|0,0,t|0,0)|0;C=Q()|0;B=xv(z|0,0,A|0,B|0)|0;u=xv(B|0,Q()|0,u|0,0)|0;C=xv(u|0,Q()|0,C|0,0)|0;u=Q()|0;g=xv(0,t|0,r|0,g|0)|0;r=Q()|0;t=xv(C|0,u|0,(r>>>0>>0|(r|0)==(t|0)&g>>>0<0)&1|0,0)|0;u=Q()|0;if(y>>>0>>0|(y|0)==(u|0)&x>>>0>>0)g=-1;else g=y>>>0>u>>>0|(y|0)==(u|0)&x>>>0>t>>>0?1:w>>>0>>0|(w|0)==(r|0)&v>>>0>>0?-1:(w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>g>>>0)&1;g=J(g,D)|0}else g=D-g|0;if((g|0)<=-1)break b}while(0);n=K-F|0;O=L-G|0;o=M-H|0;n=Vr(X|0,Y|0,n|0,((n|0)<0)<<31>>31|0)|0;ha=Q()|0;O=Vr(Z|0,_|0,O|0,((O|0)<0)<<31>>31|0)|0;ha=xv(O|0,Q()|0,n|0,ha|0)|0;n=Q()|0;o=Vr($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;o=xv(ha|0,n|0,o|0,Q()|0)|0;n=Q()|0;ha=(I|0)==(T|0)?0:E;c[e>>2]=ha;O=F;j=G;m=H;I=ha}g=c[f>>2]|0;if(!g){g=110;break}if(!(c[g+12>>2]|0)){g=110;break}E=c[c[g+8>>2]>>2]|0;if((c[E+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break}u=c[E+12>>2]|0;w=c[u+88>>2]|0;t=w-K|0;v=c[u+92>>2]|0;r=v-L|0;u=c[u+96>>2]|0;g=u-M|0;ha=Vr(t|0,((t|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=Q()|0;ga=Vr(r|0,((r|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=xv(ga|0,Q()|0,ha|0,fa|0)|0;ha=Q()|0;ga=Vr(P|0,R|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(Q()|0))){g=110;break}y=Vr(X|0,Y|0,t|0,((t|0)<0)<<31>>31|0)|0;D=Q()|0;x=Vr(Z|0,_|0,r|0,((r|0)<0)<<31>>31|0)|0;D=xv(x|0,Q()|0,y|0,D|0)|0;y=Q()|0;x=Vr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;x=xv(D|0,y|0,x|0,Q()|0)|0;y=Q()|0;g=(J(r,ca)|0)+(J(t,ba)|0)+(J(g,U)|0)|0;D=w-O|0;ga=v-j|0;C=u-m|0;D=Vr(X|0,Y|0,D|0,((D|0)<0)<<31>>31|0)|0;ha=Q()|0;ga=Vr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=xv(ga|0,Q()|0,D|0,ha|0)|0;D=Q()|0;C=Vr($|0,aa|0,C|0,((C|0)<0)<<31>>31|0)|0;C=xv(ha|0,D|0,C|0,Q()|0)|0;D=Q()|0;if(!((D|0)>0|(D|0)==0&C>>>0>0)){g=110;break}if((x|0)==0&(y|0)==0){if((g|0)>=0){g=110;break}}else{if((y|0)>=0){g=110;break}if((g|0)>0){B=-1;u=g;t=((g|0)<0)<<31>>31}else{u=lv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;t=Q()|0;B=(g|0)!=0&1;u=g|0?u:0;t=g|0?t:0}y=lv(0,0,x|0,y|0)|0;z=Q()|0;if((N|0)>0){g=1;r=-1;A=N;x=((N|0)<0)<<31>>31}else{A=lv(0,0,N|0,((N|0)<0)<<31>>31|0)|0;x=Q()|0;g=((N|0)!=0)<<31>>31;r=(N|0)!=0&1;A=N|0?A:0;x=N|0?x:0}if(!((n|0)>0|(n|0)==0&o>>>0>0)){ha=(o|0)!=0|(n|0)!=0;o=lv(0,0,o|0,n|0)|0;n=Q()|0;g=ha?r:g;o=ha?o:0;n=ha?n:0}if((B|0)==(g|0)){if(!B){g=110;break}ha=Vr(o|0,0,u|0,0)|0;g=Q()|0;r=Vr(n|0,0,u|0,0)|0;N=Q()|0;v=Vr(o|0,0,t|0,0)|0;w=Q()|0;u=Vr(n|0,0,t|0,0)|0;t=Q()|0;v=xv(r|0,0,v|0,0)|0;n=Q()|0;t=xv(N|0,0,u|0,t|0)|0;w=xv(t|0,Q()|0,w|0,0)|0;n=xv(w|0,Q()|0,n|0,0)|0;w=Q()|0;t=xv(0,v|0,ha|0,g|0)|0;u=Q()|0;v=xv(n|0,w|0,(u>>>0>>0|(u|0)==(v|0)&t>>>0<0)&1|0,0)|0;w=Q()|0;n=Vr(A|0,0,y|0,0)|0;g=Q()|0;ha=Vr(x|0,0,y|0,0)|0;N=Q()|0;o=Vr(A|0,0,z|0,0)|0;r=Q()|0;fa=Vr(x|0,0,z|0,0)|0;ga=Q()|0;o=xv(ha|0,0,o|0,0)|0;ha=Q()|0;ga=xv(N|0,0,fa|0,ga|0)|0;r=xv(ga|0,Q()|0,r|0,0)|0;ha=xv(r|0,Q()|0,ha|0,0)|0;r=Q()|0;g=xv(0,o|0,n|0,g|0)|0;n=Q()|0;o=xv(ha|0,r|0,(n>>>0>>0|(n|0)==(o|0)&g>>>0<0)&1|0,0)|0;r=Q()|0;if(w>>>0>>0|(w|0)==(r|0)&v>>>0>>0)g=-1;else g=w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>o>>>0?1:u>>>0>>0|(u|0)==(n|0)&t>>>0>>0?-1:(u>>>0>n>>>0|(u|0)==(n|0)&t>>>0>g>>>0)&1;g=J(g,B)|0}else g=B-g|0;if((g|0)<=0){g=110;break}}c[f>>2]=E;M=c[E+12>>2]|0;K=c[M+88>>2]|0;g=O;L=c[M+92>>2]|0;M=c[M+96>>2]|0;o=C;n=D}if((g|0)==110)return}if((d|0)>=0)return;E=lv(0,0,S|0,((S|0)<0)<<31>>31|0)|0;F=Q()|0;j=p;g=l;c:while(1){C=g;B=j;d:while(1){D=(J(q-b|0,ca)|0)+(J(s-h|0,ba)|0)+(J(k-C|0,U)|0)|0;do if((B|0?c[B+12>>2]|0:0)?(ea=c[(c[B+4>>2]|0)+8>>2]|0,(c[ea+20>>2]|0)>(c[a+100>>2]|0)):0){A=c[ea+12>>2]|0;y=c[A+88>>2]|0;ha=y-s|0;z=c[A+92>>2]|0;ga=z-q|0;A=c[A+96>>2]|0;g=A-k|0;l=Vr(X|0,Y|0,ha|0,((ha|0)<0)<<31>>31|0)|0;fa=Q()|0;j=Vr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;fa=xv(j|0,Q()|0,l|0,fa|0)|0;l=Q()|0;j=Vr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;j=xv(fa|0,l|0,j|0,Q()|0)|0;l=Q()|0;g=(J(ga,ca)|0)+(J(ha,ba)|0)+(J(g,U)|0)|0;if((j|0)==0&(l|0)==0)if((g|0)>0)break d;else break;if((l|0)<0){if((g|0)>0){x=-1;n=g;m=((g|0)<0)<<31>>31}else{n=lv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;m=Q()|0;x=(g|0)!=0&1;n=g|0?n:0;m=g|0?m:0}t=lv(0,0,j|0,l|0)|0;u=Q()|0;if((D|0)>0){g=1;j=-1;v=D;w=((D|0)<0)<<31>>31}else{v=lv(0,0,D|0,((D|0)<0)<<31>>31|0)|0;w=Q()|0;g=((D|0)!=0)<<31>>31;j=(D|0)!=0&1;v=D|0?v:0;w=D|0?w:0}if((d|0)>0|(d|0)==0&i>>>0>0){j=i;l=d}else{ha=(i|0)!=0|(d|0)!=0;ga=lv(0,0,i|0,d|0)|0;l=Q()|0;g=ha?j:g;j=ha?ga:0;l=ha?l:0}if((x|0)==(g|0)){if(!x)break d;g=Vr(j|0,0,n|0,0)|0;o=Q()|0;fa=Vr(l|0,0,n|0,0)|0;T=Q()|0;p=Vr(j|0,0,m|0,0)|0;r=Q()|0;ha=Vr(l|0,0,m|0,0)|0;n=Q()|0;p=xv(fa|0,0,p|0,0)|0;j=Q()|0;n=xv(T|0,0,ha|0,n|0)|0;r=xv(n|0,Q()|0,r|0,0)|0;j=xv(r|0,Q()|0,j|0,0)|0;r=Q()|0;n=xv(0,p|0,g|0,o|0)|0;o=Q()|0;p=xv(j|0,r|0,(o>>>0

>>0|(o|0)==(p|0)&n>>>0<0)&1|0,0)|0;r=Q()|0;j=Vr(v|0,0,t|0,0)|0;g=Q()|0;ha=Vr(w|0,0,t|0,0)|0;T=Q()|0;l=Vr(v|0,0,u|0,0)|0;m=Q()|0;fa=Vr(w|0,0,u|0,0)|0;ga=Q()|0;l=xv(ha|0,0,l|0,0)|0;ha=Q()|0;ga=xv(T|0,0,fa|0,ga|0)|0;m=xv(ga|0,Q()|0,m|0,0)|0;ha=xv(m|0,Q()|0,ha|0,0)|0;m=Q()|0;g=xv(0,l|0,j|0,g|0)|0;j=Q()|0;l=xv(ha|0,m|0,(j>>>0>>0|(j|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=Q()|0;if(r>>>0>>0|(r|0)==(m|0)&p>>>0>>0)g=-1;else g=r>>>0>m>>>0|(r|0)==(m|0)&p>>>0>l>>>0?1:o>>>0>>0|(o|0)==(j|0)&n>>>0>>0?-1:(o>>>0>j>>>0|(o|0)==(j|0)&n>>>0>g>>>0)&1;g=J(g,x)|0}else g=x-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=110;break c}if(!(c[g+12>>2]|0)){g=110;break c}w=c[(c[g+8>>2]|0)+4>>2]|0;if((c[w+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break c}j=c[w+12>>2]|0;m=c[j+88>>2]|0;h=m-h|0;l=c[j+92>>2]|0;b=l-b|0;j=c[j+96>>2]|0;g=j-C|0;ha=Vr(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=Q()|0;ga=Vr(b|0,((b|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=xv(ga|0,Q()|0,ha|0,fa|0)|0;ha=Q()|0;ga=Vr(E|0,F|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(Q()|0))){g=110;break c}o=Vr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;v=Q()|0;n=Vr(Z|0,_|0,b|0,((b|0)<0)<<31>>31|0)|0;v=xv(n|0,Q()|0,o|0,v|0)|0;o=Q()|0;n=Vr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;n=xv(v|0,o|0,n|0,Q()|0)|0;o=Q()|0;g=(J(b,ca)|0)+(J(h,ba)|0)+(J(g,U)|0)|0;v=s-m|0;ga=q-l|0;u=k-j|0;v=Vr(X|0,Y|0,v|0,((v|0)<0)<<31>>31|0)|0;ha=Q()|0;ga=Vr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=xv(ga|0,Q()|0,v|0,ha|0)|0;v=Q()|0;u=Vr($|0,aa|0,u|0,((u|0)<0)<<31>>31|0)|0;u=xv(ha|0,v|0,u|0,Q()|0)|0;v=Q()|0;if((v|0)>=0){g=110;break c}if((n|0)==0&(o|0)==0){if((g|0)<=0){g=110;break c}}else{if((o|0)>=0){g=110;break c}if((g|0)>0){t=-1;j=g;h=((g|0)<0)<<31>>31}else{j=lv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;h=Q()|0;t=(g|0)!=0&1;j=g|0?j:0;h=g|0?h:0}p=lv(0,0,n|0,o|0)|0;r=Q()|0;if((D|0)>0){b=1;n=D;o=((D|0)<0)<<31>>31;g=-1}else{n=lv(0,0,D|0,((D|0)<0)<<31>>31|0)|0;o=Q()|0;b=((D|0)!=0)<<31>>31;n=D|0?n:0;o=D|0?o:0;g=(D|0)!=0&1}if(!((d|0)>0|(d|0)==0&i>>>0>0)){ha=(i|0)!=0|(d|0)!=0;i=lv(0,0,i|0,d|0)|0;d=Q()|0;b=ha?g:b;i=ha?i:0;d=ha?d:0}if((t|0)==(b|0)){if(!t){g=110;break c}m=Vr(i|0,0,j|0,0)|0;l=Q()|0;b=Vr(d|0,0,j|0,0)|0;T=Q()|0;i=Vr(i|0,0,h|0,0)|0;j=Q()|0;ha=Vr(d|0,0,h|0,0)|0;g=Q()|0;i=xv(b|0,0,i|0,0)|0;b=Q()|0;g=xv(T|0,0,ha|0,g|0)|0;j=xv(g|0,Q()|0,j|0,0)|0;b=xv(j|0,Q()|0,b|0,0)|0;j=Q()|0;l=xv(0,i|0,m|0,l|0)|0;m=Q()|0;i=xv(b|0,j|0,(m>>>0>>0|(m|0)==(i|0)&l>>>0<0)&1|0,0)|0;j=Q()|0;b=Vr(n|0,0,p|0,0)|0;g=Q()|0;ha=Vr(o|0,0,p|0,0)|0;T=Q()|0;d=Vr(n|0,0,r|0,0)|0;h=Q()|0;fa=Vr(o|0,0,r|0,0)|0;ga=Q()|0;d=xv(ha|0,0,d|0,0)|0;ha=Q()|0;ga=xv(T|0,0,fa|0,ga|0)|0;h=xv(ga|0,Q()|0,h|0,0)|0;ha=xv(h|0,Q()|0,ha|0,0)|0;h=Q()|0;g=xv(0,d|0,b|0,g|0)|0;b=Q()|0;d=xv(ha|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=Q()|0;if(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)g=-1;else g=j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>d>>>0?1:m>>>0>>0|(m|0)==(b|0)&l>>>0>>0?-1:(m>>>0>b>>>0|(m|0)==(b|0)&l>>>0>g>>>0)&1;g=J(g,t)|0}else g=t-b|0;if((g|0)>=0){g=110;break c}}c[e>>2]=w;C=c[w+12>>2]|0;h=c[C+88>>2]|0;b=c[C+92>>2]|0;C=c[C+96>>2]|0;B=c[f>>2]|0;d=v;i=u}d=y-h|0;s=z-b|0;i=A-C|0;d=Vr(X|0,Y|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Q()|0;s=Vr(Z|0,_|0,s|0,((s|0)<0)<<31>>31|0)|0;j=xv(s|0,Q()|0,d|0,j|0)|0;d=Q()|0;i=Vr($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xv(j|0,d|0,i|0,Q()|0)|0;d=Q()|0;j=(B|0)==(da|0)?0:ea;c[f>>2]=j;s=y;q=z;k=A;g=C}if((g|0)==110)return}function zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=sa;sa=sa+176|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;sa=I;return}c[I+32>>2]=0;c[I+36>>2]=0;c[I+40>>2]=0;c[I+44>>2]=256;c[I+48>>2]=0;c[I+52>>2]=0;c[I+56>>2]=0;c[I+60>>2]=256;c[I+64>>2]=0;c[I+68>>2]=0;c[I+72>>2]=0;c[I+76>>2]=256;a[I+96>>0]=1;c[I+92>>2]=0;c[I+84>>2]=0;c[I+88>>2]=0;f=0;h=d;i=-246811958;q=1900671690;s=-246811958;u=1900671690;w=-246811958;x=1900671690;while(1){k=c[h>>2]|0;m=c[h+4>>2]|0;p=c[h+8>>2]|0;l=(c[j>>2]=k,+g[j>>2]);q=l<(c[j>>2]=q,+g[j>>2])?k:q;n=(c[j>>2]=m,+g[j>>2]);u=n<(c[j>>2]=u,+g[j>>2])?m:u;o=(c[j>>2]=p,+g[j>>2]);x=o<(c[j>>2]=x,+g[j>>2])?p:x;i=(c[j>>2]=i,+g[j>>2])>2]=s,+g[j>>2])>2]=w,+g[j>>2])>2]=i,+g[j>>2]);t=(c[j>>2]=q,+g[j>>2]);r=(c[j>>2]=s,+g[j>>2]);o=(c[j>>2]=u,+g[j>>2]);n=(c[j>>2]=w,+g[j>>2]);l=(c[j>>2]=x,+g[j>>2]);h=v-t>2]=h;f=v-t>>0)%3|0;c[I+104>>2]=f;q=(h^3)-f|0;c[I+108>>2]=q;y=((q+1|0)%3|0|0)==(h|0)?(v-t)*9.788566967472434e-05:-((v-t)*9.788566967472434e-05);z=((q+1|0)%3|0|0)==(h|0)?(r-o)*9.788566967472434e-05:-((r-o)*9.788566967472434e-05);A=((q+1|0)%3|0|0)==(h|0)?(n-l)*9.788566967472434e-05:-((n-l)*9.788566967472434e-05);g[I>>2]=y;g[I+4>>2]=z;g[I+8>>2]=A;g[I+12>>2]=0.0;y=y!=0.0?1.0/y:y;z=z!=0.0?1.0/z:z;A=A!=0.0?1.0/A:A;g[I+16>>2]=(v+t)*.5;g[I+20>>2]=(r+o)*.5;g[I+24>>2]=(n+l)*.5;g[I+28>>2]=0.0;q=I+144+16|0;a[q>>0]=1;s=I+144+12|0;c[s>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[7182]=(c[7182]|0)+1;f=xb((e<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}i=c[I+144+4>>2]|0;k=c[s>>2]|0;if((i|0)<=0){if(k|0)H=25}else{f=0;do{H=h+(f<<4)|0;F=k+(f<<4)|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];f=f+1|0}while((f|0)!=(i|0));H=25}if((H|0)==25){if(a[q>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[s>>2]=0}a[q>>0]=1;c[s>>2]=h;c[I+144+8>>2]=e;c[h>>2]=c[I+128>>2];c[h+4>>2]=c[I+128+4>>2];c[h+8>>2]=c[I+128+8>>2];c[h+12>>2]=c[I+128+12>>2];if((e|0)!=1){f=1;do{F=(c[s>>2]|0)+(f<<4)|0;c[F>>2]=c[I+128>>2];c[F+4>>2]=c[I+128+4>>2];c[F+8>>2]=c[I+128+8>>2];c[F+12>>2]=c[I+128+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[I+144+4>>2]=e;i=I+128+(c[I+108>>2]<<2)|0;k=c[s>>2]|0;m=I+128+(c[I+112>>2]<<2)|0;p=I+128+(c[I+104>>2]<<2)|0;l=+g[I+16>>2];n=+g[I+20>>2];o=+g[I+24>>2];h=0;f=d;while(1){t=z*(+g[f+4>>2]-n);v=A*(+g[f+8>>2]-o);g[I+128>>2]=y*(+g[f>>2]-l);g[I+128+4>>2]=t;g[I+128+8>>2]=v;g[I+128+12>>2]=0.0;c[k+(h<<4)>>2]=~~+g[i>>2];c[k+(h<<4)+4>>2]=~~+g[m>>2];c[k+(h<<4)+8>>2]=~~+g[p>>2];c[k+(h<<4)+12>>2]=h;h=h+1|0;if((h|0)==(e|0))break;else f=f+16|0}if((e|0)>1)pg(I+144|0,0,e+-1|0);c[I+36>>2]=c[I+32>>2];c[I+40>>2]=0;c[I+44>>2]=e;f=c[I+84>>2]|0;if((f|0)<(e|0)){if((c[I+88>>2]|0)<(e|0)){if(!e){h=0;k=f}else{c[7182]=(c[7182]|0)+1;h=xb((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[I+84>>2]|0}if((k|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[I+92>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[I+92>>2]|0;if(i|0){if(a[I+96>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[I+92>>2]=0}a[I+96>>0]=1;c[I+92>>2]=h;c[I+88>>2]=e}do{c[(c[I+92>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[I+84>>2]=e;m=0;do{f=c[I+40>>2]|0;if(!f){f=c[I+36>>2]|0;if(!f){c[7182]=(c[7182]|0)+1;f=xb(31)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[I+44>>2]|0;c[h+4>>2]=f;i=h+8|0;c[i>>2]=0;c[7182]=(c[7182]|0)+1;f=xb((f*112|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[h>>2]=f;c[i>>2]=c[I+32>>2];c[I+32>>2]=h}else{c[I+36>>2]=c[f+8>>2];h=f}f=c[h>>2]|0;k=c[h+4>>2]|0;if((k|0)>0?(c[f>>2]=(k|0)!=1?f+112|0:0,(k|0)!=1):0){h=1;i=f+112|0;do{h=h+1|0;F=(h|0)<(k|0);E=i;i=i+112|0;c[E>>2]=F?i:0}while(F)}}c[I+40>>2]=c[f>>2];F=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[F>>2]=-1;c[f+8>>2]=0;D=(c[s>>2]|0)+(m<<4)|0;E=f+88|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];c[F>>2]=-1;c[(c[I+92>>2]|0)+(m<<2)>>2]=f;m=m+1|0}while((m|0)<(e|0));f=c[s>>2]|0;if(f|0){if(a[q>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[s>>2]=0}a[q>>0]=1;c[s>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[I+52>>2]=c[I+48>>2];c[I+56>>2]=0;c[I+60>>2]=e*6;c[I+116>>2]=0;c[I+120>>2]=0;c[I+100>>2]=-3;c[I+128>>2]=0;c[I+128+4>>2]=0;c[I+128+8>>2]=0;c[I+128+12>>2]=0;ub(I,0,e,I+128|0);c[I+124>>2]=c[I+128>>2];f=c[s>>2]|0;if(f|0){if(a[q>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[s>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{F=(c[b+12>>2]|0)+(f<<4)|0;c[F>>2]=c[I+144>>2];c[F+4>>2]=c[I+144+4>>2];c[F+8>>2]=c[I+144+8>>2];c[F+12>>2]=c[I+144+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{F=(c[b+32>>2]|0)+(f*12|0)|0;c[F>>2]=c[I+144>>2];c[F+4>>2]=c[I+144+4>>2];c[F+8>>2]=c[I+144+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(f|0?a[b+56>>0]|0:0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}mk(f+(h<<2)|0,0,J(h,-4)|0)|0}c[b+44>>2]=0;h=c[I+124>>2]|0;if((c[h+104>>2]|0)<0){c[h+104>>2]=0;c[7182]=(c[7182]|0)+1;f=xb(23)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=h;F=0;p=1;q=f;s=1;i=f;w=f;while(1){if((c[h+100>>2]|0)>-1){g[I+144+(c[I+108>>2]<<2)>>2]=+(c[h+88>>2]|0);g[I+144+(c[I+112>>2]<<2)>>2]=+(c[h+92>>2]|0);l=+(c[h+96>>2]|0)}else{l=+tk(h+24|0);E=h+72|0;l=l/+tk(E);g[I+144+(c[I+108>>2]<<2)>>2]=l;l=+tk(h+40|0);l=l/+tk(E);g[I+144+(c[I+112>>2]<<2)>>2]=l;l=+tk(h+56|0);l=l/+tk(E)}g[I+144+(c[I+104>>2]<<2)>>2]=l;l=+g[I+144>>2]*+g[I>>2]+ +g[I+16>>2];n=+g[I+144+4>>2]*+g[I+4>>2]+ +g[I+20>>2];o=+g[I+144+8>>2]*+g[I+8>>2]+ +g[I+24>>2];k=c[b+4>>2]|0;if((k|0)==(c[b+8>>2]|0)?(G=(k|0)==0?1:k<<1,(k|0)<(G|0)):0){if(!G)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((G<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=c[b+4>>2]|0}if((k|0)>0){m=0;do{E=f+(m<<4)|0;D=(c[b+12>>2]|0)+(m<<4)|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[b+12>>2]|0;if(k|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=G;f=c[b+4>>2]|0}else f=k;E=c[b+12>>2]|0;g[E+(f<<4)>>2]=l;g[E+(f<<4)+4>>2]=n;g[E+(f<<4)+8>>2]=o;g[E+(f<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;E=c[h+8>>2]|0;if(!E){k=p;x=q;h=s}else{C=E;D=-1;f=-1;x=p;e=q;h=s;while(1){B=C+20|0;m=c[B>>2]|0;if((m|0)<0){d=c[b+24>>2]|0;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;do if((d|0)==(c[b+28>>2]|0)){q=(d|0)==0?1:d<<1;if((d|0)>=(q|0)){k=d;break}if(!q){k=0;p=d}else{c[7182]=(c[7182]|0)+1;k=xb((q*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}p=c[b+24>>2]|0}if((p|0)>0){m=0;do{u=k+(m*12|0)|0;s=(c[b+32>>2]|0)+(m*12|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];m=m+1|0}while((m|0)!=(p|0))}m=c[b+32>>2]|0;if(m|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=k;c[b+28>>2]=q;k=c[b+24>>2]|0}else k=d;while(0);k=(c[b+32>>2]|0)+(k*12|0)|0;c[k>>2]=c[I+144>>2];c[k+4>>2]=c[I+144+4>>2];c[k+8>>2]=c[I+144+8>>2];k=(c[b+24>>2]|0)+1|0;c[b+24>>2]=k;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;do if((k|0)==(c[b+28>>2]|0)){q=(k|0)==0?1:k<<1;if((k|0)>=(q|0))break;if(!q)p=0;else{c[7182]=(c[7182]|0)+1;k=xb((q*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}p=k;k=c[b+24>>2]|0}if((k|0)>0){m=0;do{u=p+(m*12|0)|0;s=(c[b+32>>2]|0)+(m*12|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[b+32>>2]|0;if(k|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=p;c[b+28>>2]=q;k=c[b+24>>2]|0}while(0);u=(c[b+32>>2]|0)+(k*12|0)|0;c[u>>2]=c[I+144>>2];c[u+4>>2]=c[I+144+4>>2];c[u+8>>2]=c[I+144+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;u=c[b+32>>2]|0;c[B>>2]=d;c[(c[C+8>>2]|0)+20>>2]=d+1;c[u+(d*12|0)+4>>2]=1;c[u+((d+1|0)*12|0)+4>>2]=-1;s=c[C+12>>2]|0;k=c[s+104>>2]|0;if((k|0)<0){c[s+104>>2]=h;do if((h|0)==(x|0)){k=(x|0)==0?1:x<<1;if((x|0)>=(k|0)){k=x;m=e;q=w;break}do if(!k)p=0;else{c[7182]=(c[7182]|0)+1;m=xb((k<<2|3)+16|0)|0;if(!m){p=0;break}c[(m+4+15&-16)+-4>>2]=m;p=m+4+15&-16}while(0);if((x|0)>0){m=0;do{c[p+(m<<2)>>2]=c[e+(m<<2)>>2];m=m+1|0}while((m|0)!=(x|0));if(!i){m=p;q=p;i=p;break}}else if((e|0)==0|(i|0)==0){m=p;q=p;i=p;break}c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);m=p;q=p;i=p}else{k=x;m=e;q=w}while(0);c[m+(h<<2)>>2]=s;s=h;h=h+1|0;p=q}else{s=k;k=x;m=e;p=w}c[u+(d*12|0)+8>>2]=s;c[u+((d+1|0)*12|0)+8>>2]=F;q=m;m=c[B>>2]|0}else{k=x;q=e;p=w}if((D|0)>-1)c[(c[b+32>>2]|0)+(m*12|0)>>2]=D-m;else f=m;C=c[C>>2]|0;if((C|0)==(E|0))break;else{D=m;x=k;e=q;w=p}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=m-f;x=q;w=p}f=F+1|0;if((f|0)>=(h|0))break;F=f;p=k;q=x;s=h;h=c[x+(f<<2)>>2]|0}s=0;while(1){u=c[(c[x+(s<<2)>>2]|0)+8>>2]|0;if(u|0){q=u;do{p=q+20|0;f=c[p>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){m=(h|0)==0?1:h<<1;if((h|0)>=(m|0))break;if(!m)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}k=c[b+52>>2]|0;if((h|0)<=0){if(k)H=186}else{i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));H=186}if((H|0)==186){H=0;if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=m;f=c[p>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=q;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(q|0))}q=c[q>>2]|0}while((q|0)!=(u|0))}if((s|0)==(F|0))break;else s=s+1|0}if(!((x|0)==0|(w|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[w+-4>>2]|0)}}bi(I);sa=I;return}function Ab(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0;I=sa;sa=sa+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;sa=I;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;o=a[b+332>>0]|0;a[b+332>>0]=o&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;sa=I;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];E=+g[b+248>>2]-+g[b+264>>2];F=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=E;g[b+284>>2]=F;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=o&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;sa=I;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+20>>2]-e;l=+g[b+24>>2]-f;m=+g[b+28>>2]-j;if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m>0.0)if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m>0]=o&-16|h;e=1.0-f;g[b+336>>2]=e;g[b+340>>2]=f;g[b+344>>2]=0.0;g[b+348>>2]=0.0;A=+g[b+84>>2];C=+g[b+88>>2];E=+g[b+92>>2];A=A+f*(+g[b+100>>2]-A);C=C+f*(+g[b+104>>2]-C);E=E+f*(+g[b+108>>2]-E);g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=+g[b+164>>2];D=+g[b+168>>2];F=+g[b+172>>2];B=B+f*(+g[b+180>>2]-B);D=D+f*(+g[b+184>>2]-D);F=F+f*(+g[b+188>>2]-F);g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){q=b+4+(d<<4)|0;G=b+84+(d<<4)|0;H=b+164+(d<<4)|0;c[b>>2]=d;c[b+4>>2]=c[q>>2];c[b+4+4>>2]=c[q+4>>2];c[b+4+8>>2]=c[q+8>>2];c[b+4+12>>2]=c[q+12>>2];c[b+84>>2]=c[G>>2];c[b+84+4>>2]=c[G+4>>2];c[b+84+8>>2]=c[G+8>>2];c[b+84+12>>2]=c[G+12>>2];c[b+164>>2]=c[H>>2];c[b+164+4>>2]=c[H+4>>2];c[b+164+8>>2]=c[H+8>>2];c[b+164+12>>2]=c[H+12>>2]}H=f>=0.0&e>=0.0&1;a[b+312>>0]=H;b=H;b=b<<24>>24!=0;sa=I;return b|0}case 3:{c[I+16>>2]=0;c[I+16+4>>2]=0;c[I+16+8>>2]=0;c[I+16+12>>2]=0;oe(I+16|0,b+4|0,b+20|0,b+36|0,b+316|0);F=+g[b+336>>2];e=+g[b+340>>2];f=+g[b+344>>2];A=+g[b+84>>2]*F+ +g[b+100>>2]*e+ +g[b+116>>2]*f;C=F*+g[b+88>>2]+e*+g[b+104>>2]+f*+g[b+120>>2];E=F*+g[b+92>>2]+e*+g[b+108>>2]+f*+g[b+124>>2];g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=F*+g[b+164>>2]+e*+g[b+180>>2]+f*+g[b+196>>2];D=F*+g[b+168>>2]+e*+g[b+184>>2]+f*+g[b+200>>2];F=F*+g[b+172>>2]+e*+g[b+188>>2]+f*+g[b+204>>2];g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;o=c[b>>2]|0;do if((o|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(o+-1<<4)|0;n=b+84+(o+-1<<4)|0;i=b+4+(o+-1<<4)|0;c[b>>2]=o+-1;c[b+52>>2]=c[i>>2];c[b+52+4>>2]=c[i+4>>2];c[b+52+8>>2]=c[i+8>>2];c[b+52+12>>2]=c[i+12>>2];c[b+132>>2]=c[n>>2];c[b+132+4>>2]=c[n+4>>2];c[b+132+8>>2]=c[n+8>>2];c[b+132+12>>2]=c[n+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;n=d;i=o+-1|0;H=19}else{h=b+332|0;n=d;i=o;H=19}}else{if((o|0)==3){h=b+332|0;n=a[b+332>>0]|0;i=3;H=19;break}if((o|0)<=1){if((o|0)==1){d=1;H=26}}else{d=2;H=22}}while(0);if((H|0)==19){d=i+-1|0;if(!(n&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];H=23}else{d=i;H=22}}if((H|0)==22){h=b+332|0;H=23}if((H|0)==23){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];n=h;H=27}else H=26}if((H|0)==26){n=b+332|0;i=d;H=27}if((H|0)==27?(p=i+-1|0,(a[n>>0]&1)==0):0){c[b>>2]=p;c[b+4>>2]=c[b+4+(p<<4)>>2];c[b+4+4>>2]=c[b+4+(p<<4)+4>>2];c[b+4+8>>2]=c[b+4+(p<<4)+8>>2];c[b+4+12>>2]=c[b+4+(p<<4)+12>>2];c[b+84>>2]=c[b+84+(p<<4)>>2];c[b+84+4>>2]=c[b+84+(p<<4)+4>>2];c[b+84+8>>2]=c[b+84+(p<<4)+8>>2];c[b+84+12>>2]=c[b+84+(p<<4)+12>>2];c[b+164>>2]=c[b+164+(p<<4)>>2];c[b+164+4>>2]=c[b+164+(p<<4)+4>>2];c[b+164+8>>2]=c[b+164+(p<<4)+8>>2];c[b+164+12>>2]=c[b+164+(p<<4)+12>>2]}if((e>=0.0?!(+g[b+336>>2]>=0.0):1)|!(f>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;sa=I;return b|0}case 4:{c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;q=I+16+16|0;a[q>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=o|15;K=+g[b+20>>2];T=+g[b+4>>2];Q=+g[b+24>>2];J=+g[b+8>>2];M=+g[b+28>>2];U=+g[b+12>>2];P=+g[b+36>>2];R=+g[b+40>>2];N=+g[b+44>>2];L=+g[b+52>>2];S=+g[b+56>>2];O=+g[b+60>>2];V=((Q-J)*(N-U)-(M-U)*(R-J))*(L-T)+((M-U)*(P-T)-(K-T)*(N-U))*(S-J)+((K-T)*(R-J)-(Q-J)*(P-T))*(O-U);i=V*V<9.99999905104687e-09?-1:((0.0-T)*((Q-J)*(N-U)-(M-U)*(R-J))+(0.0-J)*((M-U)*(P-T)-(K-T)*(N-U))+((K-T)*(R-J)-(Q-J)*(P-T))*(0.0-U))*V<0.0&1;V=(M-U)*((P-T)*(S-J)-(R-J)*(L-T))+((K-T)*((R-J)*(O-U)-(N-U)*(S-J))+(Q-J)*((N-U)*(L-T)-(P-T)*(O-U)));n=V*V<9.99999905104687e-09?-1:((0.0-U)*((P-T)*(S-J)-(R-J)*(L-T))+((0.0-T)*((R-J)*(O-U)-(N-U)*(S-J))+(0.0-J)*((N-U)*(L-T)-(P-T)*(O-U))))*V<0.0&1;V=(N-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((P-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(R-J)*((K-T)*(O-U)-(M-U)*(L-T)));o=V*V<9.99999905104687e-09?-1:((0.0-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((0.0-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(0.0-J)*((K-T)*(O-U)-(M-U)*(L-T))))*V<0.0&1;J=(U-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((T-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(J-Q)*((P-K)*(O-M)-(N-M)*(L-K)));p=J*J<9.99999905104687e-09?-1:((0.0-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((0.0-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(0.0-Q)*((P-K)*(O-M)-(N-M)*(L-K))))*J<0.0&1;do if((n|i|o|p|0)<0){a[b+352>>0]=1;d=b+312|0;H=68}else{if(!(n|i|o|p)){if(a[b+352>>0]|0){d=b+312|0;H=68;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((i|0)!=0?(oe(I,b+4|0,b+20|0,b+36|0,I+16|0),e=+g[I+16>>2],f=+g[I+16+4>>2],j=+g[I+16+8>>2],k=e-+g[I>>2],l=f-+g[I+4>>2],m=j-+g[I+8>>2],k*k+l*l+m*m<3402823466385288598117041.0e14):0){W=c[I+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=j;c[b+328>>2]=W;W=a[q>>0]|0;a[b+332>>0]=W&1|a[b+332>>0]&-16|W&2|W&4;W=c[I+16+24>>2]|0;i=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=W;c[b+344>>2]=i;g[b+348>>2]=0.0;e=k*k+l*l+m*m}else e=3402823466385288598117041.0e14;if((n|0)!=0?(oe(I,b+4|0,b+36|0,b+52|0,I+16|0),r=+g[I+16>>2],s=+g[I+16+4>>2],t=+g[I+16+8>>2],u=r-+g[I>>2],v=s-+g[I+4>>2],w=t-+g[I+8>>2],u*u+v*v+w*w>2]|0;g[b+316>>2]=r;g[b+320>>2]=s;g[b+324>>2]=t;c[b+328>>2]=n;n=a[q>>0]|0;a[b+332>>0]=n&1|a[b+332>>0]&-16|n<<1&4|n<<1&8;n=c[I+16+24>>2]|0;W=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=n;c[b+348>>2]=W;e=u*u+v*v+w*w}if((o|0)!=0?(oe(I,b+4|0,b+52|0,b+20|0,I+16|0),x=+g[I+16>>2],y=+g[I+16+4>>2],z=+g[I+16+8>>2],A=x-+g[I>>2],B=y-+g[I+4>>2],C=z-+g[I+8>>2],A*A+B*B+C*C>2]|0;g[b+316>>2]=x;g[b+320>>2]=y;g[b+324>>2]=z;c[b+328>>2]=o;o=a[q>>0]|0;a[b+332>>0]=o&1|a[b+332>>0]&-16|(1?(o&255)>>>1:o&255)&2|o<<2&8;o=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=o;g[b+344>>2]=0.0;c[b+348>>2]=W;e=A*A+B*B+C*C}if(p|0?(oe(I,b+20|0,b+52|0,b+36|0,I+16|0),D=+g[I+16>>2],E=+g[I+16+4>>2],F=+g[I+16+8>>2],T=D-+g[I>>2],U=E-+g[I+4>>2],V=F-+g[I+8>>2],T*T+U*U+V*V>2]|0;g[b+316>>2]=D;g[b+320>>2]=E;g[b+324>>2]=F;c[b+328>>2]=p;p=a[q>>0]|0;a[b+332>>0]=p&4|a[b+332>>0]&-16|p<<1&2|p<<2&8;p=c[I+16+20>>2]|0;q=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=p;c[b+344>>2]=q;c[b+348>>2]=W}O=+g[b+336>>2];P=+g[b+340>>2];V=+g[b+344>>2];e=+g[b+348>>2];Q=+g[b+84>>2]*O+ +g[b+100>>2]*P+ +g[b+116>>2]*V+ +g[b+132>>2]*e;S=O*+g[b+88>>2]+P*+g[b+104>>2]+V*+g[b+120>>2]+e*+g[b+136>>2];U=O*+g[b+92>>2]+P*+g[b+108>>2]+V*+g[b+124>>2]+e*+g[b+140>>2];g[b+244>>2]=Q;g[b+248>>2]=S;g[b+252>>2]=U;g[b+256>>2]=0.0;R=O*+g[b+164>>2]+P*+g[b+180>>2]+V*+g[b+196>>2]+e*+g[b+212>>2];T=O*+g[b+168>>2]+P*+g[b+184>>2]+V*+g[b+200>>2]+e*+g[b+216>>2];V=O*+g[b+172>>2]+P*+g[b+188>>2]+V*+g[b+204>>2]+e*+g[b+220>>2];g[b+260>>2]=R;g[b+264>>2]=T;g[b+268>>2]=V;g[b+272>>2]=0.0;g[b+276>>2]=Q-R;g[b+280>>2]=S-T;g[b+284>>2]=U-V;g[b+288>>2]=0.0;i=c[b>>2]|0;do if((i|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(i+-1<<4)|0;n=b+84+(i+-1<<4)|0;H=b+4+(i+-1<<4)|0;c[b>>2]=i+-1;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];c[b+132>>2]=c[n>>2];c[b+132+4>>2]=c[n+4>>2];c[b+132+8>>2]=c[n+8>>2];c[b+132+12>>2]=c[n+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;n=d;i=i+-1|0;H=52}else{h=b+332|0;n=d;H=52}}else{if((i|0)==3){h=b+332|0;n=a[b+332>>0]|0;i=3;H=52;break}if((i|0)<=1){if((i|0)==1){d=1;H=59}}else{d=2;H=55}}while(0);if((H|0)==52){d=i+-1|0;if(!(n&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];H=56}else{d=i;H=55}}if((H|0)==55){h=b+332|0;H=56}if((H|0)==56){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];d=i;H=60}else H=59}if((H|0)==59){h=b+332|0;H=60}if((H|0)==60?(G=d+-1|0,(a[h>>0]&1)==0):0){c[b>>2]=G;c[b+4>>2]=c[b+4+(G<<4)>>2];c[b+4+4>>2]=c[b+4+(G<<4)+4>>2];c[b+4+8>>2]=c[b+4+(G<<4)+8>>2];c[b+4+12>>2]=c[b+4+(G<<4)+12>>2];c[b+84>>2]=c[b+84+(G<<4)>>2];c[b+84+4>>2]=c[b+84+(G<<4)+4>>2];c[b+84+8>>2]=c[b+84+(G<<4)+8>>2];c[b+84+12>>2]=c[b+84+(G<<4)+12>>2];c[b+164>>2]=c[b+164+(G<<4)>>2];c[b+164+4>>2]=c[b+164+(G<<4)+4>>2];c[b+164+8>>2]=c[b+164+(G<<4)+8>>2];c[b+164+12>>2]=c[b+164+(G<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((H|0)==68){a[d>>0]=0;d=0}W=d;W=W<<24>>24!=0;sa=I;return W|0}default:{a[b+312>>0]=0;W=0;W=W<<24>>24!=0;sa=I;return W|0}}return 0}function Bb(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=sa;sa=sa+256|0;c[b+188>>2]=-1;Ki(17177);c[b+184>>2]=0;if((e|0)>0){l=0;do{c[(c[d+(l<<2)>>2]|0)+212>>2]=-1;l=l+1|0}while((l|0)!=(e|0))}l=c[b+12>>2]|0;if((l|0)>(e|0)){n=b+8|0;m=l}else{if((e+1|0)!=0?(c[7182]=(c[7182]|0)+1,m=xb(((e+1|0)*244|3)+16|0)|0,(m|0)!=0):0){c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}else n=0;m=c[b+8>>2]|0;if((m|0)>0){l=0;do{W=n+(l*244|0)|0;X=c[b+16>>2]|0;V=X+(l*244|0)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];W=X+(l*244|0)+16|0;V=n+(l*244|0)+16|0;c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];V=X+(l*244|0)+32|0;W=n+(l*244|0)+32|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];W=n+(l*244|0)+48|0;V=X+(l*244|0)+48|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];Bh(n+(l*244|0)+64|0,X+(l*244|0)+64|0,180)|0;l=l+1|0}while((l|0)!=(m|0))}l=c[b+16>>2]|0;if(l|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=n;c[b+12>>2]=e+1;n=b+8|0;m=e+1|0}mk(Z|0,0,244)|0;l=c[n>>2]|0;if((l|0)<0){if((m|0)<0){m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{X=c[b+16>>2]|0;W=X+(l*244|0)|0;c[W>>2]=c[Z>>2];c[W+4>>2]=c[Z+4>>2];c[W+8>>2]=c[Z+8>>2];c[W+12>>2]=c[Z+12>>2];W=X+(l*244|0)+16|0;c[W>>2]=c[Z+16>>2];c[W+4>>2]=c[Z+16+4>>2];c[W+8>>2]=c[Z+16+8>>2];c[W+12>>2]=c[Z+16+12>>2];W=X+(l*244|0)+32|0;c[W>>2]=c[Z+32>>2];c[W+4>>2]=c[Z+32+4>>2];c[W+8>>2]=c[Z+32+8>>2];c[W+12>>2]=c[Z+32+12>>2];W=X+(l*244|0)+48|0;c[W>>2]=c[Z+48>>2];c[W+4>>2]=c[Z+48+4>>2];c[W+8>>2]=c[Z+48+8>>2];c[W+12>>2]=c[Z+48+12>>2];Bh(X+(l*244|0)+64|0,Z+64|0,180)|0;l=l+1|0}while((l|0)!=0)}c[n>>2]=0;if((e|0)>0){l=0;do{n=d+(l<<2)|0;m=Xc(b,c[n>>2]|0,+g[k+12>>2])|0;n=c[n>>2]|0;if((!((n|0)==0?1:(c[n+236>>2]&2|0)==0)?+g[n+344>>2]!=0.0:0)?(p=c[b+16>>2]|0,c[n+504>>2]&2|0):0){o=+g[k+76>>2];N=1.0/+g[n+396>>2];P=1.0/+g[n+400>>2];r=1.0/+g[n+404>>2];H=+g[n+4>>2];I=+g[n+8>>2];J=+g[n+12>>2];K=+g[n+20>>2];L=+g[n+24>>2];M=+g[n+28>>2];O=+g[n+36>>2];Q=+g[n+40>>2];u=+g[n+44>>2];v=+g[n+328>>2];y=+g[n+332>>2];t=+g[n+336>>2];z=(N*H*H+P*I*I+r*J*J)*v+(N*H*K+P*I*L+r*J*M)*y+(N*H*O+P*I*Q+r*J*u)*t;A=(N*K*H+P*L*I+r*M*J)*v+(N*K*K+P*L*L+r*M*M)*y+(N*K*O+P*L*Q+r*M*u)*t;u=(N*O*H+P*Q*I+r*u*J)*v+(N*O*K+P*Q*L+r*u*M)*y+(N*O*O+P*Q*Q+r*u*u)*t;r=(v*A-y*z)*(v*A-y*z)+((y*u-t*A)*(y*u-t*A)+(t*z-v*u)*(t*z-v*u));if(r>o*o){o=1.0/+x(+r)*o;s=(y*u-t*A)*o;r=(t*z-v*u)*o;o=(v*A-y*z)*o}else{s=y*u-t*A;r=t*z-v*u;o=v*A-y*z}O=+g[k+12>>2];P=(s*+g[n+268>>2]+r*+g[n+284>>2]+o*+g[n+300>>2])*O;Q=O*(s*+g[n+272>>2]+r*+g[n+288>>2]+o*+g[n+304>>2]);g[p+(m*244|0)+224>>2]=+g[p+(m*244|0)+224>>2]-(s*+g[n+264>>2]+r*+g[n+280>>2]+o*+g[n+296>>2])*O;g[p+(m*244|0)+228>>2]=+g[p+(m*244|0)+228>>2]-P;g[p+(m*244|0)+232>>2]=+g[p+(m*244|0)+232>>2]-Q}l=l+1|0}while((l|0)!=(e|0))}if((j|0)>0){l=0;do{X=c[i+(l<<2)>>2]|0;Pa[c[(c[X>>2]|0)+8>>2]&511](X);g[X+36>>2]=0.0;l=l+1|0}while((l|0)<(j|0))}m=c[b+168>>2]|0;if((m|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((j<<3|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+168>>2]|0}if((m|0)>0){n=0;do{V=(c[b+176>>2]|0)+(n<<3)|0;W=c[V+4>>2]|0;X=l+(n<<3)|0;c[X>>2]=c[V>>2];c[X+4>>2]=W;n=n+1|0}while((n|0)!=(m|0))}m=c[b+176>>2]|0;if(m|0){if(a[b+180>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=l;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){l=0;q=0;do{p=c[b+176>>2]|0;e=p+(q<<3)|0;d=i+(q<<2)|0;m=c[d>>2]|0;n=c[m+44>>2]|0;if(n){m=n+64|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(m|0));m=c[d>>2]|0}if(!(a[m+20>>0]|0)){c[e>>2]=0;c[p+(q<<3)+4>>2]=0;m=0}else{Va[c[(c[m>>2]|0)+16>>2]&127](m,e);m=c[e>>2]|0}l=m+l|0;q=q+1|0}while((q|0)<(j|0));d=l}else d=0;m=c[b+48>>2]|0;if((m|0)<(d|0)?(c[b+52>>2]|0)<(d|0):0){if(!d)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((d*152|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+48>>2]|0}if((m|0)>0){n=0;do{Bh(l+(n*152|0)|0,(c[b+56>>2]|0)+(n*152|0)|0,152)|0;n=n+1|0}while((n|0)!=(m|0))}m=c[b+56>>2]|0;if(m|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=l;c[b+52>>2]=d}c[b+48>>2]=d;if((j|0)>0){W=0;X=0;l=c[b+176>>2]|0;while(1){V=l+(X<<3)|0;if(!(c[V>>2]|0))m=0;else{m=c[b+56>>2]|0;d=m+(W*152|0)|0;p=i+(X<<2)|0;e=c[p>>2]|0;q=c[e+28>>2]|0;R=c[e+32>>2]|0;S=Xc(b,q,+g[k+12>>2])|0;T=Xc(b,R,+g[k+12>>2])|0;U=c[b+16>>2]|0;n=c[e+24>>2]|0;n=(n|0)>0?n:c[k+20>>2]|0;if((n|0)>(c[b+184>>2]|0))c[b+184>>2]=n;if((c[V>>2]|0)>0){l=0;do{mk(d+(l*152|0)|0,0,152)|0;g[d+(l*152|0)+120>>2]=-3402823466385288598117041.0e14;g[d+(l*152|0)+124>>2]=3402823466385288598117041.0e14;g[d+(l*152|0)+100>>2]=0.0;g[d+(l*152|0)+96>>2]=0.0;c[d+(l*152|0)+144>>2]=S;c[d+(l*152|0)+148>>2]=T;c[d+(l*152|0)+136>>2]=n;l=l+1|0}while((l|0)<(c[V>>2]|0))}c[U+(S*244|0)+64>>2]=0;c[U+(S*244|0)+64+4>>2]=0;c[U+(S*244|0)+64+8>>2]=0;c[U+(S*244|0)+64+12>>2]=0;c[U+(S*244|0)+64+16>>2]=0;c[U+(S*244|0)+64+20>>2]=0;c[U+(S*244|0)+64+24>>2]=0;c[U+(S*244|0)+64+28>>2]=0;c[U+(S*244|0)+144>>2]=0;c[U+(S*244|0)+144+4>>2]=0;c[U+(S*244|0)+144+8>>2]=0;c[U+(S*244|0)+144+12>>2]=0;c[U+(S*244|0)+144+16>>2]=0;c[U+(S*244|0)+144+20>>2]=0;c[U+(S*244|0)+144+24>>2]=0;c[U+(S*244|0)+144+28>>2]=0;c[U+(T*244|0)+64>>2]=0;c[U+(T*244|0)+64+4>>2]=0;c[U+(T*244|0)+64+8>>2]=0;c[U+(T*244|0)+64+12>>2]=0;c[U+(T*244|0)+64+16>>2]=0;c[U+(T*244|0)+64+20>>2]=0;c[U+(T*244|0)+64+24>>2]=0;c[U+(T*244|0)+64+28>>2]=0;c[U+(T*244|0)+144>>2]=0;c[U+(T*244|0)+144+4>>2]=0;c[U+(T*244|0)+144+8>>2]=0;c[U+(T*244|0)+144+12>>2]=0;c[U+(T*244|0)+144+16>>2]=0;c[U+(T*244|0)+144+20>>2]=0;c[U+(T*244|0)+144+24>>2]=0;c[U+(T*244|0)+144+28>>2]=0;g[Z>>2]=1.0/+g[k+12>>2];c[Z+4>>2]=c[k+32>>2];c[Z+8>>2]=m+(W*152|0)+16;c[Z+12>>2]=d;c[Z+16>>2]=m+(W*152|0)+48;c[Z+20>>2]=m+(W*152|0)+32;c[Z+24>>2]=38;c[Z+28>>2]=m+(W*152|0)+112;n=m+(W*152|0)+116|0;c[n>>2]=c[k+40>>2];c[Z+52>>2]=c[k+4>>2];c[Z+32>>2]=n;c[Z+36>>2]=m+(W*152|0)+120;c[Z+40>>2]=m+(W*152|0)+124;c[Z+48>>2]=c[k+20>>2];n=c[p>>2]|0;Va[c[(c[n>>2]|0)+20>>2]&127](n,Z);if((c[V>>2]|0)>0){m=0;do{l=d+(m*152|0)+124|0;o=+g[(c[p>>2]|0)+16>>2];if(+g[l>>2]>=o)g[l>>2]=o;l=d+(m*152|0)+120|0;if(+g[l>>2]<=-o)g[l>>2]=-o;c[d+(m*152|0)+132>>2]=e;n=d+(m*152|0)|0;l=c[e+28>>2]|0;o=+g[n>>2];r=+g[n+4>>2];s=+g[n+8>>2];u=(o*+g[l+280>>2]+r*+g[l+284>>2]+s*+g[l+288>>2])*+g[l+548>>2];t=(o*+g[l+296>>2]+r*+g[l+300>>2]+s*+g[l+304>>2])*+g[l+552>>2];n=d+(m*152|0)+64|0;g[n>>2]=(+g[l+264>>2]*o+ +g[l+268>>2]*r+ +g[l+272>>2]*s)*+g[l+544>>2];g[n+4>>2]=u;g[n+8>>2]=t;g[n+12>>2]=0.0;n=d+(m*152|0)+32|0;l=c[e+32>>2]|0;t=+g[n>>2];u=+g[n+4>>2];v=+g[n+8>>2];y=(t*+g[l+280>>2]+u*+g[l+284>>2]+v*+g[l+288>>2])*+g[l+548>>2];Q=(t*+g[l+296>>2]+u*+g[l+300>>2]+v*+g[l+304>>2])*+g[l+552>>2];n=d+(m*152|0)+80|0;g[n>>2]=(+g[l+264>>2]*t+ +g[l+268>>2]*u+ +g[l+272>>2]*v)*+g[l+544>>2];g[n+4>>2]=y;g[n+8>>2]=Q;g[n+12>>2]=0.0;n=d+(m*152|0)+16|0;Q=+g[q+344>>2];y=+g[n>>2];z=+g[n+4>>2];A=+g[n+8>>2];n=d+(m*152|0)+48|0;E=+g[R+344>>2];B=+g[n>>2];C=+g[n+4>>2];D=+g[n+8>>2];E=y*Q*y+z*Q*z+A*Q*A+(o*(o*+g[q+264>>2]+r*+g[q+268>>2]+s*+g[q+272>>2])+r*(o*+g[q+280>>2]+r*+g[q+284>>2]+s*+g[q+288>>2])+s*(o*+g[q+296>>2]+r*+g[q+300>>2]+s*+g[q+304>>2]))+(B*E*B+C*E*C+D*E*D)+(t*(t*+g[R+264>>2]+u*+g[R+268>>2]+v*+g[R+272>>2])+u*(t*+g[R+280>>2]+u*+g[R+284>>2]+v*+g[R+288>>2])+v*(t*+g[R+296>>2]+u*+g[R+300>>2]+v*+g[R+304>>2]));n=+w(+E)>1.1920928955078125e-07;E=n?1.0/E:0.0;g[d+(m*152|0)+108>>2]=E;if(!(c[U+(S*244|0)+240>>2]|0)){F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}else{F=+g[U+(S*244|0)+208>>2];G=+g[U+(S*244|0)+212>>2];H=+g[U+(S*244|0)+216>>2];I=+g[U+(S*244|0)+224>>2];J=+g[U+(S*244|0)+228>>2];K=+g[U+(S*244|0)+232>>2]}if(!(c[U+(T*244|0)+240>>2]|0)){L=0.0;M=0.0;N=0.0;O=0.0;P=0.0;Q=0.0}else{L=+g[U+(T*244|0)+208>>2];M=+g[U+(T*244|0)+212>>2];N=+g[U+(T*244|0)+216>>2];O=+g[U+(T*244|0)+224>>2];P=+g[U+(T*244|0)+228>>2];Q=+g[U+(T*244|0)+232>>2]}n=d+(m*152|0)+112|0;g[n>>2]=E*+g[n>>2]+E*(0.0-+g[Z+52>>2]*(y*(F+ +g[q+312>>2])+z*(G+ +g[q+316>>2])+A*(H+ +g[q+320>>2])+(o*(I+ +g[q+328>>2])+r*(J+ +g[q+332>>2])+s*(K+ +g[q+336>>2]))+(B*(L+ +g[R+312>>2])+C*(M+ +g[R+316>>2])+D*(N+ +g[R+320>>2])+(t*(O+ +g[R+328>>2])+u*(P+ +g[R+332>>2])+v*(Q+ +g[R+336>>2])))));g[d+(m*152|0)+100>>2]=0.0;m=m+1|0}while((m|0)<(c[V>>2]|0))}l=c[b+176>>2]|0;m=c[l+(X<<3)>>2]|0}X=X+1|0;if((X|0)>=(j|0))break;else W=m+W|0}}ab[c[(c[b>>2]|0)+28>>2]&127](b,f,h,k);p=c[b+48>>2]|0;e=c[b+28>>2]|0;q=c[b+68>>2]|0;m=c[b+128>>2]|0;if((m|0)<(p|0)?(c[b+132>>2]|0)<(p|0):0){if(!p)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((p<<2|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+128>>2]|0}d=c[b+136>>2]|0;if((m|0)<=0)if(!d)m=b+140|0;else Y=106;else{n=0;do{c[l+(n<<2)>>2]=c[d+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0));Y=106}if((Y|0)==106){if(a[b+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+136>>2]=0;m=b+140|0}a[m>>0]=1;c[b+136>>2]=l;c[b+132>>2]=p}c[b+128>>2]=p;if(!(c[k+64>>2]&16)){m=c[b+108>>2]|0;if((m|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((e<<2|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+108>>2]|0}d=c[b+116>>2]|0;if((m|0)<=0)if(!d)m=b+120|0;else Y=138;else{n=0;do{c[l+(n<<2)>>2]=c[d+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0));Y=138}if((Y|0)==138){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+116>>2]=0;m=b+120|0}a[m>>0]=1;c[b+116>>2]=l;c[b+112>>2]=e}c[b+108>>2]=e}else{m=c[b+108>>2]|0;if((m|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((e<<3|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+108>>2]|0}d=c[b+116>>2]|0;if((m|0)<=0)if(!d)m=b+120|0;else Y=122;else{n=0;do{c[l+(n<<2)>>2]=c[d+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0));Y=122}if((Y|0)==122){if(a[b+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+116>>2]=0;m=b+120|0}a[m>>0]=1;c[b+116>>2]=l;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}m=c[b+148>>2]|0;if((m|0)<(q|0)?(c[b+152>>2]|0)<(q|0):0){if(!q)l=0;else{c[7182]=(c[7182]|0)+1;l=xb((q<<2|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[b+148>>2]|0}d=c[b+156>>2]|0;if((m|0)<=0)if(!d)m=b+160|0;else Y=154;else{n=0;do{c[l+(n<<2)>>2]=c[d+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0));Y=154}if((Y|0)==154){if(a[b+160>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+156>>2]=0;m=b+160|0}a[m>>0]=1;c[b+156>>2]=l;c[b+152>>2]=q}c[b+148>>2]=q;if((p|0)>0){m=c[b+136>>2]|0;l=0;do{c[m+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(p|0))}if((e|0)>0){m=c[b+116>>2]|0;l=0;do{c[m+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(e|0))}if((q|0)>0){m=c[b+156>>2]|0;l=0;do{c[m+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(q|0))}l=c[3084]|0;b=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=b;if(b|0){sa=Z;return 0.0}do if(c[l+4>>2]|0){la(Z|0,0)|0;b=c[7181]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[Z+4>>2]|0)-(c[b+4>>2]|0)+(((c[Z>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[3084]|0;break}else{sa=Z;return 0.0}}while(0);c[3084]=c[l+20>>2];sa=Z;return 0.0}function Cb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0.0,B=0.0,D=0.0,E=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ma=sa;sa=sa+80|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){ra=+g[b+556>>2];pa=+g[b+560>>2];la=+g[b+564>>2];oa=+g[b+568>>2];aa=ra*(2.0/(ra*ra+pa*pa+la*la+oa*oa));qa=pa*(2.0/(ra*ra+pa*pa+la*la+oa*oa));na=la*(2.0/(ra*ra+pa*pa+la*la+oa*oa));ba=+g[b+300>>2];T=+g[d>>2];ca=+g[b+316>>2];U=+g[d+4>>2];da=+g[b+332>>2];V=+g[d+8>>2];fa=+g[b+304>>2];ha=+g[b+320>>2];ja=+g[b+336>>2];Z=+g[b+308>>2];_=+g[b+324>>2];$=+g[b+340>>2];W=+g[d+16>>2];X=+g[d+20>>2];Y=+g[d+24>>2];ga=+g[d+32>>2];ia=+g[d+36>>2];ka=+g[d+40>>2];r=+g[b+348>>2];q=+g[b+352>>2];p=+g[b+356>>2];v=+g[b+364>>2];l=+g[e>>2];y=+g[b+380>>2];m=+g[e+4>>2];B=+g[b+396>>2];k=+g[e+8>>2];D=+g[b+368>>2];E=+g[b+384>>2];G=+g[b+400>>2];s=+g[b+372>>2];t=+g[b+388>>2];u=+g[b+404>>2];n=+g[e+16>>2];o=+g[e+20>>2];j=+g[e+24>>2];H=+g[e+32>>2];J=+g[e+36>>2];L=+g[e+40>>2];I=+g[b+412>>2];K=+g[b+416>>2];i=+g[b+420>>2];N=(1.0-(pa*qa+la*na))*(v*l+y*m+B*k)+(ra*qa+oa*na)*(l*D+m*E+k*G)+(ra*na-oa*qa)*(l*s+m*t+k*u);O=(ra*qa-oa*na)*(v*l+y*m+B*k)+(1.0-(ra*aa+la*na))*(l*D+m*E+k*G)+(pa*na+oa*aa)*(l*s+m*t+k*u);M=(ra*na+oa*qa)*(v*l+y*m+B*k)+(pa*na-oa*aa)*(l*D+m*E+k*G)+(1.0-(ra*aa+pa*qa))*(l*s+m*t+k*u);R=(ra*na-oa*qa)*(s*n+t*o+u*j)+((1.0-(pa*qa+la*na))*(v*n+y*o+B*j)+(ra*qa+oa*na)*(D*n+E*o+G*j));S=(pa*na+oa*aa)*(s*n+t*o+u*j)+((ra*qa-oa*na)*(v*n+y*o+B*j)+(1.0-(ra*aa+la*na))*(D*n+E*o+G*j));P=(1.0-(ra*aa+pa*qa))*(s*n+t*o+u*j)+((ra*na+oa*qa)*(v*n+y*o+B*j)+(pa*na-oa*aa)*(D*n+E*o+G*j));ea=(ra*na-oa*qa)*(s*H+t*J+u*L)+((1.0-(pa*qa+la*na))*(v*H+y*J+B*L)+(ra*qa+oa*na)*(D*H+E*J+G*L));la=(pa*na+oa*aa)*(s*H+t*J+u*L)+((ra*qa-oa*na)*(v*H+y*J+B*L)+(1.0-(ra*aa+la*na))*(D*H+E*J+G*L));aa=(1.0-(ra*aa+pa*qa))*(s*H+t*J+u*L)+((ra*na+oa*qa)*(v*H+y*J+B*L)+(pa*na-oa*aa)*(D*H+E*J+G*L));oa=-(+g[d+48>>2]+(T*r+U*q+V*p));na=-(W*r+X*q+Y*p+ +g[d+52>>2]);p=-(ga*r+ia*q+ka*p+ +g[d+56>>2]);q=(ba*T+ca*U+da*V)*oa+(ba*W+ca*X+da*Y)*na+(ba*ga+ca*ia+da*ka)*p;r=(T*fa+U*ha+V*ja)*oa+(fa*W+ha*X+ja*Y)*na+(fa*ga+ha*ia+ja*ka)*p;p=(T*Z+U*_+V*$)*oa+(Z*W+_*X+$*Y)*na+(Z*ga+_*ia+$*ka)*p;k=p*M+(q*N+r*O)+((v*l+y*m+B*k)*0.0+(l*D+m*E+k*G)*0.0+(l*s+m*t+k*u)*0.0+(+g[e+48>>2]+(l*I+m*K+k*i)));j=p*P+(q*R+r*S)+((s*n+t*o+u*j)*0.0+((v*n+y*o+B*j)*0.0+(D*n+E*o+G*j)*0.0)+(n*I+o*K+j*i+ +g[e+52>>2]));i=p*aa+(q*ea+r*la)+((s*H+t*J+u*L)*0.0+((v*H+y*J+B*L)*0.0+(D*H+E*J+G*L)*0.0)+(H*I+J*K+L*i+ +g[e+56>>2]));g[ma+16>>2]=(T*Z+U*_+V*$)*M+((ba*T+ca*U+da*V)*N+(T*fa+U*ha+V*ja)*O);g[ma+16+4>>2]=(Z*W+_*X+$*Y)*M+((ba*W+ca*X+da*Y)*N+(fa*W+ha*X+ja*Y)*O);g[ma+16+8>>2]=(Z*ga+_*ia+$*ka)*M+((ba*ga+ca*ia+da*ka)*N+(fa*ga+ha*ia+ja*ka)*O);g[ma+16+12>>2]=0.0;g[ma+16+16>>2]=(T*Z+U*_+V*$)*P+((ba*T+ca*U+da*V)*R+(T*fa+U*ha+V*ja)*S);g[ma+16+20>>2]=(Z*W+_*X+$*Y)*P+((ba*W+ca*X+da*Y)*R+(fa*W+ha*X+ja*Y)*S);g[ma+16+24>>2]=(Z*ga+_*ia+$*ka)*P+((ba*ga+ca*ia+da*ka)*R+(fa*ga+ha*ia+ja*ka)*S);g[ma+16+28>>2]=0.0;g[ma+16+32>>2]=(T*Z+U*_+V*$)*aa+((ba*T+ca*U+da*V)*ea+(T*fa+U*ha+V*ja)*la);g[ma+16+36>>2]=(Z*W+_*X+$*Y)*aa+((ba*W+ca*X+da*Y)*ea+(fa*W+ha*X+ja*Y)*la);g[ma+16+40>>2]=(Z*ga+_*ia+$*ka)*aa+((ba*ga+ca*ia+da*ka)*ea+(fa*ga+ha*ia+ja*ka)*la);g[ma+16+44>>2]=0.0;g[ma+16+48>>2]=k;g[ma+16+52>>2]=j;g[ma+16+56>>2]=i;g[ma+16+60>>2]=0.0;Og(ma+16|0,ma);i=+g[ma>>2];j=+g[ma+4>>2];k=+g[ma+8>>2];if(!(+w(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,ra=1.0/+x(+(i*i+j*j+k*k)),g[b+460>>2]=ra*i,g[b+464>>2]=ra*j,g[b+468>>2]=ra*k,ra=+g[ma+12>>2],ra=ra<-1.0?-1.0:ra,ra=+C(+(ra>1.0?1.0:ra))*2.0,g[b+504>>2]=ra,!(+w(+ra)<1.1920928955078125e-07)):0)a[b+526>>0]=1;sa=ma;return}Og(d,ma+16|0);Og(b+300|0,ma);V=+g[ma+16+12>>2];W=+g[ma>>2];X=+g[ma+16>>2];Y=+g[ma+12>>2];Z=+g[ma+16+4>>2];_=+g[ma+8>>2];$=+g[ma+16+8>>2];aa=+g[ma+4>>2];Og(e,ma+16|0);Og(b+364|0,ma);ba=+g[ma+16+12>>2];ca=+g[ma>>2];da=+g[ma+16>>2];ea=+g[ma+12>>2];fa=+g[ma+16+4>>2];ga=+g[ma+8>>2];ha=+g[ma+16+8>>2];ia=+g[ma+4>>2];ja=-(ba*ca+da*ea+fa*ga-ha*ia);ka=-(ca*ha+(ea*fa+ba*ia)-da*ga);la=-(ba*ga+ea*ha+da*ia-ca*fa);o=(V*Y-W*X-Z*aa-_*$)*ja+(V*W+X*Y+Z*_-$*aa)*(ba*ea-ca*da-fa*ia-ga*ha)+(V*_+Y*$+X*aa-W*Z)*ka-(W*$+(Y*Z+V*aa)-X*_)*la;p=(V*W+X*Y+Z*_-$*aa)*la+((W*$+(Y*Z+V*aa)-X*_)*(ba*ea-ca*da-fa*ia-ga*ha)+(V*Y-W*X-Z*aa-_*$)*ka)-(V*_+Y*$+X*aa-W*Z)*ja;q=(W*$+(Y*Z+V*aa)-X*_)*ja+((V*_+Y*$+X*aa-W*Z)*(ba*ea-ca*da-fa*ia-ga*ha)+(V*Y-W*X-Z*aa-_*$)*la)-(V*W+X*Y+Z*_-$*aa)*ka;r=(V*Y-W*X-Z*aa-_*$)*(ba*ea-ca*da-fa*ia-ga*ha)-(V*W+X*Y+Z*_-$*aa)*ja-(W*$+(Y*Z+V*aa)-X*_)*ka-(V*_+Y*$+X*aa-W*Z)*la;i=-o-p*0.0-q*0.0;j=(q+r*0.0-o*0.0)*-q+(r*(r+p*0.0-q*0.0)+i*-o)-(r*0.0+o*0.0-p)*-p;k=(r*0.0+o*0.0-p)*-o+(r*(q+r*0.0-o*0.0)+i*-p)-(r+p*0.0-q*0.0)*-q;i=(r+p*0.0-q*0.0)*-p+(r*(r*0.0+o*0.0-p)+i*-q)-(q+r*0.0-o*0.0)*-o;l=1.0/+x(+(i*i+(j*j+k*k)));if(i*l*0.0+(k*l*0.0+j*l)<-.9999998807907104){n=1.0;m=-0.0;i=0.0;j=0.0}else{ra=+x(+((i*l*0.0+(k*l*0.0+j*l)+1.0)*2.0));n=(j*l*0.0-i*l)*(1.0/ra);m=(i*l*0.0-k*l*0.0)*(1.0/ra);i=(k*l-j*l*0.0)*(1.0/ra);j=ra*.5}k=1.0/+x(+(m*m+n*n+i*i+j*j));l=m*k;t=n*k;s=i*k;k=j*k;T=1.0/+x(+((r*k-o*-l-p*-t-q*-s)*(r*k-o*-l-p*-t-q*-s)+((p*-l+(q*k+r*-s)-o*-t)*(p*-l+(q*k+r*-s)-o*-t)+((q*-t+(o*k+r*-l)-p*-s)*(q*-t+(o*k+r*-l)-p*-s)+(o*-s+(r*-t+p*k)-q*-l)*(o*-s+(r*-t+p*k)-q*-l)))));U=(q*-t+(o*k+r*-l)-p*-s)*T;j=(o*-s+(r*-t+p*k)-q*-l)*T;i=(p*-l+(q*k+r*-s)-o*-t)*T;T=(r*k-o*-l-p*-t-q*-s)*T;S=+g[b+444>>2];R=+g[b+456>>2];if(S>=R?(u=+g[b+448>>2],u>=R):0){q=k<-1.0?-1.0:k;q=+C(+(q>1.0?1.0:q))*2.0;if(q>1.1920928955078125e-07){n=1.0/+x(+(s*s+(l*l+t*t)));if(+w(+(t*n))>1.1920928955078125e-07){m=l*n;l=s*n;k=t*n;o=+x(+((s*n*s*n/(t*n*t*n)+1.0)/(s*n*s*n/(t*n*t*n)/(S*S)+1.0/(u*u))))}else{m=l*n;l=s*n;k=t*n;o=S}}else{m=0.0;l=0.0;k=0.0;o=0.0}n=+g[b+428>>2];p=o*n;if(q>p){a[b+526>>0]=1;if(q>2]=n;g[b+504>>2]=q-p;if(+w(+k)>1.1920928955078125e-07){ra=+w(+(k*u/S*(-l/k)));l=l<-0.0?ra:-ra;ra=1.0/+x(+(m*m+k*k+l*l));m=m*ra;l=-(l*ra);k=k*ra}qa=-m;pa=-k;na=-l;S=(ba*ea-ca*da-fa*ia-ga*ha)*qa+(ca*ha+(ea*fa+ba*ia)-da*ga)*na-(ba*ga+ea*ha+da*ia-ca*fa)*pa;ra=(ba*ga+ea*ha+da*ia-ca*fa)*qa+(ba*ea-ca*da-fa*ia-ga*ha)*pa-(ba*ca+da*ea+fa*ga-ha*ia)*na;oa=(ba*ca+da*ea+fa*ga-ha*ia)*pa+(ba*ea-ca*da-fa*ia-ga*ha)*na-(ca*ha+(ea*fa+ba*ia)-da*ga)*qa;na=-((ba*ca+da*ea+fa*ga-ha*ia)*qa)-(ca*ha+(ea*fa+ba*ia)-da*ga)*pa-(ba*ga+ea*ha+da*ia-ca*fa)*na;pa=ra*la+(na*ja+(ba*ea-ca*da-fa*ia-ga*ha)*S)-oa*ka;qa=oa*ja+((ba*ea-ca*da-fa*ia-ga*ha)*ra+na*ka)-S*la;ra=S*ka+(na*la+(ba*ea-ca*da-fa*ia-ga*ha)*oa)-ra*ja;g[b+460>>2]=pa;g[b+464>>2]=qa;g[b+468>>2]=ra;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(pa*(+g[f>>2]*pa+ +g[f+16>>2]*qa+ +g[f+32>>2]*ra)+qa*(pa*+g[f+4>>2]+qa*+g[f+20>>2]+ra*+g[f+36>>2])+ra*(pa*+g[f+8>>2]+qa*+g[f+24>>2]+ra*+g[f+40>>2])+(pa*(pa*+g[h>>2]+qa*+g[h+16>>2]+ra*+g[h+32>>2])+qa*(pa*+g[h+4>>2]+qa*+g[h+20>>2]+ra*+g[h+36>>2])+ra*(pa*+g[h+8>>2]+qa*+g[h+24>>2]+ra*+g[h+40>>2])))}}else Q=20;a:do if((Q|0)==20){E=+g[b+300>>2];G=+g[b+316>>2];H=+g[b+332>>2];I=+g[d>>2];J=+g[d+4>>2];K=+g[d+8>>2];L=+g[d+16>>2];M=+g[d+20>>2];N=+g[d+24>>2];O=+g[d+32>>2];P=+g[d+36>>2];q=+g[d+40>>2];r=+g[b+304>>2];s=+g[b+320>>2];t=+g[b+336>>2];u=+g[b+308>>2];v=+g[b+324>>2];y=+g[b+340>>2];n=+g[b+364>>2];k=+g[b+380>>2];p=+g[b+396>>2];B=n*+g[e>>2]+k*+g[e+4>>2]+p*+g[e+8>>2];D=n*+g[e+16>>2]+k*+g[e+20>>2]+p*+g[e+24>>2];p=n*+g[e+32>>2]+k*+g[e+36>>2]+p*+g[e+40>>2];k=(E*I+G*J+H*K)*B+(E*L+G*M+H*N)*D+(E*O+G*P+H*q)*p;n=(I*r+J*s+K*t)*B+(L*r+M*s+N*t)*D+(O*r+P*s+q*t)*p;m=(I*u+J*v+K*y)*B+(L*u+M*v+N*y)*D+(O*u+P*v+q*y)*p;do if(S>2];if(o>0]=1;g[b+460>>2]=-((E*O+G*P+H*q)*D-(E*L+G*M+H*N)*p);g[b+464>>2]=-((E*I+G*J+H*K)*p-(E*O+G*P+H*q)*B);g[b+468>>2]=-((E*L+G*M+H*N)*B-(E*I+G*J+H*K)*D);g[b+472>>2]=0.0;break a}if(!(+w(+k)<1.1920928955078125e-07&+w(+m)<1.1920928955078125e-07)?(a[b+526>>0]=1,o>=R):0){l=+F(+m,+k);if(l>o){m=+A(+o);l=0.0;k=+z(+o);break}if(l<-o){m=-+A(+o);l=0.0;k=+z(+o)}else l=0.0}else l=n}else if(!(+w(+k)<1.1920928955078125e-07&+w(+n)<1.1920928955078125e-07)?(a[b+526>>0]=1,S>=R):0){l=+F(+n,+k);if(l>S){m=0.0;l=+A(+S);k=+z(+S);break}if(l<-S){m=0.0;l=-+A(+S);k=+z(+S)}else{m=0.0;l=n}}else l=n;while(0);pa=(I*u+J*v+K*y)*m+((I*r+J*s+K*t)*l+(E*I+G*J+H*K)*k);oa=(L*u+M*v+N*y)*m+((L*r+M*s+N*t)*l+(E*L+G*M+H*N)*k);na=(O*u+P*v+q*y)*m+((O*r+P*s+q*t)*l+(E*O+G*P+H*q)*k);qa=1.0/+x(+(na*na+(pa*pa+oa*oa)));g[b+472>>2]=0.0;ra=+x(+((D*na*qa-p*oa*qa)*(D*na*qa-p*oa*qa)+(p*pa*qa-B*na*qa)*(p*pa*qa-B*na*qa)+(B*oa*qa-D*pa*qa)*(B*oa*qa-D*pa*qa)));g[b+504>>2]=ra;g[b+460>>2]=-((D*na*qa-p*oa*qa)*(1.0/ra));g[b+464>>2]=-((p*pa*qa-B*na*qa)*(1.0/ra));g[b+468>>2]=-((B*oa*qa-D*pa*qa)*(1.0/ra))}while(0);o=+g[b+452>>2];if(!(o>=0.0)){g[b+512>>2]=0.0;sa=ma;return}l=T<-1.0?-1.0:T;l=+C(+(l>1.0?1.0:l))*2.0;if(l>3.1415927410125732){n=-T<-1.0?-1.0:-T;k=-U;j=-j;i=-i;n=+C(+(n>1.0?1.0:n))*2.0}else{k=U;n=l}g[b+512>>2]=n;if(n>1.1920928955078125e-07){ra=1.0/+x(+(k*k+j*j+i*i));k=k*ra;m=i*ra;j=j*ra}else m=i;i=+g[b+428>>2];if(n>o*i){a[b+525>>0]=1;l=n-o*i;if(n>2]=i;g[b+508>>2]=l;qa=-k;pa=-j;na=-m;U=(ba*ea-ca*da-fa*ia-ga*ha)*qa+(ca*ha+(ea*fa+ba*ia)-da*ga)*na-(ba*ga+ea*ha+da*ia-ca*fa)*pa;ra=(ba*ga+ea*ha+da*ia-ca*fa)*qa+(ba*ea-ca*da-fa*ia-ga*ha)*pa-(ba*ca+da*ea+fa*ga-ha*ia)*na;oa=(ba*ca+da*ea+fa*ga-ha*ia)*pa+(ba*ea-ca*da-fa*ia-ga*ha)*na-(ca*ha+(ea*fa+ba*ia)-da*ga)*qa;na=-((ba*ca+da*ea+fa*ga-ha*ia)*qa)-(ca*ha+(ea*fa+ba*ia)-da*ga)*pa-(ba*ga+ea*ha+da*ia-ca*fa)*na;pa=ra*la+(na*ja+(ba*ea-ca*da-fa*ia-ga*ha)*U)-oa*ka;qa=oa*ja+((ba*ea-ca*da-fa*ia-ga*ha)*ra+na*ka)-U*la;ra=U*ka+(na*la+(ba*ea-ca*da-fa*ia-ga*ha)*oa)-ra*ja;g[b+476>>2]=pa;g[b+480>>2]=qa;g[b+484>>2]=ra;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(pa*(+g[f>>2]*pa+ +g[f+16>>2]*qa+ +g[f+32>>2]*ra)+qa*(pa*+g[f+4>>2]+qa*+g[f+20>>2]+ra*+g[f+36>>2])+ra*(pa*+g[f+8>>2]+qa*+g[f+24>>2]+ra*+g[f+40>>2])+(pa*(pa*+g[h>>2]+qa*+g[h+16>>2]+ra*+g[h+32>>2])+qa*(pa*+g[h+4>>2]+qa*+g[h+20>>2]+ra*+g[h+36>>2])+ra*(pa*+g[h+8>>2]+qa*+g[h+24>>2]+ra*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){sa=ma;return}la=-k;ra=-j;na=-m;ka=(V*Y-W*X-Z*aa-_*$)*la+(W*$+(Y*Z+V*aa)-X*_)*na-(V*_+Y*$+X*aa-W*Z)*ra;qa=(V*_+Y*$+X*aa-W*Z)*la+(V*Y-W*X-Z*aa-_*$)*ra-(V*W+X*Y+Z*_-$*aa)*na;pa=(V*W+X*Y+Z*_-$*aa)*ra+(V*Y-W*X-Z*aa-_*$)*na-(W*$+(Y*Z+V*aa)-X*_)*la;na=-((V*W+X*Y+Z*_-$*aa)*la)-(W*$+(Y*Z+V*aa)-X*_)*ra-(V*_+Y*$+X*aa-W*Z)*na;ra=-(V*W+X*Y+Z*_-$*aa);la=-(W*$+(Y*Z+V*aa)-X*_);oa=-(V*_+Y*$+X*aa-W*Z);g[b+536>>2]=qa*oa+(na*ra+(V*Y-W*X-Z*aa-_*$)*ka)-pa*la;g[b+540>>2]=pa*ra+((V*Y-W*X-Z*aa-_*$)*qa+na*la)-ka*oa;g[b+544>>2]=ka*la+(na*oa+(V*Y-W*X-Z*aa-_*$)*pa)-qa*ra;g[b+548>>2]=0.0;sa=ma;return}function Db(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0;ma=c[b+28>>2]|0;na=c[b+32>>2]|0;la=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){j=+g[b+552>>2];R=+g[ma+4>>2];l=+g[b+568>>2];S=+g[ma+8>>2];n=+g[b+584>>2];T=+g[ma+12>>2];p=+g[b+556>>2];s=+g[b+572>>2];t=+g[b+588>>2];U=+g[b+560>>2];V=+g[b+576>>2];W=+g[b+592>>2];X=+g[ma+20>>2];Y=+g[ma+24>>2];Z=+g[ma+28>>2];_=+g[ma+36>>2];$=+g[ma+40>>2];aa=+g[ma+44>>2];u=+g[b+600>>2];v=+g[b+604>>2];w=+g[b+608>>2];y=+g[ma+52>>2];z=+g[ma+56>>2];A=+g[ma+60>>2];B=+g[na+4>>2];C=+g[na+8>>2];D=+g[na+12>>2];E=+g[b+624>>2];F=+g[b+640>>2];G=+g[b+656>>2];H=+g[na+20>>2];I=+g[na+24>>2];J=+g[na+28>>2];K=+g[na+36>>2];L=+g[na+40>>2];M=+g[na+44>>2];ja=+g[b+664>>2];ka=+g[b+668>>2];P=+g[b+672>>2];N=+g[na+52>>2]+(B*ja+C*ka+D*P);O=H*ja+I*ka+J*P+ +g[na+56>>2];P=K*ja+L*ka+M*P+ +g[na+60>>2];k=(a[b+736>>0]|0)==0;if(k){h=c[d+8>>2]|0;g[h>>2]=1.0;g[h+(la+1<<2)>>2]=1.0;g[h+((la<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;g[h>>2]=-1.0;g[h+(la+1<<2)>>2]=-1.0;g[h+((la<<1)+2<<2)>>2]=-1.0;h=la<<1;e=+g[ma+52>>2];f=+g[ma+56>>2];i=+g[ma+60>>2]}else{h=la<<1;e=y;f=z;i=A}e=y+(R*u+S*v+T*w)-e;ka=X*u+Y*v+Z*w+z-f;ja=_*u+$*v+aa*w+A-i;m=c[d+12>>2]|0;o=m+(h<<2)|0;c[m>>2]=0;g[m+4>>2]=ja;g[m+8>>2]=-ka;g[m+12>>2]=0.0;g[m+(la<<2)>>2]=-ja;c[m+(la<<2)+4>>2]=0;g[m+(la<<2)+8>>2]=e;g[m+(la<<2)+12>>2]=0.0;g[o>>2]=ka;g[o+4>>2]=-e;c[o+8>>2]=0;g[o+12>>2]=0.0;e=N-+g[na+52>>2];ka=O-+g[na+56>>2];ja=P-+g[na+60>>2];o=c[d+20>>2]|0;Q=o+(h<<2)|0;c[o>>2]=0;g[o+4>>2]=-ja;g[o+8>>2]=ka;g[o+12>>2]=0.0;g[o+(la<<2)>>2]=ja;c[o+(la<<2)+4>>2]=0;g[o+(la<<2)+8>>2]=-e;g[o+(la<<2)+12>>2]=0.0;g[Q>>2]=-ka;g[Q+4>>2]=e;c[Q+8>>2]=0;g[Q+12>>2]=0.0;e=+g[d>>2]*+g[d+4>>2];Q=c[d+28>>2]|0;if(k){g[Q>>2]=e*(N-(y+(R*u+S*v+T*w)));g[Q+(la<<2)>>2]=e*(O-(X*u+Y*v+Z*w+z));g[Q+(la<<1<<2)>>2]=e*(P-(_*u+$*v+aa*w+A))}g[m+(la*3<<2)>>2]=j*R+l*S+n*T;g[m+((la*3|0)+1<<2)>>2]=j*X+l*Y+n*Z;g[m+((la*3|0)+2<<2)>>2]=j*_+l*$+n*aa;g[m+(la<<2<<2)>>2]=R*p+S*s+T*t;g[m+((la<<2|1)<<2)>>2]=p*X+s*Y+t*Z;g[m+((la<<2|2)<<2)>>2]=p*_+s*$+t*aa;g[o+(la*3<<2)>>2]=-(j*R+l*S+n*T);g[o+((la*3|0)+1<<2)>>2]=-(j*X+l*Y+n*Z);g[o+((la*3|0)+2<<2)>>2]=-(j*_+l*$+n*aa);g[o+(la<<2<<2)>>2]=-(R*p+S*s+T*t);g[o+((la<<2|1)<<2)>>2]=-(p*X+s*Y+t*Z);g[o+((la<<2|2)<<2)>>2]=-(p*_+s*$+t*aa);ja=(U*X+V*Y+W*Z)*(E*K+F*L+G*M)-(U*_+V*$+W*aa)*(E*H+F*I+G*J);ka=(U*_+V*$+W*aa)*(B*E+C*F+D*G)-(R*U+S*V+T*W)*(E*K+F*L+G*M);ia=(R*U+S*V+T*W)*(E*H+F*I+G*J)-(U*X+V*Y+W*Z)*(B*E+C*F+D*G);g[Q+(la*3<<2)>>2]=((j*_+l*$+n*aa)*ia+((j*R+l*S+n*T)*ja+(j*X+l*Y+n*Z)*ka))*e;g[Q+(la<<2<<2)>>2]=((p*_+s*$+t*aa)*ia+((R*p+S*s+T*t)*ja+(p*X+s*Y+t*Z)*ka))*e;if(!(a[b+716>>0]|0)){p=0.0;r=0}else{ka=+g[b+708>>2]*+g[b+732>>2];p=ka;r=ka>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;g[m+(la*5<<2)>>2]=R*U+S*V+T*W;g[m+((la*5|0)+1<<2)>>2]=U*X+V*Y+W*Z;g[m+((la*5|0)+2<<2)>>2]=U*_+V*$+W*aa;g[o+(la*5<<2)>>2]=-(R*U+S*V+T*W);g[o+((la*5|0)+1<<2)>>2]=-(U*X+V*Y+W*Z);g[o+((la*5|0)+2<<2)>>2]=-(U*_+V*$+W*aa);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)j=(e+f)%6.2831854820251465+-6.2831854820251465;else j=(e+f)%6.2831854820251465;else j=(e+f)%6.2831854820251465+6.2831854820251465;m=n==j;o=Q+(la*5<<2)|0;g[o>>2]=0.0;k=c[b+748>>2]|0;l=+g[((k&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(k&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>j?1.0:0.0;do if(!(n>=j)){e=i/(l*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f0.0)if(f<=j&j-ej?0.0:1.0;break}else e=0.0}while(0);g[o>>2]=e*i*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;g[o>>2]=+g[o>>2]+p*l*+g[d>>2];if(k&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=(R*U+S*V+T*W)*+g[ma+328>>2]+(U*X+V*Y+W*Z)*+g[ma+332>>2]+(U*_+V*$+W*aa)*+g[ma+336>>2]-((R*U+S*V+T*W)*+g[na+328>>2]+(U*X+V*Y+W*Z)*+g[na+332>>2]+(U*_+V*$+W*aa)*+g[na+336>>2]);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}S=+g[ma+4>>2];T=+g[ma+8>>2];U=+g[ma+12>>2];p=+g[b+556>>2];t=+g[b+572>>2];u=+g[b+588>>2];V=+g[b+560>>2];W=+g[b+576>>2];X=+g[b+592>>2];Y=+g[ma+20>>2];Z=+g[ma+24>>2];_=+g[ma+28>>2];$=+g[ma+36>>2];aa=+g[ma+40>>2];ba=+g[ma+44>>2];y=+g[b+600>>2];A=+g[b+604>>2];z=+g[b+608>>2];f=+g[ma+52>>2];s=+g[ma+56>>2];l=+g[ma+60>>2];ca=+g[na+4>>2];da=+g[na+8>>2];ea=+g[na+12>>2];fa=+g[b+624>>2];ga=+g[b+640>>2];K=+g[b+656>>2];L=+g[na+20>>2];M=+g[na+24>>2];N=+g[na+28>>2];O=+g[na+36>>2];P=+g[na+40>>2];R=+g[na+44>>2];D=+g[b+664>>2];C=+g[b+668>>2];i=+g[b+672>>2];e=+g[na+52>>2];n=+g[na+56>>2];j=+g[na+60>>2];F=e+(ca*D+da*C+ea*i)-(f+(S*y+T*A+U*z));G=L*D+M*C+N*i+n-(Y*y+Z*A+_*z+s);H=O*D+P*C+R*i+j-($*y+aa*A+ba*z+l);v=+g[(c[b+28>>2]|0)+344>>2];w=+g[(c[b+32>>2]|0)+344>>2];E=v+w>0.0?w/(v+w):.5;ha=(S*V+T*W+U*X)*E+(ca*fa+da*ga+ea*K)*(1.0-E);ia=(V*Y+W*Z+X*_)*E+(fa*L+ga*M+K*N)*(1.0-E);ja=(V*$+W*aa+X*ba)*E+(fa*O+ga*P+K*R)*(1.0-E);ka=1.0/+x(+(ja*ja+(ha*ha+ia*ia)));B=(O*D+P*C+R*i+j-j)*ja*ka+((e+(ca*D+da*C+ea*i)-e)*ha*ka+(L*D+M*C+N*i+n-n)*ia*ka);e=e+(ca*D+da*C+ea*i)-e-ha*ka*B;n=L*D+M*C+N*i+n-n-ia*ka*B;j=O*D+P*C+R*i+j-j-ja*ka*B;i=($*y+aa*A+ba*z+l-l)*ja*ka+((f+(S*y+T*A+U*z)-f)*ha*ka+(Y*y+Z*A+_*z+s-s)*ia*ka);f=f+(S*y+T*A+U*z)-f-ha*ka*i;s=Y*y+Z*A+_*z+s-s-ia*ka*i;l=$*y+aa*A+ba*z+l-l-ja*ka*i;z=f+E*(ha*ka*i-ha*ka*B);A=s+E*(ia*ka*i-ia*ka*B);y=l+E*(ja*ka*i-ja*ka*B);C=e-(1.0-E)*(ha*ka*i-ha*ka*B);D=n-(1.0-E)*(ia*ka*i-ia*ka*B);B=j-(1.0-E)*(ja*ka*i-ja*ka*B);i=(E*j+(1.0-E)*l)*(E*j+(1.0-E)*l)+((E*e+(1.0-E)*f)*(E*e+(1.0-E)*f)+(E*n+(1.0-E)*s)*(E*n+(1.0-E)*s));if(i>1.1920928955078125e-07){p=1.0/+x(+i);J=(E*e+(1.0-E)*f)*p;I=(E*j+(1.0-E)*l)*p;p=(E*n+(1.0-E)*s)*p}else{J=S*p+T*t+U*u;I=p*$+t*aa+u*ba;p=p*Y+t*Z+u*_}s=ia*ka*I-ja*ka*p;t=ja*ka*J-ha*ka*I;u=ha*ka*p-ia*ka*J;Q=c[d+12>>2]|0;g[Q>>2]=A*I-y*p;g[Q+4>>2]=y*J-z*I;g[Q+8>>2]=z*p-A*J;Q=c[d+20>>2]|0;g[Q>>2]=-(D*I-B*p);g[Q+4>>2]=-(B*J-C*I);g[Q+8>>2]=-(C*p-D*J);if(v<1.1920928955078125e-07|w<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){e=E*(A*u-y*t);f=E*(y*s-z*u);i=E*(z*t-A*s);j=(1.0-E)*(D*u-B*t);l=(1.0-E)*(B*s-C*u);n=(1.0-E)*(C*t-D*s)}else{e=A*u-y*t;f=y*s-z*u;i=z*t-A*s;j=D*u-B*t;l=B*s-C*u;n=C*t-D*s}Q=(c[d+12>>2]|0)+(la<<2)|0;g[Q>>2]=e;g[Q+4>>2]=f;g[Q+8>>2]=i;Q=c[d+20>>2]|0;g[Q+(la<<2)>>2]=-j;g[Q+(la+1<<2)>>2]=-l;g[Q+(la+2<<2)>>2]=-n;if(v<1.1920928955078125e-07|w<1.1920928955078125e-07){n=E*(A*ja*ka-y*ia*ka);l=E*(y*ha*ka-z*ja*ka);f=E*(z*ia*ka-A*ha*ka);j=(1.0-E)*(D*ja*ka-B*ia*ka);i=(1.0-E)*(B*ha*ka-C*ja*ka);e=(1.0-E)*(C*ia*ka-D*ha*ka)}else{n=A*ja*ka-y*ia*ka;l=y*ha*ka-z*ja*ka;f=z*ia*ka-A*ha*ka;j=D*ja*ka-B*ia*ka;i=B*ha*ka-C*ja*ka;e=C*ia*ka-D*ha*ka}m=(c[d+12>>2]|0)+(la<<1<<2)|0;g[m>>2]=n;g[m+4>>2]=l;g[m+8>>2]=f;m=c[d+20>>2]|0;g[m+(la<<1<<2)>>2]=-j;g[m+((la<<1|1)<<2)>>2]=-i;g[m+((la<<1)+2<<2)>>2]=-e;e=+g[d>>2]*+g[d+4>>2];if(!(a[b+736>>0]|0)){o=c[d+8>>2]|0;g[o>>2]=J;g[o+4>>2]=p;g[o+8>>2]=I;o=(c[d+8>>2]|0)+(la<<2)|0;g[o>>2]=s;g[o+4>>2]=t;g[o+8>>2]=u;o=(c[d+8>>2]|0)+(la<<1<<2)|0;g[o>>2]=ha*ka;g[o+4>>2]=ia*ka;g[o+8>>2]=ja*ka;o=c[d+16>>2]|0;f=-J;g[o>>2]=f;g[o+4>>2]=-p;g[o+8>>2]=-I;g[o+(la<<2)>>2]=-s;g[o+(la+1<<2)>>2]=-t;g[o+(la+2<<2)>>2]=-u;g[o+(la<<1<<2)>>2]=-(ha*ka);g[o+((la<<1|1)<<2)>>2]=-(ia*ka);g[o+((la<<1)+2<<2)>>2]=-(ja*ka);o=c[d+28>>2]|0;g[o>>2]=e*(F*J+G*p+H*I);g[o+(la<<2)>>2]=e*(F*s+G*t+H*u);g[o+(la<<1<<2)>>2]=e*(F*ha*ka+G*ia*ka+H*ja*ka);e=f;f=-s;i=-t;j=-u;m=c[d+20>>2]|0}else{e=-J;f=-s;i=-t;j=-u;o=c[d+28>>2]|0}k=c[d+12>>2]|0;g[k+(la*3<<2)>>2]=J;g[k+((la*3|0)+1<<2)>>2]=p;g[k+((la*3|0)+2<<2)>>2]=I;g[k+(la<<2<<2)>>2]=s;g[k+((la<<2|1)<<2)>>2]=t;g[k+((la<<2|2)<<2)>>2]=u;g[m+(la*3<<2)>>2]=e;g[m+((la*3|0)+1<<2)>>2]=-p;g[m+((la*3|0)+2<<2)>>2]=-I;g[m+(la<<2<<2)>>2]=f;g[m+((la<<2|1)<<2)>>2]=i;g[m+((la<<2|2)<<2)>>2]=j;G=+g[d>>2]*+g[d+4>>2];H=(V*Y+W*Z+X*_)*(fa*O+ga*P+K*R)-(V*$+W*aa+X*ba)*(fa*L+ga*M+K*N);ba=(V*$+W*aa+X*ba)*(ca*fa+da*ga+ea*K)-(S*V+T*W+U*X)*(fa*O+ga*P+K*R);ga=(S*V+T*W+U*X)*(fa*L+ga*M+K*N)-(V*Y+W*Z+X*_)*(ca*fa+da*ga+ea*K);g[o+(la*3<<2)>>2]=G*(H*J+ba*p+ga*I);g[o+(la<<2<<2)>>2]=G*(H*s+ba*t+ga*u);if(!(a[b+716>>0]|0)){p=0.0;r=0}else{ga=+g[b+708>>2]*+g[b+732>>2];p=ga;r=ga>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;g[k+(la*5<<2)>>2]=ha*ka;g[k+((la*5|0)+1<<2)>>2]=ia*ka;g[k+((la*5|0)+2<<2)>>2]=ja*ka;g[m+(la*5<<2)>>2]=-(ha*ka);g[m+((la*5|0)+1<<2)>>2]=-(ia*ka);g[m+((la*5|0)+2<<2)>>2]=-(ja*ka);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)j=(e+f)%6.2831854820251465+-6.2831854820251465;else j=(e+f)%6.2831854820251465;else j=(e+f)%6.2831854820251465+6.2831854820251465;m=n==j;o=o+(la*5<<2)|0;g[o>>2]=0.0;k=c[b+748>>2]|0;l=+g[((k&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(k&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>j?1.0:0.0;do if(!(n>=j)){e=i/(l*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f0.0)if(f<=j&j-ej?0.0:1.0;break}else e=0.0}while(0);g[o>>2]=e*i*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;g[o>>2]=+g[o>>2]+p*l*+g[d>>2];if(k&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=+g[ma+328>>2]*ha*ka+ +g[ma+332>>2]*ia*ka+ +g[ma+336>>2]*ja*ka-(+g[na+328>>2]*ha*ka+ +g[na+332>>2]*ia*ka+ +g[na+336>>2]*ja*ka);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}function Eb(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;F=sa;sa=sa+896|0;E=c[h+4>>2]|0;D=c[h+12>>2]|0;k=c[E+4>>2]|0;if((k|0)<20){c[F+712>>2]=6448;c[F+712+168>>2]=0;g[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];g[F+352+308>>2]=9.999999747378752e-05;a[F+352+332>>0]=0;c[F+288>>2]=12028;c[F+64>>2]=12096;c[F+64+4>>2]=F+352;c[F+64+8>>2]=F+288;c[F+64+12>>2]=d;c[F+64+16>>2]=E;c[F+64+20>>2]=0;if((bd(F+64|0,e,f,D,D,F+712|0)|0?(u=F+712+132|0,p=+g[u>>2],q=+g[F+712+136>>2],r=+g[F+712+140>>2],p*p+q*q+r*r>9.999999747378752e-05):0)?(s=+g[F+712+164>>2],s<+g[i+4>>2]):0){j=1.0/+x(+(p*p+q*q+r*r));g[u>>2]=p*j;g[F+712+136>>2]=q*j;g[F+712+140>>2]=r*j;c[F+16>>2]=c[h+8>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[u>>2];c[F+16+8+4>>2]=c[u+4>>2];c[F+16+8+8>>2]=c[u+8>>2];c[F+16+8+12>>2]=c[u+12>>2];c[F+16+24>>2]=c[F+712+148>>2];c[F+16+24+4>>2]=c[F+712+148+4>>2];c[F+16+24+8>>2]=c[F+712+148+8>>2];c[F+16+24+12>>2]=c[F+712+148+12>>2];g[F+16+40>>2]=s;+ya[c[(c[i>>2]|0)+12>>2]&15](i,F+16|0,1)}sa=F;return}if((k+-21|0)>>>0>=9){if((k|0)!=31){sa=F;return}Ki(19525);if((c[E+16>>2]|0)>0){k=0;do{t=c[E+24>>2]|0;l=+g[t+(k*80|0)>>2];o=+g[t+(k*80|0)+4>>2];r=+g[t+(k*80|0)+8>>2];m=+g[t+(k*80|0)+16>>2];p=+g[t+(k*80|0)+20>>2];v=+g[t+(k*80|0)+24>>2];n=+g[t+(k*80|0)+32>>2];q=+g[t+(k*80|0)+36>>2];y=+g[t+(k*80|0)+40>>2];N=+g[t+(k*80|0)+48>>2];M=+g[t+(k*80|0)+52>>2];C=+g[t+(k*80|0)+56>>2];t=c[t+(k*80|0)+64>>2]|0;L=+g[D>>2];K=+g[D+4>>2];J=+g[D+8>>2];I=+g[D+16>>2];H=+g[D+20>>2];G=+g[D+24>>2];s=+g[D+32>>2];w=+g[D+36>>2];z=+g[D+40>>2];A=N*L+M*K+C*J+ +g[D+48>>2];B=N*I+M*H+C*G+ +g[D+52>>2];C=N*s+M*w+C*z+ +g[D+56>>2];g[F+712>>2]=l*L+m*K+n*J;g[F+712+4>>2]=o*L+p*K+q*J;g[F+712+8>>2]=r*L+v*K+y*J;g[F+712+12>>2]=0.0;g[F+712+16>>2]=l*I+m*H+n*G;g[F+712+20>>2]=o*I+p*H+q*G;g[F+712+24>>2]=r*I+v*H+y*G;g[F+712+28>>2]=0.0;g[F+712+32>>2]=l*s+m*w+n*z;g[F+712+36>>2]=o*s+p*w+q*z;g[F+712+40>>2]=r*s+v*w+y*z;g[F+712+44>>2]=0.0;g[F+712+48>>2]=A;g[F+712+52>>2]=B;g[F+712+56>>2]=C;g[F+712+60>>2]=0.0;b[F+352+8>>1]=1;b[F+352+10>>1]=-1;c[F+352>>2]=8720;c[F+352+12>>2]=i;c[F+352+16>>2]=k;c[F+352+4>>2]=c[i+4>>2];u=c[h+8>>2]|0;c[F+288>>2]=h;c[F+288+4>>2]=t;c[F+288+8>>2]=u;c[F+288+12>>2]=F+712;c[F+288+16>>2]=-1;c[F+288+20>>2]=k;Eb(d,e,f,F+288|0,F+352|0,j);k=k+1|0}while((k|0)<(c[E+16>>2]|0))}k=c[3084]|0;E=(c[k+16>>2]|0)+-1|0;c[k+16>>2]=E;if(E|0){sa=F;return}do if(c[k+4>>2]|0){la(F+712|0,0)|0;E=c[7181]|0;g[k+8>>2]=+g[k+8>>2]+ +(((c[F+712+4>>2]|0)-(c[E+4>>2]|0)+(((c[F+712>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[k+16>>2]|0)){k=c[3084]|0;break}else{sa=F;return}}while(0);c[3084]=c[k+20>>2];sa=F;return}switch(k|0){case 21:{o=+g[D>>2];p=+g[D+16>>2];q=+g[D+32>>2];r=+g[D+4>>2];s=+g[D+20>>2];v=+g[D+36>>2];w=+g[D+8>>2];y=+g[D+24>>2];z=+g[D+40>>2];A=-+g[D+48>>2];B=-+g[D+52>>2];C=-+g[D+56>>2];n=+g[e+48>>2];m=+g[e+52>>2];l=+g[e+56>>2];g[F+352>>2]=o*A+p*B+q*C+(o*n+p*m+q*l);g[F+352+4>>2]=r*A+s*B+v*C+(r*n+s*m+v*l);g[F+352+8>>2]=w*A+y*B+z*C+(w*n+y*m+z*l);g[F+352+12>>2]=0.0;l=+g[f+48>>2];m=+g[f+52>>2];n=+g[f+56>>2];O=+g[f>>2];G=+g[f+16>>2];H=+g[f+32>>2];I=+g[f+4>>2];J=+g[f+20>>2];K=+g[f+36>>2];L=+g[f+8>>2];M=+g[f+24>>2];N=+g[f+40>>2];g[F+288>>2]=o*O+p*G+q*H;g[F+288+4>>2]=o*I+p*J+q*K;g[F+288+8>>2]=o*L+p*M+q*N;g[F+288+12>>2]=0.0;g[F+288+16>>2]=r*O+s*G+v*H;g[F+288+20>>2]=r*I+s*J+v*K;g[F+288+24>>2]=r*L+s*M+v*N;g[F+288+28>>2]=0.0;g[F+288+32>>2]=w*O+y*G+z*H;g[F+288+36>>2]=w*I+y*J+z*K;g[F+288+40>>2]=w*L+y*M+z*N;k=F+288+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+8>>2]|0;N=+va[c[(c[E>>2]|0)+48>>2]&15](E);c[F+64>>2]=11956;c[F+64+4>>2]=d;c[F+64+8>>2]=c[e>>2];c[F+64+8+4>>2]=c[e+4>>2];c[F+64+8+8>>2]=c[e+8>>2];c[F+64+8+12>>2]=c[e+12>>2];c[F+64+24>>2]=c[e+16>>2];c[F+64+24+4>>2]=c[e+16+4>>2];c[F+64+24+8>>2]=c[e+16+8>>2];c[F+64+24+12>>2]=c[e+16+12>>2];c[F+64+40>>2]=c[e+32>>2];c[F+64+40+4>>2]=c[e+32+4>>2];c[F+64+40+8>>2]=c[e+32+8>>2];c[F+64+40+12>>2]=c[e+32+12>>2];c[F+64+56>>2]=c[e+48>>2];c[F+64+56+4>>2]=c[e+48+4>>2];c[F+64+56+8>>2]=c[e+48+8>>2];c[F+64+56+12>>2]=c[e+48+12>>2];c[F+64+72>>2]=c[f>>2];c[F+64+72+4>>2]=c[f+4>>2];c[F+64+72+8>>2]=c[f+8>>2];c[F+64+72+12>>2]=c[f+12>>2];c[F+64+88>>2]=c[f+16>>2];c[F+64+88+4>>2]=c[f+16+4>>2];c[F+64+88+8>>2]=c[f+16+8>>2];c[F+64+88+12>>2]=c[f+16+12>>2];c[F+64+104>>2]=c[f+32>>2];c[F+64+104+4>>2]=c[f+32+4>>2];c[F+64+104+8>>2]=c[f+32+8>>2];c[F+64+104+12>>2]=c[f+32+12>>2];c[F+64+120>>2]=c[f+48>>2];c[F+64+120+4>>2]=c[f+48+4>>2];c[F+64+120+8>>2]=c[f+48+8>>2];c[F+64+120+12>>2]=c[f+48+12>>2];c[F+64+136>>2]=c[D>>2];c[F+64+136+4>>2]=c[D+4>>2];c[F+64+136+8>>2]=c[D+8>>2];c[F+64+136+12>>2]=c[D+12>>2];c[F+64+152>>2]=c[D+16>>2];c[F+64+152+4>>2]=c[D+16+4>>2];c[F+64+152+8>>2]=c[D+16+8>>2];c[F+64+152+12>>2]=c[D+16+12>>2];c[F+64+168>>2]=c[D+32>>2];c[F+64+168+4>>2]=c[D+32+4>>2];c[F+64+168+8>>2]=c[D+32+8>>2];c[F+64+168+12>>2]=c[D+32+12>>2];c[F+64+184>>2]=c[D+48>>2];c[F+64+184+4>>2]=c[D+48+4>>2];c[F+64+184+8>>2]=c[D+48+8>>2];c[F+64+184+12>>2]=c[D+48+12>>2];g[F+64+204>>2]=N;c[F+64>>2]=8672;c[F+64+212>>2]=i;c[F+64+216>>2]=k;c[F+64+220>>2]=E;c[F+64+200>>2]=c[i+4>>2];g[F+64+208>>2]=j;ab[c[(c[d>>2]|0)+8>>2]&127](d,F+288|0,F+16|0,F);k=c[E+48>>2]|0;c[F+712>>2]=9712;c[F+712+4>>2]=k;c[F+712+8>>2]=F+64;k=c[E+52>>2]|0;if(!(a[k+60>>0]|0))Xd(k,F+712|0,F+352|0,o*A+p*B+q*C+(o*l+p*m+q*n),r*A+s*B+v*C+(r*l+s*m+v*n),w*A+y*B+z*C+(w*l+y*m+z*n),F+16|0,F);else Dd(k,F+712|0,F+352|0,o*A+p*B+q*C+(o*l+p*m+q*n),r*A+s*B+v*C+(r*l+s*m+v*n),w*A+y*B+z*C+(w*l+y*m+z*n),F+16|0,F,c[k+56>>2]|0);sa=F;return}case 28:{c[F+712>>2]=6448;c[F+712+168>>2]=0;g[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];c[F+352>>2]=12096;c[F+352+4>>2]=0;c[F+352+8>>2]=0;c[F+352+12>>2]=d;c[F+352+16>>2]=0;c[F+352+20>>2]=E;if((bd(F+352|0,e,f,D,D,F+712|0)|0?(t=F+712+132|0,l=+g[t>>2],m=+g[F+712+136>>2],n=+g[F+712+140>>2],l*l+m*m+n*n>9.999999747378752e-05):0)?(o=+g[F+712+164>>2],o<+g[i+4>>2]):0){O=1.0/+x(+(l*l+m*m+n*n));g[t>>2]=l*O;g[F+712+136>>2]=m*O;g[F+712+140>>2]=n*O;c[F+288>>2]=c[h+8>>2];c[F+288+4>>2]=0;c[F+288+8>>2]=c[t>>2];c[F+288+8+4>>2]=c[t+4>>2];c[F+288+8+8>>2]=c[t+8>>2];c[F+288+8+12>>2]=c[t+12>>2];c[F+288+24>>2]=c[F+712+148>>2];c[F+288+24+4>>2]=c[F+712+148+4>>2];c[F+288+24+8>>2]=c[F+712+148+8>>2];c[F+288+24+12>>2]=c[F+712+148+12>>2];g[F+288+40>>2]=o;+ya[c[(c[i>>2]|0)+12>>2]&15](i,F+288|0,1)}sa=F;return}default:{o=+g[D>>2];p=+g[D+16>>2];q=+g[D+32>>2];w=+g[D+4>>2];y=+g[D+20>>2];z=+g[D+36>>2];J=+g[D+8>>2];L=+g[D+24>>2];N=+g[D+40>>2];H=-+g[D+48>>2];G=-+g[D+52>>2];C=-+g[D+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];l=+g[e+56>>2];n=o*H+p*G+q*C+(o*A+p*B+q*l);m=w*H+y*G+z*C+(w*A+y*B+z*l);l=J*H+L*G+N*C+(J*A+L*B+N*l);B=+g[f+48>>2];A=+g[f+52>>2];v=+g[f+56>>2];r=o*H+p*G+q*C+(o*B+p*A+q*v);s=w*H+y*G+z*C+(w*B+y*A+z*v);v=J*H+L*G+N*C+(J*B+L*A+N*v);A=+g[f>>2];B=+g[f+16>>2];C=+g[f+32>>2];G=+g[f+4>>2];H=+g[f+20>>2];I=+g[f+36>>2];K=+g[f+8>>2];M=+g[f+24>>2];O=+g[f+40>>2];g[F+712>>2]=o*A+p*B+q*C;g[F+712+4>>2]=o*G+p*H+q*I;g[F+712+8>>2]=o*K+p*M+q*O;g[F+712+12>>2]=0.0;g[F+712+16>>2]=w*A+y*B+z*C;g[F+712+20>>2]=w*G+y*H+z*I;g[F+712+24>>2]=w*K+y*M+z*O;g[F+712+28>>2]=0.0;g[F+712+32>>2]=J*A+L*B+N*C;g[F+712+36>>2]=J*G+L*H+N*I;g[F+712+40>>2]=J*K+L*M+N*O;u=F+712+44|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;h=c[h+8>>2]|0;O=+va[c[(c[E>>2]|0)+48>>2]&15](E);c[F+352>>2]=11956;c[F+352+4>>2]=d;c[F+352+8>>2]=c[e>>2];c[F+352+8+4>>2]=c[e+4>>2];c[F+352+8+8>>2]=c[e+8>>2];c[F+352+8+12>>2]=c[e+12>>2];c[F+352+24>>2]=c[e+16>>2];c[F+352+24+4>>2]=c[e+16+4>>2];c[F+352+24+8>>2]=c[e+16+8>>2];c[F+352+24+12>>2]=c[e+16+12>>2];c[F+352+40>>2]=c[e+32>>2];c[F+352+40+4>>2]=c[e+32+4>>2];c[F+352+40+8>>2]=c[e+32+8>>2];c[F+352+40+12>>2]=c[e+32+12>>2];c[F+352+56>>2]=c[e+48>>2];c[F+352+56+4>>2]=c[e+48+4>>2];c[F+352+56+8>>2]=c[e+48+8>>2];c[F+352+56+12>>2]=c[e+48+12>>2];c[F+352+72>>2]=c[f>>2];c[F+352+72+4>>2]=c[f+4>>2];c[F+352+72+8>>2]=c[f+8>>2];c[F+352+72+12>>2]=c[f+12>>2];c[F+352+88>>2]=c[f+16>>2];c[F+352+88+4>>2]=c[f+16+4>>2];c[F+352+88+8>>2]=c[f+16+8>>2];c[F+352+88+12>>2]=c[f+16+12>>2];c[F+352+104>>2]=c[f+32>>2];c[F+352+104+4>>2]=c[f+32+4>>2];c[F+352+104+8>>2]=c[f+32+8>>2];c[F+352+104+12>>2]=c[f+32+12>>2];c[F+352+120>>2]=c[f+48>>2];c[F+352+120+4>>2]=c[f+48+4>>2];c[F+352+120+8>>2]=c[f+48+8>>2];c[F+352+120+12>>2]=c[f+48+12>>2];c[F+352+136>>2]=c[D>>2];c[F+352+136+4>>2]=c[D+4>>2];c[F+352+136+8>>2]=c[D+8>>2];c[F+352+136+12>>2]=c[D+12>>2];c[F+352+152>>2]=c[D+16>>2];c[F+352+152+4>>2]=c[D+16+4>>2];c[F+352+152+8>>2]=c[D+16+8>>2];c[F+352+152+12>>2]=c[D+16+12>>2];c[F+352+168>>2]=c[D+32>>2];c[F+352+168+4>>2]=c[D+32+4>>2];c[F+352+168+8>>2]=c[D+32+8>>2];c[F+352+168+12>>2]=c[D+32+12>>2];c[F+352+184>>2]=c[D+48>>2];c[F+352+184+4>>2]=c[D+48+4>>2];c[F+352+184+8>>2]=c[D+48+8>>2];c[F+352+184+12>>2]=c[D+48+12>>2];g[F+352+204>>2]=O;c[F+352>>2]=8696;c[F+352+212>>2]=i;c[F+352+216>>2]=h;c[F+352+220>>2]=E;c[F+352+200>>2]=c[i+4>>2];g[F+352+208>>2]=j;ab[c[(c[d>>2]|0)+8>>2]&127](d,F+712|0,F+288|0,F+64|0);g[F+16>>2]=n;g[F+16+4>>2]=m;g[F+16+8>>2]=l;g[F+16+12>>2]=0.0;if(r>2]=r;o=r}else o=n;if(s>2]=s;p=s}else p=m;if(v>2]=v;q=v}else q=l;g[F>>2]=n;g[F+4>>2]=m;g[F+8>>2]=l;g[F+12>>2]=0.0;if(n>2]=r;n=r}if(m>2]=s;m=s}if(l>2]=v;l=v}g[F+16>>2]=+g[F+288>>2]+o;g[F+16+4>>2]=+g[F+288+4>>2]+p;g[F+16+8>>2]=+g[F+288+8>>2]+q;g[F>>2]=+g[F+64>>2]+n;g[F+4>>2]=+g[F+64+4>>2]+m;g[F+8>>2]=+g[F+64+8>>2]+l;ab[c[(c[E>>2]|0)+64>>2]&127](E,F+352|0,F+16|0,F);sa=F;return}}}function Fb(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0;da=c[b+28>>2]|0;ea=c[b+32>>2]|0;W=+g[da+344>>2];X=+g[ea+344>>2];_=c[d+24>>2]|0;ca=(a[b+180>>0]|0)==0?-1.0:1.0;S=+g[b+936>>2]-+g[b+872>>2];T=+g[b+940>>2]-+g[b+876>>2];U=+g[b+944>>2]-+g[b+880>>2];Y=W+X>0.0?X/(W+X):.5;D=c[b+824>>2]|0;E=c[b+840>>2]|0;F=c[b+856>>2]|0;G=c[b+888>>2]|0;H=c[b+904>>2]|0;I=c[b+920>>2]|0;V=(a[b+49>>0]|0)==0;if(V){q=c[b+828>>2]|0;i=c[b+844>>2]|0;y=c[b+860>>2]|0;z=c[b+832>>2]|0;h=c[b+848>>2]|0;R=c[b+864>>2]|0;n=(c[j>>2]=q,+g[j>>2]);f=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=y,+g[j>>2]);r=(c[j>>2]=z,+g[j>>2]);s=(c[j>>2]=h,+g[j>>2]);$=D;u=R;aa=E;ba=F;o=(c[j>>2]=R,+g[j>>2])}else{e=Y*(c[j>>2]=D,+g[j>>2]);l=Y*(c[j>>2]=E,+g[j>>2]);k=Y*(c[j>>2]=F,+g[j>>2]);f=(1.0-Y)*(c[j>>2]=G,+g[j>>2]);m=(1.0-Y)*(c[j>>2]=H,+g[j>>2]);k=k+(1.0-Y)*(c[j>>2]=I,+g[j>>2]);n=1.0/+x(+((e+f)*(e+f)+(l+m)*(l+m)+k*k));h=(g[j>>2]=(e+f)*n,c[j>>2]|0);i=(g[j>>2]=(l+m)*n,c[j>>2]|0);q=(g[j>>2]=k*n,c[j>>2]|0);if(+w(+(k*n))>.7071067690849304){O=1.0/+x(+(k*n*k*n+(l+m)*n*(l+m)*n));s=-((e+f)*n*(l+m)*n*O);o=(e+f)*n*-(k*n*O);r=(k*n*k*n+(l+m)*n*(l+m)*n)*O;p=(l+m)*n*O;f=-(k*n*O);e=0.0}else{o=(e+f)*n*(e+f)*n+(l+m)*n*(l+m)*n;O=1.0/+x(+o);s=k*n*-((l+m)*n*O);o=o*O;r=-(k*n*(e+f)*n*O);p=0.0;f=(e+f)*n*O;e=-((l+m)*n*O)}R=(g[j>>2]=e,c[j>>2]|0);Q=(g[j>>2]=f,c[j>>2]|0);y=(g[j>>2]=p,c[j>>2]|0);z=(g[j>>2]=r,c[j>>2]|0);P=(g[j>>2]=s,c[j>>2]|0);$=h;u=(g[j>>2]=o,c[j>>2]|0);aa=i;ba=q;h=P;i=Q;q=R;n=e}R=c[d+12>>2]|0;c[R>>2]=q;c[R+4>>2]=i;c[R+8>>2]=y;c[R+(_<<2)>>2]=z;c[R+(_+1<<2)>>2]=h;c[R+(_+2<<2)>>2]=u;k=-n;P=c[d+20>>2]|0;g[P>>2]=k;g[P+4>>2]=-f;g[P+8>>2]=-p;g[P+(_<<2)>>2]=-r;g[P+(_+1<<2)>>2]=-s;g[P+(_+2<<2)>>2]=-o;Q=c[b+300>>2]|0;e=+g[b+280>>2];if(!(Q&128))e=e*+g[d+4>>2];B=e*+g[d>>2];N=(c[j>>2]=E,+g[j>>2]);K=(c[j>>2]=I,+g[j>>2]);C=(c[j>>2]=F,+g[j>>2]);M=(c[j>>2]=H,+g[j>>2]);O=(c[j>>2]=G,+g[j>>2]);L=(c[j>>2]=D,+g[j>>2]);u=c[d+28>>2]|0;g[u>>2]=B*((N*K-C*M)*n+(C*O-L*K)*f+(L*M-N*O)*p);g[u+(_<<2)>>2]=B*((N*K-C*M)*r+(C*O-L*K)*s+(L*M-N*O)*o);if(Q&64|0){I=c[d+32>>2]|0;c[I>>2]=c[b+292>>2];c[I+(_<<2)>>2]=c[b+292>>2]}A=+g[da+52>>2];t=+g[da+56>>2];v=+g[da+60>>2];m=+g[ea+52>>2];e=+g[ea+56>>2];l=+g[ea+60>>2];if(V){N=(e-t)*p-(l-v)*f;O=(l-v)*n-(m-A)*p;M=(m-A)*f-(e-t)*n;g[R+(_<<1<<2)>>2]=Y*N;g[R+((_<<1|1)<<2)>>2]=Y*O;g[R+((_<<1)+2<<2)>>2]=Y*M;g[P+(_<<1<<2)>>2]=(1.0-Y)*N;g[P+((_<<1|1)<<2)>>2]=(1.0-Y)*O;g[P+((_<<1)+2<<2)>>2]=(1.0-Y)*M;M=(e-t)*o-(l-v)*s;O=(l-v)*r-(m-A)*o;N=(m-A)*s-(e-t)*r;g[R+(_*3<<2)>>2]=Y*M;g[R+((_*3|0)+1<<2)>>2]=Y*O;g[R+((_*3|0)+2<<2)>>2]=Y*N;g[P+(_*3<<2)>>2]=(1.0-Y)*M;g[P+((_*3|0)+1<<2)>>2]=(1.0-Y)*O;g[P+((_*3|0)+2<<2)>>2]=(1.0-Y)*N;i=c[d+8>>2]|0;g[i+(_<<1<<2)>>2]=n;g[i+((_<<1|1)<<2)>>2]=f;g[i+((_<<1)+2<<2)>>2]=p;g[i+(_*3<<2)>>2]=r;g[i+((_*3|0)+1<<2)>>2]=s;g[i+((_*3|0)+2<<2)>>2]=o;q=c[d+16>>2]|0;g[q+(_<<1<<2)>>2]=k;g[q+((_<<1|1)<<2)>>2]=-f;g[q+((_<<1)+2<<2)>>2]=-p;g[q+(_*3<<2)>>2]=-r;g[q+((_*3|0)+1<<2)>>2]=-s;h=q+((_*3|0)+2<<2)|0;N=n;O=0.0;M=0.0;L=0.0;K=0.0;C=0.0;B=0.0;n=e-t;l=l-v;k=m-A}else{r=+g[b+936>>2]-m;s=+g[b+940>>2]-e;M=+g[b+944>>2]-l;n=(c[j>>2]=$,+g[j>>2]);o=(c[j>>2]=aa,+g[j>>2]);m=(c[j>>2]=ba,+g[j>>2]);N=+g[b+872>>2]-A;O=+g[b+876>>2]-t;e=+g[b+880>>2]-v;C=+g[b+1080>>2]-+g[b+1032>>2];B=(N*n+O*o+e*m)*n+C*n-(r*n+s*o+M*m)*n;K=(N*n+O*o+e*m)*o+C*o-(r*n+s*o+M*m)*o;C=(N*n+O*o+e*m)*m+C*m-(r*n+s*o+M*m)*m;L=N-(N*n+O*o+e*m)*n+Y*B;t=O-(N*n+O*o+e*m)*o+Y*K;v=e-(N*n+O*o+e*m)*m+Y*C;B=r-(r*n+s*o+M*m)*n-(1.0-Y)*B;K=s-(r*n+s*o+M*m)*o-(1.0-Y)*K;C=M-(r*n+s*o+M*m)*m-(1.0-Y)*C;k=Y*(r-(r*n+s*o+M*m)*n)+(1.0-Y)*(N-(N*n+O*o+e*m)*n);f=Y*(s-(r*n+s*o+M*m)*o)+(1.0-Y)*(O-(N*n+O*o+e*m)*o);e=Y*(M-(r*n+s*o+M*m)*m)+(1.0-Y)*(e-(N*n+O*o+e*m)*m);if(e*e+(k*k+f*f)>1.1920928955078125e-07){O=1.0/+x(+(e*e+(k*k+f*f)));i=(g[j>>2]=f*O,c[j>>2]|0);q=(g[j>>2]=e*O,c[j>>2]|0);l=e*O;e=f*O;p=k*O;h=(g[j>>2]=k*O,c[j>>2]|0)}else{h=c[b+828>>2]|0;i=c[b+844>>2]|0;q=c[b+860>>2]|0;l=(c[j>>2]=q,+g[j>>2]);e=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=h,+g[j>>2])}r=l*o-e*m;s=p*m-l*n;o=e*n-p*o;g[R+(_<<1<<2)>>2]=t*l-v*e;g[R+(_<<1<<2)+4>>2]=v*p-L*l;g[R+(_<<1<<2)+8>>2]=L*e-t*p;g[P+(_<<1<<2)>>2]=-(K*l-C*e);g[P+((_<<1|1)<<2)>>2]=-(C*p-B*l);g[P+((_<<1)+2<<2)>>2]=-(B*e-K*p);if(W<1.1920928955078125e-07|X<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=Y*(t*o-v*s);f=Y*(L*s-t*r);k=Y*(v*r-L*o);l=(1.0-Y)*(K*o-C*s);m=(1.0-Y)*(C*r-B*o);n=(1.0-Y)*(B*s-K*r)}else{e=t*o-v*s;f=L*s-t*r;k=v*r-L*o;l=K*o-C*s;m=C*r-B*o;n=B*s-K*r}g[R+(_*3<<2)>>2]=e;g[R+(_*3<<2)+4>>2]=k;g[R+(_*3<<2)+8>>2]=f;g[P+(_*3<<2)>>2]=-l;g[P+((_*3|0)+1<<2)>>2]=-m;g[P+((_*3|0)+2<<2)>>2]=-n;H=c[d+8>>2]|0;c[H+(_<<1<<2)>>2]=h;c[H+((_<<1|1)<<2)>>2]=i;c[H+((_<<1)+2<<2)>>2]=q;g[H+(_*3<<2)>>2]=r;g[H+((_*3|0)+1<<2)>>2]=s;g[H+((_*3|0)+2<<2)>>2]=o;I=c[d+16>>2]|0;g[I+(_<<1<<2)>>2]=-p;f=(c[j>>2]=i,+g[j>>2]);g[I+((_<<1|1)<<2)>>2]=-f;O=(c[j>>2]=q,+g[j>>2]);g[I+((_<<1)+2<<2)>>2]=-O;g[I+(_*3<<2)>>2]=-r;g[I+((_*3|0)+1<<2)>>2]=-s;h=I+((_*3|0)+2<<2)|0;N=p;p=O;i=H;q=I;O=t;M=v;n=0.0;l=0.0;k=0.0}g[h>>2]=-o;e=+g[b+264>>2];if(!(Q&32))e=e*+g[d+4>>2];A=e*+g[d>>2];g[u+(_<<1<<2)>>2]=A*(S*N+T*f+U*p);g[u+(_*3<<2)>>2]=A*(S*r+T*s+U*o);if(Q&16|0){I=c[d+32>>2]|0;c[I+(_<<1<<2)>>2]=c[b+276>>2];c[I+(_*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0)){o=0.0;z=0}else{U=ca*+g[b+1032>>2];o=U;z=U>0.0?2:1}h=a[b+1096>>0]|0;y=(z|0)!=0;if(z|h&255){c[i+(_<<2<<2)>>2]=$;c[i+((_<<2|1)<<2)>>2]=aa;c[i+((_<<2|2)<<2)>>2]=ba;p=(c[j>>2]=$,+g[j>>2]);g[q+(_<<2<<2)>>2]=-p;r=(c[j>>2]=aa,+g[j>>2]);g[q+((_<<2|1)<<2)>>2]=-r;s=(c[j>>2]=ba,+g[j>>2]);g[q+((_<<2|2)<<2)>>2]=-s;if(!V){if(!(W<1.1920928955078125e-07|X<1.1920928955078125e-07)){g[R+(_<<2<<2)>>2]=O*s-M*r;g[R+((_<<2|1)<<2)>>2]=M*p-L*s;g[R+((_<<2|2)<<2)>>2]=L*r-O*p;g[P+(_<<2<<2)>>2]=-(K*s-C*r);g[P+((_<<2|1)<<2)>>2]=-(C*p-B*s);e=-(B*r-K*p);Z=31}}else{W=n*s-l*r;X=l*p-k*s;e=k*r-n*p;g[R+(_<<2<<2)>>2]=Y*W;g[R+((_<<2|1)<<2)>>2]=Y*X;g[R+((_<<2|2)<<2)>>2]=Y*e;g[P+(_<<2<<2)>>2]=(1.0-Y)*W;g[P+((_<<2|1)<<2)>>2]=(1.0-Y)*X;e=(1.0-Y)*e;Z=31}if((Z|0)==31)g[P+((_<<2|2)<<2)>>2]=e;q=+g[b+184>>2]==+g[b+188>>2];g[u+(_<<2<<2)>>2]=0.0;i=(c[d+36>>2]|0)+(_<<2<<2)|0;g[i>>2]=0.0;u=(c[d+40>>2]|0)+(_<<2<<2)|0;g[u>>2]=0.0;n=+g[((Q&512|0)==0?d+4|0:b+232|0)>>2];if(!(h<<24>>24==0|y&q)){if(Q&1|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+212>>2];m=+g[b+1100>>2];e=+g[b+1080>>2];f=+g[b+184>>2];k=+g[b+188>>2];l=n*+g[d>>2];do if(!(f>k))if(!(f==k)){if(m/l<0.0)if(e>=f?f-m/l>e:0){e=(f-e)/(m/l);break}else{e=e0.0)if(e<=k?k-m/lk?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);Z=(c[d+28>>2]|0)+(_<<2<<2)|0;g[Z>>2]=+g[Z>>2]-ca*e*m;g[i>>2]=+g[i>>2]-+g[b+1104>>2]*+g[d>>2];g[u>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[u>>2]}if(y){h=(c[d+28>>2]|0)+(_<<2<<2)|0;g[h>>2]=+g[h>>2]+o*n*+g[d>>2];if(c[b+300>>2]&256|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+244>>2];do if(!q)if((z|0)==1){g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}else{g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[u>>2]=e;Y=1.0-+g[b+240>>2];f=+w(+Y);do if(!(Y!=Y|0.0!=0.0|Y==0.0)){e=ca*(+g[da+312>>2]*p+ +g[da+316>>2]*r+ +g[da+320>>2]*s-(+g[ea+312>>2]*p+ +g[ea+316>>2]*r+ +g[ea+320>>2]*s));if((z|0)==1){if(!(e<0.0))break;if(!(+g[h>>2]<-(f*e)))break;g[h>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[h>>2]>-(f*e)))break;g[h>>2]=-(f*e);break}}while(0);g[h>>2]=+g[b+232>>2]*+g[h>>2];h=5}else h=5}else h=4;if(!(a[b+297>>0]|0)){s=0.0;y=0}else{ca=+g[b+1088>>2];s=ca;y=ca>0.0?1:2}i=a[b+1112>>0]|0;q=(y|0)!=0;if(!(y|i&255))return;u=J(c[d+24>>2]|0,h)|0;h=c[d+12>>2]|0;c[h+(u<<2)>>2]=$;c[h+(u+1<<2)>>2]=aa;c[h+(u+2<<2)>>2]=ba;v=(c[j>>2]=$,+g[j>>2]);h=c[d+20>>2]|0;g[h+(u<<2)>>2]=-v;t=(c[j>>2]=aa,+g[j>>2]);g[h+(u+1<<2)>>2]=-t;r=(c[j>>2]=ba,+g[j>>2]);g[h+(u+2<<2)>>2]=-r;n=+g[b+192>>2];o=+g[b+196>>2];h=c[b+300>>2]|0;p=+g[((h&2048|0)==0?d+4|0:b+248|0)>>2];if(!(i<<24>>24==0|q&n==o)){if(!(h&4)){k=o;l=n}else{c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+228>>2];k=+g[b+196>>2];l=+g[b+192>>2]}e=+g[b+1084>>2];m=+g[b+1116>>2];f=p*+g[d>>2];do if(!(l>k))if(!(l==k)){if(m/f<0.0)if(e>=l?l-m/f>e:0){e=(l-e)/(m/f);break}else{e=e0.0)if(e<=k?k-m/fk?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[(c[d+28>>2]|0)+(u<<2)>>2]=e*m;g[(c[d+36>>2]|0)+(u<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(u<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!q)return;i=(c[d+28>>2]|0)+(u<<2)|0;g[i>>2]=+g[i>>2]+s*p*+g[d>>2];if(h&1024|0)c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+260>>2];do if(!(n==o)){h=(c[d+36>>2]|0)+(u<<2)|0;if((y|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(u<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(u<<2)>>2]=e;ca=1.0-+g[b+256>>2];f=+w(+ca);do if(!(ca!=ca|0.0!=0.0|ca==0.0)){ea=c[b+28>>2]|0;d=c[b+32>>2]|0;e=+g[ea+328>>2]*v+ +g[ea+332>>2]*t+ +g[ea+336>>2]*r-(+g[d+328>>2]*v+ +g[d+332>>2]*t+ +g[d+336>>2]*r);if((y|0)==1){if(!(e<0.0))break;if(!(+g[i>>2]<-(f*e)))break;g[i>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[i>>2]>-(f*e)))break;g[i>>2]=-(f*e);break}}while(0);g[i>>2]=+g[b+248>>2]*+g[i>>2];return}function Gb(d,e,f){d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0;s=sa;sa=sa+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){sa=s;return}a[d+168>>0]=(Fa[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;i=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=i;if(i>0.0?(j=+g[d+28>>2],i>j):0){g[d+16>>2]=j;i=j}if(i<0.0?(q=+w(+i),k=+w(+(+g[d+24>>2])),q>k):0){g[d+16>>2]=-k;i=-k}g[d+20>>2]=i*f;o=c[d+8>>2]|0;c[s>>2]=c[o+4>>2];c[s+4>>2]=c[o+4+4>>2];c[s+8>>2]=c[o+4+8>>2];c[s+12>>2]=c[o+4+12>>2];c[s+16>>2]=c[o+20>>2];c[s+16+4>>2]=c[o+20+4>>2];c[s+16+8>>2]=c[o+20+8>>2];c[s+16+12>>2]=c[o+20+12>>2];c[s+32>>2]=c[o+36>>2];c[s+32+4>>2]=c[o+36+4>>2];c[s+32+8>>2]=c[o+36+8>>2];c[s+32+12>>2]=c[o+36+12>>2];c[s+48>>2]=c[o+52>>2];c[s+48+4>>2]=c[o+52+4>>2];c[s+48+8>>2]=c[o+52+8>>2];c[s+48+12>>2]=c[o+52+12>>2];if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}o=c[d+176>>2]|0;k=+g[d+20>>2];k=+g[d+52>>2]+(k>0.0?k:0.0);p=+g[24416+(o<<4)+4>>2]*k+ +g[d+96>>2];q=k*+g[24416+(o<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[24416+(o<<4)>>2]*k;g[d+116>>2]=p;g[d+120>>2]=q;g[d+124>>2]=0.0;c[s+456>>2]=1065353216;c[s+456+4>>2]=0;c[s+456+4+4>>2]=0;c[s+456+4+8>>2]=0;c[s+456+4+12>>2]=0;c[s+456+20>>2]=1065353216;c[s+456+24>>2]=0;c[s+456+24+4>>2]=0;c[s+456+24+8>>2]=0;c[s+456+24+12>>2]=0;c[s+456+40>>2]=1065353216;o=s+456+44|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[s+392>>2]=1065353216;c[s+392+4>>2]=0;c[s+392+4+4>>2]=0;c[s+392+4+8>>2]=0;c[s+392+4+12>>2]=0;c[s+392+20>>2]=1065353216;c[s+392+24>>2]=0;c[s+392+24+4>>2]=0;c[s+392+24+8>>2]=0;c[s+392+24+12>>2]=0;c[s+392+40>>2]=1065353216;o=s+392+44|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}h=c[d+176>>2]|0;o=c[d+12>>2]|0;k=+va[c[(c[o>>2]|0)+48>>2]&15](o);k=k+ +g[d+56>>2];p=k*+g[24416+(h<<4)+4>>2]+ +g[d+96>>2];q=k*+g[24416+(h<<4)+8>>2]+ +g[d+100>>2];g[s+456+48>>2]=+g[24416+(h<<4)>>2]*k+ +g[d+92>>2];g[s+456+52>>2]=p;g[s+456+56>>2]=q;g[s+456+60>>2]=0.0;c[s+392+48>>2]=c[d+112>>2];c[s+392+48+4>>2]=c[d+112+4>>2];c[s+392+48+8>>2]=c[d+112+8>>2];c[s+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}o=c[d+176>>2]|0;k=-+g[24416+(o<<4)>>2];p=-+g[24416+(o<<4)+4>>2];q=-+g[24416+(o<<4)+8>>2];g[s+288+4>>2]=1.0;o=s+288+12|0;c[s+288+76>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[s+288>>2]=7748;c[s+288+80>>2]=h;g[s+288+84>>2]=k;g[s+288+88>>2]=p;g[s+288+92>>2]=q;g[s+288+96>>2]=0.0;g[s+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;o=c[h+188>>2]|0;b[s+288+8>>1]=b[o+4>>1]|0;b[s+288+10>>1]=b[o+6>>1]|0;if(!(a[d+170>>0]|0))Tc(e,c[d+12>>2]|0,s+456|0,s+392|0,s+288|0,0.0);else yc(h,c[d+12>>2]|0,s+456|0,s+392|0,s+288|0,+g[e+56>>2]);if(+g[s+288+4>>2]<1.0){if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}o=c[d+176>>2]|0;do if(+g[s+288+44>>2]*+g[24416+(o<<4)>>2]+ +g[s+288+48>>2]*+g[24416+(o<<4)+4>>2]+ +g[s+288+52>>2]*+g[24416+(o<<4)+8>>2]>0.0){i=+g[s+288+4>>2];g[d+108>>2]=+g[d+52>>2]*i;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-i)*+g[d+92>>2]+i*+g[d+112>>2];g[d+96>>2]=(1.0-i)*+g[d+96>>2]+i*+g[d+116>>2];g[d+100>>2]=(1.0-i)*+g[d+100>>2]+i*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){p=+g[d+172>>2];q=p>f?f:p;g[d+172>>2]=p-f;ld(d,e,q*+g[d+60>>2],q*+g[d+64>>2],q*+g[d+68>>2])}else ld(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[s+272>>2]=c[d+112>>2];c[s+272+4>>2]=c[d+112+4>>2];c[s+272+8>>2]=c[d+112+8>>2];c[s+272+12>>2]=c[d+112+12>>2];i=+g[d+16>>2];i=(i<0.0?-i:0.0)*f;do if(i>0.0?(m=+g[d+24>>2],i>m):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;i=m}while(0);if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}h=c[d+176>>2]|0;q=i+ +g[d+108>>2];m=+g[24416+(h<<4)>>2]*q;p=q*+g[24416+(h<<4)+4>>2];q=q*+g[24416+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-m;g[d+116>>2]=+g[d+116>>2]-p;g[d+120>>2]=+g[d+120>>2]-q;h=c[d+8>>2]|0;if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}l=24416+(c[d+176>>2]<<4)|0;n=c[d+40>>2]|0;o=s+168+4|0;g[o>>2]=1.0;t=s+168+12|0;c[s+168+76>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[s+168>>2]=7748;c[s+168+80>>2]=h;c[s+168+84>>2]=c[l>>2];c[s+168+84+4>>2]=c[l+4>>2];c[s+168+84+8>>2]=c[l+8>>2];c[s+168+84+12>>2]=c[l+12>>2];c[s+168+100>>2]=n;h=c[d+8>>2]|0;n=c[h+188>>2]|0;b[s+168+8>>1]=b[n+4>>1]|0;b[s+168+10>>1]=b[n+6>>1]|0;if((a[26720]|0)==0?mz(26720)|0:0){c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}n=24416+(c[d+176>>2]<<4)|0;t=c[d+40>>2]|0;g[s+64+4>>2]=1.0;l=s+64+12|0;c[s+64+76>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[s+64>>2]=7748;c[s+64+80>>2]=h;c[s+64+84>>2]=c[n>>2];c[s+64+84+4>>2]=c[n+4>>2];c[s+64+84+8>>2]=c[n+8>>2];c[s+64+84+12>>2]=c[n+12>>2];c[s+64+100>>2]=t;h=c[(c[d+8>>2]|0)+188>>2]|0;b[s+64+8>>1]=b[h+4>>1]|0;b[s+64+10>>1]=b[h+6>>1]|0;h=0;i=+g[d+112>>2];j=+g[d+116>>2];k=+g[d+120>>2];while(1){c[s+456>>2]=1065353216;c[s+456+4>>2]=0;c[s+456+4+4>>2]=0;c[s+456+4+8>>2]=0;c[s+456+4+12>>2]=0;c[s+456+20>>2]=1065353216;c[s+456+24>>2]=0;c[s+456+24+4>>2]=0;c[s+456+24+8>>2]=0;c[s+456+24+12>>2]=0;c[s+456+40>>2]=1065353216;c[s+456+44>>2]=0;c[s+392>>2]=1065353216;c[s+392+4>>2]=0;c[s+392+4+4>>2]=0;c[s+392+4+8>>2]=0;c[s+392+4+12>>2]=0;c[s+392+20>>2]=1065353216;c[s+392+24>>2]=0;c[s+392+24+4>>2]=0;c[s+392+24+8>>2]=0;c[s+392+24+12>>2]=0;c[s+392+40>>2]=1065353216;c[s+392+44>>2]=0;c[s+288>>2]=1065353216;c[s+288+4>>2]=0;c[s+288+4+4>>2]=0;c[s+288+4+8>>2]=0;c[s+288+4+12>>2]=0;c[s+288+20>>2]=1065353216;c[s+288+24>>2]=0;c[s+288+24+4>>2]=0;c[s+288+24+8>>2]=0;c[s+288+24+12>>2]=0;c[s+288+40>>2]=1065353216;c[s+288+44>>2]=0;c[s+456+48>>2]=c[d+92>>2];c[s+456+48+4>>2]=c[d+92+4>>2];c[s+456+48+8>>2]=c[d+92+8>>2];c[s+456+48+12>>2]=c[d+92+12>>2];c[s+392+48>>2]=c[d+112>>2];c[s+392+48+4>>2]=c[d+112+4>>2];c[s+392+48+8>>2]=c[d+112+8>>2];c[s+392+48+12>>2]=c[d+112+12>>2];g[s+288+48>>2]=i-m;g[s+288+52>>2]=j-p;g[s+288+56>>2]=k-q;g[s+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){Tc(e,c[d+12>>2]|0,s+456|0,s+392|0,s+168|0,+g[e+56>>2]);if(!(+g[o>>2]<1.0))Tc(e,c[d+12>>2]|0,s+456|0,s+288|0,s+64|0,+g[e+56>>2])}else{yc(c[d+8>>2]|0,c[d+12>>2]|0,s+456|0,s+392|0,s+168|0,+g[e+56>>2]);if(!(+g[o>>2]<1.0))yc(c[d+8>>2]|0,c[d+12>>2]|0,s+456|0,s+288|0,s+64|0,+g[e+56>>2])}j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;n=(a[d+182>>0]|0)==0;if(!n?+g[o>>2]<1.0:0)l=1;else l=+g[s+64+4>>2]<1.0;if(!(j>0.0))break;i=+g[d+52>>2];if(h|(!(j>0]|0)==0?a[d+169>>0]|0:0){h=0;break}c[d+112>>2]=c[s+272>>2];c[d+112+4>>2]=c[s+272+4>>2];c[d+112+8>>2]=c[s+272+8>>2];c[d+112+12>>2]=c[s+272+12>>2];do if(!(a[26720]|0)){if(!(mz(26720)|0))break;c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}while(0);h=c[d+176>>2]|0;i=i+ +g[d+108>>2];j=i*+g[24416+(h<<4)+4>>2];k=i*+g[24416+(h<<4)+8>>2];i=+g[d+112>>2]-+g[24416+(h<<4)>>2]*i;g[d+112>>2]=i;j=+g[d+116>>2]-j;g[d+116>>2]=j;k=+g[d+120>>2]-k;g[d+120>>2]=k;h=1}k=+g[o>>2];if(h|k<1.0){i=+g[d+96>>2];j=(i-+g[s+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=i*(1.0-j)+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-k)*+g[d+92>>2]+k*+g[d+112>>2];g[d+96>>2]=i*(1.0-k)+k*+g[d+116>>2];g[d+100>>2]=(1.0-k)*+g[d+100>>2]+k*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-k)*+g[d+92>>2]+k*+g[d+112>>2];g[d+96>>2]=i*(1.0-k)+k*+g[d+116>>2];g[d+100>>2]=(1.0-k)*+g[d+100>>2]+k*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;do if(!n?(r=+g[d+24>>2],j>r):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;g[d+112>>2]=m+ +g[d+112>>2];g[d+116>>2]=p+ +g[d+116>>2];g[d+120>>2]=q+ +g[d+120>>2];do if(!(a[26720]|0)){if(!(mz(26720)|0))break;c[6104]=1065353216;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=1065353216;c[6110]=0;c[6111]=0;c[6112]=0;c[6113]=0;c[6114]=1065353216;g[6115]=0.0}while(0);t=c[d+176>>2]|0;q=r+ +g[d+108>>2];f=q*+g[24416+(t<<4)+4>>2];r=q*+g[24416+(t<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[24416+(t<<4)>>2]*q;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-r}while(0);c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[s+48>>2]=c[d+92>>2];c[s+48+4>>2]=c[d+92+4>>2];c[s+48+8>>2]=c[d+92+8>>2];c[s+48+12>>2]=c[d+92+12>>2];t=c[d+8>>2]|0;c[t+260>>2]=(c[t+260>>2]|0)+1;c[t+4>>2]=c[s>>2];c[t+4+4>>2]=c[s+4>>2];c[t+4+8>>2]=c[s+8>>2];c[t+4+12>>2]=c[s+12>>2];c[t+20>>2]=c[s+16>>2];c[t+20+4>>2]=c[s+16+4>>2];c[t+20+8>>2]=c[s+16+8>>2];c[t+20+12>>2]=c[s+16+12>>2];c[t+36>>2]=c[s+32>>2];c[t+36+4>>2]=c[s+32+4>>2];c[t+36+8>>2]=c[s+32+8>>2];c[t+36+12>>2]=c[s+32+12>>2];c[t+52>>2]=c[s+48>>2];c[t+52+4>>2]=c[s+48+4>>2];c[t+52+8>>2]=c[s+48+8>>2];c[t+52+12>>2]=c[s+48+12>>2];sa=s;return}function Hb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0;z=sa;sa=sa+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=5940;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d){if(!(a[b+448>>0]|0)){c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;j=1;u=17;break}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);d=c[b+416>>2]|0;j=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((d|0)==(j|0))if(j)if((j|0)<(j<<1|0))if(!(j<<1)){d=0;i=j;l=j<<1;u=20}else{j=j<<1;u=17}else{i=j;d=j}else{j=1;u=17}else{i=d;d=j}}else{a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;j=1;u=17}while(0);if((u|0)==17){c[7182]=(c[7182]|0)+1;d=xb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+416>>2]|0;l=j;u=20}if((u|0)==20){k=c[b+424>>2]|0;if((i|0)<=0){if(k)u=24}else{j=0;do{c[d+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));u=24}if((u|0)==24){if(a[b+428>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);i=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=d;c[b+420>>2]=l;d=l}j=c[b+424>>2]|0;c[j+(i<<2)>>2]=1;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)k=0;else{c[7182]=(c[7182]|0)+1;d=xb((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}k=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)u=38}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));u=38}if((u|0)==38){if(a[b+428>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=l;j=k;i=d;d=l}else i=d}c[j+(i<<2)>>2]=2;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)k=0;else{c[7182]=(c[7182]|0)+1;d=xb((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}k=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)u=52}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));u=52}if((u|0)==52){if(a[b+428>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=l;i=d;d=l}else{k=j;i=d}}else k=j;c[k+(i<<2)>>2]=3;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)j=0;else{c[7182]=(c[7182]|0)+1;d=xb((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[b+416>>2]|0;k=c[b+424>>2]|0}if((d|0)<=0){if(k)u=66}else{i=0;do{c[j+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));u=66}if((u|0)==66){if(a[b+428>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=j;c[b+420>>2]=l}else j=k}else{j=k;d=i}c[j+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[7182]=(c[7182]|0)+1;d=xb(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=6048;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;v=b+1192|0;w=v+36|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));g[b+1228>>2]=1.0;x=xg(b)|0;g[x+4>>2]=1.0;g[x+8>>2]=1.0;g[x+12>>2]=1.0;c[x+16>>2]=1;v=c[b+192>>2]|0;y=+va[c[(c[v>>2]|0)+48>>2]&15](v);v=z;w=v+100|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));l=c[b+712>>2]|0;if((l|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){d=0;j=l}else{c[7182]=(c[7182]|0)+1;d=xb((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=c[b+712>>2]|0}if((j|0)>0){i=0;do{v=d+(i*104|0)|0;k=(c[b+720>>2]|0)+(i*104|0)|0;w=v+104|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));i=i+1|0}while((i|0)!=(j|0))}i=c[b+720>>2]|0;if(i|0){if(a[b+724>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=d;c[b+716>>2]=e}d=l;do{v=c[b+720>>2]|0;c[v+(d*104|0)>>2]=0;v=v+(d*104|0)+4|0;k=z;w=v+100|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){d=f;i=h;k=0;while(1){u=c[b+720>>2]|0;f=u+(k*104|0)|0;v=f;w=v+104|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));if(!d){l=0;m=0.0;n=0.0;o=0.0;p=0.0}else{l=d+16|0;m=+g[d+12>>2];n=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2]}w=u+(k*104|0)+8|0;g[w>>2]=n;g[u+(k*104|0)+12>>2]=o;g[u+(k*104|0)+16>>2]=p;g[u+(k*104|0)+20>>2]=m;h=u+(k*104|0)+24|0;c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[h+12>>2]=c[w+12>>2];if(!i){j=0;m=1.0}else{j=i+4|0;m=+g[i>>2]}g[u+(k*104|0)+88>>2]=m>0.0?1.0/m:0.0;r=n-y;s=o-y;t=p-y;q=y+n;n=y+o;m=y+p;d=c[b+932>>2]|0;if(!d){c[7182]=(c[7182]|0)+1;d=xb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}v=d;w=v+44|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=f;c[d+40>>2]=0;g[d>>2]=r;g[d+4>>2]=s;g[d+8>>2]=t;g[d+12>>2]=0.0;g[d+16>>2]=q;g[d+20>>2]=n;g[d+24>>2]=m;g[d+28>>2]=0.0;ue(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[u+(k*104|0)+96>>2]=d;c[u+(k*104|0)+4>>2]=x;k=k+1|0;if((k|0)==(e|0))break;else{d=l;i=j}}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;sa=z;return}e=c[b+192>>2]|0;s=+va[c[(c[e>>2]|0)+48>>2]&15](e);y=+g[d+4>>2]-s;t=+g[d+8>>2]-s;g[b+892>>2]=+g[d>>2]-s;g[b+896>>2]=y;g[b+900>>2]=t;g[b+904>>2]=0.0;t=s+ +g[d+20>>2];y=s+ +g[d+24>>2];g[b+908>>2]=s+ +g[d+16>>2];g[b+912>>2]=t;g[b+916>>2]=y;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){sa=z;return}e=c[b+684>>2]|0;h=c[e+32>>2]|0;eb[c[(c[h>>2]|0)+16>>2]&31](h,d,b+892|0,b+908|0,c[e+36>>2]|0);sa=z;return}function Ib(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0;J=sa;sa=sa+96|0;G=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){p=(c[d+96>>2]|0)+(G<<6)|0;q=(c[d+76>>2]|0)+(f<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{H=(c[d+116>>2]|0)+(f<<4)|0;I=(c[d+136>>2]|0)+(G<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;sa=J;return}if((h|0)>(f|0)){m=(a[d+60>>0]|0)==0;if(m){j=c[d+76>>2]|0;i=f;k=0.0;l=0.0;n=0.0;do{k=k+(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5;l=l+(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5;n=n+(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;o=+g[d+36>>2];s=+g[d+40>>2];t=+g[d+44>>2];w=+g[d+4>>2];x=+g[d+8>>2];y=+g[d+12>>2];i=f;k=0.0;l=0.0;n=0.0;do{k=k+(+(e[j+(i<<4)+6>>1]|0)/o+w+(+(e[j+(i<<4)>>1]|0)/o+w))*.5;l=l+(+(e[j+(i<<4)+8>>1]|0)/s+x+(+(e[j+(i<<4)+2>>1]|0)/s+x))*.5;n=n+(+(e[j+(i<<4)+10>>1]|0)/t+y+(+(e[j+(i<<4)+4>>1]|0)/t+y))*.5;i=i+1|0}while((i|0)!=(h|0))}B=1.0/+(h-f|0);D=B*k;C=B*l;B=B*n;if(m){j=c[d+76>>2]|0;i=f;k=0.0;n=0.0;o=0.0;do{w=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5-D;x=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5-C;y=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5-B;k=k+w*w;n=n+x*x;o=o+y*y;i=i+1|0}while((i|0)!=(h|0));l=+(h-f|0)}else{j=c[d+116>>2]|0;l=+g[d+36>>2];s=+g[d+40>>2];t=+g[d+44>>2];w=+g[d+4>>2];x=+g[d+8>>2];y=+g[d+12>>2];i=f;k=0.0;n=0.0;o=0.0;do{M=(+(e[j+(i<<4)+6>>1]|0)/l+w+(+(e[j+(i<<4)>>1]|0)/l+w))*.5-D;L=(+(e[j+(i<<4)+8>>1]|0)/s+x+(+(e[j+(i<<4)+2>>1]|0)/s+x))*.5-C;K=(+(e[j+(i<<4)+10>>1]|0)/t+y+(+(e[j+(i<<4)+4>>1]|0)/t+y))*.5-B;k=k+M*M;n=n+L*L;o=o+K*K;i=i+1|0}while((i|0)!=(h|0));l=+(h-f|0)}}else{o=0.0;n=0.0;k=0.0;l=+(h-f|0)}M=1.0/(l+-1.0);L=M*k;K=M*n;M=M*o;v=L>2]=0;c[J+16+4>>2]=0;c[J+16+8>>2]=0;c[J+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;i=f;n=0.0;l=0.0;k=0.0;do{n=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5+n;l=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5+l;k=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5+k;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;o=+g[d+36>>2];s=+g[d+40>>2];t=+g[d+44>>2];w=+g[d+4>>2];x=+g[d+8>>2];y=+g[d+12>>2];i=f;n=0.0;l=0.0;k=0.0;do{n=(+(e[j+(i<<4)+6>>1]|0)/o+w+(+(e[j+(i<<4)>>1]|0)/o+w))*.5+n;l=(+(e[j+(i<<4)+8>>1]|0)/s+x+(+(e[j+(i<<4)+2>>1]|0)/s+x))*.5+l;k=(+(e[j+(i<<4)+10>>1]|0)/t+y+(+(e[j+(i<<4)+4>>1]|0)/t+y))*.5+k;i=i+1|0}while((i|0)!=(h|0))}g[J+16>>2]=n;g[J+16+4>>2]=l;g[J+16+8>>2]=k;i=J+16|0}else{i=J+16|0;n=0.0;l=0.0;k=0.0}g[i>>2]=1.0/+(h-f|0)*n;g[J+16+4>>2]=1.0/+(h-f|0)*l;g[J+16+8>>2]=1.0/+(h-f|0)*k;w=+g[J+16+(v<<2)>>2];if((h|0)>(f|0)){i=f;u=f;do{j=(a[d+60>>0]|0)==0;if(j){F=c[d+76>>2]|0;k=+g[F+(u<<6)>>2];l=+g[F+(u<<6)+16>>2];n=+g[F+(u<<6)+4>>2];o=+g[F+(u<<6)+20>>2];s=+g[F+(u<<6)+8>>2];t=+g[F+(u<<6)+24>>2]}else{F=c[d+116>>2]|0;n=+g[d+36>>2];s=+g[d+40>>2];M=+g[d+44>>2];l=+g[d+4>>2];o=+g[d+8>>2];t=+g[d+12>>2];k=+(e[F+(u<<4)>>1]|0)/n+l;l=+(e[F+(u<<4)+6>>1]|0)/n+l;n=+(e[F+(u<<4)+2>>1]|0)/s+o;o=+(e[F+(u<<4)+8>>1]|0)/s+o;s=+(e[F+(u<<4)+4>>1]|0)/M+t;t=+(e[F+(u<<4)+10>>1]|0)/M+t}g[J>>2]=(l+k)*.5;g[J+4>>2]=(o+n)*.5;g[J+8>>2]=(t+s)*.5;g[J+12>>2]=0.0;if(+g[J+(v<<2)>>2]>w){if(j){j=c[d+76>>2]|0;m=j+(u<<6)|0;p=J+32|0;q=m;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=m;q=j+(i<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=(c[d+76>>2]|0)+(i<<6)|0;q=J+32|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{E=c[d+116>>2]|0;F=E+(u<<4)|0;c[J+32>>2]=c[F>>2];c[J+32+4>>2]=c[F+4>>2];c[J+32+8>>2]=c[F+8>>2];c[J+32+12>>2]=c[F+12>>2];E=E+(i<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=(c[d+116>>2]|0)+(i<<4)|0;c[F>>2]=c[J+32>>2];c[F+4>>2]=c[J+32+4>>2];c[F+8>>2]=c[J+32+8>>2];c[F+12>>2]=c[J+32+12>>2]}i=i+1|0}u=u+1|0}while((u|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(1?h-f>>1:h-f|0)+f|0;F=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){E=(c[d+96>>2]|0)+(F<<6)|0;c[E>>2]=c[d+20>>2];c[E+4>>2]=c[d+20+4>>2];c[E+8>>2]=c[d+20+8>>2];c[E+12>>2]=c[d+20+12>>2]}else{E=c[d+136>>2]|0;L=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];M=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[E+(F<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[E+(F<<4)+2>>1]=~~L&65535&-2;b[E+(F<<4)+4>>1]=~~M&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){E=(c[d+96>>2]|0)+(j<<6)+16|0;c[E>>2]=c[d+4>>2];c[E+4>>2]=c[d+4+4>>2];c[E+8>>2]=c[d+4+8>>2];c[E+12>>2]=c[d+4+12>>2]}else{E=c[d+136>>2]|0;K=+g[d+4>>2];L=+g[d+8>>2];M=+g[d+12>>2];L=(L-L)*+g[d+40>>2];M=(M-M)*+g[d+44>>2];b[E+(j<<4)+6>>1]=~~((K-K)*+g[d+36>>2]+1.0)&65535|1;b[E+(j<<4)+8>>1]=~~(L+1.0)&65535|1;b[E+(j<<4)+10>>1]=~~(M+1.0)&65535|1}E=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;z=f;do{if(!(A<<24>>24)){j=c[d+76>>2]|0;l=+g[j+(z<<6)>>2];t=+g[j+(z<<6)+4>>2];x=+g[j+(z<<6)+8>>2];o=+g[j+(z<<6)+12>>2];k=+g[j+(z<<6)+16>>2];w=+g[j+(z<<6)+20>>2];n=+g[j+(z<<6)+24>>2];s=+g[j+(z<<6)+28>>2];j=c[d+96>>2]|0;if(l<+g[j+(E<<6)>>2])g[j+(E<<6)>>2]=l;if(t<+g[j+(E<<6)+4>>2])g[j+(E<<6)+4>>2]=t;if(x<+g[j+(E<<6)+8>>2])g[j+(E<<6)+8>>2]=x;if(o<+g[j+(E<<6)+12>>2])g[j+(E<<6)+12>>2]=o;if(+g[j+(E<<6)+16>>2]>2]=k;if(+g[j+(E<<6)+20>>2]>2]=w;if(+g[j+(E<<6)+24>>2]>2]=n;if(+g[j+(E<<6)+28>>2]>2]=s}else{u=c[d+116>>2]|0;s=+g[d+36>>2];y=+g[d+40>>2];K=+g[d+44>>2];t=+g[d+4>>2];B=+g[d+8>>2];L=+g[d+12>>2];w=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];o=+g[d+36>>2];x=+g[d+40>>2];D=+g[d+44>>2];j=~~((+(e[u+(z<<4)>>1]|0)/s+t-w)*o)&65535&-2;m=~~((+(e[u+(z<<4)+2>>1]|0)/y+B-C)*x)&65535&-2;p=~~((+(e[u+(z<<4)+4>>1]|0)/K+L-M)*D)&65535&-2;q=~~(o*(+(e[u+(z<<4)+6>>1]|0)/s+t-w)+1.0)&65535|1;r=~~(x*(+(e[u+(z<<4)+8>>1]|0)/y+B-C)+1.0)&65535|1;u=~~(D*(+(e[u+(z<<4)+10>>1]|0)/K+L-M)+1.0)&65535|1;v=c[d+136>>2]|0;if((e[v+(E<<4)>>1]|0)>(j&65535))b[v+(E<<4)>>1]=j;if((e[v+(E<<4)+6>>1]|0)<(q&65535))b[v+(E<<4)+6>>1]=q;if((e[v+(E<<4)+2>>1]|0)>(m&65535))b[v+(E<<4)+2>>1]=m;if((e[v+(E<<4)+8>>1]|0)<(r&65535))b[v+(E<<4)+8>>1]=r;if((e[v+(E<<4)+4>>1]|0)>(p&65535))b[v+(E<<4)+4>>1]=p;if((e[v+(E<<4)+10>>1]|0)<(u&65535))b[v+(E<<4)+10>>1]=u}z=z+1|0}while((z|0)!=(h|0))}c[d+56>>2]=E+1;Ib(d,f,i);z=c[d+56>>2]|0;Ib(d,i,h);v=(c[d+56>>2]|0)-G|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(v|0)>128){r=c[d+136>>2]|0;q=c[r+(E+1<<4)+12>>2]|0;q=(q|0)>-1?1:0-q|0;u=c[r+(z<<4)+12>>2]|0;u=(u|0)>-1?1:0-u|0;if((q|0)<129){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(H=(p|0)==0?1:p<<1,(p|0)<(H|0)):0){if(!H){i=0;m=p}else{c[7182]=(c[7182]|0)+1;i=xb(H<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[d+152>>2]|0}if((m|0)>0){j=0;do{G=i+(j<<5)|0;h=(c[d+160>>2]|0)+(j<<5)|0;c[G>>2]=c[h>>2];c[G+4>>2]=c[h+4>>2];c[G+8>>2]=c[h+8>>2];c[G+12>>2]=c[h+12>>2];c[G+16>>2]=c[h+16>>2];c[G+20>>2]=c[h+20>>2];c[G+24>>2]=c[h+24>>2];c[G+28>>2]=c[h+28>>2];j=j+1|0}while((j|0)!=(m|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=H;i=c[d+152>>2]|0}else i=p;c[d+152>>2]=i+1;H=(c[d+160>>2]|0)+(p<<5)|0;c[H>>2]=c[J+32>>2];c[H+4>>2]=c[J+32+4>>2];c[H+8>>2]=c[J+32+8>>2];c[H+12>>2]=c[J+32+12>>2];c[H+16>>2]=c[J+32+16>>2];c[H+20>>2]=c[J+32+20>>2];c[H+24>>2]=c[J+32+24>>2];c[H+28>>2]=c[J+32+28>>2];H=c[d+160>>2]|0;b[H+(p<<5)>>1]=b[r+(E+1<<4)>>1]|0;b[H+(p<<5)+2>>1]=b[r+(E+1<<4)+2>>1]|0;b[H+(p<<5)+4>>1]=b[r+(E+1<<4)+4>>1]|0;b[H+(p<<5)+6>>1]=b[r+(E+1<<4)+6>>1]|0;b[H+(p<<5)+8>>1]=b[r+(E+1<<4)+8>>1]|0;b[H+(p<<5)+10>>1]=b[r+(E+1<<4)+10>>1]|0;c[H+(p<<5)+12>>2]=E+1;c[H+(p<<5)+16>>2]=q}if((u|0)<129){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(I=(p|0)==0?1:p<<1,(p|0)<(I|0)):0){if(!I){i=0;m=p}else{c[7182]=(c[7182]|0)+1;i=xb(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[d+152>>2]|0}if((m|0)>0){j=0;do{H=i+(j<<5)|0;G=(c[d+160>>2]|0)+(j<<5)|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];c[H+16>>2]=c[G+16>>2];c[H+20>>2]=c[G+20>>2];c[H+24>>2]=c[G+24>>2];c[H+28>>2]=c[G+28>>2];j=j+1|0}while((j|0)!=(m|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=p;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(p<<5)|0;c[i>>2]=c[J+32>>2];c[i+4>>2]=c[J+32+4>>2];c[i+8>>2]=c[J+32+8>>2];c[i+12>>2]=c[J+32+12>>2];c[i+16>>2]=c[J+32+16>>2];c[i+20>>2]=c[J+32+20>>2];c[i+24>>2]=c[J+32+24>>2];c[i+28>>2]=c[J+32+28>>2];i=c[d+160>>2]|0;b[i+(p<<5)>>1]=b[r+(z<<4)>>1]|0;b[i+(p<<5)+2>>1]=b[r+(z<<4)+2>>1]|0;b[i+(p<<5)+4>>1]=b[r+(z<<4)+4>>1]|0;b[i+(p<<5)+6>>1]=b[r+(z<<4)+6>>1]|0;b[i+(p<<5)+8>>1]=b[r+(z<<4)+8>>1]|0;b[i+(p<<5)+10>>1]=b[r+(z<<4)+10>>1]|0;c[i+(p<<5)+12>>2]=z;c[i+(p<<5)+16>>2]=u;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(F<<6)+32>>2]=v;sa=J;return}else{c[(c[d+136>>2]|0)+(F<<4)+12>>2]=0-v;sa=J;return}}function Jb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=sa;sa=sa+176|0;da=c[d+4>>2]|0;ea=c[e+4>>2]|0;if((c[da+68>>2]|0)==(c[b+40>>2]|0)?(c[ea+68>>2]|0)==(c[b+44>>2]|0):0)ca=b+8|0;else{i=c[b+8>>2]|0;k=c[i+8>>2]|0;if((k|0)>0){j=0;do{l=c[(c[i+16>>2]|0)+(j*12|0)+8>>2]|0;if(l|0){Pa[c[c[l>>2]>>2]&511](l);ca=c[b+4>>2]|0;Va[c[(c[ca>>2]|0)+60>>2]&127](ca,l)}j=j+1|0}while((j|0)!=(k|0));i=c[b+8>>2]|0}gh(i);ca=b+8|0}a[ga+128+16>>0]=1;o=ga+128+12|0;c[o>>2]=0;c[ga+128+4>>2]=0;c[ga+128+8>>2]=0;n=c[ca>>2]|0;i=c[n+8>>2]|0;if((i|0)>0){m=0;do{j=c[(c[n+16>>2]|0)+(m*12|0)+8>>2]|0;if(j){Va[c[(c[j>>2]|0)+16>>2]&127](j,ga+128|0);i=c[ga+128+4>>2]|0;if((i|0)>0){l=0;do{k=c[(c[o>>2]|0)+(l<<2)>>2]|0;if(c[k+748>>2]|0){c[h+4>>2]=k;i=c[k+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0))re(k,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else re(k,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);c[h+4>>2]=0;i=c[ga+128+4>>2]|0}l=l+1|0}while((l|0)<(i|0))}if((i|0)<0){if((c[ga+128+8>>2]|0)<0){j=c[o>>2]|0;if(j|0){if(a[ga+128+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[o>>2]=0}a[ga+128+16>>0]=1;c[o>>2]=0;c[ga+128+8>>2]=0}do{c[(c[o>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[ga+128+4>>2]=0;i=c[n+8>>2]|0}m=m+1|0}while((m|0)<(i|0));i=c[o>>2]|0;if(i|0){if(a[ga+128+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[o>>2]=0}}j=c[da+64>>2]|0;k=c[ea+64>>2]|0;s=c[b+4>>2]|0;t=c[ca>>2]|0;u=c[b+32>>2]|0;c[ga+128>>2]=9064;c[ga+128+4>>2]=0;c[ga+128+8>>2]=d;c[ga+128+12>>2]=e;c[ga+128+16>>2]=s;c[ga+128+20>>2]=f;c[ga+128+24>>2]=h;c[ga+128+28>>2]=t;c[ga+128+32>>2]=u;u=c[d+12>>2]|0;F=+g[u>>2];G=+g[u+16>>2];H=+g[u+32>>2];I=+g[u+4>>2];J=+g[u+20>>2];K=+g[u+36>>2];L=+g[u+8>>2];M=+g[u+24>>2];N=+g[u+40>>2];O=-+g[u+48>>2];P=-+g[u+52>>2];Q=-+g[u+56>>2];u=c[e+12>>2]|0;R=+g[u>>2];S=+g[u+16>>2];T=+g[u+32>>2];U=+g[u+4>>2];V=+g[u+20>>2];W=+g[u+36>>2];X=+g[u+8>>2];Y=+g[u+24>>2];Z=+g[u+40>>2];_=+g[u+48>>2];$=+g[u+52>>2];aa=+g[u+56>>2];j=c[j>>2]|0;k=c[k>>2]|0;if((j|0)!=0&(k|0)!=0){c[7182]=(c[7182]|0)+1;i=xb(1043)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=j;c[i+4>>2]=k;v=+w(+(F*R+G*S+H*T));x=+w(+(F*U+G*V+H*W));y=+w(+(F*X+G*Y+H*Z));z=+w(+(I*R+J*S+K*T));A=+w(+(I*U+J*V+K*W));B=+w(+(I*X+J*Y+K*Z));C=+w(+(L*R+M*S+N*T));D=+w(+(L*U+M*V+N*W));E=+w(+(L*X+M*Y+N*Z));p=1;n=124;o=128;r=i;m=128;f=i;l=i;k=i;while(1){u=p+-1|0;s=c[r+(u<<3)>>2]|0;t=c[r+(u<<3)+4>>2]|0;ra=+g[t+16>>2];qa=+g[t>>2];pa=+g[t+20>>2];oa=+g[t+4>>2];na=+g[t+24>>2];ha=+g[t+8>>2];ma=F*O+G*P+H*Q+(F*_+G*$+H*aa)+((F*R+G*S+H*T)*(ra+qa)*.5+(F*U+G*V+H*W)*(pa+oa)*.5+(F*X+G*Y+H*Z)*(na+ha)*.5);ka=I*O+J*P+K*Q+(I*_+J*$+K*aa)+((I*R+J*S+K*T)*(ra+qa)*.5+(I*U+J*V+K*W)*(pa+oa)*.5+(I*X+J*Y+K*Z)*(na+ha)*.5);ia=L*O+M*P+N*Q+(L*_+M*$+N*aa)+((L*R+M*S+N*T)*(ra+qa)*.5+(L*U+M*V+N*W)*(pa+oa)*.5+(L*X+M*Y+N*Z)*(na+ha)*.5);la=v*((ra-qa)*.5+0.0)+x*((pa-oa)*.5+0.0)+y*((na-ha)*.5+0.0);ja=z*((ra-qa)*.5+0.0)+A*((pa-oa)*.5+0.0)+B*((na-ha)*.5+0.0);ha=C*((ra-qa)*.5+0.0)+D*((pa-oa)*.5+0.0)+E*((na-ha)*.5+0.0);do if(((((+g[s>>2]<=la+ma?+g[s+16>>2]>=ma-la:0)?+g[s+4>>2]<=ja+ka:0)?+g[s+20>>2]>=ka-ja:0)?+g[s+8>>2]<=ha+ia:0)?+g[s+24>>2]>=ia-ha:0){if((u|0)>(n|0)){q=m<<1;do if((m|0)<(q|0)&(o|0)<(q|0)){do if(!m){k=0;i=0;ba=55}else{c[7182]=(c[7182]|0)+1;i=xb((m<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}if((m|0)<=0){k=j;i=j;ba=55;break}i=0;do{n=r+(i<<3)|0;o=c[n+4>>2]|0;h=j+(i<<3)|0;c[h>>2]=c[n>>2];c[h+4>>2]=o;i=i+1|0}while((i|0)!=(m|0));k=j;i=j}while(0);if((ba|0)==55){ba=0;if(!r){m=q;l=k;n=k;j=k;break}}if(!f){m=q;l=k;n=k;j=k}else{c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);m=q;l=k;n=k;j=k}}else{m=o;i=r;n=k;j=f}while(0);h=q+-4|0;o=m;m=q;f=j}else{h=n;i=r;n=k}j=(c[t+40>>2]|0)!=0;if(!(c[s+40>>2]|0))if(j){k=c[t+36>>2]|0;c[i+(u<<3)>>2]=s;c[i+(u<<3)+4>>2]=k;k=c[t+40>>2]|0;c[i+(p<<3)>>2]=s;c[i+(p<<3)+4>>2]=k;p=p+1|0;k=n;j=f;break}else{Za[c[(c[ga+128>>2]|0)+8>>2]&127](ga+128|0,s,t);p=u;k=n;j=f;break}else{k=c[s+36>>2]|0;if(j){j=c[t+36>>2]|0;c[i+(u<<3)>>2]=k;c[i+(u<<3)+4>>2]=j;u=c[t+36>>2]|0;j=p+1|0;c[i+(p<<3)>>2]=c[s+40>>2];c[i+(p<<3)+4>>2]=u;u=c[t+40>>2]|0;k=p+2|0;c[i+(j<<3)>>2]=c[s+36>>2];c[i+(j<<3)+4>>2]=u;j=c[t+40>>2]|0;c[i+(k<<3)>>2]=c[s+40>>2];c[i+(k<<3)+4>>2]=j;p=p+3|0;k=n;j=f;break}else{c[i+(u<<3)>>2]=k;c[i+(u<<3)+4>>2]=t;c[i+(p<<3)>>2]=c[s+40>>2];c[i+(p<<3)+4>>2]=t;p=p+1|0;k=n;j=f;break}}}else{p=u;h=n;i=r;j=f}while(0);if(!p)break;else{n=h;r=i;f=j}}if(!((i|0)==0|(l|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}}o=c[ca>>2]|0;if((c[o+8>>2]|0)>0){n=0;do{i=c[o+16>>2]|0;j=c[i+(n*12|0)+8>>2]|0;do if(j|0){ba=c[i+(n*12|0)>>2]|0;u=c[da+24>>2]|0;t=c[u+(ba*80|0)+64>>2]|0;s=c[d+12>>2]|0;ra=+g[s>>2];S=+g[s+4>>2];R=+g[s+8>>2];oa=+g[s+16>>2];ma=+g[s+20>>2];ka=+g[s+24>>2];na=+g[s+32>>2];ja=+g[s+36>>2];X=+g[s+40>>2];ia=+g[u+(ba*80|0)>>2];ha=+g[u+(ba*80|0)+16>>2];aa=+g[u+(ba*80|0)+32>>2];$=+g[u+(ba*80|0)+4>>2];_=+g[u+(ba*80|0)+20>>2];Z=+g[u+(ba*80|0)+36>>2];la=+g[u+(ba*80|0)+8>>2];Y=+g[u+(ba*80|0)+24>>2];W=+g[u+(ba*80|0)+40>>2];qa=+g[u+(ba*80|0)+48>>2];pa=+g[u+(ba*80|0)+52>>2];T=+g[u+(ba*80|0)+56>>2];V=+g[s+48>>2]+(ra*qa+S*pa+R*T);U=+g[s+52>>2]+(oa*qa+ma*pa+ka*T);T=+g[s+56>>2]+(na*qa+ja*pa+X*T);g[ga>>2]=ra*ia+S*ha+R*aa;g[ga+4>>2]=ra*$+S*_+R*Z;g[ga+8>>2]=ra*la+S*Y+R*W;g[ga+12>>2]=0.0;g[ga+16>>2]=oa*ia+ma*ha+ka*aa;g[ga+20>>2]=oa*$+ma*_+ka*Z;g[ga+24>>2]=oa*la+ma*Y+ka*W;g[ga+28>>2]=0.0;g[ga+32>>2]=na*ia+ja*ha+X*aa;g[ga+36>>2]=na*$+ja*_+X*Z;g[ga+40>>2]=na*la+ja*Y+X*W;g[ga+44>>2]=0.0;g[ga+48>>2]=V;g[ga+52>>2]=U;g[ga+56>>2]=T;g[ga+60>>2]=0.0;ab[c[(c[t>>2]|0)+8>>2]&127](t,ga,ga+112|0,ga+96|0);t=c[(c[o+16>>2]|0)+(n*12|0)+4>>2]|0;s=c[ea+24>>2]|0;ba=c[s+(t*80|0)+64>>2]|0;u=c[e+12>>2]|0;T=+g[u>>2];U=+g[u+4>>2];V=+g[u+8>>2];W=+g[u+16>>2];X=+g[u+20>>2];Y=+g[u+24>>2];ja=+g[u+32>>2];la=+g[u+36>>2];na=+g[u+40>>2];Z=+g[s+(t*80|0)>>2];_=+g[s+(t*80|0)+16>>2];$=+g[s+(t*80|0)+32>>2];aa=+g[s+(t*80|0)+4>>2];ha=+g[s+(t*80|0)+20>>2];ia=+g[s+(t*80|0)+36>>2];ka=+g[s+(t*80|0)+8>>2];ma=+g[s+(t*80|0)+24>>2];oa=+g[s+(t*80|0)+40>>2];R=+g[s+(t*80|0)+48>>2];S=+g[s+(t*80|0)+52>>2];ra=+g[s+(t*80|0)+56>>2];pa=+g[u+48>>2]+(T*R+U*S+V*ra);qa=+g[u+52>>2]+(W*R+X*S+Y*ra);ra=+g[u+56>>2]+(ja*R+la*S+na*ra);g[ga>>2]=T*Z+U*_+V*$;g[ga+4>>2]=T*aa+U*ha+V*ia;g[ga+8>>2]=T*ka+U*ma+V*oa;g[ga+12>>2]=0.0;g[ga+16>>2]=W*Z+X*_+Y*$;g[ga+20>>2]=W*aa+X*ha+Y*ia;g[ga+24>>2]=W*ka+X*ma+Y*oa;g[ga+28>>2]=0.0;g[ga+32>>2]=ja*Z+la*_+na*$;g[ga+36>>2]=ja*aa+la*ha+na*ia;g[ga+40>>2]=ja*ka+la*ma+na*oa;g[ga+44>>2]=0.0;g[ga+48>>2]=pa;g[ga+52>>2]=qa;g[ga+56>>2]=ra;g[ga+60>>2]=0.0;ab[c[(c[ba>>2]|0)+8>>2]&127](ba,ga,ga+80|0,ga+64|0);if(!(+g[ga+112>>2]>+g[ga+64>>2])?!(+g[ga+96>>2]<+g[ga+80>>2]):0)i=1;else i=0;if(!(!(+g[ga+112+8>>2]>+g[ga+64+8>>2])?!(+g[ga+96+8>>2]<+g[ga+80+8>>2]):0))i=0;if(!(+g[ga+112+4>>2]>+g[ga+64+4>>2])?!(+g[ga+96+4>>2]<+g[ga+80+4>>2]|i^1):0)break;Pa[c[c[j>>2]>>2]&511](j);m=c[b+4>>2]|0;Va[c[(c[m>>2]|0)+60>>2]&127](m,j);m=c[o+16>>2]|0;l=c[m+(n*12|0)>>2]|0;m=c[m+(n*12|0)+4>>2]|0;j=c[b+16>>2]|0;if((j|0)==(c[b+20>>2]|0)?(fa=(j|0)==0?1:j<<1,(j|0)<(fa|0)):0){if(!fa)i=0;else{c[7182]=(c[7182]|0)+1;i=xb((fa*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+16>>2]|0}if((j|0)>0){k=0;do{ba=i+(k*12|0)|0;u=(c[b+24>>2]|0)+(k*12|0)|0;c[ba>>2]=c[u>>2];c[ba+4>>2]=c[u+4>>2];c[ba+8>>2]=c[u+8>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+24>>2]|0;if(j|0){if(a[b+28>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=i;c[b+20>>2]=fa;i=c[b+16>>2]|0}else i=j;ba=c[b+24>>2]|0;c[ba+(i*12|0)>>2]=l;c[ba+(i*12|0)+4>>2]=m;c[ba+(i*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);n=n+1|0}while((n|0)<(c[o+8>>2]|0));j=b+24|0;k=b+16|0}else{j=b+24|0;k=b+16|0}if((c[k>>2]|0)>0){i=0;do{e=c[ca>>2]|0;fa=c[j>>2]|0;Ja[c[(c[e>>2]|0)+8>>2]&63](e,c[fa+(i*12|0)>>2]|0,c[fa+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(!i){a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;sa=ga;return}if(a[b+28>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[j>>2]=0;a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;sa=ga;return}function Kb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;r=sa;sa=sa+208|0;f=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Wa[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){sa=r;return}do{q=f;f=f+-1|0;p=c[d+24>>2]|0;C=+g[p+(f*80|0)>>2];z=+g[p+(f*80|0)+4>>2];w=+g[p+(f*80|0)+8>>2];B=+g[p+(f*80|0)+16>>2];y=+g[p+(f*80|0)+20>>2];u=+g[p+(f*80|0)+24>>2];A=+g[p+(f*80|0)+32>>2];x=+g[p+(f*80|0)+36>>2];s=+g[p+(f*80|0)+40>>2];K=+g[p+(f*80|0)+48>>2];J=+g[p+(f*80|0)+52>>2];k=+g[p+(f*80|0)+56>>2];p=c[p+(f*80|0)+64>>2]|0;o=c[(c[a>>2]|0)+28>>2]|0;I=+g[b>>2];H=+g[b+4>>2];G=+g[b+8>>2];F=+g[b+16>>2];E=+g[b+20>>2];D=+g[b+24>>2];v=+g[b+32>>2];t=+g[b+36>>2];h=+g[b+40>>2];i=K*I+J*H+k*G+ +g[b+48>>2];j=K*F+J*E+k*D+ +g[b+52>>2];k=K*v+J*t+k*h+ +g[b+56>>2];g[r+144>>2]=C*I+B*H+A*G;g[r+144+4>>2]=z*I+y*H+x*G;g[r+144+8>>2]=w*I+u*H+s*G;g[r+144+12>>2]=0.0;g[r+144+16>>2]=C*F+B*E+A*D;g[r+144+20>>2]=z*F+y*E+x*D;g[r+144+24>>2]=w*F+u*E+s*D;g[r+144+28>>2]=0.0;g[r+144+32>>2]=C*v+B*t+A*h;g[r+144+36>>2]=z*v+y*t+x*h;g[r+144+40>>2]=w*v+u*t+s*h;g[r+144+44>>2]=0.0;g[r+144+48>>2]=i;g[r+144+52>>2]=j;g[r+144+56>>2]=k;g[r+144+60>>2]=0.0;ab[o&127](a,r+144|0,p,e)}while((q|0)>1);sa=r;return}case 0:{c[r+144>>2]=c[d+28>>2];c[r+144+4>>2]=c[d+28+4>>2];c[r+144+8>>2]=c[d+28+8>>2];c[r+144+12>>2]=c[d+28+12>>2];I=+va[c[(c[d>>2]|0)+48>>2]&15](d);J=+va[c[(c[d>>2]|0)+48>>2]&15](d);K=+va[c[(c[d>>2]|0)+48>>2]&15](d);I=I+ +g[r+144>>2];g[r+144>>2]=I;J=J+ +g[r+144+4>>2];g[r+144+4>>2]=J;K=K+ +g[r+144+8>>2];g[r+144+8>>2]=K;d=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;a=c[(c[d>>2]|0)+72>>2]|0;g[r+112>>2]=-I;g[r+112+4>>2]=-J;g[r+112+8>>2]=-K;g[r+112+12>>2]=0.0;eb[a&31](d,r+112|0,r+144|0,b,e);sa=r;return}case 8:{K=+va[c[(c[d>>2]|0)+48>>2]&15](d);d=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Ua[c[(c[d>>2]|0)+16>>2]&1](d,K,b,e);sa=r;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){sa=r;return}do{q=f;f=f+-1|0;p=c[d+100>>2]|0;w=+g[p+(f<<4)>>2];x=+g[p+(f<<4)+4>>2];J=+g[p+(f<<4)+8>>2];p=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;o=c[(c[p>>2]|0)+16>>2]|0;K=+g[(c[d+120>>2]|0)+(f<<2)>>2];z=+g[b>>2];A=+g[b+4>>2];y=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];B=+g[b+24>>2];F=+g[b+32>>2];G=+g[b+36>>2];E=+g[b+40>>2];H=w*z+x*A+J*y+ +g[b+48>>2];I=w*C+x*D+J*B+ +g[b+52>>2];J=w*F+x*G+J*E+ +g[b+56>>2];g[r+144>>2]=z+A*0.0+y*0.0;g[r+144+4>>2]=z*0.0+A+y*0.0;g[r+144+8>>2]=y+(z*0.0+A*0.0);g[r+144+12>>2]=0.0;g[r+144+16>>2]=C+D*0.0+B*0.0;g[r+144+20>>2]=C*0.0+D+B*0.0;g[r+144+24>>2]=B+(C*0.0+D*0.0);g[r+144+28>>2]=0.0;g[r+144+32>>2]=F+G*0.0+E*0.0;g[r+144+36>>2]=F*0.0+G+E*0.0;g[r+144+40>>2]=E+(F*0.0+G*0.0);g[r+144+44>>2]=0.0;g[r+144+48>>2]=H;g[r+144+52>>2]=I;g[r+144+56>>2]=J;g[r+144+60>>2]=0.0;Ua[o&1](p,K,r+144|0,e)}while((q|0)>1);sa=r;return}case 10:{q=c[d+52>>2]|0;J=+g[d+28+(((q+2|0)%3|0)<<2)>>2];K=+g[d+28+(q<<2)>>2];d=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Sa[c[(c[d>>2]|0)+76>>2]&3](d,J,K,q,b,e);sa=r;return}case 11:{J=+g[d+56>>2];K=+g[d+60>>2];d=c[d+68>>2]|0;a=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Sa[c[(c[a>>2]|0)+84>>2]&3](a,J,K,d,b,e);sa=r;return}case 13:{q=c[d+52>>2]|0;J=+va[c[(c[d>>2]|0)+92>>2]&15](d);c[r+128>>2]=c[d+28>>2];c[r+128+4>>2]=c[d+28+4>>2];c[r+128+8>>2]=c[d+28+8>>2];c[r+128+12>>2]=c[d+28+12>>2];H=+va[c[(c[d>>2]|0)+48>>2]&15](d);I=+va[c[(c[d>>2]|0)+48>>2]&15](d);K=+va[c[(c[d>>2]|0)+48>>2]&15](d);g[r+128>>2]=H+ +g[r+128>>2];g[r+128+4>>2]=I+ +g[r+128+4>>2];g[r+128+8>>2]=K+ +g[r+128+8>>2];K=+g[r+128+(q<<2)>>2];d=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Sa[c[(c[d>>2]|0)+80>>2]&3](d,J,K,q,b,e);sa=r;return}case 28:{K=+g[d+64>>2];a=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;Ya[c[(c[a>>2]|0)+88>>2]&1](a,d+48|0,K,b,e);sa=r;return}default:{a:do if((f|0)<7){q=c[d+52>>2]|0;if(!q){if((Fa[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){ab[c[(c[d>>2]|0)+104>>2]&127](d,f,r+144|0,r+112|0);K=+g[r+144>>2];x=+g[b>>2];I=+g[r+144+4>>2];y=+g[b+4>>2];G=+g[r+144+8>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];F=+g[b+32>>2];H=+g[b+36>>2];J=+g[b+40>>2];w=+g[b+48>>2];A=+g[b+52>>2];E=+g[b+56>>2];g[r+16>>2]=K*x+I*y+G*z+w;g[r+16+4>>2]=K*B+I*C+G*D+A;g[r+16+8>>2]=K*F+I*H+G*J+E;g[r+16+12>>2]=0.0;G=+g[r+112>>2];I=+g[r+112+4>>2];K=+g[r+112+8>>2];g[r>>2]=w+(x*G+y*I+z*K);g[r+4>>2]=A+(B*G+C*I+D*K);g[r+8>>2]=E+(F*G+H*I+J*K);g[r+12>>2]=0.0;q=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;ab[c[(c[q>>2]|0)+8>>2]&127](q,r+16|0,r,e);f=f+1|0;if((f|0)>=(Fa[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[q+28>>2]|0)>0){p=0;do{f=c[q+36>>2]|0;o=c[f+(p*36|0)+4>>2]|0;b:do if((o|0)>0){l=c[f+(p*36|0)+12>>2]|0;f=0;m=c[l+(o+-1<<2)>>2]|0;h=0.0;i=0.0;k=0.0;while(1){n=c[l+(f<<2)>>2]|0;l=c[q+16>>2]|0;h=h+ +g[l+(n<<4)>>2];i=i+ +g[l+(n<<4)+4>>2];k=k+ +g[l+(n<<4)+8>>2];l=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;L=c[(c[l>>2]|0)+8>>2]|0;M=c[q+16>>2]|0;K=+g[M+(m<<4)>>2];x=+g[b>>2];I=+g[M+(m<<4)+4>>2];y=+g[b+4>>2];G=+g[M+(m<<4)+8>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];F=+g[b+32>>2];H=+g[b+36>>2];J=+g[b+40>>2];w=+g[b+48>>2];A=+g[b+52>>2];E=+g[b+56>>2];g[r+144>>2]=K*x+I*y+G*z+w;g[r+144+4>>2]=K*B+I*C+G*D+A;g[r+144+8>>2]=K*F+I*H+G*J+E;g[r+144+12>>2]=0.0;G=+g[M+(n<<4)>>2];I=+g[M+(n<<4)+4>>2];K=+g[M+(n<<4)+8>>2];g[r+112>>2]=w+(x*G+y*I+z*K);g[r+112+4>>2]=A+(B*G+C*I+D*K);g[r+112+8>>2]=E+(F*G+H*I+J*K);g[r+112+12>>2]=0.0;ab[L&127](l,r+144|0,r+112|0,e);f=f+1|0;l=c[q+36>>2]|0;if((f|0)>=(c[l+(p*36|0)+4>>2]|0))break b;m=n;l=c[l+(p*36|0)+12>>2]|0}}else{h=0.0;i=0.0;k=0.0}while(0);j=1.0/+(o|0)*h;i=1.0/+(o|0)*i;h=1.0/+(o|0)*k;M=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((Fa[c[(c[M>>2]|0)+48>>2]&127](M)|0)&16384|0){c[r+144>>2]=1065353216;c[r+144+4>>2]=1065353216;c[r+144+8>>2]=0;g[r+144+12>>2]=0.0;M=c[q+36>>2]|0;E=+g[M+(p*36|0)+20>>2];G=+g[M+(p*36|0)+24>>2];I=+g[M+(p*36|0)+28>>2];M=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;L=c[(c[M>>2]|0)+8>>2]|0;w=+g[b>>2];x=+g[b+4>>2];y=+g[b+8>>2];A=+g[b+16>>2];B=+g[b+20>>2];C=+g[b+24>>2];F=+g[b+32>>2];H=+g[b+36>>2];J=+g[b+40>>2];z=+g[b+48>>2];D=+g[b+52>>2];K=+g[b+56>>2];g[r+112>>2]=j*w+i*x+h*y+z;g[r+112+4>>2]=j*A+i*B+h*C+D;g[r+112+8>>2]=j*F+i*H+h*J+K;g[r+112+12>>2]=0.0;g[r+16>>2]=(j+E)*w+(i+G)*x+(h+I)*y+z;g[r+16+4>>2]=(j+E)*A+(i+G)*B+(h+I)*C+D;g[r+16+8>>2]=(j+E)*F+(i+G)*H+(h+I)*J+K;g[r+16+12>>2]=0.0;ab[L&127](M,r+112|0,r+16|0,r+144|0)}p=p+1|0}while((p|0)<(c[q+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[r+144>>2]=1566444395;c[r+144+4>>2]=1566444395;c[r+144+8>>2]=1566444395;g[r+144+12>>2]=0.0;c[r+112>>2]=-581039253;c[r+112+4>>2]=-581039253;c[r+112+8>>2]=-581039253;g[r+112+12>>2]=0.0;f=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[r+16>>2]=8628;c[r+16+4>>2]=8652;c[r+16+8>>2]=f;c[r+16+12>>2]=c[e>>2];c[r+16+12+4>>2]=c[e+4>>2];c[r+16+12+8>>2]=c[e+8>>2];c[r+16+12+12>>2]=c[e+12>>2];c[r+16+28>>2]=c[b>>2];c[r+16+28+4>>2]=c[b+4>>2];c[r+16+28+8>>2]=c[b+8>>2];c[r+16+28+12>>2]=c[b+12>>2];c[r+16+44>>2]=c[b+16>>2];c[r+16+44+4>>2]=c[b+16+4>>2];c[r+16+44+8>>2]=c[b+16+8>>2];c[r+16+44+12>>2]=c[b+16+12>>2];c[r+16+60>>2]=c[b+32>>2];c[r+16+60+4>>2]=c[b+32+4>>2];c[r+16+60+8>>2]=c[b+32+8>>2];c[r+16+60+12>>2]=c[b+32+12>>2];c[r+16+76>>2]=c[b+48>>2];c[r+16+76+4>>2]=c[b+48+4>>2];c[r+16+76+8>>2]=c[b+48+8>>2];c[r+16+76+12>>2]=c[b+48+12>>2];ab[c[(c[d>>2]|0)+64>>2]&127](d,r+16|0,r+112|0,r+144|0);f=c[d+4>>2]|0}if((f|0)!=3){sa=r;return}c[r+144>>2]=1566444395;c[r+144+4>>2]=1566444395;c[r+144+8>>2]=1566444395;g[r+144+12>>2]=0.0;c[r+112>>2]=-581039253;c[r+112+4>>2]=-581039253;c[r+112+8>>2]=-581039253;g[r+112+12>>2]=0.0;M=Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[r+16>>2]=8628;c[r+16+4>>2]=8652;c[r+16+8>>2]=M;c[r+16+12>>2]=c[e>>2];c[r+16+12+4>>2]=c[e+4>>2];c[r+16+12+8>>2]=c[e+8>>2];c[r+16+12+12>>2]=c[e+12>>2];c[r+16+28>>2]=c[b>>2];c[r+16+28+4>>2]=c[b+4>>2];c[r+16+28+8>>2]=c[b+8>>2];c[r+16+28+12>>2]=c[b+12>>2];c[r+16+44>>2]=c[b+16>>2];c[r+16+44+4>>2]=c[b+16+4>>2];c[r+16+44+8>>2]=c[b+16+8>>2];c[r+16+44+12>>2]=c[b+16+12>>2];c[r+16+60>>2]=c[b+32>>2];c[r+16+60+4>>2]=c[b+32+4>>2];c[r+16+60+8>>2]=c[b+32+8>>2];c[r+16+60+12>>2]=c[b+32+12>>2];c[r+16+76>>2]=c[b+48>>2];c[r+16+76+4>>2]=c[b+48+4>>2];c[r+16+76+8>>2]=c[b+48+8>>2];c[r+16+76+12>>2]=c[b+48+12>>2];M=c[d+92>>2]|0;ab[c[(c[M>>2]|0)+8>>2]&127](M,r+16+4|0,r+112|0,r+144|0);sa=r;return}}}function Lb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=sa;sa=sa+48|0;z=1.0/+g[b+108>>2];A=1.0/+g[b+112>>2];B=1.0/+g[b+116>>2];u=+g[b+48>>2];v=z*+g[e>>2]+u;o=+g[b+52>>2];i=A*+g[e+4>>2]+o;q=+g[b+56>>2];p=B*+g[e+8>>2]+q;u=z*+g[f>>2]+u;o=A*+g[f+4>>2]+o;q=B*+g[f+8>>2]+q;B=+g[b+16>>2];v=v>2];i=i>2];p=p>2];v=y>2];i=x>2];p=w>2]|0)+-1|0;f=(c[b+68>>2]|0)+-1|0;switch(c[b+104>>2]|0){case 0:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;l=(k|0)<(l|0)?k:l;n=(n|0)>0?n:0;break}case 1:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;l=(j|0)<(l|0)?j:l;n=(m|0)>0?m:0;break}case 2:{f=(k|0)<(f|0)?k:f;e=(n|0)>0?n:0;l=(j|0)<(l|0)?j:l;n=(m|0)>0?m:0;break}default:{e=0;n=0}}if((e|0)>=(f|0)){sa=t;return}r=(n|0)<(l|0);do if(r){k=(e&1|0)==0;q=+(e|0);m=e+1|0;h=n;while(1){do if(!(a[b+100>>0]|0)){if(a[b+101>>0]|0?(h+e&1|0)==0:0){s=16;break}if(!(k&(a[b+102>>0]|0)!=0)){i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,h,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(h|0)-+g[b+80>>2]*.5;p=q-+g[b+84>>2]*.5;g[t>>2]=i;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=q-+g[b+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}case 2:{B=+(h|0)-+g[b+80>>2]*.5;o=q-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}default:{i=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=i*+g[b+108>>2];g[t+4>>2]=o*+g[b+112>>2];g[t+8>>2]=p*+g[b+116>>2];i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,h,m);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(h|0)-+g[b+80>>2]*.5;p=+(m|0)-+g[b+84>>2]*.5;g[t+16>>2]=i;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=+(m|0)-+g[b+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}case 2:{B=+(h|0)-+g[b+80>>2]*.5;o=+(m|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}default:{i=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=i*+g[b+108>>2];g[t+20>>2]=o*+g[b+112>>2];g[t+24>>2]=p*+g[b+116>>2];j=h+1|0;i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=q-+g[b+84>>2]*.5;g[t+32>>2]=i;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=q-+g[b+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=q-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}default:{i=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=i*+g[b+108>>2];g[t+36>>2]=o*+g[b+112>>2];g[t+40>>2]=p*+g[b+116>>2];ab[c[(c[d>>2]|0)+8>>2]&127](d,t,h,e);i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=q-+g[b+84>>2]*.5;g[t>>2]=i;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=q-+g[b+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=q-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}default:{i=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=i*+g[b+108>>2];g[t+4>>2]=o*+g[b+112>>2];g[t+8>>2]=p*+g[b+116>>2];i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,m);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=i;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=+(m|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}default:{i=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=i*+g[b+108>>2];g[t+36>>2]=o*+g[b+112>>2];g[t+40>>2]=p*+g[b+116>>2];ab[c[(c[d>>2]|0)+8>>2]&127](d,t,h,e);h=j}else s=16}else s=16;while(0);if((s|0)==16){s=0;i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,h,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(h|0)-+g[b+80>>2]*.5;p=q-+g[b+84>>2]*.5;g[t>>2]=i;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=q-+g[b+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}case 2:{B=+(h|0)-+g[b+80>>2]*.5;o=q-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;i=B;break}default:{i=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=i*+g[b+108>>2];g[t+4>>2]=o*+g[b+112>>2];g[t+8>>2]=p*+g[b+116>>2];j=h+1|0;i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=q-+g[b+84>>2]*.5;g[t+16>>2]=i;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=q-+g[b+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=q-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}default:{i=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=i*+g[b+108>>2];g[t+20>>2]=o*+g[b+112>>2];g[t+24>>2]=p*+g[b+116>>2];i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,m);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=i;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=+(m|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}default:{i=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=i*+g[b+108>>2];g[t+36>>2]=o*+g[b+112>>2];g[t+40>>2]=p*+g[b+116>>2];ab[c[(c[d>>2]|0)+8>>2]&127](d,t,h,e);i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,j,m);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(j|0)-+g[b+80>>2]*.5;p=+(m|0)-+g[b+84>>2]*.5;g[t+16>>2]=i;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(j|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=+(m|0)-+g[b+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}case 2:{B=+(j|0)-+g[b+80>>2]*.5;o=+(m|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;i=B;break}default:{i=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=i*+g[b+108>>2];g[t+20>>2]=o*+g[b+112>>2];g[t+24>>2]=p*+g[b+116>>2];i=+ya[c[(c[b>>2]|0)+68>>2]&15](b,h,m);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];o=+(h|0)-+g[b+80>>2]*.5;p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=i;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+g[b+80>>2]*.5;o=i-+g[b+52>>2];p=+(m|0)-+g[b+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}case 2:{B=+(h|0)-+g[b+80>>2]*.5;o=+(m|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;i=B;break}default:{i=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=i*+g[b+108>>2];g[t+36>>2]=o*+g[b+112>>2];g[t+40>>2]=p*+g[b+116>>2];ab[c[(c[d>>2]|0)+8>>2]&127](d,t,h,e);h=j}if((h|0)==(l|0)){e=m;break}}}else e=e+1|0;while((e|0)!=(f|0));sa=t;return}function Mb(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=sa;sa=sa+192|0;O=c[d+36>>2]|0;n=+g[(+g[O+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[O+100>>0]&1){sa=P;return}L=c[b+8>>2]|0;t=c[L+4>>2]|0;M=c[L+12>>2]|0;J=c[(c[b+4>>2]|0)+684>>2]|0;C=+g[O+8>>2]-+g[M+48>>2];q=+g[O+12>>2]-+g[M+52>>2];D=+g[O+16>>2]-+g[M+56>>2];z=1.0/+g[J+76>>2];y=(C*+g[M>>2]+q*+g[M+16>>2]+D*+g[M+32>>2])*z/3.0;G=y<0.0?~~(1.0-y):0;K=~~((y+ +(G|0)-+(~~(y+ +(G|0))|0))*3.0);r=(y+ +(G|0)-+(~~(y+ +(G|0))|0))*3.0-+(K|0);G=~~(y+ +(G|0))-G|0;y=z*(C*+g[M+4>>2]+q*+g[M+20>>2]+D*+g[M+36>>2])/3.0;E=y<0.0?~~(1.0-y):0;H=~~((y+ +(E|0)-+(~~(y+ +(E|0))|0))*3.0);m=(y+ +(E|0)-+(~~(y+ +(E|0))|0))*3.0-+(H|0);E=~~(y+ +(E|0))-E|0;D=z*(C*+g[M+8>>2]+q*+g[M+24>>2]+D*+g[M+40>>2])/3.0;F=D<0.0?~~(1.0-D):0;I=~~((D+ +(F|0)-+(~~(D+ +(F|0))|0))*3.0);q=(D+ +(F|0)-+(~~(D+ +(F|0))|0))*3.0-+(I|0);F=~~(D+ +(F|0))-F|0;o=(16?G>>>16:G)<<11^(G&65535)+16^(G&65535)+16<<16;o=o+(E&65535)+(11?o>>>11:o)|0;o=o^(16?E>>>16:E)<<11^o<<16;o=o+(F&65535)+(11?o>>>11:o)|0;o=o^(16?F>>>16:F)<<11^o<<16;o=o+(t&65535)+(11?o>>>11:o)|0;o=o^(16?t>>>16:t)<<11^o<<16;o=(11?o>>>11:o)+o|0;o=(5?(o<<3^o)>>>5:o<<3^o)+(o<<3^o)|0;o=(17?(o<<4^o)>>>17:o<<4^o)+(o<<4^o)|0;o=(6?(o<<25^o)>>>6:o<<25^o)+(o<<25^o)|0;p=c[J+60>>2]|0;s=c[J+68>>2]|0;d=c[s+(((o>>>0)%(p>>>0)|0)<<2)>>2]|0;c[J+96>>2]=(c[J+96>>2]|0)+1;e=(c[J+92>>2]|0)+1|0;c[J+92>>2]=e;a:do if(!d)l=10;else while(1){if(((((c[d+272>>2]|0)==(o|0)?(c[d+256>>2]|0)==(G|0):0)?(c[d+260>>2]|0)==(E|0):0)?(c[d+264>>2]|0)==(F|0):0)?(c[d+276>>2]|0)==(t|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[J+92>>2]=e;if(!d){l=10;break}}while(0);b:do if((l|0)==10){B=c[J+84>>2]|0;c[J+84>>2]=B+1;if((B|0)>=(c[J+88>>2]|0)){c[6832]=(c[6832]|0)+1;c:do if((p|0)>0){d=0;e=s;while(1){B=e+(d<<2)|0;e=c[B>>2]|0;c[B>>2]=0;if(e|0)do{B=e;e=c[e+280>>2]|0;GI(B)}while((e|0)!=0);d=d+1|0;if((d|0)==(p|0))break c;e=c[J+68>>2]|0}}while(0);g[J+76>>2]=.25;c[J+80>>2]=0;c[J+84>>2]=0;c[J+92>>2]=1;c[J+96>>2]=1}d=Nr(284)|0;mk(d|0,0,284)|0;c[d+280>>2]=c[s+(((o>>>0)%(p>>>0)|0)<<2)>>2];c[s+(((o>>>0)%(p>>>0)|0)<<2)>>2]=d;c[d+276>>2]=t;c[d+272>>2]=o;c[d+256>>2]=G;c[d+260>>2]=E;c[d+264>>2]=F;j=+g[J+76>>2];t=P+120+4|0;A=P+120+24|0;B=P+120+44|0;e=0;f=j;while(1){i=j*+(F|0)*3.0+f*+(e|0);l=0;while(1){h=j*+(E|0)*3.0+f*+(l|0);g[P+48>>2]=+(G|0)*3.0*j+f*0.0;g[P+48+4>>2]=h;g[P+48+8>>2]=i;g[P+48+12>>2]=0.0;o=c[d+276>>2]|0;c[P+120>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+120+20>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[P+120+40>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;s=c[o+4>>2]|0;if((s|0)<20){f=+lc(P+48|0,o,P+120|0,P+64|0);o=c[d+276>>2]|0;p=o+4|0;s=c[o+4>>2]|0}else{f=0.0;p=o+4|0}g[d+(l<<4)+(e<<2)>>2]=f;g[P+48>>2]=+(G|0)*3.0*j+ +g[J+76>>2];g[P+48+4>>2]=h;g[P+48+8>>2]=i;g[P+48+12>>2]=0.0;c[P+120>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+120+20>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[P+120+40>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;if((s|0)<20){f=+lc(P+48|0,o,P+120|0,P+64|0);o=c[d+276>>2]|0;p=o+4|0}else f=0.0;g[d+64+(l<<4)+(e<<2)>>2]=f;g[P+48>>2]=+(G|0)*3.0*j+ +g[J+76>>2]*2.0;g[P+48+4>>2]=h;g[P+48+8>>2]=i;g[P+48+12>>2]=0.0;c[P+120>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+120+20>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[P+120+40>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;if((c[p>>2]|0)<20){f=+lc(P+48|0,o,P+120|0,P+64|0);o=c[d+276>>2]|0;p=o+4|0}else f=0.0;g[d+128+(l<<4)+(e<<2)>>2]=f;g[P+48>>2]=+(G|0)*3.0*j+ +g[J+76>>2]*3.0;g[P+48+4>>2]=h;g[P+48+8>>2]=i;g[P+48+12>>2]=0.0;c[P+120>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+120+20>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[P+120+40>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;if((c[p>>2]|0)<20)f=+lc(P+48|0,o,P+120|0,P+64|0);else f=0.0;g[d+192+(l<<4)+(e<<2)>>2]=f;l=l+1|0;if((l|0)==4)break;f=+g[J+76>>2]}e=e+1|0;if((e|0)==4)break b;f=+g[J+76>>2]}}while(0);c[d+268>>2]=c[J+80>>2];f=+g[d+(K<<6)+(H<<4)+(I<<2)>>2];w=+g[d+(K+1<<6)+(H<<4)+(I<<2)>>2];u=+g[d+(K+1<<6)+(H+1<<4)+(I<<2)>>2];v=+g[d+(K<<6)+(H+1<<4)+(I<<2)>>2];D=+g[d+(K<<6)+(H<<4)+(I+1<<2)>>2];C=+g[d+(K+1<<6)+(H<<4)+(I+1<<2)>>2];y=+g[d+(K+1<<6)+(H+1<<4)+(I+1<<2)>>2];z=+g[d+(K<<6)+(H+1<<4)+(I+1<<2)>>2];h=w-f+m*(u-v-(w-f))+q*(C-D+m*(y-z-(C-D))-(w-f+m*(u-v-(w-f))));i=v-f+r*(u-w-(v-f))+q*(z-D+r*(y-C-(z-D))-(v-f+r*(u-w-(v-f))));j=D-f+r*(C-w-(D-f))+m*(z-v+r*(y-u-(z-v))-(D-f+r*(C-w-(D-f))));k=1.0/+x(+(j*j+(h*h+i*i)));f=f+r*(w-f)+m*(v+r*(u-v)-(f+r*(w-f)));f=f+q*(D+r*(C-D)+m*(z+r*(y-z)-(D+r*(C-D)))-f)-n;if(!(f<0.0)){sa=P;return}s=c[L+8>>2]|0;C=+g[M>>2]*h*k+ +g[M+4>>2]*i*k+ +g[M+8>>2]*j*k;D=h*k*+g[M+16>>2]+i*k*+g[M+20>>2]+j*k*+g[M+24>>2];z=h*k*+g[M+32>>2]+i*k*+g[M+36>>2]+j*k*+g[M+40>>2];y=-(C*(+g[O+8>>2]-f*C)+D*(+g[O+12>>2]-f*D)+z*(+g[O+16>>2]-f*z));r=+g[O+88>>2];d=c[b+12>>2]|0;if(!d)q=0.0;else q=+g[d+344>>2];if(!(r+q>0.0)){sa=P;return}if(!d)l=(c[(c[b+8>>2]|0)+8>>2]|0)+4|0;else l=d+4|0;if((a[26688]|0)==0?mz(26688)|0:0){d=27332;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}e=c[b+12>>2]|0;k=+g[O+8>>2];v=k-+g[l+48>>2];m=+g[O+12>>2];w=m-+g[l+52>>2];n=+g[O+16>>2];u=n-+g[l+56>>2];if(!e){M=c[b+4>>2]|0;f=0.0;h=0.0;i=0.0;d=M;j=+g[M+452>>2]}else{i=+g[e+332>>2];h=+g[e+336>>2];Q=+g[e+328>>2];d=c[b+4>>2]|0;j=+g[d+452>>2];f=(u*i-w*h+ +g[e+312>>2])*j;h=(+g[e+316>>2]+(v*h-u*Q))*j;i=(w*Q-v*i+ +g[e+320>>2])*j}k=k-+g[O+24>>2]-f;m=m-+g[O+28>>2]-h;Q=n-+g[O+32>>2]-i;h=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];_e(P+120|0,j,r,q,(e|0)==0?27332:e+264|0,v,w,u);c[P+32>>2]=c[P+120>>2];c[P+32+4>>2]=c[P+120+4>>2];c[P+32+8>>2]=c[P+120+8>>2];c[P+32+12>>2]=c[P+120+12>>2];c[P+16>>2]=c[P+120+16>>2];c[P+16+4>>2]=c[P+120+16+4>>2];c[P+16+8>>2]=c[P+120+16+8>>2];c[P+16+12>>2]=c[P+120+16+12>>2];c[P>>2]=c[P+120+32>>2];c[P+4>>2]=c[P+120+32+4>>2];c[P+8>>2]=c[P+120+32+8>>2];c[P+12>>2]=c[P+120+32+12>>2];p=c[b+4>>2]|0;f=r*+g[p+452>>2];h=(Q-z*(k*C+m*D+Q*z))*(Q-z*(k*C+m*D+Q*z))+((k-C*(k*C+m*D+Q*z))*(k-C*(k*C+m*D+Q*z))+(m-D*(k*C+m*D+Q*z))*(m-D*(k*C+m*D+Q*z)))>2]|0)+8>>2]|0)+204>>2]&3|0)==0?p+324|0:p+328|0)>>2]|0;d=c[p+812>>2]|0;if((d|0)==(c[p+816>>2]|0)?(N=(d|0)==0?1:d<<1,(d|0)<(N|0)):0){if(!N)l=0;else{c[7182]=(c[7182]|0)+1;d=xb((N*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}l=d;d=c[p+812>>2]|0}if((d|0)>0){e=0;do{M=l+(e*104|0)|0;L=c[p+820>>2]|0;K=L+(e*104|0)|0;c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];c[M+16>>2]=c[K+16>>2];c[M+20>>2]=c[K+20>>2];c[M+24>>2]=c[K+24>>2];M=l+(e*104|0)+28|0;K=L+(e*104|0)+28|0;c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];M=L+(e*104|0)+44|0;K=l+(e*104|0)+44|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];c[K+8>>2]=c[M+8>>2];c[K+12>>2]=c[M+12>>2];K=L+(e*104|0)+60|0;M=l+(e*104|0)+60|0;c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];M=l+(e*104|0)+76|0;L=L+(e*104|0)+76|0;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];c[M+8>>2]=c[L+8>>2];c[M+12>>2]=c[L+12>>2];c[M+16>>2]=c[L+16>>2];c[M+20>>2]=c[L+20>>2];c[M+24>>2]=c[L+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[p+820>>2]|0;if(d|0){if(a[p+824>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[p+820>>2]=0}a[p+824>>0]=1;c[p+820>>2]=l;c[p+816>>2]=N;d=c[p+812>>2]|0}N=c[p+820>>2]|0;c[N+(d*104|0)>>2]=s;g[N+(d*104|0)+4>>2]=C;g[N+(d*104|0)+8>>2]=D;g[N+(d*104|0)+12>>2]=z;g[N+(d*104|0)+16>>2]=0.0;g[N+(d*104|0)+20>>2]=y;c[N+(d*104|0)+24>>2]=O;O=N+(d*104|0)+28|0;c[O>>2]=c[P+32>>2];c[O+4>>2]=c[P+32+4>>2];c[O+8>>2]=c[P+32+8>>2];c[O+12>>2]=c[P+32+12>>2];O=N+(d*104|0)+44|0;c[O>>2]=c[P+16>>2];c[O+4>>2]=c[P+16+4>>2];c[O+8>>2]=c[P+16+8>>2];c[O+12>>2]=c[P+16+12>>2];O=N+(d*104|0)+60|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];O=N+(d*104|0)+76|0;g[O>>2]=v;g[N+(d*104|0)+80>>2]=w;g[N+(d*104|0)+84>>2]=u;g[N+(d*104|0)+88>>2]=0.0;g[O+16>>2]=f;g[O+20>>2]=h;c[O+24>>2]=o;c[p+812>>2]=(c[p+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){sa=P;return}if(c[d+204>>2]&3|0){sa=P;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;sa=P;return}function Nb(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;q=sa;sa=sa+96|0;n=c[b+136>>2]|0;if(!n){sa=q;return}e=c[b+8>>2]|0;if((e|0)<(n|0)){if((c[b+12>>2]|0)<(n|0)){c[7182]=(c[7182]|0)+1;h=xb((n<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+8>>2]|0;if((i|0)>0){h=0;do{m=j+(h<<4)|0;r=(c[b+16>>2]|0)+(h<<4)|0;c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+16>>2]|0;if(h|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=n;h=b+16|0}else h=b+16|0;do{r=(c[h>>2]|0)+(e<<4)|0;c[r>>2]=c[q+48>>2];c[r+4>>2]=c[q+48+4>>2];c[r+8>>2]=c[q+48+8>>2];c[r+12>>2]=c[q+48+12>>2];e=e+1|0}while((e|0)!=(n|0))}c[b+8>>2]=n;e=c[b+28>>2]|0;if((e|0)<(n|0)){if((c[b+32>>2]|0)<(n|0)){c[7182]=(c[7182]|0)+1;h=xb((n<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+28>>2]|0;if((i|0)>0){h=0;do{r=j+(h<<4)|0;m=(c[b+36>>2]|0)+(h<<4)|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+36>>2]|0;if(h|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=n;h=b+36|0}else h=b+36|0;do{r=(c[h>>2]|0)+(e<<4)|0;c[r>>2]=c[q+48>>2];c[r+4>>2]=c[q+48+4>>2];c[r+8>>2]=c[q+48+8>>2];c[r+12>>2]=c[q+48+12>>2];e=e+1|0}while((e|0)!=(n|0))}c[b+28>>2]=n;m=c[b+48>>2]|0;if((m|0)<(n|0)){do if((c[b+52>>2]|0)<(n|0)){c[7182]=(c[7182]|0)+1;e=xb((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+48>>2]|0;j=c[b+56>>2]|0;if((i|0)<=0){if(!j){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=n;h=n<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=n;h=n<<2}else{h=n<<2;e=c[b+56>>2]|0}while(0);mk(e+(m<<2)|0,0,h-(m<<2)|0)|0}c[b+48>>2]=n;m=c[b+68>>2]|0;if((m|0)<(n|0)){do if((c[b+72>>2]|0)<(n|0)){c[7182]=(c[7182]|0)+1;e=xb((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+68>>2]|0;j=c[b+76>>2]|0;if((i|0)<=0){if(!j){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=n;h=n<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=n;h=n<<2}else{h=n<<2;e=c[b+76>>2]|0}while(0);mk(e+(m<<2)|0,0,h-(m<<2)|0)|0}c[b+68>>2]=n;e=c[b+136>>2]|0;if((e|0)<=0){sa=q;return}i=c[b+76>>2]|0;j=c[b+56>>2]|0;h=0;do{g[i+(h<<2)>>2]=0.0;g[j+(h<<2)>>2]=0.0;h=h+1|0}while((h|0)!=(e|0));j=0;do{h=c[b+144>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){w=h+(j*284|0)+92|0;c[q+48>>2]=c[w>>2];c[q+48+4>>2]=c[w+4>>2];c[q+48+8>>2]=c[w+8>>2];c[q+48+12>>2]=c[w+12>>2];w=h+(j*284|0)+108|0;c[q+48+16>>2]=c[w>>2];c[q+48+16+4>>2]=c[w+4>>2];c[q+48+16+8>>2]=c[w+8>>2];c[q+48+16+12>>2]=c[w+12>>2];w=h+(j*284|0)+124|0;c[q+48+32>>2]=c[w>>2];c[q+48+32+4>>2]=c[w+4>>2];c[q+48+32+8>>2]=c[w+8>>2];c[q+48+32+12>>2]=c[w+12>>2];w=c[b+120>>2]|0;e=c[q+48+16+(w<<2)>>2]|0;y=c[q+48+32+(w<<2)>>2]|0;m=c[b+36>>2]|0;c[m+(j<<4)>>2]=c[q+48+(w<<2)>>2];c[m+(j<<4)+4>>2]=e;c[m+(j<<4)+8>>2]=y;g[m+(j<<4)+12>>2]=0.0;m=c[b+36>>2]|0;y=m+(j<<4)|0;z=+g[y>>2];e=h+(j*284|0)|0;f=+g[e>>2];w=m+(j<<4)+4|0;v=+g[w>>2];r=h+(j*284|0)+4|0;k=+g[r>>2];m=m+(j<<4)+8|0;s=+g[m>>2];n=h+(j*284|0)+8|0;u=+g[n>>2];l=z-f*(z*f+v*k+s*u);t=v-k*(z*f+v*k+s*u);u=s-u*(z*f+v*k+s*u);s=1.0/+x(+(u*u+(l*l+t*t)));g[y>>2]=l*s;g[w>>2]=t*s;g[m>>2]=u*s;k=+g[r>>2];v=+g[n>>2];f=+g[e>>2];e=c[b+16>>2]|0;g[e+(j<<4)>>2]=k*u*s-v*t*s;g[e+(j<<4)+4>>2]=v*l*s-u*s*f;g[e+(j<<4)+8>>2]=t*s*f-k*l*s;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;n=e+(j<<4)|0;s=+g[n>>2];r=e+(j<<4)+4|0;l=+g[r>>2];e=e+(j<<4)+8|0;k=+g[e>>2];f=1.0/+x(+(s*s+l*l+k*k));g[n>>2]=s*f;g[r>>2]=l*f;g[e>>2]=k*f;e=c[b+116>>2]|0;r=c[b+36>>2]|0;f=+g[r+(j<<4)>>2];k=+g[r+(j<<4)+4>>2];l=+g[r+(j<<4)+8>>2];if(f*f+k*k+l*l>1.100000023841858)f=0.0;else{C=+g[h+(j*284|0)+16>>2];G=C-+g[e+52>>2];E=+g[h+(j*284|0)+20>>2];I=E-+g[e+56>>2];J=+g[h+(j*284|0)+24>>2];L=J-+g[e+60>>2];C=C-+g[i+52>>2];E=E-+g[i+56>>2];J=J-+g[i+60>>2];F=+g[e+332>>2];M=+g[e+336>>2];H=+g[e+328>>2];B=+g[i+332>>2];K=+g[i+336>>2];D=+g[i+328>>2];A=(l*I-k*L)*+g[e+4>>2]+(f*L-l*G)*+g[e+20>>2]+(k*G-f*I)*+g[e+36>>2];s=(l*I-k*L)*+g[e+8>>2]+(f*L-l*G)*+g[e+24>>2]+(k*G-f*I)*+g[e+40>>2];t=(l*I-k*L)*+g[e+12>>2]+(f*L-l*G)*+g[e+28>>2]+(k*G-f*I)*+g[e+44>>2];u=(E*-l-J*-k)*+g[i+4>>2]+(J*-f-C*-l)*+g[i+20>>2]+(C*-k-E*-f)*+g[i+36>>2];v=(E*-l-J*-k)*+g[i+8>>2]+(J*-f-C*-l)*+g[i+24>>2]+(C*-k-E*-f)*+g[i+40>>2];z=(E*-l-J*-k)*+g[i+12>>2]+(J*-f-C*-l)*+g[i+28>>2]+(C*-k-E*-f)*+g[i+44>>2];f=(f*(L*F-I*M+ +g[e+312>>2]-(J*B-E*K+ +g[i+312>>2]))+k*(+g[e+316>>2]+(G*M-L*H)-(+g[i+316>>2]+(C*K-J*D)))+l*(I*H-G*F+ +g[e+320>>2]-(E*D-C*B+ +g[i+320>>2])))*-.20000000298023224*(1.0/(+g[i+344>>2]+(+g[e+344>>2]+(A*A*+g[e+396>>2]+s*s*+g[e+400>>2]+t*t*+g[e+404>>2]))+(u*u*+g[i+396>>2]+v*v*+g[i+400>>2]+z*z*+g[i+404>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+136>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){sa=q;return}h=0;m=0;i=c[b+144>>2]|0;while(1){e=c[i+(m*284|0)+88>>2]|0;if(e){f=+g[i+(m*284|0)+252>>2];if(f!=0.0){f=f*d;e=i}else{M=+g[i+(m*284|0)+256>>2];M=M==0.0?0.0:M;y=c[b+116>>2]|0;w=c[b+16>>2]|0;G=+g[i+(m*284|0)+16>>2];E=+g[i+(m*284|0)+20>>2];A=+g[i+(m*284|0)+24>>2];v=+g[w+(m<<4)>>2];D=+g[w+(m<<4)+4>>2];f=+g[w+(m<<4)+8>>2];O=G-+g[y+52>>2];P=E-+g[y+56>>2];k=A-+g[y+60>>2];l=+g[y+264>>2]*(P*f-k*D)+ +g[y+280>>2]*(k*v-O*f)+(O*D-P*v)*+g[y+296>>2];Q=(P*f-k*D)*+g[y+268>>2]+(k*v-O*f)*+g[y+284>>2]+(O*D-P*v)*+g[y+300>>2];N=(P*f-k*D)*+g[y+272>>2]+(k*v-O*f)*+g[y+288>>2]+(O*D-P*v)*+g[y+304>>2];K=G-+g[e+52>>2];I=E-+g[e+56>>2];C=A-+g[e+60>>2];u=(D*K-v*I)*+g[e+296>>2]+(+g[e+264>>2]*(f*I-D*C)+ +g[e+280>>2]*(v*C-f*K));s=(f*I-D*C)*+g[e+268>>2]+(v*C-f*K)*+g[e+284>>2]+(D*K-v*I)*+g[e+300>>2];t=(f*I-D*C)*+g[e+272>>2]+(v*C-f*K)*+g[e+288>>2]+(D*K-v*I)*+g[e+304>>2];G=G-+g[y+52>>2];E=E-+g[y+56>>2];A=A-+g[y+60>>2];H=+g[y+332>>2];z=+g[y+336>>2];F=+g[y+328>>2];L=+g[e+332>>2];B=+g[e+336>>2];J=+g[e+328>>2];f=-(1.0/(+g[y+344>>2]+(f*(P*l-O*Q)+(v*(k*Q-P*N)+D*(O*N-k*l)))+(+g[e+344>>2]+(f*(I*u-K*s)+(v*(C*s-I*t)+D*(K*t-C*u)))))*((A*H-E*z+ +g[y+312>>2]-(C*L-I*B+ +g[e+312>>2]))*v+(+g[y+316>>2]+(G*z-A*F)-(+g[e+316>>2]+(K*B-C*J)))*D+(E*F-G*H+ +g[y+320>>2]-(I*J-K*L+ +g[e+320>>2]))*f));f=M>2]|0}y=(c[b+56>>2]|0)+(m<<2)|0;g[y>>2]=0.0;j=e+(m*284|0)+280|0;g[j>>2]=1.0;l=+g[i+(m*284|0)+276>>2]*d*+g[i+(m*284|0)+228>>2];g[y>>2]=f;f=f*.5;k=+g[(c[b+76>>2]|0)+(m<<2)>>2];if(f*f+k*k>l*l){Q=l/+x(+(f*f+k*k));g[j>>2]=Q*+g[j>>2];h=1}}else{g[(c[b+56>>2]|0)+(m<<2)>>2]=0.0;g[i+(m*284|0)+280>>2]=1.0;e=i}m=m+1|0;j=c[b+136>>2]|0;if((m|0)>=(j|0))break;else i=e}if(h&(j|0)>0){h=c[b+76>>2]|0;e=0;do{i=h+(e<<2)|0;if(+g[i>>2]!=0.0?(o=(c[b+144>>2]|0)+(e*284|0)+280|0,p=+g[o>>2],p<1.0):0){y=(c[b+56>>2]|0)+(e<<2)|0;g[y>>2]=p*+g[y>>2];g[i>>2]=+g[o>>2]*+g[i>>2]}e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){sa=q;return}h=0;do{i=c[b+144>>2]|0;e=c[b+116>>2]|0;j=i+(h*284|0)+16|0;k=+g[j>>2]-+g[e+52>>2];m=i+(h*284|0)+20|0;l=+g[m>>2]-+g[e+56>>2];n=i+(h*284|0)+24|0;d=+g[n>>2]-+g[e+60>>2];g[q+48>>2]=k;g[q+48+4>>2]=l;g[q+48+8>>2]=d;g[q+48+12>>2]=0.0;f=+g[(c[b+56>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;P=f*+g[y+(h<<4)+4>>2];Q=f*+g[y+(h<<4)+8>>2];g[q+32>>2]=f*+g[y+(h<<4)>>2];g[q+32+4>>2]=P;g[q+32+8>>2]=Q;g[q+32+12>>2]=0.0;Bk(e,q+32|0,q+48|0)}f=+g[(c[b+76>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(h*284|0)+88>>2]|0;P=+g[m>>2]-+g[y+56>>2];O=+g[n>>2]-+g[y+60>>2];g[q+32>>2]=+g[j>>2]-+g[y+52>>2];g[q+32+4>>2]=P;g[q+32+8>>2]=O;g[q+32+12>>2]=0.0;w=c[b+36>>2]|0;O=+g[w+(h<<4)>>2]*f;P=f*+g[w+(h<<4)+4>>2];Q=f*+g[w+(h<<4)+8>>2];g[q+16>>2]=O;g[q+16+4>>2]=P;g[q+16+8>>2]=Q;g[q+16+12>>2]=0.0;w=c[b+116>>2]|0;r=c[b+124>>2]|0;K=+g[w+4+(r<<2)>>2];L=+g[w+20+(r<<2)>>2];M=+g[w+36+(r<<2)>>2];N=(K*k+L*l+M*d)*(1.0-+g[i+(h*284|0)+244>>2]);g[q+48>>2]=k-K*N;g[q+48+4>>2]=l-L*N;g[q+48+8>>2]=d-M*N;Bk(w,q+16|0,q+48|0);g[q>>2]=-O;g[q+4>>2]=-P;g[q+8>>2]=-Q;g[q+12>>2]=0.0;Bk(y,q,q+32|0)}h=h+1|0}while((h|0)<(c[b+136>>2]|0));sa=q;return}function Ob(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0;u=sa;sa=sa+9824|0;o=j;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[u+9680>>2]=b;c[u+9680+4>>2]=f;F=+g[h>>2];L=+g[e>>2];E=+g[h+16>>2];K=+g[e+16>>2];D=+g[h+32>>2];J=+g[e+32>>2];I=+g[e+4>>2];H=+g[e+20>>2];G=+g[e+36>>2];z=+g[e+8>>2];w=+g[e+24>>2];l=+g[e+40>>2];C=+g[h+4>>2];B=+g[h+20>>2];A=+g[h+36>>2];y=+g[h+8>>2];v=+g[h+24>>2];m=+g[h+40>>2];g[u+9680+8>>2]=F*L+E*K+D*J;g[u+9680+12>>2]=F*I+E*H+D*G;g[u+9680+16>>2]=F*z+E*w+D*l;g[u+9680+20>>2]=0.0;g[u+9680+24>>2]=L*C+K*B+J*A;g[u+9680+28>>2]=I*C+H*B+G*A;g[u+9680+32>>2]=z*C+w*B+l*A;g[u+9680+36>>2]=0.0;g[u+9680+40>>2]=L*y+K*v+J*m;g[u+9680+44>>2]=I*y+H*v+G*m;g[u+9680+48>>2]=z*y+w*v+l*m;g[u+9680+52>>2]=0.0;N=+g[h+48>>2]-+g[e+48>>2];M=+g[h+52>>2]-+g[e+52>>2];q=+g[h+56>>2]-+g[e+56>>2];n=N*+g[e>>2]+M*+g[e+16>>2]+q*+g[e+32>>2];r=N*+g[e+4>>2]+M*+g[e+20>>2]+q*+g[e+36>>2];q=N*+g[e+8>>2]+M*+g[e+24>>2]+q*+g[e+40>>2];g[u+9680+56>>2]=F*L+E*K+D*J;g[u+9680+60>>2]=L*C+K*B+J*A;g[u+9680+64>>2]=L*y+K*v+J*m;g[u+9680+68>>2]=0.0;g[u+9680+72>>2]=F*I+E*H+D*G;g[u+9680+76>>2]=I*C+H*B+G*A;g[u+9680+80>>2]=I*y+H*v+G*m;g[u+9680+84>>2]=0.0;g[u+9680+88>>2]=F*z+E*w+D*l;g[u+9680+92>>2]=z*C+w*B+l*A;g[u+9680+96>>2]=z*y+w*v+l*m;g[u+9680+100>>2]=0.0;g[u+9680+104>>2]=n;g[u+9680+108>>2]=r;g[u+9680+112>>2]=q;g[u+9680+116>>2]=0.0;c[u+9680+120>>2]=k?82:81;c[u+9680+124>>2]=0;c[u+9296+364>>2]=0;c[u+9296+128>>2]=0;c[u+9296+128+4>>2]=0;c[u+9296+128+8>>2]=0;c[u+9296+128+12>>2]=0;c[u+9296+376>>2]=2;c[u+9296+368>>2]=0;g[u+9296+144>>2]=0.0;q=-+g[i+4>>2];r=-+g[i+8>>2];g[u+9808>>2]=-+g[i>>2];g[u+9808+4>>2]=q;g[u+9808+8>>2]=r;g[u+9808+12>>2]=0.0;switch(Rb(u+9296|0,u+9680|0,u+9808|0)|0){case 1:{c[u+9280>>2]=0;c[u+9280+4>>2]=0;c[u+9280+8>>2]=0;c[u+9280+12>>2]=0;c[u>>2]=9;c[u+9276>>2]=0;c[u+40>>2]=0;c[u+40+4>>2]=0;c[u+40+8>>2]=0;c[u+40+12>>2]=0;c[u+40+16>>2]=0;b=0;do{f=128-b+-1|0;c[u+2108+(f*56|0)+44>>2]=0;h=c[u+9288>>2]|0;c[u+2108+(f*56|0)+48>>2]=h;if(h|0)c[h+44>>2]=u+2108+(f*56|0);c[u+9288>>2]=u+2108+(f*56|0);b=b+1|0}while((b|0)!=128);c[u+9292>>2]=128;n=+g[i>>2];q=+g[i+4>>2];m=+g[i+8>>2];s=c[u+9296+372>>2]|0;do if((c[s+32>>2]|0)>>>0>1?dc(u+9296|0)|0:0){b=c[u+9280>>2]|0;if(b|0){o=c[u+9284>>2]|0;p=c[u+9292>>2]|0;do{f=b+44|0;k=b+48|0;h=c[k>>2]|0;if(h|0)c[h+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[k>>2];if((c[u+9280>>2]|0)==(b|0))c[u+9280>>2]=c[k>>2];o=o+-1|0;c[b+44>>2]=0;c[k>>2]=c[u+9288>>2];f=c[u+9288>>2]|0;if(f|0)c[f+44>>2]=b;c[u+9288>>2]=b;p=p+1|0;b=c[u+9280>>2]|0}while((b|0)!=0);c[u+9284>>2]=o;c[u+9292>>2]=p}c[u>>2]=0;c[u+9276>>2]=0;b=c[s>>2]|0;f=c[s+12>>2]|0;N=+g[f+16>>2];F=+g[b+16>>2]-N;H=+g[f+20>>2];I=+g[b+20>>2]-H;K=+g[f+24>>2];L=+g[b+24>>2]-K;f=c[s+4>>2]|0;J=+g[f+16>>2]-N;M=+g[f+20>>2]-H;G=+g[f+24>>2]-K;h=c[s+8>>2]|0;N=+g[h+16>>2]-N;H=+g[h+20>>2]-H;K=+g[h+24>>2]-K;if(F*M*K+(I*G*N+L*J*H-F*G*H-I*J*K)-L*M*N<0.0){c[s>>2]=f;c[s+4>>2]=b;k=c[s+16>>2]|0;c[s+16>>2]=c[s+20>>2];c[s+20>>2]=k;k=f}else{k=b;b=f}k=de(u,k,b,h,1)|0;o=de(u,c[s+4>>2]|0,c[s>>2]|0,c[s+12>>2]|0,1)|0;p=de(u,c[s+8>>2]|0,c[s+4>>2]|0,c[s+12>>2]|0,1)|0;i=de(u,c[s>>2]|0,c[s+8>>2]|0,c[s+12>>2]|0,1)|0;if((c[u+9284>>2]|0)==4){f=c[u+9280>>2]|0;l=+g[f+16>>2];b=c[f+48>>2]|0;if(!b)b=f;else{m=l*l;while(1){l=+g[b+16>>2];h=l*l>2]|0;if(!b)break;else m=h?l*l:m}b=f;l=+g[f+16>>2]}n=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];m=+g[b+12>>2];O=c[b+20>>2]|0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;a[k+52>>0]=0;c[k+32>>2]=o;a[o+52>>0]=0;c[o+32>>2]=k;a[k+53>>0]=0;c[k+36>>2]=p;a[p+52>>0]=1;c[p+32>>2]=k;a[k+54>>0]=0;c[k+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=k;a[o+53>>0]=2;c[o+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=o;a[o+54>>0]=1;c[o+40>>2]=p;a[p+53>>0]=2;c[p+36>>2]=o;a[p+54>>0]=1;c[p+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=p;c[u>>2]=0;i=b;s=0;o=O;p=f;k=h;while(1){f=c[u+9276>>2]|0;if(f>>>0>=64){t=45;break}c[u+9808>>2]=0;c[u+9808+4>>2]=0;c[u+9808+8>>2]=0;c[u+9276>>2]=f+1;s=s+1|0;a[i+55>>0]=s;h=i+4|0;O=i+8|0;Wg(u+9296|0,+g[i>>2],+g[h>>2],+g[O>>2],u+60+(f<<5)|0);if(!(+g[i>>2]*+g[u+60+(f<<5)+16>>2]+ +g[h>>2]*+g[u+60+(f<<5)+20>>2]+ +g[O>>2]*+g[u+60+(f<<5)+24>>2]-+g[i+16>>2]>9.999999747378752e-05)){b=7;t=44;break}b=0;do{h=Fg(u,s,u+60+(f<<5)|0,c[i+32+(b<<2)>>2]|0,d[i+52+b>>0]|0,u+9808|0)|0;b=b+1|0}while(h&b>>>0<3);if(!(h&(c[u+9808+8>>2]|0)>>>0>2)){b=4;t=44;break}h=c[u+9808>>2]|0;b=c[u+9808+4>>2]|0;a[h+53>>0]=2;c[h+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=h;b=i+44|0;h=i+48|0;f=c[h>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[h>>2];if((c[u+9280>>2]|0)==(i|0))c[u+9280>>2]=c[h>>2];c[u+9284>>2]=(c[u+9284>>2]|0)+-1;c[i+44>>2]=0;c[h>>2]=c[u+9288>>2];b=c[u+9288>>2]|0;if(b|0)c[b+44>>2]=i;c[u+9288>>2]=i;c[u+9292>>2]=(c[u+9292>>2]|0)+1;f=c[u+9280>>2]|0;l=+g[f+16>>2];b=c[f+48>>2]|0;if(b){m=l*l;h=f;while(1){l=+g[b+16>>2];f=l*l>2]|0;if(!b)break;else m=f?l*l:m}f=h;l=+g[h+16>>2]}n=+g[f>>2];r=+g[f+4>>2];q=+g[f+8>>2];m=+g[f+12>>2];b=c[f+20>>2]|0;h=c[f+24>>2]|0;k=c[f+28>>2]|0;if(s>>>0>=255){f=k;break}else{i=f;o=b;p=h}}if((t|0)==44){c[u>>2]=b;b=o;h=p;f=k}else if((t|0)==45){c[u>>2]=6;b=o;h=p;f=k}J=n*l;H=r*l;N=q*l;g[u+40>>2]=n;g[u+44>>2]=r;g[u+48>>2]=q;g[u+52>>2]=m;g[u+56>>2]=l;c[u+36>>2]=3;c[u+4>>2]=b;c[u+8>>2]=h;c[u+12>>2]=f;O=h;K=+g[O+16>>2]-J;F=+g[O+20>>2]-H;I=+g[O+24>>2]-N;s=f;E=+g[s+16>>2]-J;G=+g[s+20>>2]-H;L=+g[s+24>>2]-N;L=+x(+((K*G-F*E)*(K*G-F*E)+((F*L-I*G)*(F*L-I*G)+(I*E-K*L)*(I*E-K*L))));g[u+20>>2]=L;K=+g[s+16>>2]-J;E=+g[s+20>>2]-H;I=+g[s+24>>2]-N;s=b;G=+g[s+16>>2]-J;F=+g[s+20>>2]-H;M=+g[s+24>>2]-N;M=+x(+((K*F-E*G)*(K*F-E*G)+((E*M-I*F)*(E*M-I*F)+(I*G-K*M)*(I*G-K*M))));g[u+24>>2]=M;K=+g[s+16>>2]-J;G=+g[s+20>>2]-H;I=+g[s+24>>2]-N;J=+g[O+16>>2]-J;H=+g[O+20>>2]-H;N=+g[O+24>>2]-N;N=+x(+((K*H-G*J)*(K*H-G*J)+((G*N-I*H)*(G*N-I*H)+(I*J-K*N)*(I*J-K*N))));g[u+20>>2]=L/(L+M+N);g[u+24>>2]=M/(L+M+N);g[u+28>>2]=N/(L+M+N);if((c[u>>2]|0)!=9)if(!(c[u+36>>2]|0)){n=0.0;m=0.0;l=0.0;break}else{k=u+36|0;t=54;break}c[j>>2]=3;O=0;sa=u;return O|0}else t=48}else t=48;while(0);if((t|0)==48){c[u>>2]=8;g[u+40>>2]=n;g[u+44>>2]=q;g[u+48>>2]=m;g[u+52>>2]=0.0;l=+x(+(n*n+q*q+m*m));if(l>0.0){g[u+40>>2]=1.0/l*n;g[u+44>>2]=1.0/l*q;g[u+48>>2]=1.0/l*m}else{c[u+40>>2]=1065353216;c[u+44>>2]=0;c[u+48>>2]=0}g[u+52>>2]=0.0;g[u+56>>2]=0.0;c[u+36>>2]=1;c[u+4>>2]=c[s>>2];g[u+20>>2]=1.0;k=u+36|0;t=54}if((t|0)==54){h=0;l=0.0;m=0.0;n=0.0;do{b=c[u+9680+120>>2]|0;O=c[u+9680+124>>2]|0;f=(c[u+9680>>2]|0)+(1?O>>1:O)|0;if(O&1)b=c[(c[f>>2]|0)+b>>2]|0;Za[b&127](u+9808|0,f,c[u+4+(h<<2)>>2]|0);N=+g[u+20+(h<<2)>>2];l=l+ +g[u+9808>>2]*N;m=m+N*+g[u+9808+4>>2];n=n+N*+g[u+9808+8>>2];h=h+1|0}while(h>>>0<(c[k>>2]|0)>>>0)}c[j>>2]=1;N=l*+g[e+16>>2]+m*+g[e+20>>2]+n*+g[e+24>>2]+ +g[e+52>>2];K=l*+g[e+32>>2]+m*+g[e+36>>2]+n*+g[e+40>>2]+ +g[e+56>>2];g[j+4>>2]=l*+g[e>>2]+m*+g[e+4>>2]+n*+g[e+8>>2]+ +g[e+48>>2];g[j+8>>2]=N;g[j+12>>2]=K;g[j+16>>2]=0.0;K=+g[u+40>>2];N=+g[u+56>>2];L=+g[u+44>>2];M=+g[u+48>>2];F=l-K*N;G=m-N*L;H=n-N*M;I=F*+g[e+16>>2]+G*+g[e+20>>2]+H*+g[e+24>>2]+ +g[e+52>>2];J=F*+g[e+32>>2]+G*+g[e+36>>2]+H*+g[e+40>>2]+ +g[e+56>>2];g[j+20>>2]=F*+g[e>>2]+G*+g[e+4>>2]+H*+g[e+8>>2]+ +g[e+48>>2];g[j+24>>2]=I;g[j+28>>2]=J;g[j+32>>2]=0.0;g[j+36>>2]=-K;g[j+40>>2]=-L;g[j+44>>2]=-M;g[j+48>>2]=0.0;g[j+52>>2]=-N;O=1;sa=u;return O|0}case 2:{c[j>>2]=2;O=0;sa=u;return O|0}default:{O=0;sa=u;return O|0}}return 0}function Pb(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;t=sa;sa=sa+176|0;if(!(a[b+738>>0]|0)){sa=t;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;i=+g[b+600>>2];k=+g[b+604>>2];p=+g[b+608>>2];r=i*+g[e+20>>2]+k*+g[e+24>>2]+p*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;l=+g[b+664>>2];m=+g[b+668>>2];q=+g[b+672>>2];s=l*+g[f+20>>2]+m*+g[f+24>>2]+q*+g[f+28>>2]+ +g[f+56>>2];n=l*+g[f+36>>2]+m*+g[f+40>>2]+q*+g[f+44>>2]+ +g[f+60>>2];o=i*+g[e+4>>2]+k*+g[e+8>>2]+p*+g[e+12>>2]+ +g[e+52>>2];p=i*+g[e+36>>2]+k*+g[e+40>>2]+p*+g[e+44>>2]+ +g[e+60>>2];q=l*+g[f+4>>2]+m*+g[f+8>>2]+q*+g[f+12>>2]+ +g[f+52>>2];if((q-o)*(q-o)+(s-r)*(s-r)+(n-p)*(n-p)>1.1920928955078125e-07){h=1.0/+x(+((q-o)*(q-o)+(s-r)*(s-r)+(n-p)*(n-p)));g[t>>2]=(q-o)*h;g[t+4>>2]=(s-r)*h;g[t+8>>2]=(n-p)*h;c[t+12>>2]=0;i=(n-p)*h;d=(s-r)*h;h=(q-o)*h}else{c[t>>2]=1065353216;c[t+4>>2]=0;c[t+8>>2]=0;g[t+12>>2]=0.0;i=0.0;d=0.0;h=1.0}if(+w(+i)>.7071067690849304){v=i*i+d*d;u=1.0/+x(+v);i=-(i*u);k=d*u;m=-(h*k);l=h*i;d=v*u;h=k;k=0.0}else{u=h*h+d*d;l=1.0/+x(+u);k=-(d*l);v=h*l;m=i*k;l=u*l;d=-(i*v);h=0.0;i=v}g[t+16>>2]=k;g[t+20>>2]=i;g[t+24>>2]=h;g[t+32>>2]=d;g[t+36>>2]=m;g[t+40>>2]=l;e=c[b+28>>2]|0;c[t+128>>2]=c[e+4>>2];c[t+128+4>>2]=c[e+20>>2];c[t+128+8>>2]=c[e+36>>2];g[t+128+12>>2]=0.0;c[t+128+16>>2]=c[e+8>>2];c[t+128+20>>2]=c[e+24>>2];c[t+128+24>>2]=c[e+40>>2];g[t+128+28>>2]=0.0;c[t+128+32>>2]=c[e+12>>2];c[t+128+36>>2]=c[e+28>>2];c[t+128+40>>2]=c[e+44>>2];g[t+128+44>>2]=0.0;f=c[b+32>>2]|0;c[t+80>>2]=c[f+4>>2];c[t+80+4>>2]=c[f+20>>2];c[t+80+8>>2]=c[f+36>>2];g[t+80+12>>2]=0.0;c[t+80+16>>2]=c[f+8>>2];c[t+80+20>>2]=c[f+24>>2];c[t+80+24>>2]=c[f+40>>2];g[t+80+28>>2]=0.0;c[t+80+32>>2]=c[f+12>>2];c[t+80+36>>2]=c[f+28>>2];c[t+80+40>>2]=c[f+44>>2];g[t+80+44>>2]=0.0;v=r-+g[e+56>>2];u=p-+g[e+60>>2];g[t+64>>2]=o-+g[e+52>>2];g[t+64+4>>2]=v;g[t+64+8>>2]=u;g[t+64+12>>2]=0.0;u=s-+g[f+56>>2];v=n-+g[f+60>>2];g[t+48>>2]=q-+g[f+52>>2];g[t+48+4>>2]=u;g[t+48+8>>2]=v;g[t+48+12>>2]=0.0;fg(b+48|0,t+128|0,t+80|0,t+64|0,t+48|0,t,e+396|0,+g[e+344>>2],f+396|0,+g[f+344>>2]);f=c[b+28>>2]|0;c[t+128>>2]=c[f+4>>2];c[t+128+4>>2]=c[f+20>>2];c[t+128+8>>2]=c[f+36>>2];g[t+128+12>>2]=0.0;c[t+128+16>>2]=c[f+8>>2];c[t+128+20>>2]=c[f+24>>2];c[t+128+24>>2]=c[f+40>>2];g[t+128+28>>2]=0.0;c[t+128+32>>2]=c[f+12>>2];c[t+128+36>>2]=c[f+28>>2];c[t+128+40>>2]=c[f+44>>2];g[t+128+44>>2]=0.0;e=c[b+32>>2]|0;c[t+80>>2]=c[e+4>>2];c[t+80+4>>2]=c[e+20>>2];c[t+80+8>>2]=c[e+36>>2];g[t+80+12>>2]=0.0;c[t+80+16>>2]=c[e+8>>2];c[t+80+20>>2]=c[e+24>>2];c[t+80+24>>2]=c[e+40>>2];g[t+80+28>>2]=0.0;c[t+80+32>>2]=c[e+12>>2];c[t+80+36>>2]=c[e+28>>2];c[t+80+40>>2]=c[e+44>>2];g[t+80+44>>2]=0.0;v=r-+g[f+56>>2];u=p-+g[f+60>>2];g[t+64>>2]=o-+g[f+52>>2];g[t+64+4>>2]=v;g[t+64+8>>2]=u;g[t+64+12>>2]=0.0;u=s-+g[e+56>>2];v=n-+g[e+60>>2];g[t+48>>2]=q-+g[e+52>>2];g[t+48+4>>2]=u;g[t+48+8>>2]=v;g[t+48+12>>2]=0.0;fg(b+132|0,t+128|0,t+80|0,t+64|0,t+48|0,t+16|0,f+396|0,+g[f+344>>2],e+396|0,+g[e+344>>2]);e=c[b+28>>2]|0;c[t+128>>2]=c[e+4>>2];c[t+128+4>>2]=c[e+20>>2];c[t+128+8>>2]=c[e+36>>2];g[t+128+12>>2]=0.0;c[t+128+16>>2]=c[e+8>>2];c[t+128+20>>2]=c[e+24>>2];c[t+128+24>>2]=c[e+40>>2];g[t+128+28>>2]=0.0;c[t+128+32>>2]=c[e+12>>2];c[t+128+36>>2]=c[e+28>>2];c[t+128+40>>2]=c[e+44>>2];g[t+128+44>>2]=0.0;f=c[b+32>>2]|0;c[t+80>>2]=c[f+4>>2];c[t+80+4>>2]=c[f+20>>2];c[t+80+8>>2]=c[f+36>>2];g[t+80+12>>2]=0.0;c[t+80+16>>2]=c[f+8>>2];c[t+80+20>>2]=c[f+24>>2];c[t+80+24>>2]=c[f+40>>2];g[t+80+28>>2]=0.0;c[t+80+32>>2]=c[f+12>>2];c[t+80+36>>2]=c[f+28>>2];c[t+80+40>>2]=c[f+44>>2];g[t+80+44>>2]=0.0;v=r-+g[e+56>>2];u=p-+g[e+60>>2];g[t+64>>2]=o-+g[e+52>>2];g[t+64+4>>2]=v;g[t+64+8>>2]=u;g[t+64+12>>2]=0.0;u=s-+g[f+56>>2];v=n-+g[f+60>>2];g[t+48>>2]=q-+g[f+52>>2];g[t+48+4>>2]=u;g[t+48+8>>2]=v;g[t+48+12>>2]=0.0;fg(b+216|0,t+128|0,t+80|0,t+64|0,t+48|0,t+32|0,e+396|0,+g[e+344>>2],f+396|0,+g[f+344>>2])}e=c[b+560>>2]|0;f=c[b+576>>2]|0;p=+g[b+592>>2];if(+w(+p)>.7071067690849304){v=(c[j>>2]=f,+g[j>>2]);o=1.0/+x(+(p*p+v*v));n=(c[j>>2]=e,+g[j>>2]);d=n;h=v;i=n*-(p*o);k=(p*p+v*v)*o;l=0.0;m=o*v;n=-(o*v*n);o=-(p*o)}else{o=(c[j>>2]=e,+g[j>>2]);n=(c[j>>2]=f,+g[j>>2]);v=1.0/+x(+(o*o+n*n));d=o;h=n;i=(o*o+n*n)*v;k=-(p*v*o);l=-(v*n);m=0.0;n=p*-(v*n);o=v*o}e=c[b+28>>2]|0;Q=+g[e+4>>2];K=+g[e+8>>2];D=+g[e+12>>2];H=l*Q+o*K+m*D;P=+g[e+20>>2];B=+g[e+24>>2];I=+g[e+28>>2];z=l*P+o*B+m*I;O=+g[e+36>>2];q=+g[e+40>>2];F=+g[e+44>>2];M=l*O+o*q+m*F;E=k*Q+n*K+i*D;G=k*P+n*B+i*I;J=k*O+n*q+i*F;r=Q*d+K*h+p*D;u=P*d+B*h+p*I;h=O*d+q*h+p*F;f=c[b+32>>2]|0;A=+g[f+4>>2];y=+g[f+20>>2];i=+g[f+36>>2];n=+g[f+8>>2];o=+g[f+24>>2];s=+g[f+40>>2];l=+g[f+12>>2];p=+g[f+28>>2];L=+g[f+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=H*Q+z*P+M*O;g[b+320>>2]=H*K+z*B+M*q;g[b+324>>2]=H*D+z*I+M*F;g[b+328>>2]=0.0;g[b+332>>2]=A*-H+y*-z+i*-M;g[b+336>>2]=n*-H+o*-z+s*-M;g[b+340>>2]=l*-H+p*-z+L*-M;g[b+344>>2]=0.0;k=(H*Q+z*P+M*O)*+g[e+396>>2];d=(H*K+z*B+M*q)*+g[e+400>>2];C=(H*D+z*I+M*F)*+g[e+404>>2];g[b+348>>2]=k;g[b+352>>2]=d;g[b+356>>2]=C;g[b+360>>2]=0.0;m=(A*-H+y*-z+i*-M)*+g[f+396>>2];v=(n*-H+o*-z+s*-M)*+g[f+400>>2];N=(l*-H+p*-z+L*-M)*+g[f+404>>2];g[b+364>>2]=m;g[b+368>>2]=v;g[b+372>>2]=N;g[b+376>>2]=0.0;g[b+380>>2]=(H*Q+z*P+M*O)*k+(H*K+z*B+M*q)*d+(H*D+z*I+M*F)*C+((A*-H+y*-z+i*-M)*m+(n*-H+o*-z+s*-M)*v+(l*-H+p*-z+L*-M)*N);N=+g[e+4>>2];M=+g[e+20>>2];L=+g[e+36>>2];p=+g[e+8>>2];l=+g[e+24>>2];z=+g[e+40>>2];H=+g[e+12>>2];v=+g[e+28>>2];s=+g[e+44>>2];o=+g[f+4>>2];n=+g[f+20>>2];m=+g[f+36>>2];i=+g[f+8>>2];y=+g[f+24>>2];A=+g[f+40>>2];C=+g[f+12>>2];F=+g[f+28>>2];I=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=E*N+G*M+J*L;g[b+404>>2]=E*p+G*l+J*z;g[b+408>>2]=E*H+G*v+J*s;g[b+412>>2]=0.0;g[b+416>>2]=o*-E+n*-G+m*-J;g[b+420>>2]=i*-E+y*-G+A*-J;g[b+424>>2]=C*-E+F*-G+I*-J;g[b+428>>2]=0.0;d=(E*N+G*M+J*L)*+g[e+396>>2];D=(E*p+G*l+J*z)*+g[e+400>>2];q=(E*H+G*v+J*s)*+g[e+404>>2];g[b+432>>2]=d;g[b+436>>2]=D;g[b+440>>2]=q;g[b+444>>2]=0.0;k=(o*-E+n*-G+m*-J)*+g[f+396>>2];B=(i*-E+y*-G+A*-J)*+g[f+400>>2];K=(C*-E+F*-G+I*-J)*+g[f+404>>2];g[b+448>>2]=k;g[b+452>>2]=B;g[b+456>>2]=K;g[b+460>>2]=0.0;g[b+464>>2]=(E*N+G*M+J*L)*d+(E*p+G*l+J*z)*D+(E*H+G*v+J*s)*q+((o*-E+n*-G+m*-J)*k+(i*-E+y*-G+A*-J)*B+(C*-E+F*-G+I*-J)*K);K=+g[e+4>>2];J=+g[e+20>>2];I=+g[e+36>>2];G=+g[e+8>>2];F=+g[e+24>>2];E=+g[e+40>>2];C=+g[e+12>>2];B=+g[e+28>>2];A=+g[e+44>>2];y=+g[f+4>>2];i=+g[f+20>>2];k=+g[f+36>>2];m=+g[f+8>>2];n=+g[f+24>>2];o=+g[f+40>>2];q=+g[f+12>>2];s=+g[f+28>>2];v=+g[f+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;g[b+484>>2]=r*K+u*J+h*I;g[b+488>>2]=r*G+u*F+h*E;g[b+492>>2]=r*C+u*B+h*A;g[b+496>>2]=0.0;g[b+500>>2]=y*-r+i*-u+k*-h;g[b+504>>2]=m*-r+n*-u+o*-h;g[b+508>>2]=q*-r+s*-u+v*-h;g[b+512>>2]=0.0;H=(r*K+u*J+h*I)*+g[e+396>>2];D=(r*G+u*F+h*E)*+g[e+400>>2];z=(r*C+u*B+h*A)*+g[e+404>>2];g[b+516>>2]=H;g[b+520>>2]=D;g[b+524>>2]=z;g[b+528>>2]=0.0;l=(y*-r+i*-u+k*-h)*+g[f+396>>2];p=(m*-r+n*-u+o*-h)*+g[f+400>>2];d=(q*-r+s*-u+v*-h)*+g[f+404>>2];g[b+532>>2]=l;g[b+536>>2]=p;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=(r*K+u*J+h*I)*H+(r*G+u*F+h*E)*D+(r*C+u*B+h*A)*z+((y*-r+i*-u+k*-h)*l+(m*-r+n*-u+o*-h)*p+(q*-r+s*-u+v*-h)*d);g[b+724>>2]=0.0;d=+ui(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=(d-+g[b+688>>2])%6.2831854820251465;if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(h+d);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);e=c[b+28>>2]|0;M=+g[b+560>>2];N=+g[b+576>>2];Q=+g[b+592>>2];O=M*+g[e+4>>2]+N*+g[e+8>>2]+Q*+g[e+12>>2];P=M*+g[e+20>>2]+N*+g[e+24>>2]+Q*+g[e+28>>2];Q=M*+g[e+36>>2]+N*+g[e+40>>2]+Q*+g[e+44>>2];f=c[b+32>>2]|0;g[b+720>>2]=1.0/(O*(O*+g[e+264>>2]+P*+g[e+280>>2]+Q*+g[e+296>>2])+P*(O*+g[e+268>>2]+P*+g[e+284>>2]+Q*+g[e+300>>2])+Q*(O*+g[e+272>>2]+P*+g[e+288>>2]+Q*+g[e+304>>2])+(O*(O*+g[f+264>>2]+P*+g[f+280>>2]+Q*+g[f+296>>2])+P*(O*+g[f+268>>2]+P*+g[f+284>>2]+Q*+g[f+300>>2])+Q*(O*+g[f+272>>2]+P*+g[f+288>>2]+Q*+g[f+304>>2])));sa=t;return}function Qb(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=sa;sa=sa+16|0;Ki(16393);j=c[b+212>>2]|0;i=c[b+180>>2]|0;if((i|0)<(j|0)){if((c[b+184>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7182]=(c[7182]|0)+1;e=xb((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+180>>2]|0}if((h|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+188>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+188>>2]|0;if(f|0){if(a[b+192>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=e;c[b+184>>2]=j;f=b+188|0}else f=b+188|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else f=b+188|0;c[b+180>>2]=j;e=0;while(1){if((e|0)>=(Fa[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)hg(b+176|0,0,e+-1|0);if(!(Fa[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+196>>2]|0;r=c[b+180>>2]|0;s=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=r;c[h+20>>2]=s;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;s=c[b+200>>2]|0;e=c[(c[s>>2]|0)+8>>2]|0;p=c[b+8>>2]|0;r=c[b+24>>2]|0;r=Fa[c[(c[r>>2]|0)+36>>2]&127](r)|0;Za[e&127](s,p,r);r=c[b+204>>2]|0;p=c[b+24>>2]|0;s=c[b+196>>2]|0;Ki(18225);e=c[r+28>>2]|0;if((e|0)<0){if((c[r+32>>2]|0)<0){f=c[r+36>>2]|0;if(f|0){if(a[r+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[r+36>>2]=0}a[r+40>>0]=1;c[r+36>>2]=0;c[r+32>>2]=0}do{c[(c[r+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[r+28>>2]=0;j=c[r+8>>2]|0;if((j|0)>0){k=c[r+16>>2]|0;i=0;do{l=k+(i<<3)|0;e=c[l>>2]|0;if((e|0)!=(i|0)){c[l>>2]=c[k+(e<<3)>>2];e=c[k+(e<<3)>>2]|0;f=c[k+(e<<3)>>2]|0;if((e|0)!=(f|0)){h=k+(e<<3)|0;do{e=k+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=k+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}}else e=i;c[l>>2]=e;i=i+1|0}while((i|0)!=(j|0));if((j|0)>1){Qi(r+4|0,0,j+-1|0);m=c[r+8>>2]|0}else m=j;if((m|0)>0){n=c[r+16>>2]|0;k=0;while(1){o=c[n+(k<<3)>>2]|0;e=k+1|0;a:do if((e|0)<(m|0)){f=k;h=e;while(1){if((c[n+(h<<3)>>2]|0)!=(o|0)){e=h;break a}e=h+1|0;if((e|0)<(m|0)){f=h;h=e}else{f=h;break}}}else f=k;while(0);b:do if((k|0)<=(f|0)){l=c[b+16>>2]|0;h=1;j=k;while(1){i=c[l+(c[n+(j<<3)+4>>2]<<2)>>2]|0;if((c[i+208>>2]|0)==(o|0)){i=c[i+216>>2]|0;h=(i|0)!=4&(h&(i|0)!=1)}if((j|0)<(f|0))j=j+1|0;else break}if(h){h=k;while(1){i=c[l+(c[n+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(o|0)){if((c[i+216>>2]&-2|0)==4)break;c[i+216>>2]=2}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}else{h=k;while(1){i=c[l+(c[n+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(o|0)){if((c[i+216>>2]|0)!=2)break;c[i+216>>2]=3;g[i+220>>2]=0.0}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}}while(0);if((e|0)<(m|0))k=e;else break}}}k=Fa[c[(c[p>>2]|0)+36>>2]&127](p)|0;if((k|0)>0){j=0;do{l=Ha[c[(c[p>>2]|0)+40>>2]&31](p,j)|0;h=c[l+740>>2]|0;i=c[l+744>>2]|0;if((h|0)!=0?(c[h+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if(!(e&2))f=111;else f=106}else f=101;if(((f|0)==101?(f=0,i|0):0)?(c[i+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if((e&2|0)!=0?(c[h+216>>2]|0)!=2:0)f=106;else f=111}if((f|0)==106)if((e&4|0)==0?(c[i+204>>2]&3|0)==0:0){if((c[i+216>>2]&-2|0)!=4)c[i+216>>2]=1;g[i+220>>2]=0.0;f=111}else f=111;if((f|0)==111){o=c[i+204>>2]|0;if(o&2|0?((o&4|e&3|0)==0?(c[i+216>>2]|0)!=2:0):0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}if(a[r+64>>0]|0?Ja[c[(c[p>>2]|0)+28>>2]&63](p,h,i)|0:0){f=c[r+28>>2]|0;if((f|0)==(c[r+32>>2]|0)?(q=(f|0)==0?1:f<<1,(f|0)<(q|0)):0){if(!q)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((q<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[r+28>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[r+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[r+36>>2]|0;if(h){if(a[r+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);f=c[r+28>>2]|0}c[r+36>>2]=0}a[r+40>>0]=1;c[r+36>>2]=e;c[r+32>>2]=q;e=f}else e=f;c[(c[r+36>>2]|0)+(e<<2)>>2]=l;c[r+28>>2]=e+1}}j=j+1|0}while((j|0)<(k|0))}e=c[3084]|0;q=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=q;do if(!q){if(c[e+4>>2]|0){la(t|0,0)|0;q=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[t+4>>2]|0)-(c[q+4>>2]|0)+(((c[t>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3084]|0}c[3084]=c[e+20>>2]}while(0);q=c[r+8>>2]|0;Ki(18253);if(a[r+64>>0]|0){p=c[r+28>>2]|0;if((p|0)>1)cg(r+24|0,0,p+-1|0);if((q|0)>0){e=0;j=1;o=0;while(1){f=c[r+16>>2]|0;n=c[f+(e<<3)>>2]|0;c:do if((e|0)<(q|0)){m=1;k=c[r+48>>2]|0;h=c[r+52>>2]|0;while(1){l=c[(c[b+16>>2]|0)+(c[f+(e<<3)+4>>2]<<2)>>2]|0;do if((k|0)==(h|0)){k=(h|0)==0?1:h<<1;if((h|0)>=(k|0)){f=h;break}if(!k)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((k<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[r+48>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[r+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[r+56>>2]|0;if(i){if(a[r+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[r+48>>2]|0}c[r+56>>2]=0}a[r+60>>0]=1;c[r+56>>2]=f;c[r+52>>2]=k;f=h;h=k}else f=k;while(0);c[(c[r+56>>2]|0)+(f<<2)>>2]=l;k=f+1|0;c[r+48>>2]=k;i=c[l+216>>2]|0;i=m&((i|0)==5|(i|0)==2);e=e+1|0;if((e|0)>=(q|0)){m=e;break c}f=c[r+16>>2]|0;if((c[f+(e<<3)>>2]|0)!=(n|0)){m=e;break}else m=i}}else{m=e;i=1}while(0);if((o|0)<(p|0)){k=c[r+36>>2]|0;l=k+(o<<2)|0;f=c[l>>2]|0;e=c[(c[f+740>>2]|0)+208>>2]|0;if((e|0)<=-1)e=c[(c[f+744>>2]|0)+208>>2]|0;if((e|0)==(n|0)){e=o+1|0;d:do if((e|0)<(p|0))do{h=c[k+(e<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((n|0)!=(f|0))break d;e=e+1|0}while((e|0)<(p|0));while(0);f=l;h=e-o|0;j=e}else{f=0;h=0}}else{f=0;h=0}if(!i)gb[c[(c[s>>2]|0)+8>>2]&7](s,c[r+56>>2]|0,c[r+48>>2]|0,f,h,n);o=(h|0)==0?o:j;e=c[r+48>>2]|0;if((e|0)<0){if((c[r+52>>2]|0)<0){f=c[r+56>>2]|0;if(f|0){if(a[r+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[r+56>>2]=0}a[r+60>>0]=1;c[r+56>>2]=0;c[r+52>>2]=0}do{c[(c[r+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[r+48>>2]=0;if((m|0)>=(q|0))break;else e=m}}}else{q=Fa[c[(c[p>>2]|0)+44>>2]&127](p)|0;r=Fa[c[(c[p>>2]|0)+36>>2]&127](p)|0;gb[c[(c[s>>2]|0)+8>>2]&7](s,c[b+16>>2]|0,c[b+8>>2]|0,q,r,-1)}e=c[3084]|0;s=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=s;do if(!s){if(c[e+4>>2]|0){la(t|0,0)|0;s=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[t+4>>2]|0)-(c[s+4>>2]|0)+(((c[t>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3084]|0}c[3084]=c[e+20>>2]}while(0);wg(c[b+196>>2]|0);e=c[b+200>>2]|0;Za[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[3084]|0;d=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=d;if(d|0){sa=t;return}do if(c[e+4>>2]|0){la(t|0,0)|0;d=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[t+4>>2]|0)-(c[d+4>>2]|0)+(((c[t>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3084]|0;break}else{sa=t;return}}while(0);c[3084]=c[e+20>>2];sa=t;return} +function Rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0;J=sa;sa=sa+112|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;E=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=E;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];E=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=E;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];f=+g[a+132>>2];h=+g[a+136>>2];if(e*e+f*f+h*h>0.0){g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Wg(a,-e,-f,-h,a+316|0);b=a+148|0;d=a+164|0}else{g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Wg(a,1.0,0.0,0.0,a+316|0);b=a+148|0;d=a+164|0}g[d>>2]=1.0;E=(c[b>>2]|0)+16|0;c[a+128>>2]=c[E>>2];c[a+128+4>>2]=c[E+4>>2];c[a+128+8>>2]=c[E+8>>2];c[a+128+12>>2]=c[E+12>>2];c[J+16+48>>2]=c[E>>2];c[J+16+48+4>>2]=c[E+4>>2];c[J+16+48+8>>2]=c[E+8>>2];c[J+16+48+12>>2]=c[E+12>>2];c[J+16+32>>2]=c[E>>2];c[J+16+32+4>>2]=c[E+4>>2];c[J+16+32+8>>2]=c[E+8>>2];c[J+16+32+12>>2]=c[E+12>>2];c[J+16+16>>2]=c[E>>2];c[J+16+16+4>>2]=c[E+4>>2];c[J+16+16+8>>2]=c[E+8>>2];c[J+16+16+12>>2]=c[E+12>>2];c[J+16>>2]=c[E>>2];c[J+16+4>>2]=c[E+4>>2];c[J+16+8>>2]=c[E+8>>2];c[J+16+12>>2]=c[E+12>>2];E=0;F=0.0;e=e*e+f*f+h*h;D=0;C=c[a+368>>2]|0;f=+g[a+128>>2];k=+g[a+132>>2];h=+g[a+136>>2];a:while(1){b=1-C|0;o=a+148+(C*36|0)|0;l=+x(+(f*f+k*k+h*h));if(l<9.999999747378752e-05){I=6;break}q=a+148+(C*36|0)+32|0;i=c[q>>2]|0;g[a+148+(C*36|0)+16+(i<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;d=c[a+348+(d<<2)>>2]|0;c[a+148+(C*36|0)+(i<<2)>>2]=d;c[q>>2]=i+1;Wg(a,-f,-k,-h,d);d=c[q>>2]|0;i=c[a+148+(C*36|0)+(d+-1<<2)>>2]|0;f=+g[i+16>>2];h=+g[i+20>>2];k=+g[i+24>>2];z=f-+g[J+16>>2];A=h-+g[J+16+4>>2];B=k-+g[J+16+8>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=f-+g[J+16+16>>2];A=h-+g[J+16+20>>2];B=k-+g[J+16+24>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=f-+g[J+16+32>>2];A=h-+g[J+16+36>>2];B=k-+g[J+16+40>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=f-+g[J+16+48>>2];A=h-+g[J+16+52>>2];B=k-+g[J+16+56>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}D=D+1&3;p=J+16+(D<<4)|0;c[p>>2]=c[i+16>>2];c[p+4>>2]=c[i+16+4>>2];c[p+8>>2]=c[i+16+8>>2];c[p+12>>2]=c[i+16+12>>2];B=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*k)/l;F=B>F?B:F;if(l-F-l*9.999999747378752e-05<=0.0){I=10;break}c[J+80>>2]=0;b:do switch(d|0){case 2:{p=c[o>>2]|0;o=c[a+148+(C*36|0)+4>>2]|0;e=+g[o+16>>2];f=+g[p+16>>2];h=+g[o+20>>2];k=+g[p+20>>2];l=+g[o+24>>2];m=+g[p+24>>2];if(!((e-f)*(e-f)+(h-k)*(h-k)+(l-m)*(l-m)>0.0)){I=46;break a}n=-(f*(e-f)+k*(h-k)+m*(l-m))/((e-f)*(e-f)+(h-k)*(h-k)+(l-m)*(l-m));if(n>=1.0){g[J>>2]=0.0;g[J+4>>2]=1.0;c[J+80>>2]=2;e=e*e+h*h+l*l;break b}if(!(n<=0.0)){g[J+4>>2]=n;g[J>>2]=1.0-n;c[J+80>>2]=3;e=(m+(l-m)*n)*(m+(l-m)*n)+((f+(e-f)*n)*(f+(e-f)*n)+(k+(h-k)*n)*(k+(h-k)*n));break b}else{g[J>>2]=1.0;g[J+4>>2]=0.0;c[J+80>>2]=1;e=f*f+k*k+m*m;break b}}case 3:{e=+od((c[o>>2]|0)+16|0,(c[a+148+(C*36|0)+4>>2]|0)+16|0,(c[a+148+(C*36|0)+8>>2]|0)+16|0,J,J+80|0);break}case 4:{d=c[o>>2]|0;i=c[a+148+(C*36|0)+4>>2]|0;o=c[a+148+(C*36|0)+8>>2]|0;p=c[a+148+(C*36|0)+12>>2]|0;r=+g[d+16>>2];s=+g[p+16>>2];t=+g[d+20>>2];u=+g[p+20>>2];v=+g[d+24>>2];w=+g[p+24>>2];f=+g[i+16>>2];h=+g[i+20>>2];k=+g[i+24>>2];y=+g[o+16>>2];z=+g[o+20>>2];A=+g[o+24>>2];B=(r-s)*(h-u)*(A-w)+((t-u)*(k-w)*(y-s)+(v-w)*(f-s)*(z-u)-(r-s)*(k-w)*(z-u)-(t-u)*(f-s)*(A-w))-(v-w)*(h-u)*(y-s);if(!(B==B&0.0==0.0&B!=0.0&B*(v*((t-h)*(f-y)-(r-f)*(h-z))+(r*((v-k)*(h-z)-(t-h)*(k-A))+t*((r-f)*(k-A)-(v-k)*(f-y))))<=0.0)){I=46;break a}c[J+88>>2]=0;c[J+88+4>>2]=0;c[J+88+8>>2]=0;c[J+84>>2]=0;if(B*(((t-u)*(k-w)-(v-w)*(h-u))*s+u*((v-w)*(f-s)-(r-s)*(k-w))+((r-s)*(h-u)-(t-u)*(f-s))*w)>0.0){e=+od(d+16|0,i+16|0,p+16|0,J+88|0,J+84|0);K=c[J+84>>2]|0;c[J+80>>2]=K&2|K<<1&8|K&1;c[J>>2]=c[J+88>>2];c[J+4>>2]=c[J+88+4>>2];g[J+8>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];l=+g[p+16>>2];m=+g[p+20>>2];n=+g[p+24>>2]}else{e=-1.0;l=s;m=u;n=w}if(B*(((h-u)*(A-w)-(k-w)*(z-u))*l+m*((k-w)*(y-s)-(A-w)*(f-s))+((z-u)*(f-s)-(h-u)*(y-s))*n)>0.0?(G=+od(i+16|0,o+16|0,p+16|0,J+88|0,J+84|0),e<0.0|G>2]=c[J+84>>2]<<1&14;c[J+4>>2]=c[J+88>>2];c[J+8>>2]=c[J+88+4>>2];g[J>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];e=G}if(B*(((z-u)*(v-w)-(A-w)*(t-u))*+g[p+16>>2]+ +g[p+20>>2]*((A-w)*(r-s)-(v-w)*(y-s))+((t-u)*(y-s)-(z-u)*(r-s))*+g[p+24>>2])>0.0?(H=+od(o+16|0,d+16|0,p+16|0,J+88|0,J+84|0),e<0.0|H>2]|0;c[J+80>>2]=(1?K>>>1:K)&1|K<<1&8|K<<2&4;c[J+8>>2]=c[J+88>>2];c[J>>2]=c[J+88+4>>2];g[J+4>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];e=H}if(e<0.0){c[J+80>>2]=15;r=+g[o+20>>2];A=+g[i+24>>2];z=+g[p+16>>2];m=+g[o+24>>2];y=+g[i+16>>2];s=+g[p+20>>2];n=+g[o+16>>2];w=+g[p+24>>2];u=+g[i+20>>2];g[J>>2]=(r*A*z+m*y*s-s*A*n-r*y*w+w*n*u-z*m*u)/B;e=+g[d+20>>2];t=+g[d+24>>2];v=+g[d+16>>2];g[J+4>>2]=(e*m*z+t*n*s-s*m*v-e*n*w+w*v*r-z*t*r)/B;g[J+8>>2]=(u*t*z+A*v*s-s*t*y-u*v*w+w*y*e-z*A*e)/B;g[J+12>>2]=1.0-((r*A*z+m*y*s-s*A*n-r*y*w+w*n*u-z*m*u)/B+(e*m*z+t*n*s-s*m*v-e*n*w+w*v*r-z*t*r)/B+(u*t*z+A*v*s-s*t*y-u*v*w+w*y*e-z*A*e)/B);e=0.0}break}default:{}}while(0);if(!(e>=0.0)){I=46;break}c[a+148+(b*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=b;p=c[q>>2]|0;q=c[J+80>>2]|0;if(p){d=a+148+(C*36|0)|0;i=c[d>>2]|0;if(!(q&1)){K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=i;h=0.0;k=0.0;f=0.0}else{K=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(K<<2)>>2]=i;o=c[J>>2]|0;c[a+148+(b*36|0)+32>>2]=K+1;c[a+148+(b*36|0)+16+(K<<2)>>2]=o;K=c[d>>2]|0;f=(c[j>>2]=o,+g[j>>2]);k=+g[K+20>>2]*f;h=+g[K+24>>2]*f;f=+g[K+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;k=k+ +g[a+132>>2];g[a+132>>2]=k;h=h+ +g[a+136>>2];g[a+136>>2]=h}if((p|0)!=1){o=1;do{d=a+148+(C*36|0)+(o<<2)|0;i=c[d>>2]|0;if(!(q&1<>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=i}else{K=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(K<<2)>>2]=i;i=c[J+(o<<2)>>2]|0;c[a+148+(b*36|0)+32>>2]=K+1;c[a+148+(b*36|0)+16+(K<<2)>>2]=i;K=c[d>>2]|0;f=(c[j>>2]=i,+g[j>>2]);k=+g[K+20>>2]*f;h=+g[K+24>>2]*f;f=+g[K+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;k=k+ +g[a+132>>2];g[a+132>>2]=k;h=h+ +g[a+136>>2];g[a+136>>2]=h}o=o+1|0}while((o|0)!=(p|0))}}else{h=0.0;k=0.0;f=0.0}if((q|0)==15)c[a+376>>2]=1;E=E+1|0;if(E>>>0>=128){I=45;break}d=c[a+376>>2]|0;if(d|0)break;else C=b}if((I|0)==6){c[a+376>>2]=1;b=C;I=48}else if((I|0)==9){b=c[a+368>>2]|0;E=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=E;E=c[a+148+(b*36|0)+(E<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=E;I=48}else if((I|0)==10){b=c[a+368>>2]|0;E=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=E;E=c[a+148+(b*36|0)+(E<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=E;I=48}else if((I|0)==45){c[a+376>>2]=2;c[a+372>>2]=a+148+(b*36|0);K=2;sa=J;return K|0}else if((I|0)==46){b=c[a+368>>2]|0;E=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=E;E=c[a+148+(b*36|0)+(E<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=E;I=48}if((I|0)==48)d=c[a+376>>2]|0;c[a+372>>2]=a+148+(b*36|0);switch(d|0){case 0:{F=+g[a+128>>2];G=+g[a+132>>2];H=+g[a+136>>2];g[a+144>>2]=+x(+(F*F+G*G+H*H));K=0;sa=J;return K|0}case 1:{g[a+144>>2]=0.0;K=1;sa=J;return K|0}default:{K=d;sa=J;return K|0}}return 0}function Sb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0;q=sa;sa=sa+144|0;l=c[b+48>>2]|0;j=c[b+52>>2]|0;if((j|0?(k=c[j+20>>2]|0,k|0):0)?(Fa[c[(c[k>>2]|0)+48>>2]&127](k)|0)&1|0:0){c[q>>2]=1065353216;c[q+4>>2]=1065353216;c[q+8>>2]=0;g[q+12>>2]=0.0;k=c[b+8>>2]|0;p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+8>>2]|0;r=+g[d>>2];A=+g[d+4>>2];s=+g[d+8>>2];y=+g[k+20>>2];t=+g[k+24>>2];B=+g[k+28>>2];u=+g[k+36>>2];D=+g[k+40>>2];v=+g[k+44>>2];w=+g[k+52>>2];C=+g[k+56>>2];z=+g[k+60>>2];g[q+120>>2]=r*+g[k+4>>2]+A*+g[k+8>>2]+s*+g[k+12>>2]+w;g[q+120+4>>2]=r*y+A*t+s*B+C;g[q+120+8>>2]=r*u+A*D+s*v+z;g[q+120+12>>2]=0.0;s=+g[d+16>>2];A=+g[d+20>>2];r=+g[d+24>>2];g[q+96>>2]=w+(s*+g[k+4>>2]+A*+g[k+8>>2]+r*+g[k+12>>2]);g[q+96+4>>2]=C+(y*s+t*A+B*r);g[q+96+8>>2]=z+(u*s+D*A+v*r);g[q+96+12>>2]=0.0;ab[o&127](p,q+120|0,q+96|0,q);p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+8>>2]|0;r=+g[d+16>>2];v=+g[d+20>>2];A=+g[d+24>>2];D=+g[k+20>>2];s=+g[k+24>>2];u=+g[k+28>>2];z=+g[k+36>>2];B=+g[k+40>>2];t=+g[k+44>>2];y=+g[k+52>>2];C=+g[k+56>>2];w=+g[k+60>>2];g[q+120>>2]=r*+g[k+4>>2]+v*+g[k+8>>2]+A*+g[k+12>>2]+y;g[q+120+4>>2]=r*D+v*s+A*u+C;g[q+120+8>>2]=r*z+v*B+A*t+w;g[q+120+12>>2]=0.0;A=+g[d+32>>2];v=+g[d+36>>2];r=+g[d+40>>2];g[q+96>>2]=y+(A*+g[k+4>>2]+v*+g[k+8>>2]+r*+g[k+12>>2]);g[q+96+4>>2]=C+(D*A+s*v+u*r);g[q+96+8>>2]=w+(z*A+B*v+t*r);g[q+96+12>>2]=0.0;ab[o&127](p,q+120|0,q+96|0,q);p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+8>>2]|0;r=+g[d+32>>2];t=+g[d+36>>2];v=+g[d+40>>2];B=+g[k+20>>2];A=+g[k+24>>2];z=+g[k+28>>2];w=+g[k+36>>2];u=+g[k+40>>2];s=+g[k+44>>2];D=+g[k+52>>2];C=+g[k+56>>2];y=+g[k+60>>2];g[q+120>>2]=r*+g[k+4>>2]+t*+g[k+8>>2]+v*+g[k+12>>2]+D;g[q+120+4>>2]=r*B+t*A+v*z+C;g[q+120+8>>2]=r*w+t*u+v*s+y;g[q+120+12>>2]=0.0;v=+g[d>>2];t=+g[d+4>>2];r=+g[d+8>>2];g[q+96>>2]=D+(v*+g[k+4>>2]+t*+g[k+8>>2]+r*+g[k+12>>2]);g[q+96+4>>2]=C+(B*v+A*t+z*r);g[q+96+8>>2]=y+(w*v+u*t+s*r);g[q+96+12>>2]=0.0;ab[o&127](p,q+120|0,q+96|0,q)}j=((10?(e<<21|f)+~(f<<15)>>10:(e<<21|f)+~(f<<15)|0)^(e<<21|f)+~(f<<15))*9|0;j=(6?j>>6:j)^j;j=(c[b+108>>2]|0)+-1&((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11));a:do if(j>>>0<(c[b+64>>2]|0)>>>0?(h=c[(c[b+72>>2]|0)+(j<<2)>>2]|0,(h|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(h<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1)break a}j=c[b+112>>2]|0;if(j+(h<<3)|0){o=c[j+(h<<3)+4>>2]|0;p=c[b+8>>2]|0;c[o+8>>2]=c[(c[p+192>>2]|0)+8>>2];n=c[b+4>>2]|0;m=c[n+192>>2]|0;c[q>>2]=0;c[q+4>>2]=m;c[q+8>>2]=n;c[q+12>>2]=n+4;c[q+16>>2]=-1;c[q+20>>2]=-1;c[q+120>>2]=0;c[q+120+4>>2]=o;c[q+120+8>>2]=p;c[q+120+12>>2]=p+4;c[q+120+16>>2]=e;c[q+120+20>>2]=f;p=Ka[c[(c[l>>2]|0)+8>>2]&31](l,q,q+120|0,0)|0;eb[c[(c[p>>2]|0)+8>>2]&31](p,q,q+120|0,c[b+52>>2]|0,c[b+44>>2]|0);Pa[c[c[p>>2]>>2]&511](p);Va[c[(c[l>>2]|0)+60>>2]&127](l,p);sa=q;return}}while(0);t=+g[d+16>>2];E=+g[d>>2];u=+g[d+20>>2];r=+g[d+4>>2];v=+g[d+24>>2];s=+g[d+8>>2];w=+g[d+32>>2];z=+g[d+36>>2];B=+g[d+40>>2];y=(u-r)*(B-s)-(v-s)*(z-r);A=(v-s)*(w-E)-(t-E)*(B-s);C=(t-E)*(z-r)-(u-r)*(w-E);D=1.0/+x(+(C*C+(y*y+A*A)));g[q>>2]=E+y*D*.05999999865889549;g[q+4>>2]=r+A*D*.05999999865889549;g[q+8>>2]=s+C*D*.05999999865889549;g[q+12>>2]=0.0;g[q+16>>2]=t+y*D*.05999999865889549;g[q+20>>2]=u+A*D*.05999999865889549;g[q+24>>2]=v+C*D*.05999999865889549;g[q+28>>2]=0.0;g[q+32>>2]=w+y*D*.05999999865889549;g[q+36>>2]=z+A*D*.05999999865889549;g[q+40>>2]=B+C*D*.05999999865889549;g[q+44>>2]=0.0;g[q+48>>2]=E-y*D*.05999999865889549;g[q+52>>2]=r-A*D*.05999999865889549;g[q+56>>2]=s-C*D*.05999999865889549;g[q+60>>2]=0.0;g[q+64>>2]=t-y*D*.05999999865889549;g[q+68>>2]=u-A*D*.05999999865889549;g[q+72>>2]=v-C*D*.05999999865889549;g[q+76>>2]=0.0;g[q+80>>2]=w-y*D*.05999999865889549;g[q+84>>2]=z-A*D*.05999999865889549;g[q+88>>2]=B-C*D*.05999999865889549;g[q+92>>2]=0.0;c[7182]=(c[7182]|0)+1;h=xb(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Af(h,q,6,16);p=c[b+8>>2]|0;c[h+8>>2]=c[(c[p+192>>2]|0)+8>>2];o=c[b+4>>2]|0;d=c[o+192>>2]|0;c[q+120>>2]=0;c[q+120+4>>2]=d;c[q+120+8>>2]=o;c[q+120+12>>2]=o+4;c[q+120+16>>2]=-1;c[q+120+20>>2]=-1;c[q+96>>2]=0;c[q+96+4>>2]=h;c[q+96+8>>2]=p;c[q+96+12>>2]=p+4;c[q+96+16>>2]=e;c[q+96+20>>2]=f;p=Ka[c[(c[l>>2]|0)+8>>2]&31](l,q+120|0,q+96|0,0)|0;eb[c[(c[p>>2]|0)+8>>2]&31](p,q+120|0,q+96|0,c[b+52>>2]|0,c[b+44>>2]|0);Pa[c[c[p>>2]>>2]&511](p);Va[c[(c[l>>2]|0)+60>>2]&127](l,p);p=((10?(e<<21|f)+~(f<<15)>>10:(e<<21|f)+~(f<<15)|0)^(e<<21|f)+~(f<<15))*9|0;p=(6?p>>6:p)^p;p=(16?p+~(p<<11)>>16:p+~(p<<11)|0)^p+~(p<<11);l=c[b+108>>2]|0;b:do if((p&l+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((p&l+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){m=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|f;c[b+(i<<3)+4>>2]=h}else m=20;while(0);if((m|0)==20){o=c[b+104>>2]|0;if((o|0)==(l|0)){d=(l|0)==0?1:l<<1;if((l|0)<(d|0)){if(!d){i=0;k=l}else{c[7182]=(c[7182]|0)+1;i=xb((d<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[b+104>>2]|0}if((k|0)>0){j=0;do{H=(c[b+112>>2]|0)+(j<<3)|0;G=c[H+4>>2]|0;F=i+(j<<3)|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;j=j+1|0}while((j|0)!=(k|0))}j=c[b+112>>2]|0;if(j|0){if(a[b+116>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=i;c[b+108>>2]=d;i=c[b+104>>2]|0}else i=l}else i=o;H=c[b+112>>2]|0;c[H+(i<<3)>>2]=e<<21|f;c[H+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(n=(h|0)==0?1:h<<1,(h|0)<(n|0)):0){if(!n)k=0;else{c[7182]=(c[7182]|0)+1;h=xb((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+124>>2]|0}j=c[b+132>>2]|0;if((h|0)<=0)if(!j)i=b+136|0;else m=45;else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));m=45}if((m|0)==45){if(a[b+136>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[b+132>>2]=0;i=b+136|0;h=c[b+124>>2]|0}a[i>>0]=1;c[b+132>>2]=k;c[b+128>>2]=n}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;m=c[b+108>>2]|0;if((l|0)<(m|0)){n=c[b+64>>2]|0;if((n|0)<(m|0)){do if((c[b+68>>2]|0)<(m|0)){if(!m){h=0;j=n}else{c[7182]=(c[7182]|0)+1;h=xb((m<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+64>>2]|0}k=c[b+72>>2]|0;if((j|0)<=0){if(!k){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=m;l=b+72|0;break}}else{i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[b+76>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=m;l=b+72|0}else{l=b+72|0;h=c[b+72>>2]|0}while(0);mk(h+(n<<2)|0,0,(m<<2)-(n<<2)|0)|0;c[b+64>>2]=m;d=c[b+84>>2]|0;if((d|0)<(m|0)){do if((c[b+88>>2]|0)<(m|0)){if(!m){h=0;j=d}else{c[7182]=(c[7182]|0)+1;h=xb((m<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+84>>2]|0}k=c[b+92>>2]|0;if((j|0)<=0){if(!k){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=m;break}}else{i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[b+96>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=m}else h=c[b+92>>2]|0;while(0);mk(h+(d<<2)|0,0,(m<<2)-(d<<2)|0)|0}c[b+84>>2]=m;if((m|0)>0){mk(c[l>>2]|0,-1,m<<2|0)|0;mk(c[b+92>>2]|0,-1,m<<2|0)|0}if((n|0)>0){k=c[b+132>>2]|0;i=c[l>>2]|0;j=c[b+92>>2]|0;h=0;do{H=c[k+(h<<2)>>2]|0;H=((10?H+~(H<<15)>>10:H+~(H<<15)|0)^H+~(H<<15))*9|0;H=(6?H>>6:H)^H;H=i+((((16?H+~(H<<11)>>16:H+~(H<<11)|0)^H+~(H<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[j+(h<<2)>>2]=c[H>>2];c[H>>2]=h;h=h+1|0}while((h|0)!=(n|0))}}h=p&(c[b+108>>2]|0)+-1}else h=p&l+-1;H=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(o<<2)>>2]=c[H>>2];c[H>>2]=o}sa=q;return}function Tb(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0;W=sa;sa=sa+48|0;a[W+16+16>>0]=1;V=W+16+12|0;c[V>>2]=0;c[W+16+4>>2]=0;c[W+16+8>>2]=0;o=c[f+4>>2]|0;if((o|0)>0){c[7182]=(c[7182]|0)+1;k=xb((o<<4|3)+16|0)|0;if(!k)n=0;else{c[(k+4+15&-16)+-4>>2]=k;n=k+4+15&-16}m=c[W+16+4>>2]|0;if((m|0)>0){k=0;do{U=n+(k<<4)|0;T=(c[V>>2]|0)+(k<<4)|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];c[U+8>>2]=c[T+8>>2];c[U+12>>2]=c[T+12>>2];k=k+1|0}while((k|0)!=(m|0))}k=c[V>>2]|0;if(k|0){if(a[W+16+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[V>>2]=0}a[W+16+16>>0]=1;c[V>>2]=n;c[W+16+8>>2]=o}m=c[d+28>>2]|0;if((m|0)>0){U=c[d+36>>2]|0;w=+g[e>>2];v=+g[e+4>>2];s=+g[e+8>>2];u=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];t=+g[e+32>>2];p=+g[e+36>>2];l=+g[e+40>>2];y=+g[b>>2];z=+g[b+4>>2];A=+g[b+8>>2];T=-1;x=3402823466385288598117041.0e14;k=0;while(1){B=+g[U+(k*36|0)+20>>2];C=+g[U+(k*36|0)+24>>2];D=+g[U+(k*36|0)+28>>2];n=(B*w+C*v+D*s)*y+(B*u+C*r+D*q)*z+(B*t+C*p+D*l)*A=0){K=c[U+(T*36|0)+4>>2]|0;if((K|0)>0){L=U+(T*36|0)+12|0;M=U+(T*36|0)+20|0;N=U+(T*36|0)+24|0;O=U+(T*36|0)+28|0;k=0;J=W+16|0;I=f;while(1){G=c[L>>2]|0;F=c[G+(k<<2)>>2]|0;f=c[d+16>>2]|0;H=k+1|0;G=c[G+(((H|0)==(K|0)?0:H)<<2)>>2]|0;Y=+g[f+(F<<4)>>2];Z=Y-+g[f+(G<<4)>>2];X=+g[f+(F<<4)+4>>2];_=X-+g[f+(G<<4)+4>>2];x=+g[f+(F<<4)+8>>2];A=x-+g[f+(G<<4)+8>>2];y=Z*w+_*v+A*s;z=Z*u+_*r+A*q;A=Z*t+_*p+A*l;_=+g[M>>2];Z=+g[N>>2];D=+g[O>>2];B=w*_+v*Z+s*D;C=u*_+r*Z+q*D;D=t*_+p*Z+l*D;x=(Y*w+X*v+x*s+ +g[e+48>>2])*-(z*D-A*C)+(Y*u+X*r+x*q+ +g[e+52>>2])*-(A*B-y*D)+(Y*t+X*p+x*l+ +g[e+56>>2])*-(y*C-z*B);G=I;f=J;k=c[G+4>>2]|0;if((k|0)>=2){n=c[G+12>>2]|0;p=+g[n+(k+-1<<4)>>2];q=+g[n+(k+-1<<4)+4>>2];r=+g[n+(k+-1<<4)+8>>2];m=0;l=p*-(z*D-A*C)+q*-(A*B-y*D)+r*-(y*C-z*B)-x;while(1){u=+g[n+(m<<4)>>2];v=+g[n+(m<<4)+4>>2];w=+g[n+(m<<4)+8>>2];F=c[n+(m<<4)+12>>2]|0;t=u*-(z*D-A*C)+v*-(A*B-y*D)+w*-(y*C-z*B)-x;do if(l<0.0)if(t<0.0){o=c[f+4>>2]|0;if((o|0)==(c[f+8>>2]|0)?(P=(o|0)==0?1:o<<1,(o|0)<(P|0)):0){if(!P)n=0;else{c[7182]=(c[7182]|0)+1;n=xb((P<<4|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[f+4>>2]|0}if((o|0)>0){E=0;do{$=n+(E<<4)|0;aa=(c[f+12>>2]|0)+(E<<4)|0;c[$>>2]=c[aa>>2];c[$+4>>2]=c[aa+4>>2];c[$+8>>2]=c[aa+8>>2];c[$+12>>2]=c[aa+12>>2];E=E+1|0}while((E|0)!=(o|0))}o=c[f+12>>2]|0;if(o|0){if(a[f+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=n;c[f+8>>2]=P;n=c[f+4>>2]|0}else n=o;E=c[f+12>>2]|0;g[E+(n<<4)>>2]=u;g[E+(n<<4)+4>>2]=v;g[E+(n<<4)+8>>2]=w;c[E+(n<<4)+12>>2]=F;E=83;break}else{l=l/(l-t);s=p+(u-p)*l;p=q+(v-q)*l;l=r+(w-r)*l;o=c[f+4>>2]|0;if((o|0)==(c[f+8>>2]|0)?(Q=(o|0)==0?1:o<<1,(o|0)<(Q|0)):0){if(!Q)n=0;else{c[7182]=(c[7182]|0)+1;n=xb((Q<<4|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[f+4>>2]|0}if((o|0)>0){E=0;do{aa=n+(E<<4)|0;$=(c[f+12>>2]|0)+(E<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];E=E+1|0}while((E|0)!=(o|0))}o=c[f+12>>2]|0;if(o|0){if(a[f+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=n;c[f+8>>2]=Q;n=c[f+4>>2]|0}else n=o;E=c[f+12>>2]|0;g[E+(n<<4)>>2]=s;g[E+(n<<4)+4>>2]=p;g[E+(n<<4)+8>>2]=l;g[E+(n<<4)+12>>2]=0.0;E=83;break}else if(t<0.0){l=l/(l-t);s=p+(u-p)*l;p=q+(v-q)*l;l=r+(w-r)*l;o=c[f+4>>2]|0;if((o|0)==(c[f+8>>2]|0)?(R=(o|0)==0?1:o<<1,(o|0)<(R|0)):0){if(!R)n=0;else{c[7182]=(c[7182]|0)+1;n=xb((R<<4|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[f+4>>2]|0}if((o|0)>0){E=0;do{aa=n+(E<<4)|0;$=(c[f+12>>2]|0)+(E<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];E=E+1|0}while((E|0)!=(o|0))}o=c[f+12>>2]|0;if(o|0){if(a[f+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=n;c[f+8>>2]=R;n=c[f+4>>2]|0}else n=o;o=c[f+12>>2]|0;g[o+(n<<4)>>2]=s;g[o+(n<<4)+4>>2]=p;g[o+(n<<4)+8>>2]=l;g[o+(n<<4)+12>>2]=0.0;o=(c[f+4>>2]|0)+1|0;c[f+4>>2]=o;if((o|0)==(c[f+8>>2]|0)?(S=(o|0)==0?1:o<<1,(o|0)<(S|0)):0){if(!S)n=0;else{c[7182]=(c[7182]|0)+1;n=xb((S<<4|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[f+4>>2]|0}if((o|0)>0){E=0;do{aa=n+(E<<4)|0;$=(c[f+12>>2]|0)+(E<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];E=E+1|0}while((E|0)!=(o|0))}o=c[f+12>>2]|0;if(o|0){if(a[f+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=n;c[f+8>>2]=S;n=c[f+4>>2]|0}else n=o;E=c[f+12>>2]|0;g[E+(n<<4)>>2]=u;g[E+(n<<4)+4>>2]=v;g[E+(n<<4)+8>>2]=w;c[E+(n<<4)+12>>2]=F;E=83}while(0);if((E|0)==83){E=0;c[f+4>>2]=(c[f+4>>2]|0)+1}m=m+1|0;if((m|0)==(k|0))break;l=t;p=u;r=w;q=v;n=c[G+12>>2]|0}k=c[G+4>>2]|0}if((k|0)<0){if((c[G+8>>2]|0)<0){m=c[G+12>>2]|0;if(m|0){if(a[G+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[G+12>>2]=0}a[G+16>>0]=1;c[G+12>>2]=0;c[G+8>>2]=0}do{aa=(c[G+12>>2]|0)+(k<<4)|0;c[aa>>2]=c[W>>2];c[aa+4>>2]=c[W+4>>2];c[aa+8>>2]=c[W+8>>2];c[aa+12>>2]=c[W+12>>2];k=k+1|0}while((k|0)!=0)}c[G+4>>2]=0;if((H|0)>=(K|0))break;aa=I;k=H;w=+g[e>>2];v=+g[e+4>>2];s=+g[e+8>>2];u=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];t=+g[e+32>>2];p=+g[e+36>>2];l=+g[e+40>>2];I=J;J=aa}n=M;m=N;k=O;o=e+48|0;E=e+52|0;F=e+56|0;G=f+4|0;w=+g[e>>2];v=+g[e+4>>2];s=+g[e+8>>2];u=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];t=+g[e+32>>2];p=+g[e+36>>2];l=+g[e+40>>2]}else{n=U+(T*36|0)+20|0;m=U+(T*36|0)+24|0;k=U+(T*36|0)+28|0;o=e+48|0;E=e+52|0;F=e+56|0;G=f+4|0}Y=+g[n>>2];Z=+g[m>>2];_=+g[k>>2];s=Y*w+Z*v+_*s;r=Y*u+Z*r+_*q;q=Y*t+Z*p+_*l;p=+g[U+(T*36|0)+32>>2]-(s*+g[o>>2]+r*+g[E>>2]+q*+g[F>>2]);k=c[G>>2]|0;if((k|0)>0){o=f+12|0;n=0;do{aa=c[o>>2]|0;m=aa+(n<<4)|0;l=p+(s*+g[m>>2]+r*+g[aa+(n<<4)+4>>2]+q*+g[aa+(n<<4)+8>>2]);l=l<=h?h:l;if(l<=i){c[W>>2]=c[m>>2];c[W+4>>2]=c[m+4>>2];c[W+8>>2]=c[m+8>>2];c[W+12>>2]=c[m+12>>2];_a[c[(c[j>>2]|0)+16>>2]&15](j,b,W,l);k=c[G>>2]|0}n=n+1|0}while((n|0)<(k|0))}}}k=c[V>>2]|0;if(!k){sa=W;return}if(a[W+16+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[V>>2]=0;sa=W;return}function Ub(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0;O=sa;sa=sa+208|0;g[b+56>>2]=0.0;G=O+192+4|0;H=O+192+8|0;c[O+192>>2]=0;c[O+192+4>>2]=0;c[O+192+8>>2]=0;c[O+192+12>>2]=0;c[O+128>>2]=c[d>>2];c[O+128+4>>2]=c[d+4>>2];c[O+128+8>>2]=c[d+8>>2];c[O+128+12>>2]=c[d+12>>2];c[O+128+16>>2]=c[d+16>>2];c[O+128+16+4>>2]=c[d+16+4>>2];c[O+128+16+8>>2]=c[d+16+8>>2];c[O+128+16+12>>2]=c[d+16+12>>2];c[O+128+32>>2]=c[d+32>>2];c[O+128+32+4>>2]=c[d+32+4>>2];c[O+128+32+8>>2]=c[d+32+8>>2];c[O+128+32+12>>2]=c[d+32+12>>2];D=O+128+48|0;c[D>>2]=c[d+48>>2];c[D+4>>2]=c[d+48+4>>2];c[D+8>>2]=c[d+48+8>>2];c[D+12>>2]=c[d+48+12>>2];c[O+64>>2]=c[d+64>>2];c[O+64+4>>2]=c[d+64+4>>2];c[O+64+8>>2]=c[d+64+8>>2];c[O+64+12>>2]=c[d+64+12>>2];c[O+64+16>>2]=c[d+80>>2];c[O+64+16+4>>2]=c[d+80+4>>2];c[O+64+16+8>>2]=c[d+80+8>>2];c[O+64+16+12>>2]=c[d+80+12>>2];c[O+64+32>>2]=c[d+96>>2];c[O+64+32+4>>2]=c[d+96+4>>2];c[O+64+32+8>>2]=c[d+96+8>>2];c[O+64+32+12>>2]=c[d+96+12>>2];E=O+64+48|0;c[E>>2]=c[d+112>>2];c[E+4>>2]=c[d+112+4>>2];c[E+8>>2]=c[d+112+8>>2];c[E+12>>2]=c[d+112+12>>2];I=+g[D>>2];J=+g[E>>2];K=+g[O+128+52>>2];L=+g[O+64+52>>2];M=+g[O+128+56>>2];N=+g[O+64+56>>2];g[D>>2]=I-(I+J)*.5;g[O+128+52>>2]=K-(K+L)*.5;g[O+128+56>>2]=M-(M+N)*.5;g[E>>2]=J-(I+J)*.5;g[O+64+52>>2]=L-(K+L)*.5;g[O+64+56>>2]=N-(M+N)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)D=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else D=0;u=+g[b+44>>2];t=+g[b+48>>2];c[7167]=(c[7167]|0)+1;E=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;m=c[b+24>>2]|0;a[m+312>>0]=0;c[m>>2]=0;a[m+356>>0]=1;c[m+292>>2]=1566444395;c[m+296>>2]=1566444395;c[m+300>>2]=1566444395;g[m+304>>2]=0.0;c[m+336>>2]=0;c[m+336+4>>2]=0;c[m+336+8>>2]=0;c[m+336+12>>2]=0;a[m+336+16>>0]=0;a[m+332>>0]=a[m+332>>0]&-16;m=0;l=999999984306749440.0;do{n=+g[b+4>>2];k=+g[b+8>>2];j=+g[b+12>>2];r=+g[d+4>>2]*-n+ +g[d+20>>2]*-k+ +g[d+36>>2]*-j;s=+g[d+8>>2]*-n+ +g[d+24>>2]*-k+ +g[d+40>>2]*-j;g[O+48>>2]=+g[d>>2]*-n+ +g[d+16>>2]*-k+ +g[d+32>>2]*-j;g[O+48+4>>2]=r;g[O+48+8>>2]=s;g[O+48+12>>2]=0.0;s=n*+g[d+68>>2]+k*+g[d+84>>2]+j*+g[d+100>>2];r=n*+g[d+72>>2]+k*+g[d+88>>2]+j*+g[d+104>>2];g[O+32>>2]=n*+g[d+64>>2]+k*+g[d+80>>2]+j*+g[d+96>>2];g[O+32+4>>2]=s;g[O+32+8>>2]=r;g[O+32+12>>2]=0.0;Nc(O+16|0,c[b+28>>2]|0,O+48|0);Nc(O,c[b+32>>2]|0,O+32|0);r=+g[O+16>>2];s=+g[O+16+4>>2];j=+g[O+16+8>>2];k=r*+g[O+128>>2]+s*+g[O+128+4>>2]+j*+g[O+128+8>>2]+ +g[O+128+48>>2];n=r*+g[O+128+16>>2]+s*+g[O+128+20>>2]+j*+g[O+128+24>>2]+ +g[O+128+52>>2];j=r*+g[O+128+32>>2]+s*+g[O+128+36>>2]+j*+g[O+128+40>>2]+ +g[O+128+56>>2];s=+g[O>>2];r=+g[O+4>>2];q=+g[O+8>>2];o=s*+g[O+64>>2]+r*+g[O+64+4>>2]+q*+g[O+64+8>>2]+ +g[O+64+48>>2];p=s*+g[O+64+16>>2]+r*+g[O+64+20>>2]+q*+g[O+64+24>>2]+ +g[O+64+52>>2];q=s*+g[O+64+32>>2]+r*+g[O+64+36>>2]+q*+g[O+64+40>>2]+ +g[O+64+56>>2];r=D?0.0:q;s=D?0.0:j;q=D?0.0:j-q;j=(k-o)*+g[b+4>>2]+(n-p)*+g[b+8>>2]+q*+g[b+12>>2];if(j>0.0?j*j>l*+g[d+128>>2]:0){c[b+68>>2]=10;h=0;m=1}else S=7;do if((S|0)==7){S=0;B=c[b+24>>2]|0;C=c[B>>2]|0;if((C|0)>0){i=+g[B+308>>2];A=0;h=0;do{w=k-o-+g[B+4+(A<<4)>>2];y=n-p-+g[B+4+(A<<4)+4>>2];z=q-+g[B+4+(A<<4)+8>>2];h=h|w*w+y*y+z*z<=i;A=A+1|0}while((A|0)!=(C|0))}else h=0;if((+g[B+304>>2]==0.0?q==+g[B+300>>2]:0)?n-p==+g[B+296>>2]:0){if(k-o==+g[B+292>>2]|h)S=15}else S=14;if((S|0)==14?(S=0,h):0)S=15;if((S|0)==15){S=0;c[b+68>>2]=1;h=0;m=1;break}i=l-j;if(i<=l*9.999999974752427e-07){c[b+68>>2]=!(i<=0.0)?11:2;h=0;m=1;break}g[B+292>>2]=k-o;g[B+296>>2]=n-p;g[B+300>>2]=q;g[B+304>>2]=0.0;a[B+356>>0]=1;g[B+4+(C<<4)>>2]=k-o;g[B+4+(C<<4)+4>>2]=n-p;g[B+4+(C<<4)+8>>2]=q;g[B+4+(C<<4)+12>>2]=0.0;h=c[B>>2]|0;g[B+84+(h<<4)>>2]=k;g[B+84+(h<<4)+4>>2]=n;g[B+84+(h<<4)+8>>2]=s;g[B+84+(h<<4)+12>>2]=0.0;h=c[B>>2]|0;g[B+164+(h<<4)>>2]=o;g[B+164+(h<<4)+4>>2]=p;g[B+164+(h<<4)+8>>2]=r;g[B+164+(h<<4)+12>>2]=0.0;c[B>>2]=(c[B>>2]|0)+1;h=c[b+24>>2]|0;C=Ab(h)|0;i=+g[h+276>>2];j=+g[h+280>>2];k=+g[h+284>>2];h=c[h+288>>2]|0;if(!C){c[b+68>>2]=3;h=0;m=1;break}if(i*i+j*j+k*k<9.999999974752427e-07){g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;c[b+68>>2]=6;h=0;m=1;break}if(l-(i*i+j*j+k*k)<=l*1.1920928955078125e-07){c[b+68>>2]=12;l=i*i+j*j+k*k;h=0;m=1;break}g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;C=c[b+64>>2]|0;c[b+64>>2]=C+1;if((C|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;l=i*i+j*j+k*k;h=0}else{l=i*i+j*j+k*k;h=1}else{l=i*i+j*j+k*k;h=0}}while(0)}while(h);s=E<<24>>24==0?t:0.0;r=(E<<24>>24==0?u:0.0)+s;if(m){E=c[b+24>>2]|0;Ab(E)|0;k=+g[E+260>>2];j=+g[E+264>>2];i=+g[E+268>>2];c[O+192>>2]=c[b+4>>2];c[O+192+4>>2]=c[b+4+4>>2];c[O+192+8>>2]=c[b+4+8>>2];c[O+192+12>>2]=c[b+4+12>>2];n=+g[b+4>>2];o=+g[b+8>>2];p=+g[b+12>>2];if(n*n+o*o+p*p<.0001)c[b+68>>2]=5;if(n*n+o*o+p*p>1.4210854715202004e-14){y=1.0/+x(+(n*n+o*o+p*p));g[O+192>>2]=y*+g[O+192>>2];g[G>>2]=y*+g[G>>2];g[H>>2]=y*+g[H>>2];z=s/+x(+l);l=1.0/y-r;m=1;h=1;k=z*n+k;j=z*o+j;i=z*p+i}else{l=0.0;m=0;h=2}c[b+60>>2]=h}else{l=0.0;m=0;k=0.0;j=0.0;i=0.0}if((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)h=r+l<.01&(c[b+68>>2]|0)!=0;else h=0;A=m^1;do if(h|A?(F=c[b+20>>2]|0,(F|0)!=0):0){c[7166]=(c[7166]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(Na[c[(c[F>>2]|0)+8>>2]&3](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,O+128|0,O+64|0,b+4|0,O+48|0,O+32|0,f)|0){o=+g[O+32>>2];p=+g[O+48>>2];q=+g[O+32+4>>2];r=+g[O+48+4>>2];s=+g[O+32+8>>2];t=+g[O+48+8>>2];if(!((o-p)*(o-p)+(q-r)*(q-r)+(s-t)*(s-t)<=1.4210854715202004e-14)){n=(o-p)*(o-p)+(q-r)*(q-r)+(s-t)*(s-t);v=o-p;w=s-t;y=0.0;z=q-r}else{v=+g[b+4>>2];z=+g[b+8>>2];w=+g[b+12>>2];n=v*v+z*z+w*w;y=+g[b+16>>2]}if(n>1.4210854715202004e-14){u=1.0/+x(+n);n=-+x(+((p-o)*(p-o)+(r-q)*(r-q)+(t-s)*(t-s)));if(l>n|A){k=+g[O+32>>2];j=+g[O+32+4>>2];i=+g[O+32+8>>2];g[O+192>>2]=v*u;g[G>>2]=z*u;g[H>>2]=w*u;g[O+192+12>>2]=y;c[b+60>>2]=3;l=n;break}else h=8}else h=9;c[b+60>>2]=h;if(m)break;sa=O;return}else{o=+g[b+4>>2];p=+g[b+8>>2];q=+g[b+12>>2];if(!(o*o+p*p+q*q>0.0)){if(m)break;sa=O;return}y=+g[O+48>>2]-+g[O+32>>2];z=+g[O+48+4>>2]-+g[O+32+4>>2];n=+g[O+48+8>>2]-+g[O+32+8>>2];n=+x(+(y*y+z*z+n*n))-r;if(n>2];j=s*p+ +g[O+32+4>>2];i=s*q+ +g[O+32+8>>2];c[O+192>>2]=c[b+4>>2];c[O+192+4>>2]=c[b+4+4>>2];c[O+192+8>>2]=c[b+4+8>>2];c[O+192+12>>2]=c[b+4+12>>2];w=+g[O+192>>2];y=+g[G>>2];z=+g[H>>2];l=1.0/+x(+(w*w+y*y+z*z));g[O+192>>2]=w*l;g[G>>2]=y*l;g[H>>2]=z*l;c[b+60>>2]=6;l=n;break}c[b+60>>2]=5;if(m)break;sa=O;return}}else S=51;while(0);if((S|0)==51)if(!m){sa=O;return}if(!(l<0.0)?!(l*l<+g[d+128>>2]):0){sa=O;return}if(c[b+76>>2]|0?(S=c[b+28>>2]|0,ab[c[(c[S>>2]|0)+8>>2]&127](S,O+128|0,O+48|0,O+32|0),w=(+g[O+32>>2]+ +g[O+48>>2])*.5,y=(+g[O+32+4>>2]+ +g[O+48+4>>2])*.5,z=(+g[O+32+8>>2]+ +g[O+48+8>>2])*.5,S=c[b+32>>2]|0,ab[c[(c[S>>2]|0)+8>>2]&127](S,O+64|0,O+48|0,O+32|0),P=+g[O+192>>2],Q=+g[G>>2],R=+g[H>>2],(w-(+g[O+48>>2]+ +g[O+32>>2])*.5)*P+(y-(+g[O+48+4>>2]+ +g[O+32+4>>2])*.5)*Q+(z-(+g[O+48+8>>2]+ +g[O+32+8>>2])*.5)*R<0.0):0){g[O+192>>2]=-P;g[G>>2]=-Q;g[H>>2]=-R}c[b+4>>2]=c[O+192>>2];c[b+4+4>>2]=c[O+192+4>>2];c[b+4+8>>2]=c[O+192+8>>2];c[b+4+12>>2]=c[O+192+12>>2];g[b+56>>2]=l;S=c[(c[e>>2]|0)+16>>2]|0;g[O+48>>2]=(I+J)*.5+k;g[O+48+4>>2]=(K+L)*.5+j;g[O+48+8>>2]=(M+N)*.5+i;g[O+48+12>>2]=0.0;_a[S&15](e,O+192|0,O+48|0,l);sa=O;return}function Vb(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=11920;c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=kB(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=kB(c[d+144>>2]|0)|0;f=kB(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{l=j+(i<<6)|0;n=f+(i<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+4|0;l=f+(i<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=j+(i<<6)+8|0;n=f+(i<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+12|0;f=f+(i<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(i<<6)+16|0;l=c[e+96>>2]|0;m=l+(i<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(i<<6)+20|0;n=l+(i<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(i<<6)+24|0;m=l+(i<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(i<<6)+28|0;l=l+(i<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;j=c[d+96>>2]|0;l=kB(c[j+(i<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=l;c[f+(i<<6)+36>>2]=kB(c[j+(i<<6)+36>>2]|0)|0;c[f+(i<<6)+40>>2]=kB(c[j+(i<<6)+40>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;else if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{m=j+(i<<6)|0;n=f+(i<<6)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=(c[d+96>>2]|0)+(i<<6)+16|0;f=(c[e+96>>2]|0)+(i<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];j=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=c[j+(i<<6)+32>>2];c[f+(i<<6)+36>>2]=c[j+(i<<6)+36>>2];c[f+(i<<6)+40>>2]=c[j+(i<<6)+40>>2];i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;if((i|0)==28){f=k<<6;i=32}else if((i|0)==29)if(f)if((a[e+100>>0]|0)==0|(f|0)==0){f=k<<6;i=32}else{c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);f=k<<6;i=32}else f=k<<6;if((i|0)==32)c[e+96>>2]=0;c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=iH(b[i+(f<<4)>>1]|0)|0;b[e+172+(f<<4)+2>>1]=iH(b[i+(f<<4)+2>>1]|0)|0;b[e+172+(f<<4)+4>>1]=iH(b[i+(f<<4)+4>>1]|0)|0;b[e+172+(f<<4)+6>>1]=iH(b[i+(f<<4)+6>>1]|0)|0;b[e+172+(f<<4)+8>>1]=iH(b[i+(f<<4)+8>>1]|0)|0;b[e+172+(f<<4)+10>>1]=iH(b[i+(f<<4)+10>>1]|0)|0;c[e+172+(f<<4)+12>>2]=kB(c[i+(f<<4)+12>>2]|0)|0;f=f+1|0}while((f|0)!=(k|0))}}else if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=b[i+(f<<4)>>1]|0;b[e+172+(f<<4)+2>>1]=b[i+(f<<4)+2>>1]|0;b[e+172+(f<<4)+4>>1]=b[i+(f<<4)+4>>1]|0;b[e+172+(f<<4)+6>>1]=b[i+(f<<4)+6>>1]|0;b[e+172+(f<<4)+8>>1]=b[i+(f<<4)+8>>1]|0;b[e+172+(f<<4)+10>>1]=b[i+(f<<4)+10>>1]|0;c[e+172+(f<<4)+12>>2]=c[i+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;f=k<<4}k=e+172+f|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=iH(b[i+(f<<5)>>1]|0)|0;b[k+(f<<5)+2>>1]=iH(b[i+(f<<5)+2>>1]|0)|0;b[k+(f<<5)+4>>1]=iH(b[i+(f<<5)+4>>1]|0)|0;b[k+(f<<5)+6>>1]=iH(b[i+(f<<5)+6>>1]|0)|0;b[k+(f<<5)+8>>1]=iH(b[i+(f<<5)+8>>1]|0)|0;b[k+(f<<5)+10>>1]=iH(b[i+(f<<5)+10>>1]|0)|0;c[k+(f<<5)+12>>2]=kB(c[i+(f<<5)+12>>2]|0)|0;c[k+(f<<5)+16>>2]=kB(c[i+(f<<5)+16>>2]|0)|0;f=f+1|0}while((f|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=b[i+(f<<5)>>1]|0;b[k+(f<<5)+2>>1]=b[i+(f<<5)+2>>1]|0;b[k+(f<<5)+4>>1]=b[i+(f<<5)+4>>1]|0;b[k+(f<<5)+6>>1]=b[i+(f<<5)+6>>1]|0;b[k+(f<<5)+8>>1]=b[i+(f<<5)+8>>1]|0;b[k+(f<<5)+10>>1]=b[i+(f<<5)+10>>1]|0;c[k+(f<<5)+12>>2]=c[i+(f<<5)+12>>2];c[k+(f<<5)+16>>2]=c[i+(f<<5)+16>>2];c[k+(f<<5)+20>>2]=0;c[k+(f<<5)+24>>2]=0;c[k+(f<<5)+28>>2]=0;f=f+1|0}while((f|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Wb(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;B=sa;sa=sa+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)z=((c[f+4>>2]|0)+-17|0)>>>0<2;else z=0;b=0;do{be();u=+g[25552+(b<<4)>>2];v=+g[25552+(b<<4)+4>>2];w=+g[25552+(b<<4)+8>>2];y=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-w;x=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-w;g[B+992+(b<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-w;g[B+992+(b<<4)+4>>2]=y;g[B+992+(b<<4)+8>>2]=x;g[B+992+(b<<4)+12>>2]=0.0;x=u*+g[i+4>>2]+v*+g[i+20>>2]+w*+g[i+36>>2];y=u*+g[i+8>>2]+v*+g[i+24>>2]+w*+g[i+40>>2];g[B+(b<<4)>>2]=u*+g[i>>2]+v*+g[i+16>>2]+w*+g[i+32>>2];g[B+(b<<4)+4>>2]=x;g[B+(b<<4)+8>>2]=y;g[B+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);p=Fa[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((p|0)>0){b=0;o=42;while(1){Za[c[(c[e>>2]|0)+88>>2]&127](e,b,B+4144|0);x=+g[B+4144>>2];y=+g[B+4144+4>>2];w=+g[B+4144+8>>2];v=x*+g[h+16>>2]+y*+g[h+20>>2]+w*+g[h+24>>2];u=x*+g[h+32>>2]+y*+g[h+36>>2]+w*+g[h+40>>2];g[B+4144>>2]=+g[h>>2]*x+ +g[h+4>>2]*y+ +g[h+8>>2]*w;g[B+4144+4>>2]=v;g[B+4144+8>>2]=u;g[B+4144+12>>2]=0.0;be();q=25552+(o<<4)|0;c[q>>2]=c[B+4144>>2];c[q+4>>2]=c[B+4144+4>>2];c[q+8>>2]=c[B+4144+8>>2];c[q+12>>2]=c[B+4144+12>>2];u=+g[B+4144>>2];v=+g[B+4144+4>>2];w=+g[B+4144+8>>2];y=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-w;x=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-w;g[B+992+(o<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-w;g[B+992+(o<<4)+4>>2]=y;g[B+992+(o<<4)+8>>2]=x;g[B+992+(o<<4)+12>>2]=0.0;x=u*+g[i+4>>2]+v*+g[i+20>>2]+w*+g[i+36>>2];y=u*+g[i+8>>2]+v*+g[i+24>>2]+w*+g[i+40>>2];g[B+(o<<4)>>2]=u*+g[i>>2]+v*+g[i+16>>2]+w*+g[i+32>>2];g[B+(o<<4)+4>>2]=x;g[B+(o<<4)+8>>2]=y;g[B+(o<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(p|0))break;else o=o+1|0}o=p+42|0}else o=42;q=Fa[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((q|0)>0){b=0;p=o;while(1){Za[c[(c[f>>2]|0)+88>>2]&127](f,b,B+4144|0);x=+g[B+4144>>2];y=+g[B+4144+4>>2];w=+g[B+4144+8>>2];v=x*+g[i+16>>2]+y*+g[i+20>>2]+w*+g[i+24>>2];u=x*+g[i+32>>2]+y*+g[i+36>>2]+w*+g[i+40>>2];g[B+4144>>2]=+g[i>>2]*x+ +g[i+4>>2]*y+ +g[i+8>>2]*w;g[B+4144+4>>2]=v;g[B+4144+8>>2]=u;g[B+4144+12>>2]=0.0;be();C=25552+(p<<4)|0;c[C>>2]=c[B+4144>>2];c[C+4>>2]=c[B+4144+4>>2];c[C+8>>2]=c[B+4144+8>>2];c[C+12>>2]=c[B+4144+12>>2];u=+g[B+4144>>2];v=+g[B+4144+4>>2];w=+g[B+4144+8>>2];y=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-w;x=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-w;g[B+992+(p<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-w;g[B+992+(p<<4)+4>>2]=y;g[B+992+(p<<4)+8>>2]=x;g[B+992+(p<<4)+12>>2]=0.0;x=u*+g[i+4>>2]+v*+g[i+20>>2]+w*+g[i+36>>2];y=u*+g[i+8>>2]+v*+g[i+24>>2]+w*+g[i+40>>2];g[B+(p<<4)>>2]=u*+g[i>>2]+v*+g[i+16>>2]+w*+g[i+32>>2];g[B+(p<<4)+4>>2]=x;g[B+(p<<4)+8>>2]=y;g[B+(p<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(q|0))break;else p=p+1|0}o=q+o|0}ab[c[(c[e>>2]|0)+76>>2]&127](e,B+992|0,B+2976|0,o);ab[c[(c[f>>2]|0)+76>>2]&127](f,B,B+1984|0,o);if((o|0)>0){u=999999984306749440.0;b=0;x=0.0;n=0.0;w=0.0;r=0.0;while(1){be();t=+g[25552+(b<<4)>>2];v=+g[25552+(b<<4)+4>>2];s=+g[25552+(b<<4)+12>>2];y=z?0.0:+g[25552+(b<<4)+8>>2];if(t*t+v*v+y*y>.01?(E=+g[B+2976+(b<<4)>>2],D=+g[B+2976+(b<<4)+4>>2],A=+g[B+2976+(b<<4)+8>>2],H=+g[B+1984+(b<<4)>>2],G=+g[B+1984+(b<<4)+4>>2],F=+g[B+1984+(b<<4)+8>>2],A=t*(H*+g[i>>2]+G*+g[i+4>>2]+F*+g[i+8>>2]+ +g[i+48>>2]-(E*+g[h>>2]+D*+g[h+4>>2]+A*+g[h+8>>2]+ +g[h+48>>2]))+v*(H*+g[i+16>>2]+G*+g[i+20>>2]+F*+g[i+24>>2]+ +g[i+52>>2]-(E*+g[h+16>>2]+D*+g[h+20>>2]+A*+g[h+24>>2]+ +g[h+52>>2]))+y*(z?0.0:H*+g[i+32>>2]+G*+g[i+36>>2]+F*+g[i+40>>2]+ +g[i+56>>2]-(E*+g[h+32>>2]+D*+g[h+36>>2]+A*+g[h+40>>2]+ +g[h+56>>2])),A>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+va[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+va[c[(c[f>>2]|0)+48>>2]&15](f)}if(u<0.0){C=0;sa=B;return C|0}switch(c[e+4>>2]|0){case 8:{n=+g[e+28>>2]*+g[e+12>>2];break}case 0:{n=+g[e+44>>2];break}case 1:{n=+g[e+44>>2];break}case 13:{n=+g[e+44>>2];break}case 11:{n=+g[e+44>>2];break}case 10:{n=+g[e+44>>2];break}case 4:case 5:{n=+g[e+44>>2];break}default:n=+va[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{r=+g[f+28>>2]*+g[f+12>>2];b=8;break}case 0:{r=+g[f+44>>2];b=0;break}case 1:{r=+g[f+44>>2];b=1;break}case 13:{r=+g[f+44>>2];b=13;break}case 11:{r=+g[f+44>>2];b=11;break}case 10:{r=+g[f+44>>2];b=10;break}case 4:case 5:{r=+g[f+44>>2];break}default:{r=+va[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}n=u+(n+r+.5);c[B+4144>>2]=12116;c[B+4144+4>>2]=0;c[B+4144+8>>2]=1065353216;c[B+4144+12>>2]=0;g[B+4144+16>>2]=0.0;c[B+4144+20>>2]=0;c[B+4144+24>>2]=d;c[B+4144+28>>2]=e;c[B+4144+32>>2]=f;c[B+4144+36>>2]=c[e+4>>2];c[B+4144+40>>2]=b;g[B+4144+44>>2]=+va[c[(c[e>>2]|0)+48>>2]&15](e);g[B+4144+48>>2]=+va[c[(c[f>>2]|0)+48>>2]&15](f);a[B+4144+52>>0]=0;c[B+4144+60>>2]=-1;c[B+4144+72>>2]=1;c[B+4144+76>>2]=1;F=t*n+ +g[h+48>>2];G=v*n+ +g[h+52>>2];H=w*n+ +g[h+56>>2];c[B+4012>>2]=c[h>>2];c[B+4012+4>>2]=c[h+4>>2];c[B+4012+8>>2]=c[h+8>>2];c[B+4012+12>>2]=c[h+12>>2];c[B+4012+16>>2]=c[h+16>>2];c[B+4012+16+4>>2]=c[h+16+4>>2];c[B+4012+16+8>>2]=c[h+16+8>>2];c[B+4012+16+12>>2]=c[h+16+12>>2];c[B+4012+32>>2]=c[h+32>>2];c[B+4012+32+4>>2]=c[h+32+4>>2];c[B+4012+32+8>>2]=c[h+32+8>>2];c[B+4012+32+12>>2]=c[h+32+12>>2];g[B+4012+48>>2]=F;g[B+4012+52>>2]=G;g[B+4012+56>>2]=H;g[B+4012+60>>2]=0.0;c[B+4012+64>>2]=c[i>>2];c[B+4012+64+4>>2]=c[i+4>>2];c[B+4012+64+8>>2]=c[i+8>>2];c[B+4012+64+12>>2]=c[i+12>>2];c[B+4012+80>>2]=c[i+16>>2];c[B+4012+80+4>>2]=c[i+16+4>>2];c[B+4012+80+8>>2]=c[i+16+8>>2];c[B+4012+80+12>>2]=c[i+16+12>>2];c[B+4012+96>>2]=c[i+32>>2];c[B+4012+96+4>>2]=c[i+32+4>>2];c[B+4012+96+8>>2]=c[i+32+8>>2];c[B+4012+96+12>>2]=c[i+32+12>>2];c[B+4012+112>>2]=c[i+48>>2];c[B+4012+112+4>>2]=c[i+48+4>>2];c[B+4012+112+8>>2]=c[i+48+8>>2];c[B+4012+112+12>>2]=c[i+48+12>>2];g[B+4012+128>>2]=999999984306749440.0;c[B+3968>>2]=12e3;a[B+3968+40>>0]=0;g[B+4144+4>>2]=-t;g[B+4144+8>>2]=-v;g[B+4144+12>>2]=-w;g[B+4144+16>>2]=0.0;Ub(B+4144|0,B+4012|0,B+3968|0,m,0);n=n-+g[B+3968+36>>2];b=a[B+3968+40>>0]|0;if(b<<24>>24){C=B+3968+20|0;G=+g[B+3968+24>>2]-v*n;H=+g[B+3968+28>>2]-w*n;g[k>>2]=+g[C>>2]-t*n;g[k+4>>2]=G;g[k+8>>2]=H;g[k+12>>2]=0.0;c[l>>2]=c[C>>2];c[l+4>>2]=c[C+4>>2];c[l+8>>2]=c[C+8>>2];c[l+12>>2]=c[C+12>>2];g[j>>2]=t;g[j+4>>2]=v;g[j+8>>2]=w;g[j+12>>2]=s}C=b<<24>>24!=0;sa=B;return C|0}function Xb(d,e){d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;A=sa;sa=sa+464|0;Ki(16202);f=c[d+84>>2]|0;if(f|0)Qa[f&31](d,e);Qa[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=Fa[c[(c[d>>2]|0)+20>>2]&127](d)|0;Ki(16245);Ki(16270);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{r=c[d+24>>2]|0;Va[c[(c[r>>2]|0)+16>>2]&127](r,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[3084]|0;r=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=r;do if(!r){if(c[f+4>>2]|0){la(A+368|0,0)|0;r=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[A+368+4>>2]|0)-(c[r+4>>2]|0)+(((c[A+368>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3084]|0}c[3084]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){r=A+304+48|0;q=A+368+44|0;p=0;while(1){j=c[(c[d+240>>2]|0)+(p<<2)>>2]|0;g[j+244>>2]=1.0;b:do switch(c[j+216>>2]|0){case 2:case 5:break;default:if(((c[j+204>>2]&3|0)==0?(jg(j+4|0,+g[j+312>>2],+g[j+316>>2],+g[j+320>>2],j+328|0,e,A+304|0),s=+g[r>>2],t=s-+g[j+52>>2],u=+g[A+304+52>>2],v=u-+g[j+56>>2],w=+g[A+304+56>>2],x=w-+g[j+60>>2],a[d+44>>0]|0):0)?(n=+g[j+252>>2],n*n!=0.0?n*n>2]|0)+4>>2]|0)<20?(c[6847]=(c[6847]|0)+1,i=c[d+68>>2]|0,i=Fa[c[(c[i>>2]|0)+36>>2]&127](i)|0,o=c[d+24>>2]|0,g[A+368+4>>2]=1.0,c[A+368+12>>2]=c[j+52>>2],c[A+368+12+4>>2]=c[j+52+4>>2],c[A+368+12+8>>2]=c[j+52+8>>2],c[A+368+12+12>>2]=c[j+52+12>>2],c[A+368+28>>2]=c[r>>2],c[A+368+28+4>>2]=c[r+4>>2],c[A+368+28+8>>2]=c[r+8>>2],c[A+368+28+12>>2]=c[r+12>>2],c[A+368+76>>2]=0,c[A+368>>2]=7092,c[A+368+80>>2]=j,c[A+368+88>>2]=i,c[A+368+92>>2]=o,o=c[j+248>>2]|0,c[A+248+8>>2]=0,c[A+248+12>>2]=1065353216,c[A+248+16>>2]=1065353216,c[A+248+20>>2]=1065353216,g[A+248+24>>2]=0.0,c[A+248>>2]=9480,c[A+248+4>>2]=8,c[A+248+28>>2]=o,c[A+248+44>>2]=o,c[A+368+84>>2]=c[d+56>>2],o=c[j+188>>2]|0,b[A+368+8>>1]=b[o+4>>1]|0,b[A+368+10>>1]=b[o+6>>1]|0,c[A+184+48>>2]=c[r>>2],c[A+184+48+4>>2]=c[r+4>>2],c[A+184+48+8>>2]=c[r+8>>2],c[A+184+48+12>>2]=c[r+12>>2],c[A+184>>2]=c[j+4>>2],c[A+184+4>>2]=c[j+4+4>>2],c[A+184+8>>2]=c[j+4+8>>2],c[A+184+12>>2]=c[j+4+12>>2],c[A+184+16>>2]=c[j+20>>2],c[A+184+16+4>>2]=c[j+20+4>>2],c[A+184+16+8>>2]=c[j+20+8>>2],c[A+184+16+12>>2]=c[j+20+12>>2],c[A+184+32>>2]=c[j+36>>2],c[A+184+32+4>>2]=c[j+36+4>>2],c[A+184+32+8>>2]=c[j+36+8>>2],c[A+184+32+12>>2]=c[j+36+12>>2],Tc(d,A+248|0,j+4|0,A+184|0,A+368|0,0.0),y=+g[A+368+4>>2],y<1.0):0){k=y*(s-+g[j+52>>2]);l=y*(u-+g[j+56>>2]);m=y*(w-+g[j+60>>2]);n=-(l*+g[A+368+48>>2])-k*+g[q>>2]-m*+g[A+368+52>>2];o=c[d+24>>2]|0;o=Ja[c[(c[o>>2]|0)+12>>2]&63](o,j,c[A+368+76>>2]|0)|0;h=c[d+308>>2]|0;if((h|0)==(c[d+312>>2]|0)?(z=(h|0)==0?1:h<<1,(h|0)<(z|0)):0){if(!z)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((z<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+308>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[d+316>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[d+316>>2]|0;if(i){if(a[d+320>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=f;c[d+312>>2]=z;f=h}else f=h;c[(c[d+316>>2]|0)+(f<<2)>>2]=o;c[d+308>>2]=f+1;k=k+ +g[j+52>>2];l=l+ +g[j+56>>2];m=m+ +g[j+60>>2];i=c[A+368+76>>2]|0;M=+g[i+4>>2];L=+g[i+20>>2];K=+g[i+36>>2];J=+g[i+8>>2];I=+g[i+24>>2];H=+g[i+40>>2];G=+g[i+12>>2];E=+g[i+28>>2];C=+g[i+44>>2];F=-+g[i+52>>2];D=-+g[i+56>>2];B=-+g[i+60>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;g[A+16>>2]=k*M+l*L+m*K+(M*F+L*D+K*B);g[A+20>>2]=k*J+l*I+m*H+(J*F+I*D+H*B);g[A+24>>2]=k*G+l*E+m*C+(G*F+E*D+C*B);g[A+28>>2]=0.0;c[A+64>>2]=c[q>>2];c[A+64+4>>2]=c[q+4>>2];c[A+64+8>>2]=c[q+8>>2];c[A+64+12>>2]=c[q+12>>2];g[A+80>>2]=n;g[A+84>>2]=0.0;g[A+88>>2]=0.0;g[A+92>>2]=0.0;c[A+112>>2]=0;a[A+116>>0]=0;c[A+120>>2]=0;c[A+120+4>>2]=0;c[A+120+8>>2]=0;c[A+120+12>>2]=0;c[A+120+16>>2]=0;c[A+120+20>>2]=0;c[A+120+24>>2]=0;c[A+120+28>>2]=0;i=Ce(o,A)|0;g[o+4+(i*184|0)+92>>2]=0.0;n=+g[j+224>>2]*+g[(c[A+368+76>>2]|0)+224>>2];n=n<-10.0?-10.0:n;g[o+4+(i*184|0)+84>>2]=n>10.0?10.0:n;c[o+4+(i*184|0)+48>>2]=c[j+52>>2];c[o+4+(i*184|0)+48+4>>2]=c[j+52+4>>2];c[o+4+(i*184|0)+48+8>>2]=c[j+52+8>>2];c[o+4+(i*184|0)+48+12>>2]=c[j+52+12>>2];g[o+4+(i*184|0)+32>>2]=k;g[o+4+(i*184|0)+36>>2]=l;g[o+4+(i*184|0)+40>>2]=m;g[o+4+(i*184|0)+44>>2]=0.0}f=c[3084]|0;o=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=o;if(!o){if(c[f+4>>2]|0){la(A+368|0,0)|0;o=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[A+368+4>>2]|0)-(c[o+4>>2]|0)+(((c[A+368>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break b;f=c[3084]|0}c[3084]=c[f+20>>2]}}}while(0);p=p+1|0;if((p|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[3084]|0;z=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=z;do if(!z){if(c[f+4>>2]|0){la(A+368|0,0)|0;z=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[A+368+4>>2]|0)-(c[z+4>>2]|0)+(((c[A+368>>2]|0)-(c[z>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3084]|0}c[3084]=c[f+20>>2]}while(0);Pa[c[(c[d>>2]|0)+44>>2]&511](d);Pa[c[(c[d>>2]|0)+148>>2]&511](d);g[d+104>>2]=e;Va[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);Qa[c[(c[d>>2]|0)+144>>2]&31](d,e);Ki(16231);if((c[d+280>>2]|0)>0){f=0;do{z=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;Wa[c[(c[z>>2]|0)+8>>2]&7](z,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[3084]|0;z=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=z;do if(!z){if(c[f+4>>2]|0){la(A+368|0,0)|0;z=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[A+368+4>>2]|0)-(c[z+4>>2]|0)+(((c[A+368>>2]|0)-(c[z>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3084]|0}c[3084]=c[f+20>>2]}while(0);Qa[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)Qa[f&31](d,e);f=c[3084]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){sa=A;return}do if(c[f+4>>2]|0){la(A+368|0,0)|0;d=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[A+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[A+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[3084]|0;break}else{sa=A;return}}while(0);c[3084]=c[f+20>>2];sa=A;return}function Yb(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;G=sa;sa=sa+192|0;Ki(15341);d=c[b+1112>>2]|0;if((d|0)>0){F=0;do{E=c[(c[b+1120>>2]|0)+(F<<2)>>2]|0;D=c[E+24>>2]|0;if(D){i=G+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));g[G+144>>2]=9.999999747378752e-05;g[G+144+20>>2]=1.9999999494757503e-04;g[G+144+40>>2]=2.9999998514540493e-04;if((D|0)>0){i=c[E+32>>2]|0;j=c[E+12>>2]|0;d=0;e=0.0;f=0.0;h=0.0;do{C=c[i+(d<<2)>>2]|0;B=+g[j+(d<<2)>>2];e=e+ +g[C+8>>2]*B;f=f+B*+g[C+12>>2];h=h+B*+g[C+16>>2];d=d+1|0}while((d|0)!=(D|0))}else{h=0.0;f=0.0;e=0.0}q=+g[E+128>>2];s=e*q;r=f*q;q=h*q;g[E+228>>2]=s;g[E+232>>2]=r;g[E+236>>2]=q;g[E+240>>2]=0.0;if((D|0)>0){i=c[E+32>>2]|0;j=c[E+52>>2]|0;d=0;e=9.999999747378752e-05;f=0.0;h=0.0;k=0.0;l=1.9999999494757503e-04;m=0.0;n=0.0;o=0.0;p=2.9999998514540493e-04;do{C=c[i+(d<<2)>>2]|0;w=+g[C+8>>2]-s;x=+g[C+12>>2]-r;A=+g[C+16>>2]-q;y=+g[j+(d<<4)>>2];z=+g[j+(d<<4)+4>>2];B=+g[j+(d<<4)+8>>2];e=w*y+e;f=w*z+f;h=w*B+h;k=x*y+k;l=x*z+l;m=x*B+m;n=A*y+n;o=A*z+o;p=A*B+p;d=d+1|0}while((d|0)!=(D|0));g[G+144>>2]=e;g[G+144+4>>2]=f;g[G+144+8>>2]=h;g[G+144+16>>2]=k;g[G+144+20>>2]=l;g[G+144+24>>2]=m;g[G+144+32>>2]=n;g[G+144+36>>2]=o;g[G+144+40>>2]=p}if((a[26680]|0)==0?mz(26680)|0:0){g[6830]=9.999999747378752e-05;c[6831]=16}oc(G+144|0,G+96|0,G+48|0);c[E+108>>2]=c[E+228>>2];c[E+108+4>>2]=c[E+228+4>>2];c[E+108+8>>2]=c[E+228+8>>2];c[E+108+12>>2]=c[E+228+12>>2];c[E+60>>2]=c[G+96>>2];c[E+60+4>>2]=c[G+96+4>>2];c[E+60+8>>2]=c[G+96+8>>2];c[E+60+12>>2]=c[G+96+12>>2];c[E+76>>2]=c[G+96+16>>2];c[E+76+4>>2]=c[G+96+16+4>>2];c[E+76+8>>2]=c[G+96+16+8>>2];c[E+76+12>>2]=c[G+96+16+12>>2];c[E+92>>2]=c[G+96+32>>2];c[E+92+4>>2]=c[G+96+32+4>>2];c[E+92+8>>2]=c[G+96+32+8>>2];c[E+92+12>>2]=c[G+96+32+12>>2];l=+g[E+132>>2];J=+g[E+60>>2];m=+g[E+148>>2];I=+g[E+64>>2];n=+g[E+164>>2];z=+g[E+68>>2];o=+g[E+136>>2];p=+g[E+152>>2];q=+g[E+168>>2];r=+g[E+140>>2];s=+g[E+156>>2];B=+g[E+172>>2];H=+g[E+76>>2];e=+g[E+80>>2];A=+g[E+84>>2];k=+g[E+92>>2];h=+g[E+96>>2];f=+g[E+100>>2];t=(l*J+m*I+n*z)*J+(J*o+I*p+z*q)*I+(J*r+I*s+z*B)*z;u=(l*J+m*I+n*z)*H+(J*o+I*p+z*q)*e+(J*r+I*s+z*B)*A;v=(l*J+m*I+n*z)*k+(J*o+I*p+z*q)*h+(J*r+I*s+z*B)*f;w=(l*H+m*e+n*A)*J+(o*H+p*e+q*A)*I+(r*H+s*e+B*A)*z;x=(l*H+m*e+n*A)*H+(o*H+p*e+q*A)*e+(r*H+s*e+B*A)*A;y=(l*H+m*e+n*A)*k+(o*H+p*e+q*A)*h+(r*H+s*e+B*A)*f;z=J*(l*k+m*h+n*f)+(o*k+p*h+q*f)*I+(r*k+s*h+B*f)*z;A=H*(l*k+m*h+n*f)+(o*k+p*h+q*f)*e+(r*k+s*h+B*f)*A;B=(l*k+m*h+n*f)*k+(o*k+p*h+q*f)*h+(r*k+s*h+B*f)*f;g[E+180>>2]=t;g[E+184>>2]=u;g[E+188>>2]=v;g[E+192>>2]=0.0;g[E+196>>2]=w;g[E+200>>2]=x;g[E+204>>2]=y;g[E+208>>2]=0.0;g[E+212>>2]=z;g[E+216>>2]=A;g[E+220>>2]=B;g[E+224>>2]=0.0;c[E+316>>2]=0;c[E+316+4>>2]=0;c[E+316+8>>2]=0;c[E+316+12>>2]=0;c[E+316+16>>2]=0;c[E+316+20>>2]=0;c[E+316+24>>2]=0;c[E+316+28>>2]=0;if((D|0)>0){i=c[E+32>>2]|0;j=c[E+12>>2]|0;q=+g[E+228>>2];r=+g[E+232>>2];s=+g[E+236>>2];d=0;p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;e=0.0;do{C=c[i+(d<<2)>>2]|0;L=+g[j+(d<<2)>>2];I=+g[C+40>>2]*L;K=L*+g[C+44>>2];L=L*+g[C+48>>2];p=I+p;g[E+316>>2]=p;o=K+o;g[E+320>>2]=o;n=L+n;g[E+324>>2]=n;H=+g[C+8>>2]-q;J=+g[C+12>>2]-r;M=+g[C+16>>2]-s;m=m+(L*J-K*M);g[E+332>>2]=m;l=I*M-L*H+l;g[E+336>>2]=l;e=K*H-I*J+e;g[E+340>>2]=e;d=d+1|0}while((d|0)!=(D|0));C=E+316|0;d=E+332|0}else{C=E+316|0;d=E+332|0;p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;e=0.0}L=+g[E+128>>2];M=1.0-+g[E+356>>2];g[E+316>>2]=p*L*M;g[E+320>>2]=L*o*M;g[E+324>>2]=L*n*M;g[E+328>>2]=0.0;M=1.0-+g[E+360>>2];g[d>>2]=(t*m+u*l+v*e)*M;g[E+336>>2]=(m*w+l*x+e*y)*M;g[E+340>>2]=M*(m*z+l*A+e*B);g[E+344>>2]=0.0;i=E+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+g[E+364>>2];a:do if(e>0.0?(c[E+24>>2]|0)>0:0){d=0;while(1){j=c[(c[E+32>>2]|0)+(d<<2)>>2]|0;i=c[E+52>>2]|0;H=+g[i+(d<<4)>>2];I=+g[i+(d<<4)+4>>2];J=+g[i+(d<<4)+8>>2];K=+g[j+8>>2];L=+g[j+12>>2];M=+g[j+16>>2];L=L+e*(H*+g[E+76>>2]+I*+g[E+80>>2]+J*+g[E+84>>2]+ +g[E+112>>2]-L);M=M+e*(H*k+I*h+J*f+ +g[E+116>>2]-M);g[j+8>>2]=K+e*(H*+g[E+60>>2]+I*+g[E+64>>2]+J*+g[E+68>>2]+ +g[E+108>>2]-K);g[j+12>>2]=L;g[j+16>>2]=M;g[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[E+24>>2]|0))break a;k=+g[E+92>>2];h=+g[E+96>>2];f=+g[E+100>>2];e=+g[E+364>>2]}}while(0);if(a[E+377>>0]|0){i=c[E+32>>2]|0;j=c[i>>2]|0;e=+g[j+8>>2];p=+g[j+12>>2];q=+g[j+16>>2];f=+g[j+20>>2];if((D|0)>1){d=1;l=e;o=e;m=f;n=q;k=f;h=p;f=p;e=q;do{j=c[i+(d<<2)>>2]|0;J=+g[j+8>>2];o=J>2];f=K>2];n=L>2];k=M>2]=o;g[G+16+4>>2]=f;g[G+16+8>>2]=n;g[G+16+12>>2]=k;g[G+16+16>>2]=l;g[G+16+20>>2]=h;g[G+16+24>>2]=e;g[G+16+28>>2]=m;d=c[E+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[7182]=(c[7182]|0)+1;d=xb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=E;c[d+40>>2]=0;c[d>>2]=c[G+16>>2];c[d+4>>2]=c[G+16+4>>2];c[d+8>>2]=c[G+16+8>>2];c[d+12>>2]=c[G+16+12>>2];c[d+16>>2]=c[G+16+16>>2];c[d+20>>2]=c[G+16+20>>2];c[d+24>>2]=c[G+16+24>>2];c[d+28>>2]=c[G+16+28>>2];ue(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[E+348>>2]=d}else{K=+g[b+452>>2];L=K*+g[E+320>>2]*3.0;M=K*+g[E+324>>2]*3.0;g[G>>2]=+g[C>>2]*K*3.0;g[G+4>>2]=L;g[G+8>>2]=M;g[G+12>>2]=0.0;Bg(b+1048|0,d,G+16|0,G,+g[b+464>>2])|0}}d=c[b+1112>>2]|0}F=F+1|0}while((F|0)<(d|0))}d=c[3084]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){sa=G;return}do if(c[d+4>>2]|0){la(G+144|0,0)|0;b=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[G+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[G+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=G;return}}while(0);c[3084]=c[d+20>>2];sa=G;return}function Zb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0;L=sa;sa=sa+64|0;if(!(c[b+12>>2]|0)){sa=L;return}N=(a[b+16>>0]|0)!=0;i=N?e:d;N=N?d:e;f=c[i+4>>2]|0;K=c[N+4>>2]|0;i=c[i+12>>2]|0;_=+g[i>>2];Z=+g[i+16>>2];Y=+g[i+32>>2];X=+g[i+4>>2];W=+g[i+20>>2];m=+g[i+36>>2];j=+g[i+8>>2];p=+g[i+24>>2];y=+g[i+40>>2];R=+g[i+48>>2];Q=+g[i+52>>2];P=+g[i+56>>2];$=c[N+12>>2]|0;V=+g[$>>2];U=+g[$+16>>2];n=+g[$+32>>2];T=+g[$+4>>2];S=+g[$+20>>2];o=+g[$+36>>2];v=+g[$+8>>2];t=+g[$+24>>2];r=+g[$+40>>2];O=-+g[$+48>>2];G=-+g[$+52>>2];H=-+g[$+56>>2];I=+g[i>>2];J=+g[i+16>>2];F=+g[i+32>>2];D=+g[i+4>>2];C=+g[i+20>>2];B=+g[i+36>>2];u=+g[i+8>>2];s=+g[i+24>>2];q=+g[i+40>>2];i=c[(c[f>>2]|0)+64>>2]|0;l=-+g[K+48>>2];k=-+g[K+52>>2];E=-+g[K+56>>2];g[L+48>>2]=(_*V+Z*U+Y*n)*l+(_*T+Z*S+Y*o)*k+(_*v+Z*t+Y*r)*E;g[L+48+4>>2]=(X*V+W*U+m*n)*l+(X*T+W*S+m*o)*k+(X*v+W*t+m*r)*E;g[L+48+8>>2]=(j*V+p*U+y*n)*l+(j*T+p*S+y*o)*k+(j*v+p*t+y*r)*E;g[L+48+12>>2]=0.0;Za[i&127](L,f,L+48|0);E=+g[L>>2];y=+g[L+4>>2];p=+g[L+8>>2];j=+g[K+48>>2];k=+g[K+52>>2];l=+g[K+56>>2];m=l*(R*v+Q*t+P*r+(v*O+t*G+r*H)+((v*I+t*J+r*F)*E+(v*D+t*C+r*B)*y+(v*u+t*s+r*q)*p))+(j*(R*V+Q*U+P*n+(V*O+U*G+n*H)+((V*I+U*J+n*F)*E+(V*D+U*C+n*B)*y+(V*u+U*s+n*q)*p))+k*(R*T+Q*S+P*o+(T*O+S*G+o*H)+((T*I+S*J+o*F)*E+(T*D+S*C+o*B)*y+(T*u+S*s+o*q)*p)))-+g[K+64>>2];n=R*V+Q*U+P*n+(V*O+U*G+n*H)+((V*I+U*J+n*F)*E+(V*D+U*C+n*B)*y+(V*u+U*s+n*q)*p)-j*m;o=R*T+Q*S+P*o+(T*O+S*G+o*H)+((T*I+S*J+o*F)*E+(T*D+S*C+o*B)*y+(T*u+S*s+o*q)*p)-k*m;p=R*v+Q*t+P*r+(v*O+t*G+r*H)+((v*I+t*J+r*F)*E+(v*D+t*C+r*B)*y+(v*u+t*s+r*q)*p)-l*m;N=c[N+12>>2]|0;q=+g[N>>2];r=+g[N+4>>2];s=+g[N+8>>2];t=+g[N+16>>2];u=+g[N+20>>2];v=+g[N+24>>2];y=+g[N+32>>2];B=+g[N+36>>2];C=+g[N+40>>2];D=+g[N+48>>2];E=+g[N+52>>2];F=+g[N+56>>2];N=c[b+12>>2]|0;i=m<+g[N+752>>2];c[h+4>>2]=N;if(i){g[L+48>>2]=q*j+r*k+s*l;g[L+48+4>>2]=j*t+k*u+l*v;g[L+48+8>>2]=j*y+k*B+l*C;g[L+48+12>>2]=0.0;g[L+32>>2]=s*p+(q*n+r*o)+D;g[L+32+4>>2]=n*t+o*u+p*v+E;g[L+32+8>>2]=n*y+o*B+p*C+F;g[L+32+12>>2]=0.0;_a[c[(c[h>>2]|0)+16>>2]&15](h,L+48|0,L+32|0,m)}if((c[f+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){j=+g[K+56>>2];if(+w(+j)>.7071067690849304){l=+g[K+52>>2];_=1.0/+x(+(j*j+l*l));k=0.0;l=l*_;j=-(j*_)}else{_=+g[K+48>>2];k=+g[K+52>>2];j=1.0/+x(+(_*_+k*k));k=-(k*j);l=0.0;j=_*j}H=.019999999552965164/+va[c[(c[f>>2]|0)+16>>2]&15](f);H=(H>.39269909262657166?.39269909262657166:H)*.5;G=+A(+H)/+x(+(k*k+j*j+l*l));J=k*G;I=j*G;G=l*G;H=+z(+H);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{t=+g[K+48>>2];_=+g[K+52>>2];D=+g[K+56>>2];B=6.2831854820251465/+(f|0)*+(i|0)*.5;Z=+A(+B)/+x(+(t*t+_*_+D*D));B=+z(+B);C=G*-(_*Z)+(J*B+H*-(t*Z))-I*-(D*Z);v=J*-(D*Z)+(I*B+H*-(_*Z))-G*-(t*Z);ca=I*-(t*Z)+(G*B+H*-(D*Z))-J*-(_*Z);F=H*B-J*-(t*Z)-I*-(_*Z)-G*-(D*Z);ha=D*Z*v+(t*Z*F+B*C)-_*Z*ca;ga=t*Z*ca+(B*v+_*Z*F)-D*Z*C;ka=_*Z*C+(D*Z*F+B*ca)-t*Z*v;ca=B*F-t*Z*C-_*Z*v-D*Z*ca;N=(a[b+16>>0]|0)!=0;aa=N?e:d;N=N?d:e;f=c[aa+4>>2]|0;$=c[N+4>>2]|0;aa=c[aa+12>>2]|0;Z=+g[aa>>2];D=+g[aa+4>>2];v=+g[aa+8>>2];_=+g[aa+16>>2];C=+g[aa+20>>2];t=+g[aa+24>>2];F=+g[aa+32>>2];B=+g[aa+36>>2];r=+g[aa+40>>2];T=+g[aa+48>>2];U=+g[aa+52>>2];V=+g[aa+56>>2];aa=c[N+12>>2]|0;P=+g[aa>>2];Q=+g[aa+16>>2];n=+g[aa+32>>2];R=+g[aa+4>>2];S=+g[aa+20>>2];o=+g[aa+36>>2];u=+g[aa+8>>2];s=+g[aa+24>>2];q=+g[aa+40>>2];W=-+g[aa+48>>2];X=-+g[aa+52>>2];Y=-+g[aa+56>>2];fa=ha*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));l=ga*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));ba=ka*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));ma=v*(ha*ba-ca*l)+(D*(ha*l+ca*ba)+Z*(1.0-(ga*l+ka*ba)));ja=v*(ga*ba+ca*fa)+(Z*(ha*l-ca*ba)+D*(1.0-(ha*fa+ka*ba)));j=Z*(ha*ba+ca*l)+D*(ga*ba-ca*fa)+v*(1.0-(ha*fa+ga*l));la=t*(ha*ba-ca*l)+(C*(ha*l+ca*ba)+_*(1.0-(ga*l+ka*ba)));ia=t*(ga*ba+ca*fa)+(_*(ha*l-ca*ba)+C*(1.0-(ha*fa+ka*ba)));y=_*(ha*ba+ca*l)+C*(ga*ba-ca*fa)+t*(1.0-(ha*fa+ga*l));na=r*(ha*ba-ca*l)+(B*(ha*l+ca*ba)+F*(1.0-(ga*l+ka*ba)));ka=r*(ga*ba+ca*fa)+(F*(ha*l-ca*ba)+B*(1.0-(ha*fa+ka*ba)));l=F*(ha*ba+ca*l)+B*(ga*ba-ca*fa)+r*(1.0-(ha*fa+ga*l));ga=+g[aa>>2];fa=+g[aa+16>>2];ha=+g[aa+32>>2];ca=+g[aa+4>>2];ba=+g[aa+20>>2];da=+g[aa+36>>2];k=+g[aa+8>>2];p=+g[aa+24>>2];m=+g[aa+40>>2];aa=c[(c[f>>2]|0)+64>>2]|0;ea=-+g[$+48>>2];O=-+g[$+52>>2];E=-+g[$+56>>2];g[L+32>>2]=(ha*na+(ga*ma+fa*la))*ea+(da*na+(ca*ma+ba*la))*O+(m*na+(k*ma+p*la))*E;g[L+32+4>>2]=(ha*ka+(ga*ja+fa*ia))*ea+(da*ka+(ca*ja+ba*ia))*O+(m*ka+(k*ja+p*ia))*E;g[L+32+8>>2]=(ha*l+(ga*j+fa*y))*ea+(da*l+(ca*j+ba*y))*O+(m*l+(k*j+p*y))*E;g[L+32+12>>2]=0.0;Za[aa&127](L+48|0,f,L+32|0);E=+g[L+48>>2];y=+g[L+48+4>>2];p=+g[L+48+8>>2];j=+g[$+48>>2];k=+g[$+52>>2];l=+g[$+56>>2];m=l*(T*u+U*s+V*q+(u*W+s*X+q*Y)+((Z*u+_*s+F*q)*E+(D*u+C*s+B*q)*y+(v*u+t*s+r*q)*p))+(j*(T*P+U*Q+V*n+(P*W+Q*X+n*Y)+((Z*P+_*Q+F*n)*E+(D*P+C*Q+B*n)*y+(v*P+t*Q+r*n)*p))+k*(T*R+U*S+V*o+(R*W+S*X+o*Y)+((Z*R+_*S+F*o)*E+(D*R+C*S+B*o)*y+(v*R+t*S+r*o)*p)))-+g[$+64>>2];n=T*P+U*Q+V*n+(P*W+Q*X+n*Y)+((Z*P+_*Q+F*n)*E+(D*P+C*Q+B*n)*y+(v*P+t*Q+r*n)*p)-j*m;o=T*R+U*S+V*o+(R*W+S*X+o*Y)+((Z*R+_*S+F*o)*E+(D*R+C*S+B*o)*y+(v*R+t*S+r*o)*p)-k*m;p=T*u+U*s+V*q+(u*W+s*X+q*Y)+((Z*u+_*s+F*q)*E+(D*u+C*s+B*q)*y+(v*u+t*s+r*q)*p)-l*m;N=c[N+12>>2]|0;q=+g[N>>2];r=+g[N+4>>2];s=+g[N+8>>2];t=+g[N+16>>2];u=+g[N+20>>2];v=+g[N+24>>2];y=+g[N+32>>2];B=+g[N+36>>2];C=+g[N+40>>2];D=+g[N+48>>2];E=+g[N+52>>2];F=+g[N+56>>2];N=c[b+12>>2]|0;$=m<+g[N+752>>2];c[h+4>>2]=N;if($){g[L+32>>2]=q*j+r*k+s*l;g[L+32+4>>2]=j*t+k*u+l*v;g[L+32+8>>2]=j*y+k*B+l*C;g[L+32+12>>2]=0.0;g[L+16>>2]=s*p+(q*n+r*o)+D;g[L+16+4>>2]=n*t+o*u+p*v+E;g[L+16+8>>2]=n*y+o*B+p*C+F;g[L+16+12>>2]=0.0;_a[c[(c[h>>2]|0)+16>>2]&15](h,L+32|0,L+16|0,m)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(M=c[h+4>>2]|0,c[M+748>>2]|0):0){f=c[M+740>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((f|0)==(i|0)){re(M,f+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(M,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);sa=L;return}function _b(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0;G=sa;sa=sa+784|0;c[G+168+8>>2]=0;c[G+168+12>>2]=1065353216;c[G+168+16>>2]=1065353216;c[G+168+20>>2]=1065353216;g[G+168+24>>2]=0.0;c[G+168>>2]=9480;c[G+168+4>>2]=8;g[G+168+28>>2]=0.0;g[G+168+44>>2]=0.0;E=c[e+4>>2]|0;F=c[e+12>>2]|0;z=c[E+4>>2]|0;if((z|0)<20){c[G+600>>2]=6448;c[G+600+168>>2]=0;g[G+600+172>>2]=0.0;c[G+600+164>>2]=c[f+4>>2];g[G+240+308>>2]=9.999999747378752e-05;a[G+240+332>>0]=0;c[G+224>>2]=7772;c[G+224+4>>2]=G+240;c[G+224+8>>2]=G+168;c[G+224+12>>2]=E;c[G+152>>2]=12048;c[G+152+4>>2]=G+240;c[G+152+8>>2]=G+168;c[G+152+12>>2]=E;E=(c[f+16>>2]&8|0)==0?G+224|0:G+152|0;if((La[c[(c[E>>2]|0)+8>>2]&3](E,b,d,F,F,G+600|0)|0?(h=G+600+132|0,i=+g[h>>2],j=+g[G+600+136>>2],k=+g[G+600+140>>2],i*i+j*j+k*k>9.999999747378752e-05):0)?(l=+g[G+600+164>>2],l<+g[f+4>>2]):0){D=1.0/+x(+(i*i+j*j+k*k));g[h>>2]=i*D;g[G+600+136>>2]=j*D;g[G+600+140>>2]=k*D;c[G+120>>2]=c[e+8>>2];c[G+120+4>>2]=0;c[G+120+8>>2]=c[h>>2];c[G+120+8+4>>2]=c[h+4>>2];c[G+120+8+8>>2]=c[h+8>>2];c[G+120+8+12>>2]=c[h+12>>2];g[G+120+24>>2]=l;+ya[c[(c[f>>2]|0)+12>>2]&15](f,G+120|0,1)}sa=G;return}if((z+-21|0)>>>0>=9){if((z|0)!=31){sa=G;return}h=c[E+64>>2]|0;e=c[e+8>>2]|0;c[G+600>>2]=8568;c[G+600+4>>2]=e;c[G+600+8>>2]=E;c[G+600+12>>2]=F;c[G+600+16>>2]=b;c[G+600+20>>2]=d;c[G+600+24>>2]=f;if(!h){b=c[E+16>>2]|0;if((b|0)>0){h=0;do{ef(G+600|0,h);h=h+1|0}while((h|0)<(b|0))}}else{C=+g[F+48>>2];n=+g[b+48>>2]-C;B=+g[F+52>>2];o=+g[b+52>>2]-B;y=+g[F+56>>2];p=+g[b+56>>2]-y;s=+g[F>>2];r=+g[F+16>>2];q=+g[F+32>>2];v=+g[F+4>>2];u=+g[F+20>>2];t=+g[F+36>>2];D=+g[F+8>>2];A=+g[F+24>>2];w=+g[F+40>>2];g[G+240>>2]=n*s+o*r+p*q;g[G+240+4>>2]=n*v+o*u+p*t;g[G+240+8>>2]=n*D+o*A+p*w;g[G+240+12>>2]=0.0;C=+g[d+48>>2]-C;B=+g[d+52>>2]-B;y=+g[d+56>>2]-y;g[G+224>>2]=q*y+(r*B+C*s);g[G+224+4>>2]=t*y+(u*B+C*v);g[G+224+8>>2]=w*y+(A*B+C*D);g[G+224+12>>2]=0.0;Pd(c[h>>2]|0,G+240|0,G+224|0,G+600|0)}sa=G;return}i=+g[F>>2];r=+g[F+16>>2];s=+g[F+32>>2];j=+g[F+4>>2];v=+g[F+20>>2];w=+g[F+36>>2];k=+g[F+8>>2];A=+g[F+24>>2];B=+g[F+40>>2];C=-+g[F+48>>2];D=-+g[F+52>>2];y=-+g[F+56>>2];o=+g[b+48>>2];p=+g[b+52>>2];l=+g[b+56>>2];g[G+152>>2]=i*C+r*D+s*y+(i*o+r*p+s*l);g[G+152+4>>2]=j*C+v*D+w*y+(j*o+v*p+w*l);g[G+152+8>>2]=k*C+A*D+B*y+(k*o+A*p+B*l);g[G+152+12>>2]=0.0;t=+g[d+48>>2];u=+g[d+52>>2];q=+g[d+56>>2];i=i*C+r*D+s*y+(i*t+r*u+s*q);j=j*C+v*D+w*y+(j*t+v*u+w*q);k=k*C+A*D+B*y+(k*t+A*u+B*q);g[G+120>>2]=i;g[G+120+4>>2]=j;g[G+120+8>>2]=k;g[G+120+12>>2]=0.0;switch(z|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[G+4>>2]=c[G+152>>2];c[G+4+4>>2]=c[G+152+4>>2];c[G+4+8>>2]=c[G+152+8>>2];c[G+4+12>>2]=c[G+152+12>>2];c[G+20>>2]=c[G+120>>2];c[G+20+4>>2]=c[G+120+4>>2];c[G+20+8>>2]=c[G+120+8>>2];c[G+20+12>>2]=c[G+120+12>>2];c[G+36>>2]=e;g[G+40>>2]=1.0;c[G>>2]=8520;c[G+44>>2]=f;c[G+48>>2]=h;c[G+52>>2]=E;c[G+56>>2]=c[F>>2];c[G+56+4>>2]=c[F+4>>2];c[G+56+8>>2]=c[F+8>>2];c[G+56+12>>2]=c[F+12>>2];c[G+72>>2]=c[F+16>>2];c[G+72+4>>2]=c[F+16+4>>2];c[G+72+8>>2]=c[F+16+8>>2];c[G+72+12>>2]=c[F+16+12>>2];c[G+88>>2]=c[F+32>>2];c[G+88+4>>2]=c[F+32+4>>2];c[G+88+8>>2]=c[F+32+8>>2];c[G+88+12>>2]=c[F+32+12>>2];c[G+104>>2]=c[F+48>>2];c[G+104+4>>2]=c[F+48+4>>2];c[G+104+8>>2]=c[F+48+8>>2];c[G+104+12>>2]=c[F+48+12>>2];c[G+40>>2]=c[f+4>>2];h=c[E+48>>2]|0;c[G+224>>2]=9692;c[G+224+4>>2]=h;c[G+224+8>>2]=G;h=c[E+52>>2]|0;c[G+600>>2]=0;c[G+600+4>>2]=0;c[G+600+8>>2]=0;c[G+600+12>>2]=0;c[G+240>>2]=0;c[G+240+4>>2]=0;c[G+240+8>>2]=0;c[G+240+12>>2]=0;if(!(a[h+60>>0]|0))Xd(h,G+224|0,G+152|0,i,j,k,G+600|0,G+240|0);else Dd(h,G+224|0,G+152|0,i,j,k,G+600|0,G+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;z=c[f+16>>2]|0;c[G+600+4>>2]=c[G+152>>2];c[G+600+4+4>>2]=c[G+152+4>>2];c[G+600+4+8>>2]=c[G+152+8>>2];c[G+600+4+12>>2]=c[G+152+12>>2];c[G+600+20>>2]=c[G+120>>2];c[G+600+20+4>>2]=c[G+120+4>>2];c[G+600+20+8>>2]=c[G+120+8>>2];c[G+600+20+12>>2]=c[G+120+12>>2];c[G+600+36>>2]=z;g[G+600+40>>2]=1.0;c[G+600>>2]=8520;c[G+600+44>>2]=f;c[G+600+48>>2]=e;c[G+600+52>>2]=E;c[G+600+56>>2]=c[F>>2];c[G+600+56+4>>2]=c[F+4>>2];c[G+600+56+8>>2]=c[F+8>>2];c[G+600+56+12>>2]=c[F+12>>2];c[G+600+72>>2]=c[F+16>>2];c[G+600+72+4>>2]=c[F+16+4>>2];c[G+600+72+8>>2]=c[F+16+8>>2];c[G+600+72+12>>2]=c[F+16+12>>2];c[G+600+88>>2]=c[F+32>>2];c[G+600+88+4>>2]=c[F+32+4>>2];c[G+600+88+8>>2]=c[F+32+8>>2];c[G+600+88+12>>2]=c[F+32+12>>2];c[G+600+104>>2]=c[F+48>>2];c[G+600+104+4>>2]=c[F+48+4>>2];c[G+600+104+8>>2]=c[F+48+8>>2];c[G+600+104+12>>2]=c[F+48+12>>2];c[G+600+40>>2]=c[f+4>>2];ab[c[(c[E>>2]|0)+144>>2]&127](E,G+600|0,G+152|0,G+120|0);break}default:{k=+g[F>>2];j=+g[F+4>>2];i=+g[F+8>>2];m=s*l+(r*p+o*k)+(s*y+(r*D+k*C));n=w*l+(v*p+o*j)+(w*y+(v*D+j*C));l=B*l+(A*p+o*i)+(B*y+(A*D+i*C));k=s*q+(r*u+t*k)+(s*y+(r*D+k*C));j=w*q+(v*u+t*j)+(w*y+(v*D+j*C));i=B*q+(A*u+t*i)+(B*y+(A*D+i*C));e=c[e+8>>2]|0;z=c[f+16>>2]|0;g[G+600+4>>2]=m;g[G+600+8>>2]=n;g[G+600+12>>2]=l;g[G+600+16>>2]=0.0;g[G+600+20>>2]=k;g[G+600+24>>2]=j;g[G+600+28>>2]=i;g[G+600+32>>2]=0.0;c[G+600+36>>2]=z;g[G+600+40>>2]=1.0;c[G+600>>2]=8544;c[G+600+44>>2]=f;c[G+600+48>>2]=e;c[G+600+52>>2]=E;c[G+600+56>>2]=c[F>>2];c[G+600+56+4>>2]=c[F+4>>2];c[G+600+56+8>>2]=c[F+8>>2];c[G+600+56+12>>2]=c[F+12>>2];c[G+600+72>>2]=c[F+16>>2];c[G+600+72+4>>2]=c[F+16+4>>2];c[G+600+72+8>>2]=c[F+16+8>>2];c[G+600+72+12>>2]=c[F+16+12>>2];c[G+600+88>>2]=c[F+32>>2];c[G+600+88+4>>2]=c[F+32+4>>2];c[G+600+88+8>>2]=c[F+32+8>>2];c[G+600+88+12>>2]=c[F+32+12>>2];c[G+600+104>>2]=c[F+48>>2];c[G+600+104+4>>2]=c[F+48+4>>2];c[G+600+104+8>>2]=c[F+48+8>>2];c[G+600+104+12>>2]=c[F+48+12>>2];c[G+600+40>>2]=c[f+4>>2];g[G+240>>2]=m;g[G+240+4>>2]=n;g[G+240+8>>2]=l;g[G+240+12>>2]=0.0;if(k>2]=k;if(j>2]=j;if(i>2]=i;g[G+224>>2]=m;g[G+224+4>>2]=n;g[G+224+8>>2]=l;g[G+224+12>>2]=0.0;if(m>2]=k;if(n>2]=j;if(l>2]=i;ab[c[(c[E>>2]|0)+64>>2]&127](E,G+600|0,G+240|0,G+224|0)}}sa=G;return}function $b(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=sa;sa=sa+560|0;c[z+536>>2]=0;y=z+540+12|0;Lv(e)|0;j=Q()|0;if((j|0)<0){Lv(-e)|0;e=-e;x=1;v=23755;j=Q()|0}else{x=(h&2049|0)!=0&1;v=(h&2048|0)==0?((h&1|0)==0?23756:23761):23758}do if(0==0&(j&2146435072|0)==2146435072){j=x+3|0;vm(b,32,f,j,h&-65537);fz(b,v,x);fz(b,e!=e|0.0!=0.0?(i&32|0?23782:23786):i&32|0?23774:23778,3);vm(b,32,f,j,h^8192)}else{n=+FH(e,z+536|0)*2.0;if(n!=0.0)c[z+536>>2]=(c[z+536>>2]|0)+-1;if((i|32|0)==97){p=(i&32|0)==0?v:v+9|0;o=x|2;do if(!(g>>>0>11|(12-g|0)==0)){e=8.0;j=12-g|0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[p>>0]|0)==45){e=-(e+(-n-e));break}else{e=n+e-e;break}}else e=n;while(0);k=c[z+536>>2]|0;j=(k|0)<0?0-k|0:k;j=kl(j,((j|0)<0)<<31>>31,y)|0;if((j|0)==(y|0)){a[z+540+11>>0]=48;j=z+540+11|0}a[j+-1>>0]=((31?k>>31:k)&2)+43;m=j+-2|0;a[m>>0]=i+15;j=z;do{x=~~e;k=j+1|0;a[j>>0]=i&32|d[480+x>>0];e=(e-+(x|0))*16.0;if((k-z|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);l=j;if((g|0)!=0?(-2-z+l|0)<(g|0):0){g=g+2+y-m|0;j=y;k=m}else{g=y-z-m+l|0;j=y;k=m}y=g+o|0;vm(b,32,f,y,h);fz(b,p,o);vm(b,48,f,y,h^65536);fz(b,z,l-z|0);j=j-k|0;vm(b,48,g-(l-z+j)|0,0,0);fz(b,m,j);vm(b,32,f,y,h^8192);j=y;break}k=(g|0)<0?6:g;if(n!=0.0){j=(c[z+536>>2]|0)+-28|0;c[z+536>>2]=j;e=n*268435456.0}else{e=n;j=c[z+536>>2]|0}w=(j|0)<0?z+32|0:z+32+288|0;g=w;do{t=~~e>>>0;c[g>>2]=t;g=g+4|0;e=(e-+(t>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){o=w;while(1){m=(j|0)<29?j:29;j=g+-4|0;if(j>>>0>=o>>>0){l=0;do{r=it(c[j>>2]|0,0,m|0)|0;r=xv(r|0,Q()|0,l|0,0)|0;s=Q()|0;l=VA(r|0,s|0,1e9,0)|0;t=Vr(l|0,Q()|0,-1e9,-1)|0;t=xv(r|0,s|0,t|0,Q()|0)|0;Q()|0;c[j>>2]=t;j=j+-4|0}while(j>>>0>=o>>>0);if(l){t=o+-4|0;c[t>>2]=l;l=t}else l=o}else l=o;a:do if(g>>>0>l>>>0){j=g;while(1){g=j+-4|0;if(c[g>>2]|0){g=j;break a}if(g>>>0>l>>>0)j=g;else break}}while(0);j=(c[z+536>>2]|0)-m|0;c[z+536>>2]=j;if((j|0)>0)o=l;else break}}else l=w;if((j|0)<0){do{p=0-j|0;p=(p|0)<9?p:9;if(l>>>0>>0){m=p?1e9>>>p:1e9;o=0;j=l;do{t=c[j>>2]|0;c[j>>2]=(p?t>>>p:t)+o;o=J(t&(1<>>0>>0);j=(c[l>>2]|0)==0?l+4|0:l;if(!o)l=j;else{c[g>>2]=o;g=g+4|0;l=j}}else l=(c[l>>2]|0)==0?l+4|0:l;j=(i|32|0)==102?w:l;t=g-j|0;g=((2?t>>2:t)|0)>(((k+25|0)/9|0)+1|0)?j+(((k+25|0)/9|0)+1<<2)|0:g;j=(c[z+536>>2]|0)+p|0;c[z+536>>2]=j}while((j|0)<0);j=l}else j=l;if(j>>>0>>0){l=w-j|0;l=(2?l>>2:l)*9|0;o=c[j>>2]|0;if(o>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(o>>>0>=m>>>0)}}else l=0;m=k-((i|32|0)==102?0:l)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;t=g-w|0;if((m|0)<(((2?t>>2:t)*9|0)+-9|0)){p=w+4+(((m+9216|0)/9|0)+-1024<<2)|0;m=m+9216+(J((m+9216|0)/9|0,-9)|0)|0;if((m|0)<8){o=10;while(1){o=o*10|0;if((m|0)<7)m=m+1|0;else break}}else o=10;q=c[p>>2]|0;m=(q>>>0)/(o>>>0)|0;s=J(m,o)|0;r=(p+4|0)==(g|0);if(!(r&(q-s|0)==0)){e=(m&1|0)==0?9007199254740992.0:9007199254740994.0;t=1?o>>>1:o;n=(q-s|0)>>>0>>0?.5:r&(q-s|0)==(t|0)?1.0:1.5;if(x){t=(a[v>>0]|0)==45;n=t?-n:n;e=t?-e:e}c[p>>2]=s;if(e+n!=e){t=s+o|0;c[p>>2]=t;if(t>>>0>999999999){m=p;while(1){l=m+-4|0;c[m>>2]=0;if(l>>>0>>0){j=j+-4|0;c[j>>2]=0}t=(c[l>>2]|0)+1|0;c[l>>2]=t;if(t>>>0>999999999)m=l;else{p=l;break}}}l=w-j|0;l=(2?l>>2:l)*9|0;o=c[j>>2]|0;if(o>>>0<10)m=p;else{m=10;do{m=m*10|0;l=l+1|0}while(o>>>0>=m>>>0);m=p}}else m=p}else m=p;s=m+4|0;g=g>>>0>s>>>0?s:g;s=j}else s=j;p=0-l|0;b:do if(g>>>0>s>>>0)while(1){j=g+-4|0;if(c[j>>2]|0){t=g;r=1;break b}if(j>>>0>s>>>0)g=j;else{t=j;r=0;break}}else{t=g;r=0}while(0);do if((i|32|0)==103){if((l|0)>-5?(k+(((k|0)!=0^1)&1)|0)>(l|0):0){m=i+-1|0;k=k+(((k|0)!=0^1)&1)+-1-l|0}else{m=i+-2|0;k=k+(((k|0)!=0^1)&1)+-1|0}if(!(h&8)){if(r?(u=c[t+-4>>2]|0,(u|0)!=0):0)if(!((u>>>0)%10|0)){j=0;g=10;do{g=g*10|0;j=j+1|0}while(!((u>>>0)%(g>>>0)|0|0))}else j=0;else j=9;g=t-w|0;g=((2?g>>2:g)*9|0)+-9|0;if((m|32|0)==102){i=g-j|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=g+l-j|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else m=i;while(0);q=(k|0)!=0;g=q?1:(3?h>>>3:h)&1;o=(m|32|0)==102;if(o){p=0;j=(l|0)>0?l:0}else{j=(l|0)<0?p:l;j=kl(j,((j|0)<0)<<31>>31,y)|0;if((y-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((y-j|0)<2);a[j+-1>>0]=((31?l>>31:l)&2)+43;j=j+-2|0;a[j>>0]=m;p=j;j=y-j|0}j=x+1+k+g+j|0;vm(b,32,f,j,h);fz(b,v,x);vm(b,48,f,j,h^65536);if(o){m=s>>>0>w>>>0?w:s;l=m;do{g=kl(c[l>>2]|0,0,z+9|0)|0;if((l|0)==(m|0)){if((g|0)==(z+9|0)){a[z+8>>0]=48;g=z+8|0}}else if(g>>>0>z>>>0){mk(z|0,48,g-z|0)|0;do g=g+-1|0;while(g>>>0>z>>>0)}fz(b,g,z+9-g|0);l=l+4|0}while(l>>>0<=w>>>0);if(!((h&8|0)==0&(q^1)))fz(b,23790,1);if(l>>>0>>0&(k|0)>0)while(1){g=kl(c[l>>2]|0,0,z+9|0)|0;if(g>>>0>z>>>0){mk(z|0,48,g-z|0)|0;do g=g+-1|0;while(g>>>0>z>>>0)}fz(b,g,(k|0)<9?k:9);l=l+4|0;g=k+-9|0;if(!(l>>>0>>0&(k|0)>9)){k=g;break}else k=g}vm(b,48,k+9|0,9,0)}else{o=r?t:s+4|0;if(s>>>0>>0&(k|0)>-1){m=s;do{g=kl(c[m>>2]|0,0,z+9|0)|0;if((g|0)==(z+9|0)){a[z+8>>0]=48;g=z+8|0}do if((m|0)==(s|0)){l=g+1|0;fz(b,g,1);if((h&8|0)==0&(k|0)<1){g=l;break}fz(b,23790,1);g=l}else{if(g>>>0<=z>>>0)break;mk(z|0,48,g+(0-z)|0)|0;do g=g+-1|0;while(g>>>0>z>>>0)}while(0);x=z+9-g|0;fz(b,g,(k|0)>(x|0)?x:k);k=k-x|0;m=m+4|0}while(m>>>0>>0&(k|0)>-1)}vm(b,48,k+18|0,18,0);fz(b,p,y-p|0)}vm(b,32,f,j,h^8192)}while(0);sa=z;return ((j|0)<(f|0)?f:j)|0}function ac(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;h=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((h|0)>0){i=c[b+136>>2]|0;f=0;p=c[b+192>>2]|0;do{m=i+(f<<2)|0;o=c[m>>2]|0;f=f+1|0;p=(J(p,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?p>>>16:p)^p;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=p;u=i+(((e>>>0)%(f>>>0)|0)<<2)|0;c[m>>2]=c[u>>2];c[u>>2]=o}while((f|0)!=(h|0));c[b+192>>2]=p}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){h=c[b+116>>2]|0;f=0;o=c[b+192>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;o=(J(o,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?o>>>16:o)^o;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=o;u=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[u>>2];c[u>>2]=m}while((f|0)!=(q|0));c[b+192>>2]=o}if((r|0)>0){h=c[b+156>>2]|0;f=0;o=c[b+192>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;o=(J(o,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?o>>>16:o)^o;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=o;u=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[u>>2];c[u>>2]=m}while((f|0)!=(r|0));c[b+192>>2]=o}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;Tf(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){e=0;do{f=j+(e<<2)|0;h=c[f>>2]|0;if(a[h+20>>0]|0){s=Xc(b,c[h+28>>2]|0,+g[l+12>>2])|0;u=Xc(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;t=c[b+16>>2]|0;d=c[f>>2]|0;_a[c[(c[d>>2]|0)+24>>2]&15](d,t+(s*244|0)|0,t+(u*244|0)|0,+g[l+12>>2])}e=e+1|0}while((e|0)!=(k|0))}f=c[b+28>>2]|0;if((f|0)>0){e=0;do{u=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;Zf(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);e=e+1|0}while((e|0)!=(f|0))}f=c[b+68>>2]|0;if((f|0)>0){e=0;do{h=c[(c[b+156>>2]|0)+(e<<2)>>2]|0;i=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[i+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-n;g[i+(h*152|0)+124>>2]=n;u=c[b+16>>2]|0;Tf(u+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}f=c[b+88>>2]|0;if((f|0)<=0)return 0.0;e=0;do{h=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(e*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+g[h+(e*152|0)+104>>2];n=n*v>v?v:n*v;g[h+(e*152|0)+120>>2]=-n;g[h+(e*152|0)+124>>2]=n;u=c[b+16>>2]|0;Tf(u+((c[h+(e*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(e*152|0)+148>>2]|0)*244|0)|0,h+(e*152|0)|0)}e=e+1|0}while((e|0)!=(f|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;Tf(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){e=0;do{f=j+(e<<2)|0;h=c[f>>2]|0;if(a[h+20>>0]|0){r=Xc(b,c[h+28>>2]|0,+g[l+12>>2])|0;u=Xc(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;d=c[b+16>>2]|0;q=c[f>>2]|0;_a[c[(c[q>>2]|0)+24>>2]&15](q,d+(r*244|0)|0,d+(u*244|0)|0,+g[l+12>>2])}e=e+1|0}while((e|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){f=((4?e>>>4:e)&1)+1|0;if((o|0)<=0)return 0.0;e=0;do{h=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;i=c[b+36>>2]|0;m=c[b+16>>2]|0;Zf(m+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,m+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0);n=+g[i+(h*152|0)+100>>2];h=J(e,f)|0;i=c[(c[b+156>>2]|0)+(h<<2)>>2]|0;m=c[b+76>>2]|0;if(n>0.0){v=n*+g[m+(i*152|0)+104>>2];g[m+(i*152|0)+120>>2]=-v;g[m+(i*152|0)+124>>2]=v;u=c[b+16>>2]|0;Tf(u+((c[m+(i*152|0)+144>>2]|0)*244|0)|0,u+((c[m+(i*152|0)+148>>2]|0)*244|0)|0,m+(i*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(h+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){v=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-v;g[t+(s*152|0)+124>>2]=v;u=c[b+16>>2]|0;Tf(u+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,u+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}e=e+1|0}while((e|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{u=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;Zf(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}f=c[b+68>>2]|0;if((f|0)>0){e=0;do{h=c[(c[b+156>>2]|0)+(e<<2)>>2]|0;i=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[i+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-v;g[i+(h*152|0)+124>>2]=v;u=c[b+16>>2]|0;Tf(u+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}f=c[b+88>>2]|0;if((f|0)<=0)return 0.0;e=0;do{h=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(e*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+g[h+(e*152|0)+104>>2];v=n*v>v?v:n*v;g[h+(e*152|0)+120>>2]=-v;g[h+(e*152|0)+124>>2]=v;u=c[b+16>>2]|0;Tf(u+((c[h+(e*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(e*152|0)+148>>2]|0)*244|0)|0,h+(e*152|0)|0)}e=e+1|0}while((e|0)!=(f|0));return 0.0}function bc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=sa;sa=sa+64|0;c[w+56>>2]=e;v=w+40|0;j=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[7184]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[w+56>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){u=93;break a}k=r;b:while(1){switch(j<<24>>24){case 37:{u=10;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[w+56>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==10){u=0;j=k;do{if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[w+56>>2]=k}while((a[k>>0]|0)==37)}while(0);j=j-r|0;if(d|0)fz(d,r,j)}while((j|0)!=0);k=c[w+56>>2]|0;j=a[k+1>>0]|0;if(!(RH(j)|0)){q=-1;j=1}else{t=(a[k+2>>0]|0)==36;q=t?j+-48|0:-1;n=t?1:n;j=t?3:1}l=k+j|0;c[w+56>>2]=l;j=a[l>>0]|0;if(((j<<24>>24)+-32|0)>>>0>31|(1<<(j<<24>>24)+-32&75913|0)==0)k=0;else{k=0;m=(j<<24>>24)+-32|0;j=l;while(1){k=1<>2]=l;j=a[l>>0]|0;m=(j<<24>>24)+-32|0;if(m>>>0>31|(1<>24==42){m=l+1|0;j=a[m>>0]|0;if((RH(j)|0)!=0?(a[l+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;j=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;n=1;m=l+3|0}else{if(n|0){e=-1;break}if(d|0){n=(c[f>>2]|0)+(4-1)&~(4-1);j=c[n>>2]|0;c[f>>2]=n+4;n=0}else{j=0;n=0}}c[w+56>>2]=m;s=(j|0)<0;t=s?0-j|0:j;k=s?k|8192:k}else{j=yo(w+56|0)|0;if((j|0)<0){e=-1;break}t=j;m=c[w+56>>2]|0}do if((a[m>>0]|0)==46){j=m+1|0;if((a[j>>0]|0)!=42){c[w+56>>2]=j;o=yo(w+56|0)|0;j=c[w+56>>2]|0;break}l=m+2|0;j=a[l>>0]|0;if(RH(j)|0?(a[m+3>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;o=c[g+((a[l>>0]|0)+-48<<3)>>2]|0;j=m+4|0;c[w+56>>2]=j;break}if(n|0){e=-1;break a}if(d|0){s=(c[f>>2]|0)+(4-1)&~(4-1);j=c[s>>2]|0;c[f>>2]=s+4}else j=0;c[w+56>>2]=l;o=j;j=l}else{o=-1;j=m}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}l=j+1|0;c[w+56>>2]=l;m=a[(a[j>>0]|0)+-65+(16+(p*58|0))>>0]|0;if(((m&255)+-1|0)>>>0<8){p=m&255;j=l}else break}if(!(m<<24>>24)){e=-1;break}l=(q|0)>-1;do if(m<<24>>24==19)if(l){e=-1;break a}else u=52;else{if(l){c[i+(q<<2)>>2]=m&255;s=g+(q<<3)|0;u=c[s+4>>2]|0;c[w+40>>2]=c[s>>2];c[w+40+4>>2]=u;u=52;break}if(!d){e=0;break a}eg(w+40|0,m&255,f);u=53}while(0);if((u|0)==52){u=0;if(d|0)u=53;else j=0}d:do if((u|0)==53){u=0;j=a[j>>0]|0;j=(p|0)!=0&(j&15|0)==3?j&-33:j;l=k&-65537;s=(k&8192|0)==0?k:l;e:do switch(j|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[w+40>>2]>>2]=e;j=0;break d}case 1:{c[c[w+40>>2]>>2]=e;j=0;break d}case 2:{j=c[w+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[w+40>>2]>>1]=e;j=0;break d}case 4:{a[c[w+40>>2]>>0]=e;j=0;break d}case 6:{c[c[w+40>>2]>>2]=e;j=0;break d}case 7:{j=c[w+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=120;k=o>>>0>8?o:8;l=s|8;u=65;break}case 88:case 120:{k=o;l=s;u=65;break}case 111:{j=c[w+40>>2]|0;k=c[w+40+4>>2]|0;l=tq(j,k,w+40|0)|0;p=l;q=0;m=23738;o=(s&8|0)==0|(o|0)>(v-l|0)?o:v-l+1|0;l=s;u=71;break}case 105:case 100:{j=c[w+40>>2]|0;k=c[w+40+4>>2]|0;if((k|0)<0){j=lv(0,0,j|0,k|0)|0;k=Q()|0;c[w+40>>2]=j;c[w+40+4>>2]=k;l=1;m=23738;u=70;break e}else{l=(s&2049|0)!=0&1;m=(s&2048|0)==0?((s&1|0)==0?23738:23740):23739;u=70;break e}}case 117:{l=0;m=23738;j=c[w+40>>2]|0;k=c[w+40+4>>2]|0;u=70;break}case 99:{a[w+39>>0]=c[w+40>>2];r=w+39|0;q=0;m=23738;p=1;k=l;j=v;break}case 109:{j=QH(c[7184]|0)|0;u=75;break}case 115:{j=c[w+40>>2]|0;j=(j|0)==0?23748:j;u=75;break}case 67:{c[w+48>>2]=c[w+40>>2];c[w+48+4>>2]=0;c[w+40>>2]=w+48;o=-1;l=w+48|0;u=80;break}case 83:if(!o){vm(d,32,t,0,s);j=0;u=90;break e}else{l=c[w+40>>2]|0;u=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=$b(d,+h[w+40>>3],t,o,s,j)|0;break d}default:{q=0;m=23738;p=o;k=s;j=v}}while(0);f:do if((u|0)==65){r=c[w+40>>2]|0;s=c[w+40+4>>2]|0;p=tp(r,s,w+40|0,j&32)|0;m=(l&8|0)==0|(r|0)==0&(s|0)==0;q=m?0:2;m=m?23738:23738+(4?j>>>4:j)|0;o=k;j=r;k=s;u=71}else if((u|0)==70){p=kl(j,k,w+40|0)|0;q=l;l=s;u=71}else if((u|0)==75){u=0;s=yi(j,o)|0;r=j;q=0;m=23738;p=(s|0)==0?o:s-j|0;k=l;j=(s|0)==0?j+o|0:s}else if((u|0)==80){u=0;m=l;j=0;while(1){k=c[m>>2]|0;if(!k)break;k=nA(w+60|0,k)|0;if((k|0)<0|k>>>0>(o-j|0)>>>0){u=84;break}j=k+j|0;if(o>>>0>j>>>0)m=m+4|0;else break}if((u|0)==84){u=0;if((k|0)<0){e=-1;break a}}vm(d,32,t,j,s);if(!j){j=0;u=90}else{m=0;while(1){k=c[l>>2]|0;if(!k){u=90;break f}k=nA(w+60|0,k)|0;m=k+m|0;if((m|0)>(j|0)){u=90;break f}fz(d,w+60|0,k);if(m>>>0>=j>>>0){u=90;break}else l=l+4|0}}}while(0);if((u|0)==71){u=0;k=(j|0)!=0|(k|0)!=0;j=(o|0)!=0|k;k=v-p+((k^1)&1)|0;r=j?p:w+40|0;p=j?((o|0)>(k|0)?o:k):0;k=(o|0)>-1?l&-65537:l;j=v}else if((u|0)==90){u=0;vm(d,32,t,j,s^8192);j=(t|0)>(j|0)?t:j;break}o=j-r|0;p=(p|0)<(o|0)?o:p;s=p+q|0;j=(t|0)<(s|0)?s:t;vm(d,32,j,s,k);fz(d,m,q);vm(d,48,j,s,k^65536);vm(d,48,p,o,0);fz(d,r,o);vm(d,32,j,s,k^8192)}while(0)}g:do if((u|0)==93)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;eg(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}k=0;while(1){j=e+1|0;if(k|0){e=-1;break g}if(j>>>0>=10){e=1;break g}e=j;k=c[i+(j<<2)>>2]|0}}while(0);sa=w;return e|0}function cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0;o=sa;sa=sa+80|0;i=c[b+28>>2]|0;d=c[f+64>>2]|0;if((d&4|0)!=0&(i|0)>0){e=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;do{k=c[e+(d*152|0)+132>>2]|0;c[k+120>>2]=c[e+(d*152|0)+100>>2];c[k+124>>2]=c[h+((c[e+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}else{d=0;do{k=c[e+(d*152|0)+132>>2]|0;c[k+120>>2]=c[e+(d*152|0)+100>>2];j=c[e+(d*152|0)+140>>2]|0;c[k+124>>2]=c[h+(j*152|0)+100>>2];c[k+128>>2]=c[h+((j+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}}h=c[b+48>>2]|0;if((h|0)>0){d=0;do{i=c[b+56>>2]|0;j=c[i+(d*152|0)+132>>2]|0;k=c[j+44>>2]|0;e=i+(d*152|0)+100|0;if(k|0){n=+g[e>>2];r=c[j+28>>2]|0;m=1.0/+g[f+12>>2];l=n*+g[i+(d*152|0)+20>>2]*+g[r+352>>2]*m;p=n*+g[i+(d*152|0)+24>>2]*+g[r+356>>2]*m;g[k>>2]=+g[k>>2]+ +g[i+(d*152|0)+16>>2]*n*+g[r+348>>2]*m;g[k+4>>2]=l+ +g[k+4>>2];g[k+8>>2]=p+ +g[k+8>>2];p=+g[e>>2];q=c[j+32>>2]|0;l=1.0/+g[f+12>>2];m=p*+g[i+(d*152|0)+52>>2]*+g[q+352>>2]*l;n=p*+g[i+(d*152|0)+56>>2]*+g[q+356>>2]*l;g[k+32>>2]=+g[k+32>>2]+ +g[i+(d*152|0)+48>>2]*p*+g[q+348>>2]*l;g[k+36>>2]=m+ +g[k+36>>2];g[k+40>>2]=n+ +g[k+40>>2];n=+g[e>>2];m=1.0/+g[f+12>>2];l=+g[i+(d*152|0)+4>>2]*+g[r+548>>2]*n*m;p=n*+g[i+(d*152|0)+8>>2]*+g[r+552>>2]*m;g[k+16>>2]=+g[k+16>>2]+ +g[i+(d*152|0)>>2]*+g[r+544>>2]*n*m;g[k+20>>2]=l+ +g[k+20>>2];g[k+24>>2]=p+ +g[k+24>>2];p=+g[e>>2];l=1.0/+g[f+12>>2];m=+g[i+(d*152|0)+36>>2]*+g[q+548>>2]*p*l;n=p*+g[i+(d*152|0)+40>>2]*+g[q+552>>2]*l;g[k+48>>2]=+g[k+48>>2]+ +g[i+(d*152|0)+32>>2]*+g[q+544>>2]*p*l;g[k+52>>2]=m+ +g[k+52>>2];g[k+56>>2]=n+ +g[k+56>>2]}p=+g[e>>2];g[j+36>>2]=p;p=+w(+p);if(p>=+g[j+16>>2])a[j+20>>0]=0;d=d+1|0}while((d|0)!=(h|0))}d=c[b+8>>2]|0;if((d|0)>0){j=0;e=c[b+16>>2]|0;do{h=e+(j*244|0)|0;i=c[e+(j*244|0)+240>>2]|0;if(i){if(!(c[f+44>>2]|0)){h=e+(j*244|0)+176|0;m=+g[e+(j*244|0)+64>>2]+ +g[h>>2];g[h>>2]=m;h=e+(j*244|0)+180|0;n=+g[e+(j*244|0)+68>>2]+ +g[h>>2];g[h>>2]=n;h=e+(j*244|0)+184|0;l=+g[e+(j*244|0)+72>>2]+ +g[h>>2];g[h>>2]=l;h=e+(j*244|0)+192|0;g[h>>2]=+g[e+(j*244|0)+80>>2]+ +g[h>>2];h=e+(j*244|0)+196|0;g[h>>2]=+g[e+(j*244|0)+84>>2]+ +g[h>>2];h=e+(j*244|0)+200|0;g[h>>2]=+g[e+(j*244|0)+88>>2]+ +g[h>>2];h=e;d=i}else{l=+g[f+12>>2];m=+g[f+52>>2];d=e+(j*244|0)+176|0;g[d>>2]=+g[e+(j*244|0)+64>>2]+ +g[d>>2];d=e+(j*244|0)+180|0;g[d>>2]=+g[e+(j*244|0)+68>>2]+ +g[d>>2];d=e+(j*244|0)+184|0;g[d>>2]=+g[e+(j*244|0)+72>>2]+ +g[d>>2];d=e+(j*244|0)+192|0;g[d>>2]=+g[e+(j*244|0)+80>>2]+ +g[d>>2];d=e+(j*244|0)+196|0;g[d>>2]=+g[e+(j*244|0)+84>>2]+ +g[d>>2];d=e+(j*244|0)+200|0;g[d>>2]=+g[e+(j*244|0)+88>>2]+ +g[d>>2];n=+g[e+(j*244|0)+144>>2];d=e+(j*244|0)+148|0;if(((((!(n!=0.0)?!(+g[d>>2]!=0.0):0)?!(+g[e+(j*244|0)+152>>2]!=0.0):0)?!(+g[e+(j*244|0)+160>>2]!=0.0):0)?!(+g[e+(j*244|0)+164>>2]!=0.0):0)?!(+g[e+(j*244|0)+168>>2]!=0.0):0)d=i;else{s=+g[e+(j*244|0)+164>>2]*m;p=+g[e+(j*244|0)+168>>2]*m;g[o>>2]=+g[e+(j*244|0)+160>>2]*m;g[o+4>>2]=s;g[o+8>>2]=p;g[o+12>>2]=0.0;jg(h,n,+g[d>>2],+g[e+(j*244|0)+152>>2],o,l,o+16|0);c[h>>2]=c[o+16>>2];c[h+4>>2]=c[o+16+4>>2];c[h+8>>2]=c[o+16+8>>2];c[h+12>>2]=c[o+16+12>>2];d=e+(j*244|0)+16|0;c[d>>2]=c[o+16+16>>2];c[d+4>>2]=c[o+16+16+4>>2];c[d+8>>2]=c[o+16+16+8>>2];c[d+12>>2]=c[o+16+16+12>>2];d=e+(j*244|0)+32|0;c[d>>2]=c[o+16+32>>2];c[d+4>>2]=c[o+16+32+4>>2];c[d+8>>2]=c[o+16+32+8>>2];c[d+12>>2]=c[o+16+32+12>>2];d=e+(j*244|0)+48|0;c[d>>2]=c[o+16+48>>2];c[d+4>>2]=c[o+16+48+4>>2];c[d+8>>2]=c[o+16+48+8>>2];c[d+12>>2]=c[o+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(j*244|0)+240>>2]|0}h=e;m=+g[e+(j*244|0)+176>>2];n=+g[e+(j*244|0)+180>>2];l=+g[e+(j*244|0)+184>>2]}s=m+ +g[h+(j*244|0)+208>>2];p=n+ +g[h+(j*244|0)+212>>2];n=l+ +g[h+(j*244|0)+216>>2];q=d+260|0;c[q>>2]=(c[q>>2]|0)+1;g[d+312>>2]=s;g[d+316>>2]=p;g[d+320>>2]=n;g[d+324>>2]=0.0;q=c[b+16>>2]|0;r=c[q+(j*244|0)+240>>2]|0;n=+g[q+(j*244|0)+192>>2]+ +g[q+(j*244|0)+224>>2];p=+g[q+(j*244|0)+196>>2]+ +g[q+(j*244|0)+228>>2];s=+g[q+(j*244|0)+200>>2]+ +g[q+(j*244|0)+232>>2];c[r+260>>2]=(c[r+260>>2]|0)+1;g[r+328>>2]=n;g[r+332>>2]=p;g[r+336>>2]=s;g[r+340>>2]=0.0;if(c[f+44>>2]|0){q=c[b+16>>2]|0;r=c[q+(j*244|0)+240>>2]|0;k=q+(j*244|0)|0;c[r+260>>2]=(c[r+260>>2]|0)+1;c[r+4>>2]=c[k>>2];c[r+4+4>>2]=c[k+4>>2];c[r+4+8>>2]=c[k+8>>2];c[r+4+12>>2]=c[k+12>>2];k=q+(j*244|0)+16|0;c[r+20>>2]=c[k>>2];c[r+20+4>>2]=c[k+4>>2];c[r+20+8>>2]=c[k+8>>2];c[r+20+12>>2]=c[k+12>>2];k=q+(j*244|0)+32|0;c[r+36>>2]=c[k>>2];c[r+36+4>>2]=c[k+4>>2];c[r+36+8>>2]=c[k+8>>2];c[r+36+12>>2]=c[k+12>>2];q=q+(j*244|0)+48|0;c[r+52>>2]=c[q>>2];c[r+52+4>>2]=c[q+4>>2];c[r+52+8>>2]=c[q+8>>2];c[r+52+12>>2]=c[q+12>>2]}e=c[b+16>>2]|0;c[(c[e+(j*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}j=j+1|0}while((j|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;sa=o;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;sa=o;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;sa=o;return 0.0}function dc(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;j=c[a+372>>2]|0;a:do switch(c[j+32>>2]|0){case 1:{g[j+20>>2]=0.0;k=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=k;k=c[a+348+(k<<2)>>2]|0;c[j+4>>2]=k;c[j+32>>2]=2;Wg(a,1.0,0.0,0.0,k);if(dc(a)|0){k=1;return k|0}j=c[a+372>>2]|0;k=(c[j+32>>2]|0)+-1|0;c[j+32>>2]=k;k=c[j+(k<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=k;j=c[a+372>>2]|0;l=c[j+32>>2]|0;g[j+16+(l<<2)>>2]=0.0;c[j+(l<<2)>>2]=k;c[j+32>>2]=l+1;Wg(a,-1.0,-0.0,-0.0,k);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,0.0,1.0,0.0,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-0.0,-1.0,-0.0,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,0.0,0.0,1.0,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-0.0,-0.0,-1.0,l);if(dc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}case 2:{k=c[j+4>>2]|0;l=c[j>>2]|0;d=+g[k+16>>2]-+g[l+16>>2];e=+g[k+20>>2]-+g[l+20>>2];f=+g[k+24>>2]-+g[l+24>>2];b=e*0.0-f*0.0;do if((d*0.0-e)*(d*0.0-e)+(b*b+(f-d*0.0)*(f-d*0.0))>0.0){g[j+24>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+8>>2]=l;c[j+32>>2]=3;Wg(a,b,f-d*0.0,d*0.0-e,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-b,-(f-d*0.0),-(d*0.0-e),l);if(dc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=f*0.0-d*0.0;do if((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+b*b)>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,e*0.0-f,b,d-e*0.0,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-(e*0.0-f),-b,-(d-e*0.0),l);if(dc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=d*0.0-e*0.0;if(b*b+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d))>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,e-f*0.0,f*0.0-d,b,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-(e-f*0.0),-(f*0.0-d),-b,l);if(dc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 3:{l=c[j+4>>2]|0;k=c[j>>2]|0;f=+g[k+16>>2];b=+g[l+16>>2]-f;h=+g[k+20>>2];d=+g[l+20>>2]-h;i=+g[k+24>>2];e=+g[l+24>>2]-i;l=c[j+8>>2]|0;f=+g[l+16>>2]-f;h=+g[l+20>>2]-h;i=+g[l+24>>2]-i;if((b*h-d*f)*(b*h-d*f)+((d*i-e*h)*(d*i-e*h)+(e*f-b*i)*(e*f-b*i))>0.0){g[j+28>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+12>>2]=l;c[j+32>>2]=4;Wg(a,d*i-e*h,e*f-b*i,b*h-d*f,l);if(dc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Wg(a,-(d*i-e*h),-(e*f-b*i),-(b*h-d*f),l);if(dc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 4:{l=c[j>>2]|0;k=c[j+12>>2]|0;i=+g[k+16>>2];o=+g[l+16>>2]-i;m=+g[k+20>>2];b=+g[l+20>>2]-m;e=+g[k+24>>2];f=+g[l+24>>2]-e;l=c[j+4>>2]|0;d=+g[l+16>>2]-i;h=+g[l+20>>2]-m;n=+g[l+24>>2]-e;l=c[j+8>>2]|0;i=+g[l+16>>2]-i;m=+g[l+20>>2]-m;e=+g[l+24>>2]-e;if(!((0.0!=0.0?1:o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i!=o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i)|o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i==0.0)){l=1;return l|0}break}default:{}}while(0);l=0;return l|0}function ec(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;n=sa;sa=sa+48|0;d=c[a+24>>2]|0;if((d|0)<=0){sa=n;return}m=0;a:while(1){l=c[(c[a+32>>2]|0)+(m<<2)>>2]|0;switch(c[l+216>>2]|0){case 2:case 5:break;default:{ad(l,0);e=c[l+732>>2]|0;if((e|0)>0){d=0;do{k=c[l+740>>2]|0;i=c[k+(d*52|0)+12>>2]|0;j=c[k+(d*52|0)+8>>2]|0;x=+g[i+24>>2]-+g[j+24>>2];w=+g[i+28>>2]-+g[j+28>>2];b=+g[i+32>>2]-+g[j+32>>2];g[k+(d*52|0)+36>>2]=x;g[k+(d*52|0)+40>>2]=w;g[k+(d*52|0)+44>>2]=b;g[k+(d*52|0)+48>>2]=0.0;g[k+(d*52|0)+32>>2]=1.0/(+g[k+(d*52|0)+24>>2]*(x*x+w*w+b*b));d=d+1|0}while((d|0)!=(e|0))}f=c[l+792>>2]|0;if((f|0)>0){d=0;b=+g[l+452>>2];do{k=c[l+800>>2]|0;e=k+(d*96|0)+20|0;i=c[e>>2]|0;A=+g[k+(d*96|0)+4>>2];z=+g[k+(d*96|0)+8>>2];x=+g[k+(d*96|0)+12>>2];y=+g[i+4>>2]*A+ +g[i+8>>2]*z+ +g[i+12>>2]*x;w=A*+g[i+20>>2]+z*+g[i+24>>2]+x*+g[i+28>>2];x=A*+g[i+36>>2]+z*+g[i+40>>2]+x*+g[i+44>>2];j=k+(d*96|0)|0;_e(n,b,+g[(c[j>>2]|0)+88>>2],+g[i+344>>2],i+264|0,y,w,x);i=k+(d*96|0)+28|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];i=k+(d*96|0)+44|0;c[i>>2]=c[n+16>>2];c[i+4>>2]=c[n+16+4>>2];c[i+8>>2]=c[n+16+8>>2];c[i+12>>2]=c[n+16+12>>2];i=k+(d*96|0)+60|0;c[i>>2]=c[n+32>>2];c[i+4>>2]=c[n+32+4>>2];c[i+8>>2]=c[n+32+8>>2];c[i+12>>2]=c[n+32+12>>2];g[k+(d*96|0)+76>>2]=y;g[k+(d*96|0)+80>>2]=w;g[k+(d*96|0)+84>>2]=x;g[k+(d*96|0)+88>>2]=0.0;b=+g[l+452>>2];g[k+(d*96|0)+92>>2]=b*+g[(c[j>>2]|0)+88>>2];e=c[e>>2]|0;if(!(c[e+204>>2]&3)){if((c[e+216>>2]&-2|0)!=4)c[e+216>>2]=1;g[e+220>>2]=0.0}d=d+1|0}while((d|0)!=(f|0))}d=c[l+372>>2]|0;if((d|0)>0){f=0;e=c[l+396>>2]|0;do{if((e|0)>0){d=0;do{Qa[((c[(c[l+404>>2]|0)+(d<<2)>>2]|0)==0?23:0)&31](l,1.0);d=d+1|0;e=c[l+396>>2]|0}while((d|0)<(e|0));d=c[l+372>>2]|0}f=f+1|0}while((f|0)<(d|0));e=c[l+712>>2]|0;if((e|0)>0){d=0;do{k=c[l+720>>2]|0;y=+g[l+452>>2];z=y*+g[k+(d*104|0)+44>>2]+ +g[k+(d*104|0)+28>>2];A=y*+g[k+(d*104|0)+48>>2]+ +g[k+(d*104|0)+32>>2];g[k+(d*104|0)+8>>2]=+g[k+(d*104|0)+40>>2]*y+ +g[k+(d*104|0)+24>>2];g[k+(d*104|0)+12>>2]=z;g[k+(d*104|0)+16>>2]=A;g[k+(d*104|0)+20>>2]=0.0;d=d+1|0}while((d|0)!=(e|0))}}d=c[l+376>>2]|0;if((d|0)>0){h=0;e=c[l+416>>2]|0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[l+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{v=37;break a}}Ra[d&7](l,1.0,b);f=f+1|0;e=c[l+416>>2]|0}while((f|0)<(e|0));d=c[l+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[l+456>>2]*(1.0-+g[l+296>>2]);e=c[l+712>>2]|0;if((e|0)>0){d=0;do{k=c[l+720>>2]|0;z=b*(+g[k+(d*104|0)+12>>2]-+g[k+(d*104|0)+28>>2]);A=b*(+g[k+(d*104|0)+16>>2]-+g[k+(d*104|0)+32>>2]);g[k+(d*104|0)+40>>2]=b*(+g[k+(d*104|0)+8>>2]-+g[k+(d*104|0)+24>>2]);g[k+(d*104|0)+44>>2]=z;g[k+(d*104|0)+48>>2]=A;k=k+(d*104|0)+52|0;d=d+1|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0}while((d|0)!=(e|0))}}d=c[l+380>>2]|0;if((d|0)>0){b=+g[l+292>>2]*+g[l+456>>2];e=c[l+712>>2]|0;if((e|0)>0){d=0;do{k=c[l+720>>2]|0;j=k+(d*104|0)+8|0;k=k+(d*104|0)+24|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[l+380>>2]|0;if((d|0)>0)v=45}else v=45;if((v|0)==45){v=0;h=0;e=c[l+436>>2]|0;do{if((e|0)>0){f=0;do{switch(c[(c[l+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{v=56;break a}}Ra[d&7](l,1.0,0.0);f=f+1|0;e=c[l+436>>2]|0}while((f|0)<(e|0));d=c[l+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}e=c[l+712>>2]|0;if((e|0)>0){f=c[l+720>>2]|0;d=0;do{z=b*(+g[f+(d*104|0)+12>>2]-+g[f+(d*104|0)+28>>2]);A=b*(+g[f+(d*104|0)+16>>2]-+g[f+(d*104|0)+32>>2]);k=f+(d*104|0)+40|0;g[k>>2]=b*(+g[f+(d*104|0)+8>>2]-+g[f+(d*104|0)+24>>2])+ +g[k>>2];k=f+(d*104|0)+44|0;g[k>>2]=z+ +g[k>>2];k=f+(d*104|0)+48|0;g[k>>2]=A+ +g[k>>2];d=d+1|0}while((d|0)!=(e|0))}}f=c[l+1112>>2]|0;if((f|0)>0){h=c[l+1120>>2]|0;e=0;do{i=c[h+(e<<2)>>2]|0;if(+g[i+352>>2]>0.0?(o=c[i+24>>2]|0,(o|0)>0):0){j=c[i+32>>2]|0;d=0;do{k=c[j+(d<<2)>>2]|0;if(+g[k+88>>2]>0.0?(s=+g[k+24>>2]-+g[i+228>>2],u=+g[k+28>>2]-+g[i+232>>2],q=+g[k+32>>2]-+g[i+236>>2],r=+g[i+336>>2],A=+g[i+340>>2],t=+g[i+332>>2],p=+g[i+316>>2]+(r*q-u*A),q=+g[i+320>>2]+(s*A-q*t),r=u*t-s*r+ +g[i+324>>2],s=+g[k+40>>2],t=+g[k+44>>2],u=+g[k+48>>2],p*p+q*q+r*r<=s*s+t*t+u*u):0){A=+g[i+352>>2];g[k+40>>2]=s+(p-s)*A;g[k+44>>2]=t+(q-t)*A;g[k+48>>2]=u+(r-u)*A}d=d+1|0}while((d|0)!=(o|0))}e=e+1|0}while((e|0)!=(f|0))}ad(l,1);d=c[a+24>>2]|0}}m=m+1|0;if((m|0)>=(d|0)){v=3;break}}if((v|0)==3){sa=n;return}}function fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0.0,A=0.0,B=0.0;if((d|0)<=1){y=0;return y|0}w=c[b+712>>2]|0;y=J(w,w)|0;y=CI(y>>>0>1073741823?-1:y<<2)|0;if((w|0)>0){h=0;do{i=J(h,w)|0;j=y+(h+i<<2)|0;f=0;do{k=y+((J(f,w)|0)+h<<2)|0;if((f|0)==(h|0)){c[k>>2]=0;c[j>>2]=0}else{c[k>>2]=2147483647;c[y+(f+i<<2)>>2]=2147483647}f=f+1|0}while((f|0)!=(w|0));h=h+1|0}while((h|0)!=(w|0))}h=c[b+732>>2]|0;if((h|0)>0){i=c[b+740>>2]|0;j=c[b+720>>2]|0;f=0;do{p=((c[i+(f*52|0)+8>>2]|0)-j|0)/104|0;t=((c[i+(f*52|0)+12>>2]|0)-j|0)/104|0;c[y+((J(t,w)|0)+p<<2)>>2]=1;c[y+((J(p,w)|0)+t<<2)>>2]=1;f=f+1|0}while((f|0)!=(h|0))}do if((d|0)!=2)if((w|0)>0){f=0;do{k=J(f,w)|0;h=0;do{i=h;h=h+1|0;if((h|0)<(w|0)){n=J(i,w)|0;l=y+(n+f<<2)|0;j=h;do{m=(c[l>>2]|0)+(c[y+(j+k<<2)>>2]|0)|0;o=y+(j+n<<2)|0;if((c[o>>2]|0)>>>0>m>>>0){c[y+((J(j,w)|0)+i<<2)>>2]=m;c[o>>2]=m}j=j+1|0}while((j|0)!=(w|0))}}while((h|0)!=(w|0));f=f+1|0}while((f|0)!=(w|0));q=97}else f=0;else{if((w|0)<0)ma();if((w|0)>0){c[7182]=(c[7182]|0)+1;f=xb((w*20|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=0;do{a[f+(h*20|0)+16>>0]=1;c[f+(h*20|0)+12>>2]=0;t=f+(h*20|0)+4|0;c[t>>2]=0;c[f+(h*20|0)+8>>2]=0;c[t>>2]=0;h=h+1|0}while((h|0)!=(w|0));t=f}else t=0;if((c[b+732>>2]|0)>0){n=0;do{m=c[b+740>>2]|0;p=c[b+720>>2]|0;o=((c[m+(n*52|0)+8>>2]|0)-p|0)/104|0;p=((c[m+(n*52|0)+12>>2]|0)-p|0)/104|0;m=t+(o*20|0)+4|0;f=c[m>>2]|0;a:do if((f|0)>0){i=c[t+(o*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(p|0))break;h=h+1|0;if((h|0)>=(f|0)){q=28;break a}}if((h|0)==(f|0))q=28}else q=28;while(0);if((q|0)==28){q=0;l=t+(o*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(s=(f|0)==0?1:f<<1,(f|0)<(s|0)):0){if(!s)k=0;else{c[7182]=(c[7182]|0)+1;f=xb((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(o*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(o*20|0)+16|0;else q=39;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=39}if((q|0)==39){q=0;f=t+(o*20|0)+16|0;if(a[f>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=s}c[(c[t+(o*20|0)+12>>2]|0)+(f<<2)>>2]=p;c[m>>2]=(c[m>>2]|0)+1}m=t+(p*20|0)+4|0;f=c[m>>2]|0;b:do if((f|0)>0){i=c[t+(p*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(o|0))break;h=h+1|0;if((h|0)>=(f|0)){q=49;break b}}if((h|0)==(f|0))q=49}else q=49;while(0);if((q|0)==49){q=0;l=t+(p*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if(!r)k=0;else{c[7182]=(c[7182]|0)+1;f=xb((r<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(p*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(p*20|0)+16|0;else q=60;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=60}if((q|0)==60){q=0;f=t+(p*20|0)+16|0;if(a[f>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=r}c[(c[t+(p*20|0)+12>>2]|0)+(f<<2)>>2]=o;c[m>>2]=(c[m>>2]|0)+1}n=n+1|0}while((n|0)<(c[b+732>>2]|0))}if((w|0)<=0){if(!t){f=0;break}}else{o=0;do{q=t+(o*20|0)+4|0;f=c[q>>2]|0;if((f|0)>0){r=J(o,w)|0;p=c[t+(o*20|0)+12>>2]|0;n=0;do{l=c[p+(n<<2)>>2]|0;m=t+(l*20|0)+4|0;h=c[m>>2]|0;if((h|0)>0){j=c[t+(l*20|0)+12>>2]|0;k=y+((J(l,w)|0)+o<<2)|0;i=0;f=h;do{h=c[j+(i<<2)>>2]|0;if((o|0)!=(h|0)?(v=J(h,w)|0,u=(c[y+(v+l<<2)>>2]|0)+(c[k>>2]|0)|0,v=y+(v+o<<2)|0,(c[v>>2]|0)>>>0>u>>>0):0){c[y+(h+r<<2)>>2]=u;c[v>>2]=u;f=c[m>>2]|0}i=i+1|0}while((i|0)<(f|0));f=c[q>>2]|0}n=n+1|0}while((n|0)<(f|0))}o=o+1|0}while((o|0)!=(w|0));f=0;do{i=t+(f*20|0)+4|0;j=t+(f*20|0)+12|0;k=c[j>>2]|0;h=t+(f*20|0)+16|0;if(k|0){if(a[h>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[j>>2]=0}a[h>>0]=1;c[j>>2]=0;c[i>>2]=0;c[t+(f*20|0)+8>>2]=0;f=f+1|0}while((f|0)!=(w|0))}c[7183]=(c[7183]|0)+1;Hc(c[t+-4>>2]|0);q=97}while(0);if((q|0)==97)if((w|0)>0){f=0;k=0;do{i=k;k=k+1|0;if((k|0)<(w|0)){j=J(i,w)|0;h=k;do{if((c[y+(h+j<<2)>>2]|0)==(d|0)){t=c[b+720>>2]|0;oh(b,e);v=(c[b+732>>2]|0)+-1|0;u=c[b+740>>2]|0;c[u+(v*52|0)+8>>2]=t+(h*104|0);c[u+(v*52|0)+12>>2]=t+(i*104|0);B=+g[t+(h*104|0)+8>>2]-+g[t+(i*104|0)+8>>2];A=+g[t+(h*104|0)+12>>2]-+g[t+(i*104|0)+12>>2];z=+g[t+(h*104|0)+16>>2]-+g[t+(i*104|0)+16>>2];g[u+(v*52|0)+16>>2]=+x(+(B*B+A*A+z*z));a[b+924>>0]=1;v=(c[b+740>>2]|0)+(v*52|0)+20|0;a[v>>0]=a[v>>0]|1;f=f+1|0}h=h+1|0}while((h|0)!=(w|0))}}while((k|0)!=(w|0))}else f=0;DI(y);y=f;return y|0}function gc(d,e){d=d|0;e=+e;var f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0;r=sa;sa=sa+304|0;Ki(16437);a:do if((c[d+232>>2]|0)>0){m=r+136+48|0;l=0;while(1){n=c[(c[d+240>>2]|0)+(l<<2)>>2]|0;g[n+244>>2]=1.0;b:do switch(c[n+216>>2]|0){case 2:case 5:break;default:if(!(c[n+204>>2]&3)){jg(n+4|0,+g[n+312>>2],+g[n+316>>2],+g[n+320>>2],n+328|0,e,r+136|0);h=+g[m>>2]-+g[n+52>>2];j=+g[r+136+52>>2]-+g[n+56>>2];k=+g[r+136+56>>2]-+g[n+60>>2];if(a[d+44>>0]|0?(s=+g[n+252>>2],s*s!=0.0?s*s>2]|0)+4>>2]|0)<20){c[6847]=(c[6847]|0)+1;f=c[d+68>>2]|0;f=Fa[c[(c[f>>2]|0)+36>>2]&127](f)|0;i=c[d+24>>2]|0;g[r+200+4>>2]=1.0;c[r+200+12>>2]=c[n+52>>2];c[r+200+12+4>>2]=c[n+52+4>>2];c[r+200+12+8>>2]=c[n+52+8>>2];c[r+200+12+12>>2]=c[n+52+12>>2];c[r+200+28>>2]=c[m>>2];c[r+200+28+4>>2]=c[m+4>>2];c[r+200+28+8>>2]=c[m+8>>2];c[r+200+28+12>>2]=c[m+12>>2];c[r+200+76>>2]=0;c[r+200>>2]=7092;c[r+200+80>>2]=n;c[r+200+88>>2]=f;c[r+200+92>>2]=i;i=c[n+248>>2]|0;c[r+80+8>>2]=0;c[r+80+12>>2]=1065353216;c[r+80+16>>2]=1065353216;c[r+80+20>>2]=1065353216;g[r+80+24>>2]=0.0;c[r+80>>2]=9480;c[r+80+4>>2]=8;c[r+80+28>>2]=i;c[r+80+44>>2]=i;c[r+200+84>>2]=c[d+56>>2];i=c[n+188>>2]|0;b[r+200+8>>1]=b[i+4>>1]|0;b[r+200+10>>1]=b[i+6>>1]|0;c[r+16+48>>2]=c[m>>2];c[r+16+48+4>>2]=c[m+4>>2];c[r+16+48+8>>2]=c[m+8>>2];c[r+16+48+12>>2]=c[m+12>>2];c[r+16>>2]=c[n+4>>2];c[r+16+4>>2]=c[n+4+4>>2];c[r+16+8>>2]=c[n+4+8>>2];c[r+16+12>>2]=c[n+4+12>>2];c[r+16+16>>2]=c[n+20>>2];c[r+16+16+4>>2]=c[n+20+4>>2];c[r+16+16+8>>2]=c[n+20+8>>2];c[r+16+16+12>>2]=c[n+20+12>>2];c[r+16+32>>2]=c[n+36>>2];c[r+16+32+4>>2]=c[n+36+4>>2];c[r+16+32+8>>2]=c[n+36+8>>2];c[r+16+32+12>>2]=c[n+36+12>>2];Tc(d,r+80|0,n+4|0,r+16|0,r+200|0,0.0);h=+g[r+200+4>>2];if(h<1.0){g[n+244>>2]=h;jg(n+4|0,+g[n+312>>2],+g[n+316>>2],+g[n+320>>2],n+328|0,h*e,r+136|0);g[n+244>>2]=0.0;$d(n,r+136|0);f=4}else f=0;if(!f)o=12}else o=12;if((o|0)==12){o=0;f=0}i=c[3084]|0;t=(c[i+16>>2]|0)+-1|0;c[i+16>>2]=t;do if(!t){if(c[i+4>>2]|0){la(r+200|0,0)|0;t=c[7181]|0;g[i+8>>2]=+g[i+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[i+12>>2]|0)|0)>>>0)/1.0e3;if(c[i+16>>2]|0)break;i=c[3084]|0}c[3084]=c[i+20>>2]}while(0);if(f|0)break b}$d(n,r+136|0)}}while(0);l=l+1|0;if((l|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){Ki(16477);if((c[d+308>>2]|0)>0){n=0;do{o=c[(c[d+316>>2]|0)+(n<<2)>>2]|0;i=c[o+740>>2]|0;i=(c[i+236>>2]&2|0)==0?0:i;m=c[o+744>>2]|0;m=(c[m+236>>2]&2|0)==0?0:m;f=c[o+748>>2]|0;if((f|0)>0)if(!i){i=0;do{h=+g[57]*+g[m+228>>2];if(h>0.0?(p=+g[o+4+(i*184|0)+120>>2],p!=0.0):0){k=h*p*+g[o+4+(i*184|0)+64>>2];e=h*p*+g[o+4+(i*184|0)+68>>2];s=h*p*+g[o+4+(i*184|0)+72>>2];h=+g[o+4+(i*184|0)+36>>2]-+g[m+56>>2];j=+g[o+4+(i*184|0)+40>>2]-+g[m+60>>2];g[r+16>>2]=+g[o+4+(i*184|0)+32>>2]-+g[m+52>>2];g[r+16+4>>2]=h;g[r+16+8>>2]=j;g[r+16+12>>2]=0.0;g[r>>2]=k;g[r+4>>2]=e;g[r+8>>2]=s;g[r+12>>2]=0.0;Bk(m,r,r+16|0);f=c[o+748>>2]|0}i=i+1|0}while((i|0)<(f|0))}else{l=0;do{h=+g[i+228>>2]*+g[m+228>>2];if(h>0.0?(q=+g[o+4+(l*184|0)+120>>2],q!=0.0):0){k=h*q*+g[o+4+(l*184|0)+64>>2];e=h*q*+g[o+4+(l*184|0)+68>>2];s=h*q*+g[o+4+(l*184|0)+72>>2];g[r+200>>2]=-k;g[r+200+4>>2]=-e;g[r+200+8>>2]=-s;g[r+200+12>>2]=0.0;j=+g[o+4+(l*184|0)+52>>2]-+g[i+56>>2];h=+g[o+4+(l*184|0)+56>>2]-+g[i+60>>2];g[r+80>>2]=+g[o+4+(l*184|0)+48>>2]-+g[i+52>>2];g[r+80+4>>2]=j;g[r+80+8>>2]=h;g[r+80+12>>2]=0.0;h=+g[o+4+(l*184|0)+36>>2]-+g[m+56>>2];j=+g[o+4+(l*184|0)+40>>2]-+g[m+60>>2];g[r+16>>2]=+g[o+4+(l*184|0)+32>>2]-+g[m+52>>2];g[r+16+4>>2]=h;g[r+16+8>>2]=j;g[r+16+12>>2]=0.0;Bk(i,r+200|0,r+80|0);g[r>>2]=k;g[r+4>>2]=e;g[r+8>>2]=s;g[r+12>>2]=0.0;Bk(m,r,r+16|0);f=c[o+748>>2]|0}l=l+1|0}while((l|0)<(f|0))}n=n+1|0}while((n|0)<(c[d+308>>2]|0))}f=c[3084]|0;t=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=t;if(!t){if(c[f+4>>2]|0){la(r+200|0,0)|0;t=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3084]|0}c[3084]=c[f+20>>2]}}while(0);f=c[3084]|0;t=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=t;if(t|0){sa=r;return}do if(c[f+4>>2]|0){la(r+200|0,0)|0;t=c[7181]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[3084]|0;break}else{sa=r;return}}while(0);c[3084]=c[f+20>>2];sa=r;return}function hc(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0;I=sa;sa=sa+96|0;e=c[b+216>>2]|0;if(+g[e+4>>2]==0.0){H=0;sa=I;return H|0}H=c[d>>2]|0;if(!(Ha[c[(c[e>>2]|0)+8>>2]&31](e,c[H+188>>2]|0)|0)){H=1;sa=I;return H|0}d=c[H+192>>2]|0;G=c[b+216>>2]|0;if((c[d+4>>2]|0)!=32){c[I+32>>2]=0;c[I+32+4>>2]=d;c[I+32+8>>2]=H;c[I+32+12>>2]=H+4;c[I+32+16>>2]=-1;c[I+32+20>>2]=-1;_b(b+68|0,b+132|0,I+32|0,G);H=1;sa=I;return H|0}if((H|0)==0?1:(c[H+236>>2]|0)!=8){H=1;sa=I;return H|0}d=c[H+752>>2]|0;if(d)if(!(c[H+988>>2]|0)){d=c[H+988+4>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[H+988+4>>2]=0;c[H+988+8>>2]=-1;d=c[H+988+32>>2]|0;if(d|0){if(a[H+988+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[H+988+32>>2]=0}a[H+988+36>>0]=1;c[H+988+32>>2]=0;c[H+988+24>>2]=0;c[H+988+28>>2]=0;c[H+988+16>>2]=0;d=c[H+752>>2]|0;if((d|0)>0){s=0;do{m=c[H+760>>2]|0;q=m+(s*44|0)|0;t=c[m+(s*44|0)+8>>2]|0;C=c[m+(s*44|0)+12>>2]|0;d=c[m+(s*44|0)+16>>2]|0;o=+g[t+8>>2];p=+g[t+12>>2];r=+g[t+16>>2];l=+g[t+20>>2];B=+g[C+8>>2];f=B>2];n=F>2];h=E>2];i=D>2];f=D>2];n=E>2];h=F>2];i=B>2]|0;if(!d){c[7182]=(c[7182]|0)+1;d=xb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d;k=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(k|0))}else c[H+988+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=q;c[d+40>>2]=0;g[d>>2]=f;g[d+4>>2]=n;g[d+8>>2]=h;g[d+12>>2]=i;g[d+16>>2]=o;g[d+20>>2]=p;g[d+24>>2]=r;g[d+28>>2]=l;ue(H+988|0,c[H+988>>2]|0,d);c[H+988+12>>2]=(c[H+988+12>>2]|0)+1;c[m+(s*44|0)+40>>2]=d;s=s+1|0;d=c[H+752>>2]|0}while((s|0)<(d|0));e=H+988|0}else e=H+988|0}else e=H+988|0;else{e=H+988|0;d=0}D=+g[b+180>>2]-+g[b+116>>2];E=+g[b+184>>2]-+g[b+120>>2];F=+g[b+188>>2]-+g[b+124>>2];e=c[e>>2]|0;if(!e)if((d|0)>0){t=c[H+760>>2]|0;s=0;e=0;q=-1;k=1065353216;m=0;h=1.0;f=1.0;do{K=c[t+(s*44|0)+8>>2]|0;J=c[t+(s*44|0)+12>>2]|0;C=c[t+(s*44|0)+16>>2]|0;i=+Yg(b+116|0,D,E,F,+g[K+8>>2],+g[K+12>>2],+g[K+16>>2],+g[J+8>>2],+g[J+12>>2],+g[J+16>>2],+g[C+8>>2],+g[C+12>>2],+g[C+16>>2],h);if(i>0.0){e=e+1|0;q=s;k=(g[j>>2]=i,c[j>>2]|0);m=3;f=i;h=i}s=s+1|0}while((s|0)!=(d|0));d=q}else{e=0;d=-1;k=1065353216;m=0;f=1.0}else{c[I+32>>2]=5980;c[I+32+4>>2]=c[b+116>>2];c[I+32+4+4>>2]=c[b+116+4>>2];c[I+32+4+8>>2]=c[b+116+8>>2];c[I+32+4+12>>2]=c[b+116+12>>2];g[I+32+36>>2]=D;g[I+32+40>>2]=E;g[I+32+44>>2]=F;g[I+32+48>>2]=0.0;c[I+32+20>>2]=c[b+180>>2];c[I+32+20+4>>2]=c[b+180+4>>2];c[I+32+20+8>>2]=c[b+180+8>>2];c[I+32+20+12>>2]=c[b+180+12>>2];c[I+32+52>>2]=1065353216;c[I+32+56>>2]=0;c[I+32+60>>2]=0;Pd(e,b+116|0,b+180|0,I+32|0);d=c[I+32+56>>2]|0;if(!d){e=0;d=-1;k=1065353216;m=0;f=1.0}else{K=c[I+32+52>>2]|0;e=1;d=(d-(c[H+760>>2]|0)|0)/44|0;k=K;m=3;f=(c[j>>2]=K,+g[j>>2])}}t=c[H+772>>2]|0;if((t|0)>0){C=c[H+780>>2]|0;s=0;do{K=c[C+(s*104|0)+8>>2]|0;w=+g[K+8>>2];z=+g[K+12>>2];B=+g[K+16>>2];K=c[C+(s*104|0)+12>>2]|0;n=+g[K+8>>2];p=+g[K+12>>2];u=+g[K+16>>2];K=c[C+(s*104|0)+16>>2]|0;v=+g[K+8>>2];y=+g[K+12>>2];A=+g[K+16>>2];h=(c[j>>2]=k,+g[j>>2]);i=+Yg(b+116|0,D,E,F,w,z,B,n,p,u,v,y,A,h);if(i>0.0){e=e+1|0;d=s;k=(g[j>>2]=i,c[j>>2]|0);m=4;h=i;f=i}K=c[C+(s*104|0)+20>>2]|0;l=+g[K+8>>2];o=+g[K+12>>2];r=+g[K+16>>2];i=+Yg(b+116|0,D,E,F,w,z,B,n,p,u,l,o,r,h);if(i>0.0){e=e+1|0;d=s;q=(g[j>>2]=i,c[j>>2]|0);m=4;h=i;f=i}else{q=k;h=(c[j>>2]=k,+g[j>>2])}i=+Yg(b+116|0,D,E,F,n,p,u,v,y,A,l,o,r,h);if(i>0.0){e=e+1|0;d=s;k=(g[j>>2]=i,c[j>>2]|0);m=4;h=i;f=i}else{k=q;h=(c[j>>2]=q,+g[j>>2])}h=+Yg(b+116|0,D,E,F,w,z,B,v,y,A,l,o,r,h);if(h>0.0){e=e+1|0;d=s;k=(g[j>>2]=h,c[j>>2]|0);m=4;f=h}s=s+1|0}while((s|0)!=(t|0));k=m;p=f}else{k=m;p=f}if(!e){K=1;sa=I;return K|0}if(!(p<=+g[G+4>>2])){K=1;sa=I;return K|0}c[I+32>>2]=0;c[I+32+4>>2]=d;l=+g[b+180>>2]-+g[b+116>>2];n=+g[b+184>>2]-+g[b+120>>2];o=+g[b+188>>2]-+g[b+124>>2];f=1.0/+x(+(l*l+n*n+o*o));if((k|0)==3){e=c[H+748+12>>2]|0;f=+g[e+(d*44|0)+20>>2];i=+g[e+(d*44|0)+24>>2];h=+g[e+(d*44|0)+28>>2];if(l*f+n*i+o*h>0.0){l=-f;i=-i;h=-h;f=0.0}else{l=f;f=+g[e+(d*44|0)+32>>2]}}else{l=-(l*f);i=-(n*f);h=-(o*f);f=0.0}c[I>>2]=H;c[I+4>>2]=I+32;g[I+8>>2]=l;g[I+12>>2]=i;g[I+16>>2]=h;g[I+20>>2]=f;g[I+24>>2]=p;+ya[c[(c[G>>2]|0)+12>>2]&15](G,I,1);K=1;sa=I;return K|0}function ic(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0;r=sa;sa=sa+112|0;j=c[b+716>>2]|0;if((j|0)==(c[b+712>>2]|0)){a:do if(j){i=c[b+720>>2]|0;if((j|0)>0){f=0;h=i;while(1){h=c[h+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=f;f=f+1|0;if((f|0)==(j|0)){k=i;break a}h=c[b+720>>2]|0}}else k=i}else k=0;while(0);h=c[b+732>>2]|0;if((h|0)>0){f=0;do{o=(c[b+740>>2]|0)+(f*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;o=(c[b+740>>2]|0)+(f*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}h=c[b+752>>2]|0;if((h|0)>0){f=0;do{i=(c[b+760>>2]|0)+(f*44|0)+8|0;c[i>>2]=((c[i>>2]|0)-k|0)/104|0;i=(c[b+760>>2]|0)+(f*44|0)+12|0;c[i>>2]=((c[i>>2]|0)-k|0)/104|0;i=(c[b+760>>2]|0)+(f*44|0)+16|0;c[i>>2]=((c[i>>2]|0)-k|0)/104|0;i=c[(c[b+760>>2]|0)+(f*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=f;f=f+1|0}while((f|0)!=(h|0))}h=c[b+792>>2]|0;if((h|0)>0){i=c[b+800>>2]|0;f=0;do{o=i+(f*96|0)|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}j=c[b+692>>2]|0;if((j|0)>0){i=0;f=c[b+700>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-k|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(j|0))}j=c[b+712>>2]|0;if((c[b+716>>2]|0)<(j<<1|1|0)){c[7182]=(c[7182]|0)+1;f=xb(((j<<1|1)*104|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[b+712>>2]|0;if((h|0)>0){f=0;do{n=i+(f*104|0)|0;k=(c[b+720>>2]|0)+(f*104|0)|0;o=n+104|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));f=f+1|0}while((f|0)!=(h|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=j<<1|1;j=c[b+712>>2]|0}b:do if(j){k=c[b+720>>2]|0;if((j|0)>0){f=0;h=k;while(1){i=c[h+(f*104|0)+96>>2]|0;if(i|0)c[i+36>>2]=h+(f*104|0);f=f+1|0;if((f|0)==(j|0))break b;h=c[b+720>>2]|0}}}else k=0;while(0);h=c[b+732>>2]|0;if((h|0)>0){f=0;do{o=(c[b+740>>2]|0)+(f*52|0)+8|0;c[o>>2]=k+((c[o>>2]|0)*104|0);o=(c[b+740>>2]|0)+(f*52|0)+12|0;c[o>>2]=k+((c[o>>2]|0)*104|0);f=f+1|0}while((f|0)!=(h|0))}h=c[b+752>>2]|0;if((h|0)>0){f=0;do{i=(c[b+760>>2]|0)+(f*44|0)+8|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=(c[b+760>>2]|0)+(f*44|0)+12|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=(c[b+760>>2]|0)+(f*44|0)+16|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=c[b+760>>2]|0;j=c[i+(f*44|0)+40>>2]|0;if(j|0)c[j+36>>2]=i+(f*44|0);f=f+1|0}while((f|0)!=(h|0))}i=c[b+792>>2]|0;if((i|0)>0){h=c[b+800>>2]|0;f=0;do{o=h+(f*96|0)|0;c[o>>2]=k+((c[o>>2]|0)*104|0);f=f+1|0}while((f|0)!=(i|0))}j=c[b+692>>2]|0;if((j|0)>0){i=0;f=c[b+700>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=k+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(j|0))}}n=c[b+192>>2]|0;p=+va[c[(c[n>>2]|0)+48>>2]&15](n);n=r;o=n+100|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(q=(f|0)==0?1:f<<1,(f|0)<(q|0)):0){if(!q)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((q*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+712>>2]|0}if((f|0)>0){h=0;do{n=i+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=n+104|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=q;f=c[b+712>>2]|0}n=c[b+720>>2]|0;c[n+(f*104|0)>>2]=0;n=n+(f*104|0)+4|0;k=r;o=n+100|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;i=c[b+720>>2]|0;n=i+(h*104|0)|0;o=n+104|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];fp(i+(h*104|0)+24|0,d|0,16)|0;g[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[i+(h*104|0)+8>>2];l=+g[i+(h*104|0)+12>>2];m=+g[i+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;q=d+32|0;c[q>>2]=0;q=d+36|0;c[q>>2]=i+(h*104|0);q=d+40|0;c[q>>2]=0;g[d>>2]=e-p;q=d+4|0;g[q>>2]=l-p;q=d+8|0;g[q>>2]=m-p;q=d+12|0;g[q>>2]=0.0;q=d+16|0;g[q>>2]=p+e;q=d+20|0;g[q>>2]=p+l;q=d+24|0;g[q>>2]=p+m;q=d+28|0;g[q>>2]=0.0;q=c[b+928>>2]|0;ue(b+928|0,q,d);b=b+940|0;q=c[b>>2]|0;q=q+1|0;c[b>>2]=q;b=i+(h*104|0)+96|0;c[b>>2]=d;sa=r;return}c[7182]=(c[7182]|0)+1;f=xb(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}n=f;o=n+44|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));d=f;q=d+32|0;c[q>>2]=0;q=d+36|0;c[q>>2]=i+(h*104|0);q=d+40|0;c[q>>2]=0;g[d>>2]=e-p;q=d+4|0;g[q>>2]=l-p;q=d+8|0;g[q>>2]=m-p;q=d+12|0;g[q>>2]=0.0;q=d+16|0;g[q>>2]=p+e;q=d+20|0;g[q>>2]=p+l;q=d+24|0;g[q>>2]=p+m;q=d+28|0;g[q>>2]=0.0;q=c[b+928>>2]|0;ue(b+928|0,q,d);b=b+940|0;q=c[b>>2]|0;q=q+1|0;c[b>>2]=q;b=i+(h*104|0)+96|0;c[b>>2]=d;sa=r;return}function jc(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;H=sa;sa=sa+32|0;c[H+12>>2]=i;c[H+12+4>>2]=j;c[H+12+8>>2]=k;c[H>>2]=e;c[H+4>>2]=f;c[H+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){l=0;sa=H;return l|0}v=+g[d+36>>2];y=+g[d+40>>2];w=+g[d+44>>2];k=c[d+48>>2]|0;z=1.0/+x(+(v*v+y*y+w*w));h=Jh(H)|0;A=+g[d+4>>2]-+g[h+48>>2];B=+g[d+8>>2]-+g[h+52>>2];C=+g[d+12>>2]-+g[h+56>>2];h=Jh(H+12|0)|0;D=+g[d+20>>2]-+g[h+48>>2];E=+g[d+24>>2]-+g[h+52>>2];F=+g[d+28>>2]-+g[h+56>>2];if(!f)if(!e){m=0.0;n=0.0;q=0.0;r=0.0;o=0.0;p=0.0}else{p=+g[e+336>>2];q=+g[e+340>>2];u=+g[e+332>>2];m=C*p-B*q;n=+g[e+316>>2];q=A*q-C*u;r=+g[e+320>>2];o=+g[e+324>>2];p=B*u-A*p}else{p=+g[f+332>>2];q=+g[f+336>>2];u=+g[f+328>>2];m=C*p-B*q;n=+g[f+312>>2];q=A*q-C*u;r=+g[f+316>>2];o=+g[f+320>>2];p=B*u-A*p}u=n+m;t=r+q;s=o+p;if(!j)if(!i){o=0.0;p=0.0;q=0.0;r=0.0;m=0.0;n=0.0}else{n=+g[i+336>>2];q=+g[i+340>>2];I=+g[i+332>>2];o=F*n-E*q;p=+g[i+316>>2];q=D*q-F*I;r=+g[i+320>>2];m=+g[i+324>>2];n=E*I-D*n}else{n=+g[j+332>>2];q=+g[j+336>>2];I=+g[j+328>>2];o=F*n-E*q;p=+g[j+312>>2];q=D*q-F*I;r=+g[j+316>>2];m=+g[j+320>>2];n=E*I-D*n}p=u-(p+o);t=t-(r+q);s=s-(m+n);u=w*z*s+(y*z*t+v*z*p);I=+g[d+52>>2]-+g[b+12>>2];c[l+4>>2]=c[H>>2];c[l+4+4>>2]=c[H+4>>2];c[l+4+8>>2]=c[H+8>>2];c[l+16>>2]=c[H+12>>2];c[l+16+4>>2]=c[H+12+4>>2];c[l+16+8>>2]=c[H+12+8>>2];d=Jh(H)|0;r=A*+g[d+4>>2]+B*+g[d+20>>2]+C*+g[d+36>>2];q=A*+g[d+8>>2]+B*+g[d+24>>2]+C*+g[d+40>>2];g[l+28>>2]=A*+g[d>>2]+B*+g[d+16>>2]+C*+g[d+32>>2];g[l+32>>2]=r;g[l+36>>2]=q;g[l+40>>2]=0.0;d=Jh(H+12|0)|0;q=D*+g[d+4>>2]+E*+g[d+20>>2]+F*+g[d+36>>2];r=D*+g[d+8>>2]+E*+g[d+24>>2]+F*+g[d+40>>2];g[l+44>>2]=D*+g[d>>2]+E*+g[d+16>>2]+F*+g[d+32>>2];g[l+48>>2]=q;g[l+52>>2]=r;g[l+56>>2]=0.0;g[l+164>>2]=A;g[l+168>>2]=B;g[l+172>>2]=C;g[l+176>>2]=0.0;g[l+180>>2]=D;g[l+184>>2]=E;g[l+188>>2]=F;g[l+192>>2]=0.0;g[l+60>>2]=1.0;g[l+64>>2]=1.0;c[l+156>>2]=0;c[l+160>>2]=0;g[l+68>>2]=1.0;g[l+72>>2]=v*z*I;g[l+76>>2]=y*z*I;g[l+80>>2]=w*z*I;g[l+84>>2]=0.0;g[l+196>>2]=v*z;g[l+200>>2]=y*z;g[l+204>>2]=w*z;c[l+208>>2]=k;a[l+152>>0]=0;I=+g[b+16>>2];g[l+212>>2]=(s-w*z*u)*(s-w*z*u)+((p-v*z*u)*(p-v*z*u)+(t-y*z*u)*(t-y*z*u))>2]|0;if(!k){k=c[H>>2]|0;if(!k)n=0.0;else{k=k+128|0;G=14}}else{k=k+344|0;G=14}if((G|0)==14)n=+g[k>>2];if((a[26656]|0)==0?mz(26656)|0:0){k=27192;h=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(h|0))}k=c[H+4>>2]|0;if(!k){e=c[H>>2]|0;e=(e|0)==0?27192:e+180|0}else e=k+264|0;k=c[H+12+4>>2]|0;if(!k){k=c[H+12>>2]|0;if(!k)m=0.0;else{k=k+128|0;G=25}}else{k=k+344|0;G=25}if((G|0)==25)m=+g[k>>2];if((a[26656]|0)==0?mz(26656)|0:0){k=27192;h=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(h|0))}k=c[H+12+4>>2]|0;if(!k){k=c[H+12>>2]|0;k=(k|0)==0?27192:k+180|0}else k=k+264|0;V=+g[l+172>>2];N=+g[l+168>>2];M=+g[l+164>>2];U=+g[e>>2];T=+g[e+16>>2];S=+g[e+32>>2];R=+g[e+4>>2];Q=+g[e+20>>2];P=+g[e+36>>2];O=+g[e+8>>2];L=+g[e+24>>2];K=+g[e+40>>2];B=+g[l+188>>2];u=+g[l+184>>2];v=+g[l+180>>2];J=+g[k>>2];o=+g[k+16>>2];p=+g[k+32>>2];q=+g[k+4>>2];r=+g[k+20>>2];s=+g[k+36>>2];t=+g[k+8>>2];I=+g[k+24>>2];w=+g[k+40>>2];D=n-((U*0.0+T*-V+N*S)*0.0+V*(R*0.0+Q*-V+N*P)+(O*0.0+L*-V+N*K)*-N)+(m-((J*0.0+o*-B+u*p)*0.0+B*(q*0.0+r*-B+u*s)+(t*0.0+I*-B+u*w)*-u));F=0.0-((U*0.0+T*-V+N*S)*-V+(R*0.0+Q*-V+N*P)*0.0+M*(O*0.0+L*-V+N*K))+(0.0-((J*0.0+o*-B+u*p)*-B+(q*0.0+r*-B+u*s)*0.0+v*(t*0.0+I*-B+u*w)));y=0.0-(N*(U*0.0+T*-V+N*S)+(R*0.0+Q*-V+N*P)*-M+(O*0.0+L*-V+N*K)*0.0)+(0.0-(u*(J*0.0+o*-B+u*p)+(q*0.0+r*-B+u*s)*-v+(t*0.0+I*-B+u*w)*0.0));E=0.0-((V*U+T*0.0+S*-M)*0.0+V*(V*R+Q*0.0+P*-M)+(V*O+L*0.0+K*-M)*-N)+(0.0-((B*J+o*0.0+p*-v)*0.0+B*(B*q+r*0.0+s*-v)+(B*t+I*0.0+w*-v)*-u));C=n-((V*U+T*0.0+S*-M)*-V+(V*R+Q*0.0+P*-M)*0.0+M*(V*O+L*0.0+K*-M))+(m-((B*J+o*0.0+p*-v)*-B+(B*q+r*0.0+s*-v)*0.0+v*(B*t+I*0.0+w*-v)));z=0.0-(N*(V*U+T*0.0+S*-M)+(V*R+Q*0.0+P*-M)*-M+(V*O+L*0.0+K*-M)*0.0)+(0.0-(u*(B*J+o*0.0+p*-v)+(B*q+r*0.0+s*-v)*-v+(B*t+I*0.0+w*-v)*0.0));A=0.0-((U*-N+M*T+S*0.0)*0.0+V*(R*-N+M*Q+P*0.0)+(O*-N+M*L+K*0.0)*-N)+(0.0-((J*-u+v*o+p*0.0)*0.0+B*(q*-u+v*r+s*0.0)+(t*-u+v*I+w*0.0)*-u));B=0.0-((U*-N+M*T+S*0.0)*-V+(R*-N+M*Q+P*0.0)*0.0+M*(O*-N+M*L+K*0.0))+(0.0-((J*-u+v*o+p*0.0)*-B+(q*-u+v*r+s*0.0)*0.0+v*(t*-u+v*I+w*0.0)));w=n-(N*(U*-N+M*T+S*0.0)+(R*-N+M*Q+P*0.0)*-M+(O*-N+M*L+K*0.0)*0.0)+(m-(u*(J*-u+v*o+p*0.0)+(q*-u+v*r+s*0.0)*-v+(t*-u+v*I+w*0.0)*0.0));I=1.0/(y*(B*E-C*A)+(D*(C*w-z*B)+F*(z*A-w*E)));g[l+104>>2]=(C*w-z*B)*I;g[l+108>>2]=(B*y-w*F)*I;g[l+112>>2]=(z*F-C*y)*I;g[l+116>>2]=0.0;g[l+120>>2]=(z*A-w*E)*I;g[l+124>>2]=(w*D-A*y)*I;g[l+128>>2]=(E*y-z*D)*I;g[l+132>>2]=0.0;g[l+136>>2]=(B*E-C*A)*I;g[l+140>>2]=(A*F-B*D)*I;g[l+144>>2]=(C*D-E*F)*I;g[l+148>>2]=0.0;l=1;sa=H;return l|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;w=(a[b+180>>0]|0)==0;if(w?(a[b+48>>0]|0)!=0:0){r=+g[b+116>>2];h=+g[e>>2];J=+g[b+132>>2];f=+g[e+4>>2];K=+g[b+148>>2];z=+g[e+8>>2];s=+g[b+120>>2];H=+g[b+136>>2];I=+g[b+152>>2];t=+g[b+124>>2];G=+g[b+140>>2];u=+g[b+156>>2];x=+g[e+16>>2];y=+g[e+20>>2];A=+g[e+24>>2];F=+g[e+32>>2];v=+g[e+36>>2];B=+g[e+40>>2];m=+g[b+164>>2];i=+g[b+168>>2];E=+g[b+172>>2];D=+g[e+48>>2]+(h*m+f*i+z*E);C=x*m+y*i+A*E+ +g[e+52>>2];E=F*m+v*i+B*E+ +g[e+56>>2];g[b+824>>2]=r*h+J*f+K*z;g[b+828>>2]=h*s+f*H+z*I;g[b+832>>2]=h*t+f*G+z*u;g[b+836>>2]=0.0;g[b+840>>2]=r*x+J*y+K*A;g[b+844>>2]=s*x+H*y+I*A;g[b+848>>2]=t*x+G*y+u*A;g[b+852>>2]=0.0;g[b+856>>2]=r*F+J*v+K*B;g[b+860>>2]=s*F+H*v+I*B;g[b+864>>2]=t*F+G*v+u*B;g[b+868>>2]=0.0;g[b+872>>2]=D;g[b+876>>2]=C;g[b+880>>2]=E;g[b+884>>2]=0.0;E=+g[b+52>>2];C=+g[d>>2];D=+g[b+68>>2];B=+g[d+4>>2];u=+g[b+84>>2];v=+g[d+8>>2];G=+g[b+56>>2];F=+g[b+72>>2];t=+g[b+88>>2];I=+g[b+60>>2];H=+g[b+76>>2];s=+g[b+92>>2];K=+g[d+16>>2];J=+g[d+20>>2];r=+g[d+24>>2];A=+g[d+32>>2];y=+g[d+36>>2];x=+g[d+40>>2];z=+g[b+100>>2];f=+g[b+104>>2];h=+g[b+108>>2];k=b+856|0;l=b+840|0;i=K*z+J*f+r*h;m=I*A+H*y+s*x;n=G*A+F*y+t*x;o=E*A+D*y+u*x;p=I*K+H*J+s*r;q=G*K+F*J+t*r;r=E*K+D*J+u*r;s=C*I+B*H+v*s;t=C*G+B*F+v*t;u=E*C+D*B+u*v;v=C*z+B*f+v*h;f=A*z+y*f;h=x*h}else{r=+g[b+52>>2];h=+g[d>>2];y=+g[b+68>>2];f=+g[d+4>>2];x=+g[b+84>>2];I=+g[d+8>>2];s=+g[b+56>>2];A=+g[b+72>>2];z=+g[b+88>>2];t=+g[b+60>>2];B=+g[b+76>>2];u=+g[b+92>>2];K=+g[d+16>>2];J=+g[d+20>>2];H=+g[d+24>>2];C=+g[d+32>>2];v=+g[d+36>>2];G=+g[d+40>>2];m=+g[b+100>>2];i=+g[b+104>>2];D=+g[b+108>>2];E=+g[d+48>>2]+(h*m+f*i+I*D);F=K*m+J*i+H*D+ +g[d+52>>2];D=C*m+v*i+G*D+ +g[d+56>>2];g[b+824>>2]=r*h+y*f+x*I;g[b+828>>2]=h*s+f*A+I*z;g[b+832>>2]=h*t+f*B+I*u;g[b+836>>2]=0.0;g[b+840>>2]=r*K+y*J+x*H;g[b+844>>2]=s*K+A*J+z*H;g[b+848>>2]=t*K+B*J+u*H;g[b+852>>2]=0.0;g[b+856>>2]=r*C+y*v+x*G;g[b+860>>2]=s*C+A*v+z*G;g[b+864>>2]=t*C+B*v+u*G;g[b+868>>2]=0.0;g[b+872>>2]=E;g[b+876>>2]=F;g[b+880>>2]=D;g[b+884>>2]=0.0;D=+g[b+116>>2];F=+g[e>>2];E=+g[b+132>>2];G=+g[e+4>>2];u=+g[b+148>>2];v=+g[e+8>>2];B=+g[b+120>>2];C=+g[b+136>>2];t=+g[b+152>>2];z=+g[b+124>>2];A=+g[b+140>>2];s=+g[b+156>>2];x=+g[e+16>>2];y=+g[e+20>>2];r=+g[e+24>>2];H=+g[e+32>>2];J=+g[e+36>>2];K=+g[e+40>>2];I=+g[b+164>>2];f=+g[b+168>>2];h=+g[b+172>>2];k=b+856|0;l=b+840|0;i=x*I+y*f+r*h;m=z*H+A*J+s*K;n=B*H+C*J+t*K;o=D*H+E*J+u*K;p=z*x+A*y+s*r;q=B*x+C*y+t*r;r=D*x+E*y+u*r;s=F*z+G*A+v*s;t=F*B+G*C+v*t;u=D*F+E*G+u*v;v=F*I+G*f+v*h;d=e;f=H*I+J*f;h=K*h}K=+g[d+48>>2]+v;i=i+ +g[d+52>>2];f=f+h+ +g[d+56>>2];g[b+888>>2]=u;g[b+892>>2]=t;g[b+896>>2]=s;g[b+900>>2]=0.0;g[b+904>>2]=r;g[b+908>>2]=q;g[b+912>>2]=p;g[b+916>>2]=0.0;g[b+920>>2]=o;g[b+924>>2]=n;g[b+928>>2]=m;g[b+932>>2]=0.0;g[b+936>>2]=K;g[b+940>>2]=i;g[b+944>>2]=f;g[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[l>>2]|0;l=c[k>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=l;g[b+964>>2]=0.0;f=(c[j>>2]=d,+g[j>>2]);h=(c[j>>2]=e,+g[j>>2]);i=(c[j>>2]=l,+g[j>>2]);if(w?(a[b+48>>0]|0)==0:0){B=+g[b+968>>2];C=+g[b+972>>2];D=+g[b+976>>2];I=D-+g[b+992>>2];G=C-+g[b+988>>2];F=B-+g[b+984>>2];w=b+1016|0;g[w>>2]=F;w=b+1020|0;g[w>>2]=G;w=b+1024|0;g[w>>2]=I;w=b+1028|0;g[w>>2]=0.0;K=F*f;E=G*h;E=K+E;K=I*i;K=E+K;E=K*f;H=K*h;J=K*i;E=B+E;H=C+H;J=D+J;w=b+1e3|0;g[w>>2]=E;w=b+1004|0;g[w>>2]=H;w=b+1008|0;g[w>>2]=J;w=b+1012|0;g[w>>2]=0.0;w=b+1032|0;g[w>>2]=K;w=b+828|0;l=b+844|0;k=b+860|0;K=+g[w>>2];J=+g[l>>2];H=+g[k>>2];K=F*K;J=G*J;J=K+J;H=I*H;H=J+H;k=b+1036|0;g[k>>2]=H;k=b+832|0;l=b+848|0;w=b+864|0;H=+g[k>>2];J=+g[l>>2];K=+g[w>>2];H=F*H;J=G*J;J=H+J;K=I*K;K=J+K;w=b+1040|0;g[w>>2]=K;return}B=+g[b+968>>2];C=+g[b+972>>2];D=+g[b+976>>2];I=+g[b+992>>2]-D;G=+g[b+988>>2]-C;F=+g[b+984>>2]-B;w=b+1016|0;g[w>>2]=F;w=b+1020|0;g[w>>2]=G;w=b+1024|0;g[w>>2]=I;w=b+1028|0;g[w>>2]=0.0;K=F*f;E=G*h;E=K+E;K=I*i;K=E+K;E=K*f;H=K*h;J=K*i;E=B+E;H=C+H;J=D+J;w=b+1e3|0;g[w>>2]=E;w=b+1004|0;g[w>>2]=H;w=b+1008|0;g[w>>2]=J;w=b+1012|0;g[w>>2]=0.0;w=b+1032|0;g[w>>2]=K;w=b+828|0;l=b+844|0;k=b+860|0;K=+g[w>>2];J=+g[l>>2];H=+g[k>>2];K=F*K;J=G*J;J=K+J;H=I*H;H=J+H;k=b+1036|0;g[k>>2]=H;k=b+832|0;l=b+848|0;w=b+864|0;H=+g[k>>2];J=+g[l>>2];K=+g[w>>2];H=F*H;J=G*J;J=H+J;K=I*K;K=J+K;w=b+1040|0;g[w>>2]=K;return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0;t=sa;sa=sa+672|0;c[t+448+8>>2]=0;c[t+448+12>>2]=1065353216;c[t+448+16>>2]=1065353216;c[t+448+20>>2]=1065353216;g[t+448+24>>2]=0.0;c[t+448>>2]=9480;c[t+448+4>>2]=8;g[t+448+28>>2]=0.0;g[t+448+44>>2]=0.0;g[t+384>>2]=1.0;c[t+384+4>>2]=0;c[t+384+4+4>>2]=0;c[t+384+4+8>>2]=0;c[t+384+4+12>>2]=0;g[t+384+20>>2]=1.0;c[t+384+24>>2]=0;c[t+384+24+4>>2]=0;c[t+384+24+8>>2]=0;c[t+384+24+12>>2]=0;g[t+384+40>>2]=1.0;g[t+384+44>>2]=0.0;c[t+384+48>>2]=c[a>>2];c[t+384+48+4>>2]=c[a+4>>2];c[t+384+48+8>>2]=c[a+8>>2];c[t+384+48+12>>2]=c[a+12>>2];a=e;k=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(k|0));c[t+504>>2]=b;c[t+504+4>>2]=t+448;v=+g[d>>2];u=+g[d+16>>2];f=+g[d+32>>2];h=+g[d+4>>2];i=+g[d+20>>2];j=+g[d+36>>2];m=+g[d+8>>2];p=+g[d+24>>2];r=+g[d+40>>2];g[t+504+8>>2]=v+u*0.0+f*0.0;g[t+504+12>>2]=h+i*0.0+j*0.0;g[t+504+16>>2]=m+p*0.0+r*0.0;g[t+504+20>>2]=0.0;g[t+504+24>>2]=v*0.0+u+f*0.0;g[t+504+28>>2]=h*0.0+i+j*0.0;g[t+504+32>>2]=m*0.0+p+r*0.0;g[t+504+36>>2]=0.0;g[t+504+40>>2]=v*0.0+u*0.0+f;g[t+504+44>>2]=h*0.0+i*0.0+j;g[t+504+48>>2]=m*0.0+p*0.0+r;g[t+504+52>>2]=0.0;l=+g[t+384+48>>2]-+g[d+48>>2];n=+g[t+384+52>>2]-+g[d+52>>2];q=+g[t+384+56>>2]-+g[d+56>>2];g[t+504+56>>2]=v+u*0.0+f*0.0;g[t+504+60>>2]=v*0.0+u+f*0.0;g[t+504+64>>2]=v*0.0+u*0.0+f;g[t+504+68>>2]=0.0;g[t+504+72>>2]=h+i*0.0+j*0.0;g[t+504+76>>2]=h*0.0+i+j*0.0;g[t+504+80>>2]=h*0.0+i*0.0+j;g[t+504+84>>2]=0.0;g[t+504+88>>2]=m+p*0.0+r*0.0;g[t+504+92>>2]=m*0.0+p+r*0.0;g[t+504+96>>2]=m*0.0+p*0.0+r;g[t+504+100>>2]=0.0;g[t+504+104>>2]=l*v+n*u+q*f;g[t+504+108>>2]=l*h+n*i+q*j;g[t+504+112>>2]=l*m+n*p+q*r;g[t+504+116>>2]=0.0;c[t+504+120>>2]=81;c[t+504+124>>2]=0;c[t+364>>2]=0;c[t+128>>2]=0;c[t+128+4>>2]=0;c[t+128+8>>2]=0;c[t+128+12>>2]=0;c[t+376>>2]=2;c[t+368>>2]=0;g[t+144>>2]=0.0;c[t+648>>2]=1065353216;c[t+648+4>>2]=1065353216;c[t+648+8>>2]=1065353216;g[t+648+12>>2]=0.0;switch(Rb(t,t+504|0,t+648|0)|0){case 0:{a=c[t+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;f=0.0;p=0.0;n=0.0;h=0.0}else{s=0;f=0.0;i=0.0;j=0.0;h=0.0;n=0.0;p=0.0;do{r=+g[a+16+(s<<2)>>2];k=c[t+504+120>>2]|0;w=c[t+504+124>>2]|0;o=(c[t+504>>2]|0)+(1?w>>1:w)|0;if(w&1)k=c[(c[o>>2]|0)+k>>2]|0;Za[k&127](t+648|0,o,c[a+(s<<2)>>2]|0);f=f+r*+g[t+648>>2];i=i+r*+g[t+648+4>>2];j=j+r*+g[t+648+8>>2];a=c[(c[t+372>>2]|0)+(s<<2)>>2]|0;l=-+g[a>>2];m=-+g[a+4>>2];q=-+g[a+8>>2];a=c[t+504+120>>2]|0;w=c[t+504+124>>2]|0;k=(c[t+504+4>>2]|0)+(1?w>>1:w)|0;if(w&1)a=c[(c[k>>2]|0)+a>>2]|0;v=+g[t+504+24>>2]*l+ +g[t+504+28>>2]*m+ +g[t+504+32>>2]*q;u=+g[t+504+40>>2]*l+ +g[t+504+44>>2]*m+ +g[t+504+48>>2]*q;g[t+632>>2]=+g[t+504+8>>2]*l+ +g[t+504+12>>2]*m+ +g[t+504+16>>2]*q;g[t+632+4>>2]=v;g[t+632+8>>2]=u;g[t+632+12>>2]=0.0;Za[a&127](t+648|0,k,t+632|0);q=+g[t+648>>2];u=+g[t+648+4>>2];v=+g[t+648+8>>2];h=h+r*(q*+g[t+504+56>>2]+u*+g[t+504+60>>2]+v*+g[t+504+64>>2]+ +g[t+504+104>>2]);n=n+r*(q*+g[t+504+72>>2]+u*+g[t+504+76>>2]+v*+g[t+504+80>>2]+ +g[t+504+108>>2]);p=p+r*(q*+g[t+504+88>>2]+u*+g[t+504+92>>2]+v*+g[t+504+96>>2]+ +g[t+504+112>>2]);s=s+1|0;a=c[t+372>>2]|0}while(s>>>0<(c[a+32>>2]|0)>>>0)}q=f*+g[d>>2]+i*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];r=f*+g[d+16>>2]+i*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=f*+g[d+32>>2]+i*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=q;g[e+8>>2]=r;g[e+12>>2]=j;g[e+16>>2]=0.0;l=h*+g[d>>2]+n*+g[d+4>>2]+p*+g[d+8>>2]+ +g[d+48>>2];m=h*+g[d+16>>2]+n*+g[d+20>>2]+p*+g[d+24>>2]+ +g[d+52>>2];i=h*+g[d+32>>2]+n*+g[d+36>>2]+p*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=l;g[e+24>>2]=m;g[e+28>>2]=i;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+va[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[t+448+4>>2]|0){case 8:{h=+g[t+448+28>>2]*+g[t+448+12>>2];break}case 0:{h=+g[t+448+44>>2];break}case 1:{h=+g[t+448+44>>2];break}case 13:{h=+g[t+448+44>>2];break}case 11:{h=+g[t+448+44>>2];break}case 10:{h=+g[t+448+44>>2];break}case 4:case 5:{h=+g[t+448+44>>2];break}default:h=+va[c[(c[t+448>>2]|0)+48>>2]&15](t+448|0)}v=f+h;u=+x(+((l-q)*(l-q)+(m-r)*(m-r)+(i-j)*(i-j)));g[e+36>>2]=(l-q)*(1.0/u);g[e+40>>2]=(m-r)*(1.0/u);g[e+44>>2]=(i-j)*(1.0/u);g[e+48>>2]=0.0;g[e+4>>2]=v*(l-q)*(1.0/u)+ +g[e+4>>2];g[e+8>>2]=v*(m-r)*(1.0/u)+ +g[e+8>>2];g[e+12>>2]=v*(i-j)*(1.0/u)+ +g[e+12>>2];v=u-v;sa=t;return +v}case 1:{if(!(Ob(b,d,t+448|0,t+384|0,t+128|0,e,1)|0)){v=3402823466385288598117041.0e14;sa=t;return +v}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];i=+g[e+12>>2]-+g[e+28>>2];j=+x(+(f*f+h*h+i*i));if(j>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/j);g[e+40>>2]=h*(1.0/j);g[e+44>>2]=i*(1.0/j);g[e+48>>2]=0.0}v=-j;sa=t;return +v}default:{v=3402823466385288598117041.0e14;sa=t;return +v}}return 0.0}function mc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;q=sa;sa=sa+224|0;o=(a[b+28>>0]|0)!=0;n=o?e:d;o=o?d:e;p=c[n+4>>2]|0;if((c[p+68>>2]|0)!=(c[b+40>>2]|0)){j=c[b+12>>2]|0;if((j|0)>0){i=0;do{k=c[(c[b+20>>2]|0)+(i<<2)>>2]|0;if(k|0){Pa[c[c[k>>2]>>2]&511](k);l=c[b+4>>2]|0;Va[c[(c[l>>2]|0)+60>>2]&127](l,c[(c[b+20>>2]|0)+(i<<2)>>2]|0)}i=i+1|0}while((i|0)!=(j|0))}ug(b,d,e)}l=c[p+64>>2]|0;k=c[b+4>>2]|0;i=c[b+20>>2]|0;d=c[b+32>>2]|0;c[q+192>>2]=9e3;c[q+192+4>>2]=n;c[q+192+8>>2]=o;c[q+192+12>>2]=k;c[q+192+16>>2]=f;c[q+192+20>>2]=h;c[q+192+24>>2]=i;c[q+192+28>>2]=d;a[q+128+16>>0]=1;f=q+128+12|0;c[f>>2]=0;c[q+128+4>>2]=0;c[q+128+8>>2]=0;d=c[b+12>>2]|0;if((d|0)>0){k=0;while(1){i=c[i+(k<<2)>>2]|0;if(i){Va[c[(c[i>>2]|0)+16>>2]&127](i,q+128|0);i=c[q+128+4>>2]|0;if((i|0)>0){j=0;do{e=c[(c[f>>2]|0)+(j<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;i=c[e+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(d|0))re(e,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else re(e,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);c[h+4>>2]=0;i=c[q+128+4>>2]|0}j=j+1|0}while((j|0)<(i|0))}if((i|0)<0){if((c[q+128+8>>2]|0)<0){d=c[f>>2]|0;if(d|0){if(a[q+128+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[f>>2]=0}a[q+128+16>>0]=1;c[f>>2]=0;c[q+128+8>>2]=0}do{c[(c[f>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[q+128+4>>2]=0;d=c[b+12>>2]|0}i=k+1|0;if((i|0)>=(d|0))break;k=i;i=c[b+20>>2]|0}i=c[f>>2]|0;if(i|0){if(a[q+128+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[f>>2]=0}}if(!l){d=c[b+12>>2]|0;if((d|0)>0){i=0;do{ae(q+192|0,c[(c[p+24>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(d|0));m=40}}else{m=c[n+12>>2]|0;F=+g[m>>2];E=+g[m+16>>2];D=+g[m+32>>2];C=+g[m+4>>2];B=+g[m+20>>2];A=+g[m+36>>2];w=+g[m+8>>2];u=+g[m+24>>2];s=+g[m+40>>2];z=-+g[m+48>>2];y=-+g[m+52>>2];x=-+g[m+56>>2];m=c[o+12>>2]|0;O=+g[m>>2];N=+g[m+16>>2];M=+g[m+32>>2];L=+g[m+4>>2];K=+g[m+20>>2];J=+g[m+36>>2];I=+g[m+8>>2];H=+g[m+24>>2];G=+g[m+40>>2];v=+g[m+48>>2];t=+g[m+52>>2];r=+g[m+56>>2];g[q+48>>2]=F*O+E*N+D*M;g[q+48+4>>2]=F*L+E*K+D*J;g[q+48+8>>2]=F*I+E*H+D*G;g[q+48+12>>2]=0.0;g[q+48+16>>2]=C*O+B*N+A*M;g[q+48+20>>2]=C*L+B*K+A*J;g[q+48+24>>2]=C*I+B*H+A*G;g[q+48+28>>2]=0.0;g[q+48+32>>2]=w*O+u*N+s*M;g[q+48+36>>2]=w*L+u*K+s*J;g[q+48+40>>2]=w*I+u*H+s*G;g[q+48+44>>2]=0.0;g[q+48+48>>2]=F*z+E*y+D*x+(F*v+E*t+D*r);g[q+48+52>>2]=C*z+B*y+A*x+(C*v+B*t+A*r);g[q+48+56>>2]=w*z+u*y+s*x+(w*v+u*t+s*r);g[q+48+60>>2]=0.0;m=c[o+4>>2]|0;ab[c[(c[m>>2]|0)+8>>2]&127](m,q+48|0,q+128|0,q+112|0);c[q+16>>2]=c[q+128>>2];c[q+16+4>>2]=c[q+128+4>>2];c[q+16+8>>2]=c[q+128+8>>2];c[q+16+12>>2]=c[q+128+12>>2];c[q+16+16>>2]=c[q+112>>2];c[q+16+16+4>>2]=c[q+112+4>>2];c[q+16+16+8>>2]=c[q+112+8>>2];c[q+16+16+12>>2]=c[q+112+12>>2];le(c[l>>2]|0,q+16|0,q+192|0);m=40}if((m|0)==40)d=c[b+12>>2]|0;if((d|0)<=0){sa=q;return}e=0;do{do if(c[(c[b+20>>2]|0)+(e<<2)>>2]|0){l=c[p+24>>2]|0;m=c[l+(e*80|0)+64>>2]|0;h=c[n+12>>2]|0;u=+g[h>>2];v=+g[h+4>>2];w=+g[h+8>>2];x=+g[h+16>>2];y=+g[h+20>>2];z=+g[h+24>>2];G=+g[h+32>>2];I=+g[h+36>>2];K=+g[h+40>>2];A=+g[l+(e*80|0)>>2];B=+g[l+(e*80|0)+16>>2];C=+g[l+(e*80|0)+32>>2];D=+g[l+(e*80|0)+4>>2];E=+g[l+(e*80|0)+20>>2];F=+g[l+(e*80|0)+36>>2];H=+g[l+(e*80|0)+8>>2];J=+g[l+(e*80|0)+24>>2];L=+g[l+(e*80|0)+40>>2];s=+g[l+(e*80|0)+48>>2];t=+g[l+(e*80|0)+52>>2];O=+g[l+(e*80|0)+56>>2];M=+g[h+48>>2]+(u*s+v*t+w*O);N=+g[h+52>>2]+(x*s+y*t+z*O);O=+g[h+56>>2]+(G*s+I*t+K*O);g[q+128>>2]=u*A+v*B+w*C;g[q+128+4>>2]=u*D+v*E+w*F;g[q+128+8>>2]=u*H+v*J+w*L;g[q+128+12>>2]=0.0;g[q+128+16>>2]=x*A+y*B+z*C;g[q+128+20>>2]=x*D+y*E+z*F;g[q+128+24>>2]=x*H+y*J+z*L;g[q+128+28>>2]=0.0;g[q+128+32>>2]=G*A+I*B+K*C;g[q+128+36>>2]=G*D+I*E+K*F;g[q+128+40>>2]=G*H+I*J+K*L;g[q+128+44>>2]=0.0;g[q+128+48>>2]=M;g[q+128+52>>2]=N;g[q+128+56>>2]=O;g[q+128+60>>2]=0.0;ab[c[(c[m>>2]|0)+8>>2]&127](m,q+128|0,q+112|0,q+48|0);m=c[o+4>>2]|0;ab[c[(c[m>>2]|0)+8>>2]&127](m,c[o+12>>2]|0,q+16|0,q);if(!(+g[q+112>>2]>+g[q>>2])?!(+g[q+48>>2]<+g[q+16>>2]):0)i=1;else i=0;if(!(!(+g[q+112+8>>2]>+g[q+8>>2])?!(+g[q+48+8>>2]<+g[q+16+8>>2]):0))i=0;if(!(+g[q+112+4>>2]>+g[q+4>>2])?!(+g[q+48+4>>2]<+g[q+16+4>>2]|i^1):0)break;m=c[(c[b+20>>2]|0)+(e<<2)>>2]|0;Pa[c[c[m>>2]>>2]&511](m);m=c[b+4>>2]|0;Va[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+20>>2]|0)+(e<<2)>>2]|0);c[(c[b+20>>2]|0)+(e<<2)>>2]=0}while(0);e=e+1|0}while((e|0)<(d|0));sa=q;return}function nc(a,b,f,i){a=a|0;b=b|0;f=f|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;n=sa;sa=sa+80|0;m=Fa[c[(c[a>>2]|0)+28>>2]&127](a)|0;j=+g[a+4>>2];k=+g[a+8>>2];l=+g[a+12>>2];if((m|0)<=0){sa=n;return}i=0;do{kb[c[(c[a>>2]|0)+16>>2]&3](a,n+76|0,n+52|0,n+64|0,n+56|0,n+72|0,n+68|0,n+48|0,n+60|0,i);a:do switch(c[n+64>>2]|0){case 0:{switch(c[n+60>>2]|0){case 2:{if((c[n+48>>2]|0)<=0)break a;f=0;do{r=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;s=c[n+76>>2]|0;q=c[n+56>>2]|0;t=s+(J(q,c[r>>2]|0)|0)|0;p=k*+g[t+4>>2];o=l*+g[t+8>>2];g[n>>2]=j*+g[t>>2];g[n+4>>2]=p;g[n+8>>2]=o;g[n+12>>2]=0.0;t=s+(J(c[r+4>>2]|0,q)|0)|0;o=k*+g[t+4>>2];p=l*+g[t+8>>2];g[n+16>>2]=j*+g[t>>2];g[n+20>>2]=o;g[n+24>>2]=p;g[n+28>>2]=0.0;q=s+(J(c[r+8>>2]|0,q)|0)|0;p=k*+g[q+4>>2];o=l*+g[q+8>>2];g[n+32>>2]=j*+g[q>>2];g[n+36>>2]=p;g[n+40>>2]=o;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}case 3:{if((c[n+48>>2]|0)<=0)break a;f=0;do{t=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(J(s,e[t>>1]|0)|0)|0;o=k*+g[q+4>>2];p=l*+g[q+8>>2];g[n>>2]=j*+g[q>>2];g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;q=r+(J(s,e[t+2>>1]|0)|0)|0;p=k*+g[q+4>>2];o=l*+g[q+8>>2];g[n+16>>2]=j*+g[q>>2];g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;t=r+(J(s,e[t+4>>1]|0)|0)|0;o=k*+g[t+4>>2];p=l*+g[t+8>>2];g[n+32>>2]=j*+g[t>>2];g[n+36>>2]=o;g[n+40>>2]=p;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}case 5:{if((c[n+48>>2]|0)<=0)break a;f=0;do{t=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(J(s,d[t>>0]|0)|0)|0;o=k*+g[q+4>>2];p=l*+g[q+8>>2];g[n>>2]=j*+g[q>>2];g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;q=r+(J(s,d[t+1>>0]|0)|0)|0;p=k*+g[q+4>>2];o=l*+g[q+8>>2];g[n+16>>2]=j*+g[q>>2];g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;t=r+(J(s,d[t+2>>0]|0)|0)|0;o=k*+g[t+4>>2];p=l*+g[t+8>>2];g[n+32>>2]=j*+g[t>>2];g[n+36>>2]=o;g[n+40>>2]=p;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}default:break a}break}case 1:{switch(c[n+60>>2]|0){case 2:{if((c[n+48>>2]|0)<=0)break a;f=0;do{s=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;r=c[n+76>>2]|0;t=c[n+56>>2]|0;q=r+(J(t,c[s>>2]|0)|0)|0;o=k*+h[q+8>>3];p=l*+h[q+16>>3];g[n>>2]=j*+h[q>>3];g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;q=r+(J(c[s+4>>2]|0,t)|0)|0;p=k*+h[q+8>>3];o=l*+h[q+16>>3];g[n+16>>2]=j*+h[q>>3];g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;t=r+(J(c[s+8>>2]|0,t)|0)|0;o=k*+h[t+8>>3];p=l*+h[t+16>>3];g[n+32>>2]=j*+h[t>>3];g[n+36>>2]=o;g[n+40>>2]=p;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}case 3:{if((c[n+48>>2]|0)<=0)break a;f=0;do{t=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(J(s,e[t>>1]|0)|0)|0;o=k*+h[q+8>>3];p=l*+h[q+16>>3];g[n>>2]=j*+h[q>>3];g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;q=r+(J(s,e[t+2>>1]|0)|0)|0;p=k*+h[q+8>>3];o=l*+h[q+16>>3];g[n+16>>2]=j*+h[q>>3];g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;t=r+(J(s,e[t+4>>1]|0)|0)|0;o=k*+h[t+8>>3];p=l*+h[t+16>>3];g[n+32>>2]=j*+h[t>>3];g[n+36>>2]=o;g[n+40>>2]=p;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}case 5:{if((c[n+48>>2]|0)<=0)break a;f=0;do{t=(c[n+72>>2]|0)+(J(c[n+68>>2]|0,f)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(J(s,d[t>>0]|0)|0)|0;o=k*+h[q+8>>3];p=l*+h[q+16>>3];g[n>>2]=j*+h[q>>3];g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;q=r+(J(s,d[t+1>>0]|0)|0)|0;p=k*+h[q+8>>3];o=l*+h[q+16>>3];g[n+16>>2]=j*+h[q>>3];g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;t=r+(J(s,d[t+2>>0]|0)|0)|0;o=k*+h[t+8>>3];p=l*+h[t+16>>3];g[n+32>>2]=j*+h[t>>3];g[n+36>>2]=o;g[n+40>>2]=p;g[n+44>>2]=0.0;ab[c[(c[b>>2]|0)+8>>2]&127](b,n,i,f);f=f+1|0}while((f|0)<(c[n+48>>2]|0));break}default:break a}break}default:{}}while(0);Va[c[(c[a>>2]|0)+24>>2]&127](a,i);i=i+1|0}while((i|0)!=(m|0));sa=n;return}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,x=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];q=+g[a+20>>2];m=+g[a+40>>2];r=+g[a+24>>2];n=+g[a+36>>2];o=+g[a+32>>2];s=+g[a+16>>2];t=+g[a>>2];p=+g[a+4>>2];u=+g[a+8>>2];v=1.0/((q*m-r*n)*t+p*(r*o-m*s)+(n*s-q*o)*u);g[d>>2]=(q*m-r*n)*v;g[d+4>>2]=(n*u-m*p)*v;g[d+8>>2]=(r*p-q*u)*v;g[d+12>>2]=0.0;g[d+16>>2]=(r*o-m*s)*v;g[d+20>>2]=(m*t-o*u)*v;g[d+24>>2]=(s*u-r*t)*v;g[d+28>>2]=0.0;g[d+32>>2]=(n*s-q*o)*v;g[d+36>>2]=(o*p-n*t)*v;g[d+40>>2]=(q*t-s*p)*v;g[d+44>>2]=0.0;a:do if(!(c[6831]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{e=0;E=(q*t-s*p)*v;F=(q*m-r*n)*v;G=(r*o-m*s)*v;H=(n*s-q*o)*v;I=(n*u-m*p)*v;D=(m*t-o*u)*v;C=(o*p-n*t)*v;B=(r*p-q*u)*v;A=(s*u-r*t)*v;while(1){o=+w(+F);n=+w(+G);N=+w(+H);W=+w(+I);O=+w(+D);M=+w(+C);Q=+w(+B);P=+w(+A);x=+w(+E);R=o+n+N>W+O+M?o+n+N:W+O+M;O=o+W+Q>n+O+P?o+W+Q:n+O+P;n=+g[b>>2];W=+w(+n);o=+g[b+16>>2];T=+w(+o);p=+g[b+32>>2];K=+w(+p);q=+g[b+4>>2];V=+w(+q);r=+g[b+20>>2];S=+w(+r);s=+g[b+36>>2];J=+w(+s);t=+g[b+8>>2];U=+w(+t);u=+g[b+24>>2];L=+w(+u);v=+g[b+40>>2];z=+w(+v);m=W+T+K>V+S+J?W+T+K:V+S+J;m=m>U+L+z?m:U+L+z;L=W+V+U>T+S+L?W+V+U:T+S+L;x=(R>Q+P+x?R:Q+P+x)*(O>N+M+x?O:N+M+x);z=m*(L>K+J+z?L:K+J+z);if(x<1.1920928955078125e-07|z<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+y(+(x/z),.25);O=(n*(W+-2.0)+1.0/W*F)*.5;Q=(q*(W+-2.0)+1.0/W*G)*.5;S=(t*(W+-2.0)+1.0/W*H)*.5;P=(o*(W+-2.0)+1.0/W*I)*.5;R=(r*(W+-2.0)+1.0/W*D)*.5;T=(u*(W+-2.0)+1.0/W*C)*.5;U=(p*(W+-2.0)+1.0/W*B)*.5;V=(s*(W+-2.0)+1.0/W*A)*.5;W=(v*(W+-2.0)+1.0/W*E)*.5;g[b>>2]=n+O;g[b+4>>2]=q+Q;g[b+8>>2]=t+S;g[b+12>>2]=0.0;g[b+16>>2]=o+P;g[b+20>>2]=r+R;g[b+24>>2]=u+T;g[b+28>>2]=0.0;g[b+32>>2]=p+U;g[b+36>>2]=s+V;g[b+40>>2]=v+W;g[b+44>>2]=0.0;N=1.0/((t+S)*((o+P)*(s+V)-(r+R)*(p+U))+((n+O)*((r+R)*(v+W)-(u+T)*(s+V))+(q+Q)*((u+T)*(p+U)-(o+P)*(v+W))));F=((r+R)*(v+W)-(u+T)*(s+V))*N;I=((t+S)*(s+V)-(q+Q)*(v+W))*N;B=((q+Q)*(u+T)-(t+S)*(r+R))*N;G=((u+T)*(p+U)-(o+P)*(v+W))*N;D=((n+O)*(v+W)-(t+S)*(p+U))*N;A=((t+S)*(o+P)-(n+O)*(u+T))*N;H=((o+P)*(s+V)-(r+R)*(p+U))*N;C=((q+Q)*(p+U)-(n+O)*(s+V))*N;E=((n+O)*(r+R)-(q+Q)*(o+P))*N;g[d>>2]=F;g[d+4>>2]=I;g[d+8>>2]=B;g[d+12>>2]=0.0;g[d+16>>2]=G;g[d+20>>2]=D;g[d+24>>2]=A;g[d+28>>2]=0.0;g[d+32>>2]=H;g[d+36>>2]=C;g[d+40>>2]=E;g[d+44>>2]=0.0;U=+w(+O)+ +w(+P)+ +w(+U);V=+w(+Q)+ +w(+R)+ +w(+V);W=+w(+S)+ +w(+T)+ +w(+W);V=U>V?U:V;if((V>W?V:W)<=m*+g[6830])break;e=e+1|0;if(e>>>0>=(c[6831]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}M=+g[b>>2];O=+g[b+16>>2];Q=+g[b+32>>2];K=+g[b+4>>2];L=+g[b+20>>2];S=+g[b+36>>2];F=+g[b+8>>2];G=+g[b+24>>2];U=+g[b+40>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];H=+g[a+4>>2];I=+g[a+20>>2];J=+g[a+36>>2];C=+g[a+8>>2];D=+g[a+24>>2];E=+g[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);M=+g[k>>2];O=+g[b+16>>2];Q=+g[b+32>>2];K=+g[l>>2];L=+g[e>>2];S=+g[f>>2];F=+g[h>>2];G=+g[i>>2];U=+g[j>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];H=+g[a+4>>2];I=+g[a+20>>2];J=+g[a+36>>2];C=+g[a+8>>2];D=+g[a+24>>2];E=+g[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function pc(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;x=sa;sa=sa+128|0;a[d+60>>0]=f&1;if(f){s=+g[h>>2]+-1.0;t=+g[h+4>>2]+-1.0;u=+g[h+8>>2]+-1.0;g[d+4>>2]=s;g[d+8>>2]=t;g[d+12>>2]=u;g[d+16>>2]=0.0;q=+g[i>>2]+1.0;l=+g[i+4>>2]+1.0;v=+g[i+8>>2]+1.0;g[d+20>>2]=q;g[d+24>>2]=l;g[d+28>>2]=v;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(q-s);g[d+40>>2]=65533.0/(l-t);g[d+44>>2]=65533.0/(v-u);g[d+48>>2]=0.0;a[d+60>>0]=1;j=s+ +(~~((s-s)*(65533.0/(q-s)))&65535&-2&65535)/(65533.0/(q-s))+-1.0;o=t+ +(~~((t-t)*(65533.0/(l-t)))&65535&-2&65535)/(65533.0/(l-t))+-1.0;r=u+ +(~~((u-u)*(65533.0/(v-u)))&65535&-2&65535)/(65533.0/(v-u))+-1.0;if(j>2]=j;w=j}else w=s;if(o>2]=o;else o=t;if(r>2]=r;j=v-r}else{j=v-u;r=u}s=w+ +((~~(65533.0/(q-s)*(q-w)+1.0)&65535|1)&65535)/(65533.0/(q-s))+1.0;t=o+ +((~~(65533.0/(l-t)*(l-o)+1.0)&65535|1)&65535)/(65533.0/(l-t))+1.0;u=r+ +((~~(65533.0/(v-u)*j+1.0)&65535|1)&65535)/(65533.0/(v-u))+1.0;if(q>2]=s;q=s}if(l>2]=t;l=t}if(v>2]=u;j=u-r}g[d+36>>2]=65533.0/(q-w);g[d+40>>2]=65533.0/(l-o);g[d+44>>2]=65533.0/j;g[d+48>>2]=0.0;c[x+96>>2]=10928;c[x+96+4>>2]=d+104;c[x+96+8>>2]=d;ab[c[(c[e>>2]|0)+8>>2]&127](e,x+96|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[x+80>>2]=0;c[x+80+4>>2]=0;c[x+80+8>>2]=0;c[x+80+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;e=k}else{c[7182]=(c[7182]|0)+1;h=xb(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+128>>2]|0}if((e|0)>0){i=0;do{p=h+(i<<4)|0;n=(c[d+136>>2]|0)+(i<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];i=i+1|0}while((i|0)!=(e|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;i=d+136|0}else i=d+136|0;h=k;do{p=(c[i>>2]|0)+(h<<4)|0;c[p>>2]=c[x+80>>2];c[p+4>>2]=c[x+80+4>>2];c[p+8>>2]=c[x+80+8>>2];c[p+12>>2]=c[x+80+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[x+96>>2]=10948;c[x+96+4>>2]=d+64;c[x+80>>2]=-581039253;c[x+80+4>>2]=-581039253;c[x+80+8>>2]=-581039253;g[x+80+12>>2]=0.0;c[x+64>>2]=1566444395;c[x+64+4>>2]=1566444395;c[x+64+8>>2]=1566444395;g[x+64+12>>2]=0.0;ab[c[(c[e>>2]|0)+8>>2]&127](e,x+96|0,x+80|0,x+64|0);f=c[d+68>>2]|0;k=x;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));p=c[d+88>>2]|0;if((p|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;e=p}else{c[7182]=(c[7182]|0)+1;h=xb(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+88>>2]|0}if((e|0)>0){i=0;do{k=h+(i<<6)|0;m=(c[d+96>>2]|0)+(i<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(e|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;i=d+96|0}else i=d+96|0;h=p;do{k=(c[i>>2]|0)+(h<<6)|0;m=x;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;Ib(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[7182]=(c[7182]|0)+1;f=xb(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}h=c[d+152>>2]|0;if((h|0)>0){f=0;do{p=e+(f<<5)|0;n=(c[d+160>>2]|0)+(f<<5)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;i=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;i=1;f=c[d+160>>2]|0}c[d+152>>2]=i;c[f>>2]=c[x+96>>2];c[f+4>>2]=c[x+96+4>>2];c[f+8>>2]=c[x+96+8>>2];c[f+12>>2]=c[x+96+12>>2];c[f+16>>2]=c[x+96+16>>2];c[f+20>>2]=c[x+96+20>>2];c[f+24>>2]=c[x+96+24>>2];c[f+28>>2]=c[x+96+28>>2];p=c[h>>2]|0;n=c[d+136>>2]|0;b[p>>1]=b[n>>1]|0;b[p+2>>1]=b[n+2>>1]|0;b[p+4>>1]=b[n+4>>1]|0;b[p+6>>1]=b[n+6>>1]|0;b[p+8>>1]=b[n+8>>1]|0;b[p+10>>1]=b[n+10>>1]|0;c[p+12>>2]=0;n=c[n+12>>2]|0;c[p+16>>2]=(n|0)>-1?1:0-n|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;sa=x;return}if(a[d+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;sa=x;return}function qc(b,d,e,f,h,i,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=(N|0)==0?1:N<<1,(N|0)<(t|0)):0){if(!t){p=0;r=N}else{c[7182]=(c[7182]|0)+1;p=xb((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[b+68>>2]|0}if((r|0)>0){q=0;do{Bh(p+(q*152|0)|0,(c[b+76>>2]|0)+(q*152|0)|0,152)|0;q=q+1|0}while((q|0)!=(r|0))}q=c[b+76>>2]|0;if(q|0){if(a[b+80>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[q+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=p;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;r=c[b+16>>2]|0;p=c[r+(e*244|0)+240>>2]|0;t=c[r+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;L=(c[j>>2]=q,+g[j>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];K=+g[k+4>>2];D=+g[M+(N*152|0)+24>>2];H=+g[k+8>>2];I=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];J=+g[k>>2];g[M+(N*152|0)>>2]=K*D-H*I;g[M+(N*152|0)+4>>2]=H*E-D*J;g[M+(N*152|0)+8>>2]=I*J-K*E;g[M+(N*152|0)+12>>2]=0.0;v=((K*D-H*I)*+g[p+264>>2]+(H*E-D*J)*+g[p+268>>2]+(I*J-K*E)*+g[p+272>>2])*+g[p+544>>2];s=((K*D-H*I)*+g[p+280>>2]+(H*E-D*J)*+g[p+284>>2]+(I*J-K*E)*+g[p+288>>2])*+g[p+548>>2];u=((K*D-H*I)*+g[p+296>>2]+(H*E-D*J)*+g[p+300>>2]+(I*J-K*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=s;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=I;B=D;C=K*D-H*I;D=H*E-D*J;E=I*J-K*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;s=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){K=-+g[d>>2];P=-+g[d+4>>2];J=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=K;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=J;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*J-R*P;g[M+(N*152|0)+36>>2]=R*K-Q*J;g[M+(N*152|0)+40>>2]=Q*P-O*K;g[M+(N*152|0)+44>>2]=0.0;w=((O*J-R*P)*+g[t+264>>2]+(R*K-Q*J)*+g[t+268>>2]+(Q*P-O*K)*+g[t+272>>2])*+g[t+544>>2];x=((O*J-R*P)*+g[t+280>>2]+(R*K-Q*J)*+g[t+284>>2]+(Q*P-O*K)*+g[t+288>>2])*+g[t+548>>2];y=((O*J-R*P)*+g[t+296>>2]+(R*K-Q*J)*+g[t+300>>2]+(Q*P-O*K)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;F=K;G=P;H=J;I=O*J-R*P;J=R*K-Q*J;K=Q*P-O*K}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}if(p|0){P=+g[k+8>>2];Q=+g[k+4>>2];R=+g[k>>2];u=+g[p+344>>2]+((s*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-s*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;s=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];s=+g[t+344>>2]+((O*s-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*s)*+g[d+8>>2])}else s=0.0;x=m/(u+s);g[M+(N*152|0)+108>>2]=x;if(p|0){u=+g[r+(e*244|0)+192>>2];v=+g[r+(e*244|0)+196>>2];w=+g[r+(e*244|0)+200>>2];s=(+g[r+(e*244|0)+176>>2]+ +g[r+(e*244|0)+208>>2])*z+(+g[r+(e*244|0)+180>>2]+ +g[r+(e*244|0)+212>>2])*A+(+g[r+(e*244|0)+184>>2]+ +g[r+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;s=z*0.0+A*0.0+B*0.0}s=s+(u*C+v*D+w*E);if(t|0){O=+g[r+(f*244|0)+192>>2];P=+g[r+(f*244|0)+196>>2];R=+g[r+(f*244|0)+200>>2];Q=(+g[r+(f*244|0)+176>>2]+ +g[r+(f*244|0)+208>>2])*F+(+g[r+(f*244|0)+180>>2]+ +g[r+(f*244|0)+212>>2])*G+(+g[r+(f*244|0)+184>>2]+ +g[r+(f*244|0)+216>>2])*H;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{O=0.0;P=0.0;R=0.0;Q=F*0.0+G*0.0+H*0.0;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function rc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0;ea=sa;sa=sa+32|0;J=c[b+4>>2]|0;a[J+312>>0]=0;c[J>>2]=0;a[J+356>>0]=1;c[J+292>>2]=1566444395;c[J+296>>2]=1566444395;c[J+300>>2]=1566444395;g[J+304>>2]=0.0;c[J+336>>2]=0;c[J+336+4>>2]=0;c[J+336+8>>2]=0;c[J+336+12>>2]=0;a[J+336+16>>0]=0;a[J+332>>0]=a[J+332>>0]&-16;o=+g[d+48>>2];q=+g[d+52>>2];t=+g[d+56>>2];n=+g[f+48>>2];p=+g[f+52>>2];s=+g[f+56>>2];L=+g[d>>2];X=+g[d+4>>2];Z=+g[d+8>>2];$=+g[d+16>>2];N=+g[d+20>>2];P=+g[d+24>>2];R=+g[d+32>>2];T=+g[d+36>>2];V=+g[d+40>>2];K=+g[f>>2];W=+g[f+4>>2];Y=+g[f+8>>2];_=+g[f+16>>2];M=+g[f+20>>2];O=+g[f+24>>2];Q=+g[f+32>>2];S=+g[f+36>>2];U=+g[f+40>>2];ba=+g[e+48>>2]-o-(+g[h+48>>2]-n);ca=+g[e+52>>2]-q-(+g[h+52>>2]-p);da=+g[e+56>>2]-t-(+g[h+56>>2]-s);J=c[b+8>>2]|0;z=c[(c[J>>2]|0)+64>>2]|0;g[ea>>2]=L*-ba+$*-ca+R*-da;g[ea+4>>2]=X*-ba+N*-ca+T*-da;g[ea+8>>2]=Z*-ba+P*-ca+V*-da;g[ea+12>>2]=0.0;Za[z&127](ea+16|0,J,ea);H=+g[ea+16>>2];I=+g[ea+16+4>>2];G=+g[ea+16+8>>2];l=H*+g[d>>2]+I*+g[d+4>>2]+G*+g[d+8>>2]+ +g[d+48>>2];v=H*+g[d+16>>2]+I*+g[d+20>>2]+G*+g[d+24>>2]+ +g[d+52>>2];G=H*+g[d+32>>2]+I*+g[d+36>>2]+G*+g[d+40>>2]+ +g[d+56>>2];J=c[b+12>>2]|0;z=c[(c[J>>2]|0)+64>>2]|0;I=ba*+g[f+4>>2]+ca*+g[f+20>>2]+da*+g[f+36>>2];H=ba*+g[f+8>>2]+ca*+g[f+24>>2]+da*+g[f+40>>2];g[ea>>2]=ba*+g[f>>2]+ca*+g[f+16>>2]+da*+g[f+32>>2];g[ea+4>>2]=I;g[ea+8>>2]=H;g[ea+12>>2]=0.0;Za[z&127](ea+16|0,J,ea);H=+g[ea+16>>2];I=+g[ea+16+4>>2];m=+g[ea+16+8>>2];l=l-(H*+g[f>>2]+I*+g[f+4>>2]+m*+g[f+8>>2]+ +g[f+48>>2]);v=v-(H*+g[f+16>>2]+I*+g[f+20>>2]+m*+g[f+24>>2]+ +g[f+52>>2]);m=G-(H*+g[f+32>>2]+I*+g[f+36>>2]+m*+g[f+40>>2]+ +g[f+56>>2]);a:do if(l*l+v*v+m*m>9.999999747378752e-05){k=0.0;J=32;I=l;j=0;H=m;r=0;A=n;n=0.0;m=0.0;l=0.0;while(1){if(!J)break a;J=J+-1|0;z=c[b+8>>2]|0;w=c[(c[z>>2]|0)+64>>2]|0;D=-I;fa=-v;y=-H;g[ea>>2]=L*D+$*fa+R*y;g[ea+4>>2]=X*D+N*fa+T*y;g[ea+8>>2]=Z*D+P*fa+V*y;g[ea+12>>2]=0.0;Za[w&127](ea+16|0,z,ea);y=+g[ea+16>>2];fa=+g[ea+16+4>>2];D=+g[ea+16+8>>2];B=o+(L*y+X*fa+Z*D);C=q+($*y+N*fa+P*D);D=t+(R*y+T*fa+V*D);z=c[b+12>>2]|0;w=c[(c[z>>2]|0)+64>>2]|0;g[ea>>2]=K*I+_*v+Q*H;g[ea+4>>2]=W*I+M*v+S*H;g[ea+8>>2]=Y*I+O*v+U*H;g[ea+12>>2]=0.0;Za[w&127](ea+16|0,z,ea);fa=+g[ea+16>>2];y=+g[ea+16+4>>2];G=+g[ea+16+8>>2];E=A+(K*fa+W*y+Y*G);F=p+(_*fa+M*y+O*G);G=s+(Q*fa+S*y+U*G);y=(B-E)*I+(C-F)*v+(D-G)*H;if(k>1.0){j=0;aa=24;break}if(y>0.0){l=ba*I+ca*v+da*H;if(l>=-1.4210854715202004e-14){j=0;aa=24;break}t=k-y/l;k=t;j=r;A=(1.0-t)*+g[f+48>>2]+t*+g[h+48>>2];o=(1.0-t)*+g[d+48>>2]+t*+g[e+48>>2];p=(1.0-t)*+g[f+52>>2]+t*+g[h+52>>2];q=(1.0-t)*+g[d+52>>2]+t*+g[e+52>>2];s=(1.0-t)*+g[f+56>>2]+t*+g[h+56>>2];t=(1.0-t)*+g[d+56>>2]+t*+g[e+56>>2];l=I;m=v;n=H}r=c[b+4>>2]|0;z=c[r>>2]|0;if((z|0)>0){v=+g[r+308>>2];w=0;u=0;do{H=B-E-+g[r+4+(w<<4)>>2];I=C-F-+g[r+4+(w<<4)+4>>2];fa=D-G-+g[r+4+(w<<4)+8>>2];u=u|H*H+I*I+fa*fa<=v;w=w+1|0}while((w|0)!=(z|0))}else u=0;if((+g[r+304>>2]==0.0?D-G==+g[r+300>>2]:0)?C-F==+g[r+296>>2]:0){if(!(B-E==+g[r+292>>2]|u))aa=16}else if(!u)aa=16;if((aa|0)==16){aa=0;g[r+292>>2]=B-E;g[r+296>>2]=C-F;g[r+300>>2]=D-G;g[r+304>>2]=0.0;a[r+356>>0]=1;g[r+4+(z<<4)>>2]=B-E;g[r+4+(z<<4)+4>>2]=C-F;g[r+4+(z<<4)+8>>2]=D-G;g[r+4+(z<<4)+12>>2]=0.0;z=c[r>>2]|0;g[r+84+(z<<4)>>2]=B;g[r+84+(z<<4)+4>>2]=C;g[r+84+(z<<4)+8>>2]=D;g[r+84+(z<<4)+12>>2]=0.0;z=c[r>>2]|0;g[r+164+(z<<4)>>2]=E;g[r+164+(z<<4)+4>>2]=F;g[r+164+(z<<4)+8>>2]=G;g[r+164+(z<<4)+12>>2]=0.0;c[r>>2]=(c[r>>2]|0)+1;r=c[b+4>>2]|0}z=Ab(r)|0;I=+g[r+276>>2];v=+g[r+280>>2];H=+g[r+284>>2];if(!z)break a;if(!(I*I+v*v+H*H>9.999999747378752e-05))break a;else r=c[r+288>>2]|0}if((aa|0)==24){sa=ea;return j|0}}else{k=0.0;n=0.0;m=0.0;l=0.0;j=0}while(0);g[i+164>>2]=k;k=l*l+m*m+n*n;if(!(k>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;k=0.0;l=0.0;m=0.0}else{fa=1.0/+x(+k);k=l*fa;l=m*fa;m=n*fa;g[i+132>>2]=k;g[i+136>>2]=l;g[i+140>>2]=m;c[i+144>>2]=j}if(ba*k+ca*l+da*m>=-+g[i+172>>2]){i=0;sa=ea;return i|0}b=c[b+4>>2]|0;Ab(b)|0;fp(i+148|0,b+260|0,16)|0;i=1;sa=ea;return i|0}function sc(b,d,e,f,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0;if((j|0)<2|(k|0)<2){m=0;return m|0}w=J(k,j)|0;c[7182]=(c[7182]|0)+1;b=xb(w>>>0>268435455?18:(w<<4|3)+16|0)|0;if(!b)y=0;else{c[(b+4+15&-16)+-4>>2]=b;y=b+4+15&-16}z=CI(w>>>0>1073741823?-1:w<<2)|0;b=0;do{C=+(b|0)/+(k+-1|0);q=+g[e>>2];q=q+C*(+g[h>>2]-q);r=+g[e+4>>2];r=r+C*(+g[h+4>>2]-r);s=+g[e+8>>2];s=s+C*(+g[h+8>>2]-s);t=+g[f>>2];u=+g[f+4>>2];v=+g[f+8>>2];t=t+C*(+g[i>>2]-t)-q;u=u+C*(+g[i+4>>2]-u)-r;v=v+C*(+g[i+8>>2]-v)-s;p=J(b,j)|0;o=0;do{C=+(o|0)/+(j+-1|0);B=o+p|0;g[y+(B<<4)>>2]=q+t*C;g[y+(B<<4)+4>>2]=r+u*C;g[y+(B<<4)+8>>2]=s+v*C;g[y+(B<<4)+12>>2]=0.0;g[z+(B<<2)>>2]=1.0;o=o+1|0}while((o|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0));c[7182]=(c[7182]|0)+1;b=xb(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Hb(b,d,w,y,z);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){B=J(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){B=j+-1+(J(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){g[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){B=J((k+-1|0)/2|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){B=j+-1+(J((k+-1|0)/2|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){B=(J(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&256)){A=b+720|0;B=b+924|0}else{B=(J((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;A=b+720|0;g[(c[A>>2]|0)+(B*104|0)+88>>2]=0.0;B=b+924|0;a[B>>0]=1}c[7183]=(c[7183]|0)+1;Hc(c[y+-4>>2]|0);DI(z);z=b+732|0;l=b+740|0;o=0;d=0;do{p=d;d=d+1|0;a:do if((j|0)>0){y=J(p,j)|0;w=J(d,j)|0;r=1.0/+(k+-1|0)*+(k+-1-p|0);q=1.0/+(k+-1|0)*+(k+-2-p|0);if((d|0)>=(k|0)){p=0;while(1){e=p;p=p+1|0;if((p|0)<(j|0)){h=p+y|0;f=c[A>>2]|0;oh(b,0);w=(c[z>>2]|0)+-1|0;i=c[l>>2]|0;c[i+(w*52|0)+8>>2]=f+((e+y|0)*104|0);c[i+(w*52|0)+12>>2]=f+(h*104|0);u=+g[f+((e+y|0)*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];v=+g[f+((e+y|0)*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];C=+g[f+((e+y|0)*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[i+(w*52|0)+16>>2]=+x(+(u*u+v*v+C*C));a[B>>0]=1}if((p|0)==(j|0))break a}}i=0;do{p=i;i=i+1|0;e=i+y|0;f=i+w|0;h=c[A>>2]|0;if((i|0)<(j|0)){oh(b,0);E=(c[z>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+y|0)*104|0);c[D+(E*52|0)+12>>2]=h+(e*104|0);C=+g[h+((p+y|0)*104|0)+8>>2]-+g[h+(e*104|0)+8>>2];v=+g[h+((p+y|0)*104|0)+12>>2]-+g[h+(e*104|0)+12>>2];u=+g[h+((p+y|0)*104|0)+16>>2]-+g[h+(e*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+x(+(C*C+v*v+u*u));a[B>>0]=1;E=c[A>>2]|0;oh(b,0);h=(c[z>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(h*52|0)+8>>2]=E+((p+y|0)*104|0);c[D+(h*52|0)+12>>2]=E+((p+w|0)*104|0);u=+g[E+((p+y|0)*104|0)+8>>2]-+g[E+((p+w|0)*104|0)+8>>2];v=+g[E+((p+y|0)*104|0)+12>>2]-+g[E+((p+w|0)*104|0)+12>>2];C=+g[E+((p+y|0)*104|0)+16>>2]-+g[E+((p+w|0)*104|0)+16>>2];g[D+(h*52|0)+16>>2]=+x(+(u*u+v*v+C*C));a[B>>0]=1;mf(b,p+y|0,p+w|0,f,0);if(!n)mf(b,f,e,p+y|0,0);else{C=1.0/+(j+-1|0)*+(p|0);g[n+(o<<2)>>2]=C;g[n+(o+1<<2)>>2]=r;g[n+(o+2<<2)>>2]=C;g[n+(o+3<<2)>>2]=q;v=1.0/+(j+-1|0)*+(i|0);g[n+(o+4<<2)>>2]=v;g[n+(o+5<<2)>>2]=q;mf(b,f,e,p+y|0,0);g[n+(o+6<<2)>>2]=v;g[n+(o+7<<2)>>2]=q;g[n+(o+8<<2)>>2]=v;g[n+(o+9<<2)>>2]=r;g[n+(o+10<<2)>>2]=C;g[n+(o+11<<2)>>2]=r}if(m){h=c[A>>2]|0;oh(b,0);E=(c[z>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+y|0)*104|0);c[D+(E*52|0)+12>>2]=h+(f*104|0);u=+g[h+((p+y|0)*104|0)+8>>2]-+g[h+(f*104|0)+8>>2];v=+g[h+((p+y|0)*104|0)+12>>2]-+g[h+(f*104|0)+12>>2];C=+g[h+((p+y|0)*104|0)+16>>2]-+g[h+(f*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+x(+(u*u+v*v+C*C));a[B>>0]=1}o=o+12|0}else{oh(b,0);E=(c[z>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+y|0)*104|0);c[D+(E*52|0)+12>>2]=h+((p+w|0)*104|0);u=+g[h+((p+y|0)*104|0)+8>>2]-+g[h+((p+w|0)*104|0)+8>>2];v=+g[h+((p+y|0)*104|0)+12>>2]-+g[h+((p+w|0)*104|0)+12>>2];C=+g[h+((p+y|0)*104|0)+16>>2]-+g[h+((p+w|0)*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+x(+(u*u+v*v+C*C));a[B>>0]=1}}while((i|0)!=(j|0))}while(0)}while((d|0)!=(k|0));return b|0}function tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,G=0.0,H=0.0,I=0.0,J=0.0;B=+g[b+48>>2];i=+g[d>>2];C=+g[b+64>>2];j=+g[d+4>>2];J=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];I=+g[b+72>>2];y=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];H=+g[d+32>>2];E=+g[d+36>>2];G=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];A=+g[b+104>>2];z=+g[d+48>>2]+(i*k+j*h+p*A);f=v*k+u*h+t*A+ +g[d+52>>2];A=H*k+E*h+G*A+ +g[d+56>>2];g[b+1064>>2]=B*i+C*j+J*p;g[b+1068>>2]=i*s+j*r+p*q;g[b+1072>>2]=i*w+j*I+p*y;g[b+1076>>2]=0.0;g[b+1080>>2]=B*v+C*u+J*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+I*u+y*t;g[b+1092>>2]=0.0;g[b+1096>>2]=B*H+C*E+J*G;g[b+1100>>2]=s*H+r*E+q*G;g[b+1104>>2]=w*H+I*E+y*G;g[b+1108>>2]=0.0;g[b+1112>>2]=z;g[b+1116>>2]=f;g[b+1120>>2]=A;g[b+1124>>2]=0.0;A=+g[b+112>>2];f=+g[e>>2];z=+g[b+128>>2];G=+g[e+4>>2];y=+g[b+144>>2];E=+g[e+8>>2];I=+g[b+116>>2];H=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];J=+g[e+16>>2];C=+g[e+20>>2];B=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(f*p+G*j+E*i);k=J*p+C*j+B*i+ +g[e+52>>2];i=t*p+u*j+v*i+ +g[e+56>>2];g[b+1128>>2]=A*f+z*G+y*E;g[b+1132>>2]=f*I+G*H+E*w;g[b+1136>>2]=f*q+G*r+E*s;g[b+1140>>2]=0.0;g[b+1144>>2]=A*J+z*C+y*B;g[b+1148>>2]=I*J+H*C+w*B;g[b+1152>>2]=q*J+r*C+s*B;g[b+1156>>2]=0.0;g[b+1160>>2]=A*t+z*u+y*v;g[b+1164>>2]=I*t+H*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=h;g[b+1180>>2]=k;g[b+1184>>2]=i;g[b+1188>>2]=0.0;h=h-+g[b+1112>>2];k=k-+g[b+1116>>2];i=i-+g[b+1120>>2];w=+g[b+1084>>2];H=+g[b+1104>>2];I=+g[b+1088>>2];y=+g[b+1100>>2];z=+g[b+1096>>2];A=+g[b+1080>>2];B=+g[b+1064>>2];C=+g[b+1068>>2];J=+g[b+1072>>2];E=1.0/((w*H-I*y)*B+C*(I*z-H*A)+(y*A-w*z)*J);G=(y*A-w*z)*E;f=i*(I*C-w*J)*E+(h*(w*H-I*y)*E+k*(y*J-H*C)*E);j=i*(A*J-I*B)*E+(h*(I*z-H*A)*E+k*(H*B-z*J)*E);k=i*(w*B-A*C)*E+(h*G+k*(z*C-y*B)*E);g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;f=f-h;break}if(i>2]=1;f=f-i;break}else{c[b+856>>2]=0;f=0.0;break}}else{c[b+856>>2]=0;f=0.0}while(0);g[b+824>>2]=f;g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;f=j-f;break}if(h>2]=1;f=j-h;break}else{c[b+860>>2]=0;f=0.0;break}}else{c[b+860>>2]=0;f=0.0}while(0);g[b+828>>2]=f;g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;f=k-f;break}if(h>2]=1;f=k-h;break}else{c[b+864>>2]=0;f=0.0;break}}else{c[b+864>>2]=0;f=0.0}while(0);g[b+832>>2]=f;n=+g[b+1128>>2];o=+g[b+1144>>2];p=+g[b+1160>>2];h=+g[b+1132>>2];i=+g[b+1148>>2];j=+g[b+1164>>2];k=(w*H-I*y)*E*h+(y*J-H*C)*E*i+(I*C-w*J)*E*j;l=h*(I*z-H*A)*E+(H*B-z*J)*E*i+(A*J-I*B)*E*j;m=p*(w*B-A*C)*E+(n*G+o*(z*C-y*B)*E);f=G*+g[b+1136>>2]+(z*C-y*B)*E*+g[b+1152>>2]+(w*B-A*C)*E*(q*t+r*u+s*v);do if(m<1.0)if(m>-1.0){g[b+1192>>2]=+F(+-(h*G+(z*C-y*B)*E*i+(w*B-A*C)*E*j),+f);f=m<-1.0?-1.0:m;g[b+1196>>2]=+D(+(f>1.0?1.0:f));f=+F(+-(p*(A*J-I*B)*E+(n*(I*z-H*A)*E+o*(H*B-z*J)*E)),+(p*(I*C-w*J)*E+(n*(w*H-I*y)*E+o*(y*J-H*C)*E)));break}else{g[b+1192>>2]=-+F(+k,+l);g[b+1196>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1192>>2]=+F(+k,+l);g[b+1196>>2]=1.5707963705062866;f=0.0}while(0);g[b+1200>>2]=f;g[b+1236>>2]=0.0;y=H*(n*H-p*J)-I*(o*J-n*I);z=J*(o*J-n*I)-H*(p*I-o*H);A=I*(p*I-o*H)-J*(n*H-p*J);g[b+1220>>2]=0.0;C=o*(o*J-n*I)-p*(n*H-p*J);E=p*(p*I-o*H)-n*(o*J-n*I);G=n*(n*H-p*J)-o*(p*I-o*H);g[b+1252>>2]=0.0;B=1.0/+x(+(y*y+z*z+A*A));g[b+1208>>2]=y*B;g[b+1212>>2]=z*B;g[b+1216>>2]=A*B;B=1.0/+x(+((o*J-n*I)*(o*J-n*I)+((n*H-p*J)*(n*H-p*J)+(p*I-o*H)*(p*I-o*H))));g[b+1224>>2]=(p*I-o*H)*B;g[b+1228>>2]=(n*H-p*J)*B;g[b+1232>>2]=(o*J-n*I)*B;J=1.0/+x(+(C*C+E*E+G*G));g[b+1240>>2]=C*J;g[b+1244>>2]=E*J;g[b+1248>>2]=G*J;if(!(a[b+1301>>0]|0))return;I=+g[(c[b+28>>2]|0)+344>>2];J=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(I<1.1920928955078125e-07|J<1.1920928955078125e-07)&1;J=I+J>0.0?J/(I+J):.5;g[b+1272>>2]=J;g[b+1276>>2]=1.0-J;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=sa;sa=sa+32|0;uf(b+4|0,((J(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){o=((J(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;uf(b+64|0,o);o=(c[b+164>>2]|0)-o|0;c[b+164>>2]=(o|0)>0?o:0}f=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=f;f=c[b+124+(f<<2)>>2]|0;if(f|0){do{j=f+56|0;l=f;f=c[j>>2]|0;h=c[l+52>>2]|0;if(!h)h=b+124+(c[l+60>>2]<<2)|0;else h=h+56|0;c[h>>2]=f;h=c[j>>2]|0;if(h|0)c[h+52>>2]=c[l+52>>2];c[l+52>>2]=0;c[j>>2]=c[b+132>>2];h=c[b+132>>2]|0;if(h|0)c[h+52>>2]=l;c[b+132>>2]=l;h=c[l+48>>2]|0;sg(b+4|0,h)|0;j=c[b+8>>2]|0;if(j|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[b+8>>2]=h;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[q>>2]=c[l+16>>2];c[q+4>>2]=c[l+16+4>>2];c[q+8>>2]=c[l+16+8>>2];c[q+12>>2]=c[l+16+12>>2];c[q+16>>2]=c[l+32>>2];c[q+16+4>>2]=c[l+32+4>>2];c[q+16+8>>2]=c[l+32+8>>2];c[q+16+12>>2]=c[l+32+12>>2];h=c[b+68>>2]|0;if(!h){c[7182]=(c[7182]|0)+1;h=xb(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=h;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+68>>2]=0;c[h+32>>2]=0;c[h+36>>2]=l;c[h+40>>2]=0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[h+16>>2]=c[q+16>>2];c[h+20>>2]=c[q+20>>2];c[h+24>>2]=c[q+24>>2];c[h+28>>2]=c[q+28>>2];ue(b+64|0,c[b+64>>2]|0,h);j=(c[b+76>>2]|0)+1|0;c[b+76>>2]=j;c[l+48>>2]=h;c[l+60>>2]=2}while((f|0)!=0);c[b+164>>2]=j;a[b+194>>0]=1}c[q>>2]=11812;c[q+4>>2]=b;if(a[b+193>>0]|0?(zd(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,q),a[b+193>>0]|0):0){o=c[b+4>>2]|0;zd(b+4|0,o,o,q)}if(a[b+194>>0]|0?(m=c[b+136>>2]|0,m=Fa[c[(c[m>>2]|0)+28>>2]&127](m)|0,e=c[m+4>>2]|0,(e|0)>0):0){f=(J(c[b+156>>2]|0,e)|0)/100|0;o=c[b+160>>2]|0;f=(o|0)>(f|0)?o:f;f=(e|0)<(f|0)?e:f;if((f|0)>0){h=0;do{k=((c[b+184>>2]|0)+h|0)%(e|0)|0;n=c[m+12>>2]|0;j=c[n+(k<<4)>>2]|0;k=c[n+(k<<4)+4>>2]|0;n=c[j+48>>2]|0;o=c[k+48>>2]|0;if(!(((((+g[n>>2]<=+g[o+16>>2]?+g[n+16>>2]>=+g[o>>2]:0)?+g[n+4>>2]<=+g[o+20>>2]:0)?+g[n+20>>2]>=+g[o+4>>2]:0)?+g[n+8>>2]<=+g[o+24>>2]:0)?+g[n+24>>2]>=+g[o+8>>2]:0)){e=c[b+136>>2]|0;Ka[c[(c[e>>2]|0)+12>>2]&31](e,j,k,d)|0;h=h+-1|0;f=f+-1|0;e=c[m+4>>2]|0}h=h+1|0}while((h|0)<(f|0));if((e|0)>0)p=37;else e=0}else p=37;if((p|0)==37)e=((c[b+184>>2]|0)+f|0)%(e|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)i=0.0;else i=+(e>>>0)/+(f>>>0);g[b+176>>2]=i;c[b+172>>2]=1?e>>>1:e;c[b+168>>2]=1?f>>>1:f;o=c[b+136>>2]|0;if(!(Fa[c[(c[o>>2]|0)+56>>2]&127](o)|0)){sa=q;return}o=c[b+136>>2]|0;o=Fa[c[(c[o>>2]|0)+28>>2]&127](o)|0;e=c[o+4>>2]|0;if((e|0)>1){Ed(o,0,e+-1|0);e=c[o+4>>2]|0}if((e|0)>0){m=0;l=0;n=0;f=0;while(1){j=c[o+12>>2]|0;h=j+(m<<4)|0;r=n;n=c[h>>2]|0;j=j+(m<<4)+4|0;k=c[j>>2]|0;if(!((n|0)==(r|0)&(k|0)==(f|0))){f=c[n+48>>2]|0;r=c[k+48>>2]|0;if(((((+g[f>>2]<=+g[r+16>>2]?+g[f+16>>2]>=+g[r>>2]:0)?+g[f+4>>2]<=+g[r+20>>2]:0)?+g[f+20>>2]>=+g[r+4>>2]:0)?+g[f+8>>2]<=+g[r+24>>2]:0)?+g[f+24>>2]>=+g[r+8>>2]:0){h=l;f=k}else{f=k;p=53}}else p=53;if((p|0)==53){p=0;e=c[b+136>>2]|0;Za[c[(c[e>>2]|0)+32>>2]&127](e,h,d);c[h>>2]=0;c[j>>2]=0;h=l+1|0;e=c[o+4>>2]|0}m=m+1|0;if((m|0)>=(e|0))break;else l=h}if((e|0)>1){Ed(o,0,e+-1|0);e=c[o+4>>2]|0}k=e-h|0;if((h|0)<0){if((c[o+8>>2]|0)<(k|0)){if(!k){f=0;j=e}else{c[7182]=(c[7182]|0)+1;f=xb((k<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[o+4>>2]|0}if((j|0)>0){h=0;do{r=c[o+12>>2]|0;c[f+(h<<4)>>2]=c[r+(h<<4)>>2];c[f+(h<<4)+4>>2]=c[r+(h<<4)+4>>2];c[f+(h<<4)+8>>2]=c[r+(h<<4)+8>>2];c[f+(h<<4)+12>>2]=c[r+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=f;c[o+8>>2]=k}do{r=(c[o+12>>2]|0)+(e<<4)|0;e=e+1|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0}while((e|0)!=(k|0));e=k}else e=k}c[o+4>>2]=e;sa=q;return}function vc(a,d,f,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;w=+g[a+8>>2];y=+g[a+12>>2];A=+g[a+16>>2];x=+g[a+40>>2];s=(+g[d>>2]-w)*x;z=+g[a+44>>2];u=(+g[d+4>>2]-y)*z;B=+g[a+48>>2];v=(+g[d+8>>2]-A)*B;if(!(s<=0.0)){t=b[a+6>>1]|0;t=b[a+4>>1]&(!(s>=+(t&65535))?~~s&65535:t)}else t=0;if(!(u<=0.0)){r=b[a+6>>1]|0;r=b[a+4>>1]&(!(u>=+(r&65535))?~~u&65535:r)}else r=0;if(!(v<=0.0)){q=b[a+6>>1]|0;q=b[a+4>>1]&(!(v>=+(q&65535))?~~v&65535:q)}else q=0;v=(+g[f>>2]-w)*x;u=(+g[f+4>>2]-y)*z;s=(+g[f+8>>2]-A)*B;if(!(v<=0.0)){p=b[a+6>>1]|0;p=b[a+4>>1]&(!(v>=+(p&65535))?~~v&65535:p)|1}else p=1;if(!(u<=0.0)){o=b[a+6>>1]|0;o=b[a+4>>1]&(!(u>=+(o&65535))?~~u&65535:o)|1}else o=1;if(!(s<=0.0)){n=b[a+6>>1]|0;n=b[a+4>>1]&(!(s>=+(n&65535))?~~s&65535:n)|1}else n=1;D=b[a+64>>1]|0;C=c[a+60>>2]|0;b[a+64>>1]=b[C+((D&65535)<<6)+48>>1]|0;E=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=E;c[C+((D&65535)<<6)+12>>2]=D&65535;c[C+((D&65535)<<6)>>2]=i;b[C+((D&65535)<<6)+4>>1]=j;b[C+((D&65535)<<6)+6>>1]=k;c[C+((D&65535)<<6)+8>>2]=m;m=(E&65535)<<1&65534;b[C+54>>1]=(e[C+54>>1]|0)+2;F=c[a+68>>2]|0;G=e[F+(m+-1<<2)>>1]|e[F+(m+-1<<2)+2>>1]<<16;b[F+((m|1)<<2)>>1]=G;b[F+((m|1)<<2)+2>>1]=G>>>16;F=c[a+68>>2]|0;b[F+(m+-1<<2)>>1]=t;b[F+(m+-1<<2)+2>>1]=D;b[F+(m<<2)>>1]=p;b[F+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+48>>1]=m+-1;b[C+((D&65535)<<6)+54>>1]=(E&65535)<<1;p=(c[a+60>>2]|0)+56|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+72>>2]|0;t=e[p+(m+-1<<2)>>1]|e[p+(m+-1<<2)+2>>1]<<16;b[p+((m|1)<<2)>>1]=t;b[p+((m|1)<<2)+2>>1]=t>>>16;p=c[a+72>>2]|0;b[p+(m+-1<<2)>>1]=r;b[p+(m+-1<<2)+2>>1]=D;b[p+(m<<2)>>1]=o;b[p+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+50>>1]=m+-1;b[C+((D&65535)<<6)+56>>1]=(E&65535)<<1;o=(c[a+60>>2]|0)+58|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+76>>2]|0;p=e[o+(m+-1<<2)>>1]|e[o+(m+-1<<2)+2>>1]<<16;b[o+((m|1)<<2)>>1]=p;b[o+((m|1)<<2)+2>>1]=p>>>16;o=c[a+76>>2]|0;b[o+(m+-1<<2)>>1]=q;b[o+(m+-1<<2)+2>>1]=D;b[o+(m<<2)>>1]=n;b[o+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+52>>1]=m+-1;b[C+((D&65535)<<6)+58>>1]=(E&65535)<<1;o=c[a+68>>2]|0;p=e[C+((D&65535)<<6)+48>>1]|0;t=c[a+60>>2]|0;q=b[o+(p<<2)+-4>>1]|0;if((e[o+(p<<2)>>1]|0)<(q&65535)){m=t+((e[o+(p<<2)+2>>1]|0)<<6)+48|0;n=o+(p<<2)+-4|0;r=o+(p<<2)|0;p=q;o=t;while(1){G=e[r+-2>>1]|0;o=(p&1)==0?o+(G<<6)+48|0:o+(G<<6)+54|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;p=e[n>>1]|e[n+2>>1]<<16;b[r>>1]=p;b[r+2>>1]=p>>>16;b[n>>1]=o;b[n+2>>1]=o>>>16;o=r+-4|0;n=n+-4|0;p=b[n>>1]|0;if((e[o>>1]|0)>=(p&65535))break;r=o;o=c[a+60>>2]|0}o=c[a+68>>2]|0}n=e[C+((D&65535)<<6)+54>>1]|0;p=o+(n<<2)|0;r=b[p+-4>>1]|0;a:do if((e[p>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[o+(n<<2)+2>>1]|0)<<6)+54|0;n=p+-4|0;q=p;o=r;p=G;while(1){G=e[q+-2>>1]|0;p=(o&1)==0?p+(G<<6)+48|0:p+(G<<6)+54|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;p=e[q>>1]|e[q+2>>1]<<16;o=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;b[n>>1]=p;b[n+2>>1]=p>>>16;p=q+-4|0;n=n+-4|0;o=b[n>>1]|0;if((e[p>>1]|0)>=(o&65535))break a;q=p;p=c[a+60>>2]|0}}while(0);o=c[a+72>>2]|0;p=e[C+((D&65535)<<6)+50>>1]|0;t=c[a+60>>2]|0;q=b[o+(p<<2)+-4>>1]|0;if((e[o+(p<<2)>>1]|0)<(q&65535)){m=t+((e[o+(p<<2)+2>>1]|0)<<6)+50|0;n=o+(p<<2)+-4|0;r=o+(p<<2)|0;p=q;o=t;while(1){G=e[r+-2>>1]|0;o=(p&1)==0?o+(G<<6)+50|0:o+(G<<6)+56|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;p=e[n>>1]|e[n+2>>1]<<16;b[r>>1]=p;b[r+2>>1]=p>>>16;b[n>>1]=o;b[n+2>>1]=o>>>16;o=r+-4|0;n=n+-4|0;p=b[n>>1]|0;if((e[o>>1]|0)>=(p&65535))break;r=o;o=c[a+60>>2]|0}o=c[a+72>>2]|0}n=e[C+((D&65535)<<6)+56>>1]|0;p=o+(n<<2)|0;r=b[p+-4>>1]|0;b:do if((e[p>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[o+(n<<2)+2>>1]|0)<<6)+56|0;n=p+-4|0;q=p;o=r;p=G;while(1){G=e[q+-2>>1]|0;p=(o&1)==0?p+(G<<6)+50|0:p+(G<<6)+56|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;p=e[q>>1]|e[q+2>>1]<<16;o=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;b[n>>1]=p;b[n+2>>1]=p>>>16;p=q+-4|0;n=n+-4|0;o=b[n>>1]|0;if((e[p>>1]|0)>=(o&65535))break b;q=p;p=c[a+60>>2]|0}}while(0);Ng(a,2,b[C+((D&65535)<<6)+52>>1]|0);Hg(a,2,b[C+((D&65535)<<6)+58>>1]|0,l);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){G=o+((D&65535)<<6)|0;return G|0}c[o+((D&65535)<<6)+60>>2]=Ma[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,i,j,k,l,0)|0;G=o+((D&65535)<<6)|0;return G|0}function wc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0;r=sa;sa=sa+176|0;if(!(a[b+527>>0]|0)){sa=r;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){s=c[b+28>>2]|0;h=+g[b+348>>2];i=+g[b+352>>2];n=+g[b+356>>2];p=h*+g[s+20>>2]+i*+g[s+24>>2]+n*+g[s+28>>2]+ +g[s+56>>2];d=c[b+32>>2]|0;j=+g[b+412>>2];k=+g[b+416>>2];o=+g[b+420>>2];q=j*+g[d+20>>2]+k*+g[d+24>>2]+o*+g[d+28>>2]+ +g[d+56>>2];l=j*+g[d+36>>2]+k*+g[d+40>>2]+o*+g[d+44>>2]+ +g[d+60>>2];m=h*+g[s+4>>2]+i*+g[s+8>>2]+n*+g[s+12>>2]+ +g[s+52>>2];n=h*+g[s+36>>2]+i*+g[s+40>>2]+n*+g[s+44>>2]+ +g[s+60>>2];o=j*+g[d+4>>2]+k*+g[d+8>>2]+o*+g[d+12>>2]+ +g[d+52>>2];if((o-m)*(o-m)+(q-p)*(q-p)+(l-n)*(l-n)>1.1920928955078125e-07){f=1.0/+x(+((o-m)*(o-m)+(q-p)*(q-p)+(l-n)*(l-n)));g[r>>2]=(o-m)*f;g[r+4>>2]=(q-p)*f;g[r+8>>2]=(l-n)*f;c[r+12>>2]=0;h=(l-n)*f;e=(q-p)*f;f=(o-m)*f}else{c[r>>2]=1065353216;c[r+4>>2]=0;c[r+8>>2]=0;g[r+12>>2]=0.0;h=0.0;e=0.0;f=1.0}if(+w(+h)>.7071067690849304){u=h*h+e*e;t=1.0/+x(+u);h=-(h*t);i=e*t;k=-(f*i);j=f*h;e=u*t;f=i;i=0.0}else{t=f*f+e*e;j=1.0/+x(+t);i=-(e*j);u=f*j;k=h*i;j=t*j;e=-(h*u);f=0.0;h=u}g[r+16>>2]=i;g[r+20>>2]=h;g[r+24>>2]=f;g[r+32>>2]=e;g[r+36>>2]=k;g[r+40>>2]=j;s=c[b+28>>2]|0;c[r+128>>2]=c[s+4>>2];c[r+128+4>>2]=c[s+20>>2];c[r+128+8>>2]=c[s+36>>2];g[r+128+12>>2]=0.0;c[r+128+16>>2]=c[s+8>>2];c[r+128+20>>2]=c[s+24>>2];c[r+128+24>>2]=c[s+40>>2];g[r+128+28>>2]=0.0;c[r+128+32>>2]=c[s+12>>2];c[r+128+36>>2]=c[s+28>>2];c[r+128+40>>2]=c[s+44>>2];g[r+128+44>>2]=0.0;d=c[b+32>>2]|0;c[r+80>>2]=c[d+4>>2];c[r+80+4>>2]=c[d+20>>2];c[r+80+8>>2]=c[d+36>>2];g[r+80+12>>2]=0.0;c[r+80+16>>2]=c[d+8>>2];c[r+80+20>>2]=c[d+24>>2];c[r+80+24>>2]=c[d+40>>2];g[r+80+28>>2]=0.0;c[r+80+32>>2]=c[d+12>>2];c[r+80+36>>2]=c[d+28>>2];c[r+80+40>>2]=c[d+44>>2];g[r+80+44>>2]=0.0;u=p-+g[s+56>>2];t=n-+g[s+60>>2];g[r+64>>2]=m-+g[s+52>>2];g[r+64+4>>2]=u;g[r+64+8>>2]=t;g[r+64+12>>2]=0.0;t=q-+g[d+56>>2];u=l-+g[d+60>>2];g[r+48>>2]=o-+g[d+52>>2];g[r+48+4>>2]=t;g[r+48+8>>2]=u;g[r+48+12>>2]=0.0;fg(b+48|0,r+128|0,r+80|0,r+64|0,r+48|0,r,s+396|0,+g[s+344>>2],d+396|0,+g[d+344>>2]);d=c[b+28>>2]|0;c[r+128>>2]=c[d+4>>2];c[r+128+4>>2]=c[d+20>>2];c[r+128+8>>2]=c[d+36>>2];g[r+128+12>>2]=0.0;c[r+128+16>>2]=c[d+8>>2];c[r+128+20>>2]=c[d+24>>2];c[r+128+24>>2]=c[d+40>>2];g[r+128+28>>2]=0.0;c[r+128+32>>2]=c[d+12>>2];c[r+128+36>>2]=c[d+28>>2];c[r+128+40>>2]=c[d+44>>2];g[r+128+44>>2]=0.0;s=c[b+32>>2]|0;c[r+80>>2]=c[s+4>>2];c[r+80+4>>2]=c[s+20>>2];c[r+80+8>>2]=c[s+36>>2];g[r+80+12>>2]=0.0;c[r+80+16>>2]=c[s+8>>2];c[r+80+20>>2]=c[s+24>>2];c[r+80+24>>2]=c[s+40>>2];g[r+80+28>>2]=0.0;c[r+80+32>>2]=c[s+12>>2];c[r+80+36>>2]=c[s+28>>2];c[r+80+40>>2]=c[s+44>>2];g[r+80+44>>2]=0.0;u=p-+g[d+56>>2];t=n-+g[d+60>>2];g[r+64>>2]=m-+g[d+52>>2];g[r+64+4>>2]=u;g[r+64+8>>2]=t;g[r+64+12>>2]=0.0;t=q-+g[s+56>>2];u=l-+g[s+60>>2];g[r+48>>2]=o-+g[s+52>>2];g[r+48+4>>2]=t;g[r+48+8>>2]=u;g[r+48+12>>2]=0.0;fg(b+132|0,r+128|0,r+80|0,r+64|0,r+48|0,r+16|0,d+396|0,+g[d+344>>2],s+396|0,+g[s+344>>2]);s=c[b+28>>2]|0;c[r+128>>2]=c[s+4>>2];c[r+128+4>>2]=c[s+20>>2];c[r+128+8>>2]=c[s+36>>2];g[r+128+12>>2]=0.0;c[r+128+16>>2]=c[s+8>>2];c[r+128+20>>2]=c[s+24>>2];c[r+128+24>>2]=c[s+40>>2];g[r+128+28>>2]=0.0;c[r+128+32>>2]=c[s+12>>2];c[r+128+36>>2]=c[s+28>>2];c[r+128+40>>2]=c[s+44>>2];g[r+128+44>>2]=0.0;d=c[b+32>>2]|0;c[r+80>>2]=c[d+4>>2];c[r+80+4>>2]=c[d+20>>2];c[r+80+8>>2]=c[d+36>>2];g[r+80+12>>2]=0.0;c[r+80+16>>2]=c[d+8>>2];c[r+80+20>>2]=c[d+24>>2];c[r+80+24>>2]=c[d+40>>2];g[r+80+28>>2]=0.0;c[r+80+32>>2]=c[d+12>>2];c[r+80+36>>2]=c[d+28>>2];c[r+80+40>>2]=c[d+44>>2];g[r+80+44>>2]=0.0;u=p-+g[s+56>>2];t=n-+g[s+60>>2];g[r+64>>2]=m-+g[s+52>>2];g[r+64+4>>2]=u;g[r+64+8>>2]=t;g[r+64+12>>2]=0.0;t=q-+g[d+56>>2];u=l-+g[d+60>>2];g[r+48>>2]=o-+g[d+52>>2];g[r+48+4>>2]=t;g[r+48+8>>2]=u;g[r+48+12>>2]=0.0;fg(b+216|0,r+128|0,r+80|0,r+64|0,r+48|0,r+32|0,s+396|0,+g[s+344>>2],d+396|0,+g[d+344>>2]);d=b+32|0}else d=b+32|0;v=c[b+28>>2]|0;s=c[d>>2]|0;Cb(b,v+4|0,s+4|0,v+264|0,s+264|0);sa=r;return}function xc(b,d){b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;m=c[b+28>>2]|0;p=c[b+32>>2]|0;Cb(b,m+4|0,p+4|0,m+264|0,p+264|0);s=c[d+8>>2]|0;g[s>>2]=1.0;j=c[d+24>>2]|0;g[s+(j+1<<2)>>2]=1.0;g[s+((j<<1)+2<<2)>>2]=1.0;l=+g[b+348>>2];v=+g[b+352>>2];o=+g[b+356>>2];t=+g[m+4>>2]*l+ +g[m+8>>2]*v+ +g[m+12>>2]*o;n=l*+g[m+20>>2]+v*+g[m+24>>2]+o*+g[m+28>>2];o=l*+g[m+36>>2]+v*+g[m+40>>2]+o*+g[m+44>>2];s=c[d+12>>2]|0;c[s>>2]=0;g[s+4>>2]=o;g[s+8>>2]=-n;g[s+12>>2]=0.0;g[s+(j<<2)>>2]=-o;c[s+(j<<2)+4>>2]=0;g[s+(j<<2)+8>>2]=t;g[s+(j<<2)+12>>2]=0.0;g[s+(j<<1<<2)>>2]=n;g[s+(j<<1<<2)+4>>2]=-t;c[s+(j<<1<<2)+8>>2]=0;g[s+(j<<1<<2)+12>>2]=0.0;q=c[d+16>>2]|0;g[q>>2]=-1.0;g[q+(j+1<<2)>>2]=-1.0;g[q+((j<<1)+2<<2)>>2]=-1.0;v=+g[b+412>>2];l=+g[b+416>>2];k=+g[b+420>>2];u=+g[p+4>>2]*v+ +g[p+8>>2]*l+ +g[p+12>>2]*k;e=v*+g[p+20>>2]+l*+g[p+24>>2]+k*+g[p+28>>2];k=v*+g[p+36>>2]+l*+g[p+40>>2]+k*+g[p+44>>2];q=c[d+20>>2]|0;c[q>>2]=0;g[q+4>>2]=-k;g[q+8>>2]=e;g[q+12>>2]=0.0;g[q+(j<<2)>>2]=k;c[q+(j<<2)+4>>2]=0;g[q+(j<<2)+8>>2]=-u;g[q+(j<<2)+12>>2]=0.0;g[q+(j<<1<<2)>>2]=-e;g[q+(j<<1<<2)+4>>2]=u;c[q+(j<<1<<2)+8>>2]=0;g[q+(j<<1<<2)+12>>2]=0.0;r=c[b+592>>2]|0;l=+g[((r&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];h=c[d+28>>2]|0;f=c[d+36>>2]|0;i=c[d+40>>2]|0;g[h>>2]=l*(u+ +g[p+52>>2]-t-+g[m+52>>2]);g[f>>2]=-3402823466385288598117041.0e14;g[i>>2]=3402823466385288598117041.0e14;if(!(r&1)){g[h+(j<<2)>>2]=l*(e+ +g[p+56>>2]-n-+g[m+56>>2]);g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2)>>2]=3402823466385288598117041.0e14;g[h+(j<<1<<2)>>2]=l*(k+ +g[p+60>>2]-o-+g[m+60>>2]);g[f+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<1<<2)>>2]=3402823466385288598117041.0e14}else{w=c[d+32>>2]|0;c[w>>2]=c[b+596>>2];g[h+(j<<2)>>2]=l*(e+ +g[p+56>>2]-n-+g[m+56>>2]);g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<2)>>2]=c[b+596>>2];g[h+(j<<1<<2)>>2]=l*(k+ +g[p+60>>2]-o-+g[m+60>>2]);g[f+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<1<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))j=j*3|0;else{v=+g[b+456>>2];if(+g[b+444>>2]>2]>2];z=+g[m+8>>2];y=+g[m+12>>2];E=+g[b+304>>2];D=+g[b+320>>2];C=+g[b+336>>2];l=+g[b+308>>2];o=+g[b+324>>2];u=+g[b+340>>2];x=+g[m+20>>2];e=+g[m+24>>2];k=+g[m+28>>2];n=+g[m+36>>2];t=+g[m+40>>2];v=+g[m+44>>2];g[s+(j*3<<2)>>2]=A*E+z*D+y*C;g[s+((j*3|0)+1<<2)>>2]=E*x+D*e+C*k;g[s+((j*3|0)+2<<2)>>2]=E*n+D*t+C*v;g[s+(j<<2<<2)>>2]=A*l+z*o+y*u;g[s+((j<<2|1)<<2)>>2]=l*x+o*e+u*k;g[s+((j<<2|2)<<2)>>2]=l*n+o*t+u*v;g[q+(j*3<<2)>>2]=-(A*E+z*D+y*C);g[q+((j*3|0)+1<<2)>>2]=-(E*x+D*e+C*k);g[q+((j*3|0)+2<<2)>>2]=-(E*n+D*t+C*v);g[q+(j<<2<<2)>>2]=-(A*l+z*o+y*u);g[q+((j<<2|1)<<2)>>2]=-(l*x+o*e+u*k);g[q+((j<<2|2)<<2)>>2]=-(l*n+o*t+u*v);B=+g[d>>2]*+g[b+436>>2];h=c[d+28>>2]|0;g[h+(j*3<<2)>>2]=B*((A*E+z*D+y*C)*+g[b+460>>2]+(E*x+D*e+C*k)*+g[b+464>>2]+(E*n+D*t+C*v)*+g[b+468>>2]);g[h+(j<<2<<2)>>2]=B*((A*l+z*o+y*u)*+g[b+460>>2]+(l*x+o*e+u*k)*+g[b+464>>2]+(l*n+o*t+u*v)*+g[b+468>>2]);f=c[d+36>>2]|0;g[f+(j*3<<2)>>2]=-3402823466385288598117041.0e14;i=c[d+40>>2]|0;g[i+(j*3<<2)>>2]=3402823466385288598117041.0e14;g[f+(j<<2<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2<<2)>>2]=3402823466385288598117041.0e14;j=j*5|0;break}E=+g[b+436>>2];C=E*+g[b+460>>2]*E;D=E*E*+g[b+464>>2];E=E*E*+g[b+468>>2];g[s+(j*3<<2)>>2]=C;g[s+((j*3|0)+1<<2)>>2]=D;g[s+((j*3|0)+2<<2)>>2]=E;g[q+(j*3<<2)>>2]=-C;g[q+((j*3|0)+1<<2)>>2]=-D;g[q+((j*3|0)+2<<2)>>2]=-E;g[h+(j*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(r&4|0)c[(c[d+32>>2]|0)+(j*3<<2)>>2]=c[b+604>>2];g[f+(j*3<<2)>>2]=0.0;g[i+(j*3<<2)>>2]=3402823466385288598117041.0e14;j=j<<2}while(0);if(!(a[b+525>>0]|0))return;E=+g[b+436>>2];C=E*+g[b+476>>2]*E;D=E*E*+g[b+480>>2];E=E*E*+g[b+484>>2];g[s+(j<<2)>>2]=C;p=j+1|0;g[s+(p<<2)>>2]=D;w=j+2|0;g[s+(w<<2)>>2]=E;g[q+(j<<2)>>2]=-C;g[q+(p<<2)>>2]=-D;g[q+(w<<2)>>2]=-E;g[h+(j<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(r&4|0)c[(c[d+32>>2]|0)+(j<<2)>>2]=c[b+604>>2];do if(+g[b+452>>2]>0.0){f=f+(j<<2)|0;if(+g[b+508>>2]>0.0){g[f>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[f>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[i+(j<<2)>>2]=e;return}function yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;A=sa;sa=sa+272|0;c[A+128>>2]=c[d>>2];c[A+128+4>>2]=c[d+4>>2];c[A+128+8>>2]=c[d+8>>2];c[A+128+12>>2]=c[d+12>>2];c[A+128+16>>2]=c[d+16>>2];c[A+128+16+4>>2]=c[d+16+4>>2];c[A+128+16+8>>2]=c[d+16+8>>2];c[A+128+16+12>>2]=c[d+16+12>>2];c[A+128+32>>2]=c[d+32>>2];c[A+128+32+4>>2]=c[d+32+4>>2];c[A+128+32+8>>2]=c[d+32+8>>2];c[A+128+32+12>>2]=c[d+32+12>>2];c[A+128+48>>2]=c[d+48>>2];c[A+128+48+4>>2]=c[d+48+4>>2];c[A+128+48+8>>2]=c[d+48+8>>2];c[A+128+48+12>>2]=c[d+48+12>>2];c[A+64>>2]=c[e>>2];c[A+64+4>>2]=c[e+4>>2];c[A+64+8>>2]=c[e+8>>2];c[A+64+12>>2]=c[e+12>>2];c[A+64+16>>2]=c[e+16>>2];c[A+64+16+4>>2]=c[e+16+4>>2];c[A+64+16+8>>2]=c[e+16+8>>2];c[A+64+16+12>>2]=c[e+16+12>>2];c[A+64+32>>2]=c[e+32>>2];c[A+64+32+4>>2]=c[e+32+4>>2];c[A+64+32+8>>2]=c[e+32+8>>2];c[A+64+32+12>>2]=c[e+32+12>>2];c[A+64+48>>2]=c[e+48>>2];c[A+64+48+4>>2]=c[e+48+4>>2];c[A+64+48+8>>2]=c[e+48+8>>2];c[A+64+48+12>>2]=c[e+48+12>>2];i=+g[A+64+52>>2]-+g[A+128+52>>2];F=+g[A+64+56>>2]-+g[A+128+56>>2];g[A+16>>2]=+g[A+64+48>>2]-+g[A+128+48>>2];g[A+16+4>>2]=i;g[A+16+8>>2]=F;g[A+16+12>>2]=0.0;Se(A+128|0,A+64|0,A+208|0,A+192|0);F=+g[A+192>>2];i=F*+g[A+208+4>>2];C=F*+g[A+208+8>>2];g[A>>2]=+g[A+208>>2]*F;g[A+4>>2]=i;g[A+8>>2]=C;g[A+12>>2]=0.0;c[A+208+48>>2]=0;c[A+208+48+4>>2]=0;c[A+208+48+8>>2]=0;c[A+208+48+12>>2]=0;Og(A+128|0,A+192|0);C=+g[A+192>>2];i=+g[A+192+4>>2];F=+g[A+192+8>>2];D=+g[A+192+12>>2];B=C*(2.0/(C*C+i*i+F*F+D*D));j=i*(2.0/(C*C+i*i+F*F+D*D));E=F*(2.0/(C*C+i*i+F*F+D*D));g[A+208>>2]=1.0-(i*j+F*E);g[A+208+4>>2]=C*j-D*E;g[A+208+8>>2]=C*E+D*j;g[A+208+12>>2]=0.0;g[A+208+16>>2]=C*j+D*E;g[A+208+20>>2]=1.0-(C*B+F*E);g[A+208+24>>2]=i*E-D*B;g[A+208+28>>2]=0.0;g[A+208+32>>2]=C*E-D*j;g[A+208+36>>2]=i*E+D*B;g[A+208+40>>2]=1.0-(C*B+i*j);g[A+208+44>>2]=0.0;zg(b,A+208|0,A+16|0,A,A+48|0,A+32|0);if((c[a+268>>2]|0)<=0){sa=A;return}k=0;do{l=c[(c[a+276>>2]|0)+(k<<2)>>2]|0;if(Ha[c[(c[f>>2]|0)+8>>2]&31](f,c[l+188>>2]|0)|0?(y=c[l+192>>2]|0,ab[c[(c[y>>2]|0)+8>>2]&127](y,l+4|0,A+192|0,A+16|0),m=+g[A+192>>2]+ +g[A+48>>2],n=+g[A+192+4>>2]+ +g[A+48+4>>2],o=+g[A+192+8>>2]+ +g[A+48+8>>2],g[A+192>>2]=m,g[A+192+4>>2]=n,g[A+192+8>>2]=o,g[A+192+12>>2]=0.0,p=+g[A+16>>2]+ +g[A+32>>2],q=+g[A+16+4>>2]+ +g[A+32+4>>2],r=+g[A+16+8>>2]+ +g[A+32+8>>2],g[A+16>>2]=p,g[A+16+4>>2]=q,g[A+16+8>>2]=r,g[A+16+12>>2]=0.0,s=+g[d+48>>2]-(p+m)*.5,t=+g[d+52>>2]-(q+n)*.5,u=+g[d+56>>2]-(r+o)*.5,v=+g[e+48>>2]-(p+m)*.5,w=+g[e+52>>2]-(q+n)*.5,x=+g[e+56>>2]-(r+o)*.5,y=(s>(p-m)*.5?8:0)|s<-((p-m)*.5)|(t<-((q-n)*.5)?2:0)|(t>(q-n)*.5?16:0)|(u<-((r-o)*.5)?4:0)|(u>(r-o)*.5?32:0),z=(v>(p-m)*.5?8:0)|v<-((p-m)*.5)|(w<-((q-n)*.5)?2:0)|(w>(q-n)*.5?16:0)|(x<-((r-o)*.5)?4:0)|(x>(r-o)*.5?32:0),(z&y|0)==0):0){if(s<-((p-m)*.5))if(!((-s-(p-m)*.5)/(v-s)>=0.0)){i=0.0;j=1.0}else{i=(-s-(p-m)*.5)/(v-s);j=1.0}else if(v<-((p-m)*.5)?(-s-(p-m)*.5)/(v-s)<1.0:0){i=0.0;j=(-s-(p-m)*.5)/(v-s)}else{i=0.0;j=1.0}if(t<-((q-n)*.5)){if(i<=(-t-(q-n)*.5)/(w-t))i=(-t-(q-n)*.5)/(w-t)}else if(w<-((q-n)*.5)?(-t-(q-n)*.5)/(w-t)(p-m)*.5){if(i<=((p-m)*.5-s)/(v-s))i=((p-m)*.5-s)/(v-s)}else if(v>(p-m)*.5?((p-m)*.5-s)/(v-s)(q-n)*.5){if(i<=((q-n)*.5-t)/(w-t))i=((q-n)*.5-t)/(w-t)}else if(w>(q-n)*.5?((q-n)*.5-t)/(w-t)>2]|0;c[A+208>>2]=0;c[A+208+4>>2]=G;c[A+208+8>>2]=l;c[A+208+12>>2]=l+4;c[A+208+16>>2]=-1;c[A+208+20>>2]=-1;Eb(b,A+128|0,A+64|0,A+208|0,f,h)}}k=k+1|0}while((k|0)<(c[a+268>>2]|0));sa=A;return}function zc(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0,A=0,B=0.0,C=0,D=0;if((j|0)<2|(k|0)<2){m=0;return m|0}p=J(k,j)|0;c[7182]=(c[7182]|0)+1;b=xb(p>>>0>268435455?18:(p<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}r=CI(p>>>0>1073741823?-1:p<<2)|0;b=0;do{B=+(b|0)/+(k+-1|0);s=+g[e>>2];s=s+B*(+g[h>>2]-s);t=+g[e+4>>2];t=t+B*(+g[h+4>>2]-t);u=+g[e+8>>2];u=u+B*(+g[h+8>>2]-u);v=+g[f>>2];w=+g[f+4>>2];y=+g[f+8>>2];v=v+B*(+g[i>>2]-v)-s;w=w+B*(+g[i+4>>2]-w)-t;y=y+B*(+g[i+8>>2]-y)-u;o=J(b,j)|0;n=0;do{B=+(n|0)/+(j+-1|0);A=n+o|0;g[q+(A<<4)>>2]=s+v*B;g[q+(A<<4)+4>>2]=t+w*B;g[q+(A<<4)+8>>2]=u+y*B;g[q+(A<<4)+12>>2]=0.0;g[r+(A<<2)>>2]=1.0;n=n+1|0}while((n|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0));c[7182]=(c[7182]|0)+1;b=xb(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Hb(b,d,p,q,r);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){A=J(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(A*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&8)){z=b+720|0;A=b+924|0}else{A=j+-1+(J(k+-1|0,j)|0)|0;z=b+720|0;g[(c[z>>2]|0)+(A*104|0)+88>>2]=0.0;A=b+924|0;a[A>>0]=1}c[7183]=(c[7183]|0)+1;Hc(c[q+-4>>2]|0);DI(r);r=b+732|0;l=b+740|0;n=0;do a:do if((j|0)>0){q=J(n,j)|0;d=n+1|0;f=J(d,j)|0;if((d|0)>=(k|0)){n=0;while(1){o=n;n=n+1|0;if((n|0)<(j|0)){h=n+q|0;f=c[z>>2]|0;oh(b,0);p=(c[r>>2]|0)+-1|0;i=c[l>>2]|0;c[i+(p*52|0)+8>>2]=f+((o+q|0)*104|0);c[i+(p*52|0)+12>>2]=f+(h*104|0);w=+g[f+((o+q|0)*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];y=+g[f+((o+q|0)*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];B=+g[f+((o+q|0)*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[i+(p*52|0)+16>>2]=+x(+(w*w+y*y+B*B));a[A>>0]=1}if((n|0)==(j|0)){n=d;break a}}}o=0;do{h=o+q|0;e=o;o=o+1|0;do if((o|0)<(j|0)){i=o+q|0;C=c[z>>2]|0;oh(b,0);D=(c[r>>2]|0)+-1|0;p=c[l>>2]|0;c[p+(D*52|0)+8>>2]=C+(h*104|0);c[p+(D*52|0)+12>>2]=C+(i*104|0);B=+g[C+(h*104|0)+8>>2]-+g[C+(i*104|0)+8>>2];y=+g[C+(h*104|0)+12>>2]-+g[C+(i*104|0)+12>>2];w=+g[C+(h*104|0)+16>>2]-+g[C+(i*104|0)+16>>2];g[p+(D*52|0)+16>>2]=+x(+(B*B+y*y+w*w));a[A>>0]=1;D=c[z>>2]|0;oh(b,0);p=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(p*52|0)+8>>2]=D+(h*104|0);c[C+(p*52|0)+12>>2]=D+((e+f|0)*104|0);w=+g[D+(h*104|0)+8>>2]-+g[D+((e+f|0)*104|0)+8>>2];y=+g[D+(h*104|0)+12>>2]-+g[D+((e+f|0)*104|0)+12>>2];B=+g[D+(h*104|0)+16>>2]-+g[D+((e+f|0)*104|0)+16>>2];g[C+(p*52|0)+16>>2]=+x(+(w*w+y*y+B*B));a[A>>0]=1;if(!(e+n&1)){mf(b,e+f|0,h,i,0);mf(b,e+f|0,i,o+f|0,0);if(!m)break;p=c[z>>2]|0;oh(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=p+(i*104|0);c[C+(D*52|0)+12>>2]=p+((e+f|0)*104|0);w=+g[p+(i*104|0)+8>>2]-+g[p+((e+f|0)*104|0)+8>>2];y=+g[p+(i*104|0)+12>>2]-+g[p+((e+f|0)*104|0)+12>>2];B=+g[p+(i*104|0)+16>>2]-+g[p+((e+f|0)*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+x(+(w*w+y*y+B*B));a[A>>0]=1;break}else{p=o+f|0;mf(b,h,i,p,0);mf(b,h,p,e+f|0,0);if(!m)break;i=c[z>>2]|0;oh(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=i+(h*104|0);c[C+(D*52|0)+12>>2]=i+(p*104|0);w=+g[i+(h*104|0)+8>>2]-+g[i+(p*104|0)+8>>2];y=+g[i+(h*104|0)+12>>2]-+g[i+(p*104|0)+12>>2];B=+g[i+(h*104|0)+16>>2]-+g[i+(p*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+x(+(w*w+y*y+B*B));a[A>>0]=1;break}}else{p=c[z>>2]|0;oh(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=p+(h*104|0);c[C+(D*52|0)+12>>2]=p+((e+f|0)*104|0);w=+g[p+(h*104|0)+8>>2]-+g[p+((e+f|0)*104|0)+8>>2];y=+g[p+(h*104|0)+12>>2]-+g[p+((e+f|0)*104|0)+12>>2];B=+g[p+(h*104|0)+16>>2]-+g[p+((e+f|0)*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+x(+(w*w+y*y+B*B));a[A>>0]=1}while(0)}while((o|0)!=(j|0));n=d}else n=n+1|0;while(0);while((n|0)!=(k|0));return b|0}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=c[a+8>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((c[e+236>>2]|0)==1){Va[c[(c[e>>2]|0)+24>>2]&127](e,b);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));h=d;if((h|0)<=0)return;i=0;o=0;s=0;r=0;g=0;f=0;y=0;x=0;w=0;e=0;q=0;p=0;d=0;l=0;n=0;while(1){z=c[(c[(c[a+16>>2]|0)+(i<<2)>>2]|0)+192>>2]|0;t=((10?~(z<<15)+z>>10:~(z<<15)+z|0)^~(z<<15)+z)*9|0;t=(6?t>>6:t)^t;t=(16?t+~(t<<11)>>16:t+~(t<<11)|0)^t+~(t<<11);j=t&p+-1;a:do if(j>>>0>>0?(A=c[f+(j<<2)>>2]|0,(A|0)!=-1):0){j=A;while(1){if((c[g+(j<<3)>>2]|0)==(z|0))break;j=c[e+(j<<2)>>2]|0;if((j|0)==-1){F=14;break a}}if(d+(j<<2)|0){j=y;m=x;k=w}else F=14}else F=14;while(0);if((F|0)==14){F=0;m=t&p+-1;b:do if(m>>>0>>0?(B=c[f+(m<<2)>>2]|0,(B|0)!=-1):0){h=B;while(1){if((c[g+(h<<3)>>2]|0)==(z|0))break;h=c[e+(h<<2)>>2]|0;if((h|0)==-1){F=20;break b}}c[d+(h<<2)>>2]=z;j=y;m=x;k=w}else F=20;while(0);if((F|0)==20){F=0;do if((q|0)==(p|0)){j=(p|0)==0?1:p<<1;if((p|0)<(j|0)){if((j|0)!=0?(c[7182]=(c[7182]|0)+1,E=xb((j<<2|3)+16|0)|0,(E|0)!=0):0){c[(E+4+15&-16)+-4>>2]=E;k=E+4+15&-16}else k=0;if((p|0)<=0){if(!d){v=j;d=k;h=p;break}}else{h=0;do{c[k+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(p|0))}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);v=j;d=k;h=p}else{v=p;h=p}}else{v=p;h=q}while(0);c[d+(h<<2)>>2]=z;u=h+1|0;do if((s|0)==(r|0)){j=(s|0)==0?1:s<<1;if((s|0)<(j|0)){if((j|0)!=0?(c[7182]=(c[7182]|0)+1,C=xb((j<<3|3)+16|0)|0,(C|0)!=0):0){c[(C+4+15&-16)+-4>>2]=C;k=C+4+15&-16}else k=0;if((s|0)<=0){if(!g){r=j;g=k;break}}else{h=0;do{H=g+(h<<3)|0;G=c[H+4>>2]|0;r=k+(h<<3)|0;c[r>>2]=c[H>>2];c[r+4>>2]=G;h=h+1|0}while((h|0)!=(s|0))}c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);r=j;g=k}else r=s}while(0);H=g+(s<<3)|0;c[H>>2]=z;c[H+4>>2]=0;s=s+1|0;if((p|0)<(v|0)){if((y|0)<(v|0)){do if((o|0)<(v|0)){if((v|0)!=0?(c[7182]=(c[7182]|0)+1,D=xb((v<<2|3)+16|0)|0,(D|0)!=0):0){c[(D+4+15&-16)+-4>>2]=D;j=D+4+15&-16}else j=0;if((y|0)<=0){if(!f){o=v;f=j;n=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(y|0))}c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);o=v;f=j;n=j}while(0);m=v<<2;mk(f+(y<<2)|0,0,m-(y<<2)|0)|0;if((x|0)<(v|0)){do if((w|0)<(v|0)){do if(!v)j=0;else{c[7182]=(c[7182]|0)+1;h=xb((m|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((x|0)<=0){if(!e){k=v;e=j;h=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[e+(h<<2)>>2];h=h+1|0}while((h|0)!=(x|0))}c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);k=v;e=j;h=j}else{k=w;h=l}while(0);mk(e+(x<<2)|0,0,m-(x<<2)|0)|0;l=h}else k=w;if((v|0)>0){mk(n|0,-1,m|0)|0;mk(l|0,-1,m|0)|0}if((y|0)>0){j=v+-1|0;h=0;do{H=c[g+(h<<3)>>2]|0;H=((10?H+~(H<<15)>>10:H+~(H<<15)|0)^H+~(H<<15))*9|0;H=(6?H>>6:H)^H;H=f+((((16?H+~(H<<11)>>16:H+~(H<<11)|0)^H+~(H<<11))&j)<<2)|0;c[e+(h<<2)>>2]=c[H>>2];c[H>>2]=h;h=h+1|0}while((h|0)!=(y|0));j=v;m=v;h=n}else{j=v;m=v;h=n}}else{j=y;m=x;k=w;h=n}p=t&v+-1}else{p=m;j=y;m=x;k=w;h=n}p=f+(p<<2)|0;c[e+(q<<2)>>2]=c[p>>2];c[p>>2]=q;q=u;p=v;n=h}Va[c[(c[z>>2]|0)+60>>2]&127](z,b);h=c[a+8>>2]|0}i=i+1|0;if((i|0)>=(h|0))break;y=j;x=m;w=k}if(g|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}if(!f)return;c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);return}function Bc(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+108>>2]|0;if(g|0)Za[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;m=c[a+60>>2]|0;n=c[a+92>>2]|0;if(!(Fa[c[(c[n>>2]|0)+56>>2]&127](n)|0)){n=c[a+92>>2]|0;Za[c[(c[n>>2]|0)+16>>2]&127](n,m+((o&65535)<<6)|0,f)}n=e[a+56>>1]|0;d=c[a+60>>2]|0;b[d+54>>1]=(e[d+54>>1]|0)+65534;b[d+56>>1]=(e[d+56>>1]|0)+65534;b[d+58>>1]=(e[d+58>>1]|0)+65534;l=c[a+68>>2]|0;g=b[a+6>>1]|0;f=e[m+((o&65535)<<6)+54>>1]|0;b[l+(f<<2)>>1]=g;h=b[l+(f<<2)+6>>1]|0;if(!(h<<16>>16))f=l;else{j=d+((e[l+(f<<2)+2>>1]|0)<<6)+54|0;i=l+(f<<2)|0;while(1){f=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=h&65535;d=(d&1)==0?g+(k<<6)+48|0:g+(k<<6)+54|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[f>>1]|e[f+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[f>>1]=k;b[f+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+68>>2]|0}d=e[m+((o&65535)<<6)+48>>1]|0;b[l+(d<<2)>>1]=g;i=f+(d<<2)|0;h=b[i+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+48|0;j=i;f=b[i>>1]|0;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;f=c[a+60>>2]|0;i=h&65535;d=(d&1)==0?f+(i<<6)+48|0:f+(i<<6)+54|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;i=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=i;b[g+2>>1]=i>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+72>>2]|0;d=e[m+((o&65535)<<6)+56>>1]|0;b[l+(d<<2)>>1]=g;f=b[l+(d<<2)+6>>1]|0;if(!(f<<16>>16))f=l;else{j=(c[a+60>>2]|0)+((e[l+(d<<2)+2>>1]|0)<<6)+56|0;i=l+(d<<2)|0;while(1){h=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=f&65535;d=(d&1)==0?g+(k<<6)+50|0:g+(k<<6)+56|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[h>>1]|e[h+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[h>>1]=k;b[h+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;f=b[h+10>>1]|0;if(!(f<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+72>>2]|0}d=e[m+((o&65535)<<6)+50>>1]|0;b[l+(d<<2)>>1]=g;h=f+(d<<2)|0;i=b[h+6>>1]|0;if(i<<16>>16){k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+50|0;j=h;f=b[h>>1]|0;h=i;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;f=c[a+60>>2]|0;i=h&65535;d=(d&1)==0?f+(i<<6)+50|0:f+(i<<6)+56|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;i=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=i;b[g+2>>1]=i>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+76>>2]|0;d=e[m+((o&65535)<<6)+58>>1]|0;b[l+(d<<2)>>1]=g;f=b[l+(d<<2)+6>>1]|0;if(!(f<<16>>16))f=l;else{j=(c[a+60>>2]|0)+((e[l+(d<<2)+2>>1]|0)<<6)+58|0;i=l+(d<<2)|0;while(1){h=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=f&65535;d=(d&1)==0?g+(k<<6)+52|0:g+(k<<6)+58|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[h>>1]|e[h+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[h>>1]=k;b[h+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;f=b[h+10>>1]|0;if(!(f<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+76>>2]|0}d=e[m+((o&65535)<<6)+52>>1]|0;b[l+(d<<2)>>1]=g;h=f+(d<<2)|0;i=b[h+6>>1]|0;if(!(i<<16>>16)){k=g;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return}k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+52|0;j=h;f=b[h>>1]|0;h=i;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;i=c[a+60>>2]|0;m=h&65535;d=(d&1)==0?i+(m<<6)+52|0:i+(m<<6)+58|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;m=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=m;b[g+2>>1]=m>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}k=b[a+6>>1]|0;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return}function Cc(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=sa;sa=sa+64|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;o=c[e+104>>2]|0;k=p;m=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));n=c[d+88>>2]|0;if((n|0)<(o|0)){if((c[d+92>>2]|0)<(o|0)){if(!o){f=0;j=n}else{c[7182]=(c[7182]|0)+1;f=xb(o<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){i=0;do{k=f+(i<<6)|0;l=(c[d+96>>2]|0)+(i<<6)|0;m=k+64|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));i=i+1|0}while((i|0)!=(j|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=o;i=d+96|0}else i=d+96|0;f=n;do{k=(c[i>>2]|0)+(f<<6)|0;l=p;m=k+64|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));f=f+1|0}while((f|0)!=(o|0))}c[d+88>>2]=o;if((o|0)>0){j=c[d+96>>2]|0;f=c[e+112>>2]|0;i=0;while(1){g[j+(i<<6)+16>>2]=+h[f+32>>3];g[j+(i<<6)+20>>2]=+h[f+40>>3];g[j+(i<<6)+24>>2]=+h[f+48>>3];g[j+(i<<6)+28>>2]=+h[f+56>>3];g[j+(i<<6)>>2]=+h[f>>3];g[j+(i<<6)+4>>2]=+h[f+8>>3];g[j+(i<<6)+8>>2]=+h[f+16>>3];g[j+(i<<6)+12>>2]=+h[f+24>>3];c[j+(i<<6)+32>>2]=c[f+64>>2];c[j+(i<<6)+36>>2]=c[f+68>>2];c[j+(i<<6)+40>>2]=c[f+72>>2];i=i+1|0;if((i|0)==(o|0))break;else f=f+80|0}}l=c[e+108>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(l|0)){if((c[d+132>>2]|0)<(l|0)){if(!l){f=0;j=k}else{c[7182]=(c[7182]|0)+1;f=xb((l<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){i=0;do{o=f+(i<<4)|0;n=(c[d+136>>2]|0)+(i<<4)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=l;i=d+136|0}else i=d+136|0;f=k;do{o=(c[i>>2]|0)+(f<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];f=f+1|0}while((f|0)!=(l|0))}c[d+128>>2]=l;if((l|0)>0){j=c[d+136>>2]|0;f=0;i=c[e+116>>2]|0;while(1){c[j+(f<<4)+12>>2]=c[i+12>>2];b[j+(f<<4)+6>>1]=b[i+6>>1]|0;b[j+(f<<4)+8>>1]=b[i+8>>1]|0;b[j+(f<<4)+10>>1]=b[i+10>>1]|0;b[j+(f<<4)>>1]=b[i>>1]|0;b[j+(f<<4)+2>>1]=b[i+2>>1]|0;b[j+(f<<4)+4>>1]=b[i+4>>1]|0;f=f+1|0;if((f|0)==(l|0))break;else i=i+16|0}}c[d+144>>2]=c[e+120>>2];l=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(l|0)){if((c[d+156>>2]|0)<(l|0)){if(!l){f=0;j=k}else{c[7182]=(c[7182]|0)+1;f=xb(l<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){i=0;do{o=f+(i<<5)|0;n=(c[d+160>>2]|0)+(i<<5)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=l;i=d+160|0}else i=d+160|0;f=k;do{o=(c[i>>2]|0)+(f<<5)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2];f=f+1|0}while((f|0)!=(l|0))}c[d+152>>2]=l;if((l|0)<=0){sa=p;return}j=c[d+160>>2]|0;i=0;f=c[e+128>>2]|0;while(1){b[j+(i<<5)+6>>1]=b[f+14>>1]|0;b[j+(i<<5)+8>>1]=b[f+16>>1]|0;b[j+(i<<5)+10>>1]=b[f+18>>1]|0;b[j+(i<<5)>>1]=b[f+8>>1]|0;b[j+(i<<5)+2>>1]=b[f+10>>1]|0;b[j+(i<<5)+4>>1]=b[f+12>>1]|0;c[j+(i<<5)+12>>2]=c[f>>2];c[j+(i<<5)+16>>2]=c[f+4>>2];i=i+1|0;if((i|0)==(l|0))break;else f=f+20|0}sa=p;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0;Y=c[d+36>>2]|0;W=c[e+36>>2]|0;K=+g[Y+8>>2];M=+g[Y+12>>2];L=+g[Y+16>>2];h=c[W+8>>2]|0;Q=+g[h+8>>2];R=+g[h+12>>2];S=+g[h+16>>2];d=c[W+12>>2]|0;N=+g[d+8>>2];O=+g[d+12>>2];P=+g[d+16>>2];e=c[W+16>>2]|0;T=+g[e+8>>2];U=+g[e+12>>2];V=+g[e+16>>2];s=N-K-(Q-K);A=O-M-(R-M);u=P-L-(S-L);t=A*(V-L-(S-L))-u*(U-M-(R-M));B=u*(T-K-(Q-K))-s*(V-L-(S-L));v=s*(U-M-(R-M))-A*(T-K-(Q-K));do if(v*v+(t*t+B*B)>1.1920928955078125e-07?(D=1.0/+x(+(v*v+(t*t+B*B))),E=(S-L)*v*D+((Q-K)*t*D+(R-M)*B*D),E*E<3402823466385288598117041.0e14):0){f=Q-K-t*D*E;k=R-M-B*D*E;m=S-L-v*D*E;n=N-K-t*D*E;q=O-M-B*D*E;r=P-L-v*D*E;if((v*(q*f-k*n)+(t*(k*r-m*q)+B*(m*n-r*f))>0.0?(w=T-K-t*D*E,y=U-M-B*D*E,z=V-L-v*D*E,v*(y*n-q*w)+(t*(q*z-r*y)+B*(r*w-z*n))>0.0):0)?v*(k*w-y*f)+(t*(y*m-z*k)+B*(z*f-m*w))>0.0:0){p=E*E;n=t*D*E;m=v*D*E;l=B*D*E;break}if(s*s+A*A+u*u>1.1920928955078125e-07?(C=-((Q-K)*s+(R-M)*A+(S-L)*u)/(s*s+A*A+u*u),C=C<0.0?0.0:C>1.0?1.0:C,p=(S-L+u*C)*(S-L+u*C)+((Q-K+s*C)*(Q-K+s*C)+(R-M+A*C)*(R-M+A*C)),p<3402823466385288598117041.0e14):0){n=Q-K+s*C;m=S-L+u*C;k=R-M+A*C}else{p=3402823466385288598117041.0e14;n=0.0;m=0.0;k=0.0}f=(T-K-(N-K))*(T-K-(N-K))+(U-M-(O-M))*(U-M-(O-M))+(V-L-(P-L))*(V-L-(P-L));if(f>1.1920928955078125e-07?(G=-((N-K)*(T-K-(N-K))+(O-M)*(U-M-(O-M))+(P-L)*(V-L-(P-L)))/f,G=G<0.0?0.0:G>1.0?1.0:G,F=N-K+(T-K-(N-K))*G,H=O-M+(U-M-(O-M))*G,G=P-L+(V-L-(P-L))*G,G*G+(F*F+H*H)1.1920928955078125e-07?(J=-((T-K)*(Q-K-(T-K))+(U-M)*(R-M-(U-M))+(V-L)*(S-L-(V-L)))/f,J=J<0.0?0.0:J>1.0?1.0:J,I=T-K+(Q-K-(T-K))*J,l=U-M+(R-M-(U-M))*J,J=V-L+(S-L-(V-L))*J,J*J+(I*I+l*l)>2];J=M-+g[Y+28>>2];u=L-+g[Y+32>>2];u=+g[b+12>>2]+ +x(+(I*I+J*J+u*u))*2.0;if(!(p>2];V=+g[h+88>>2];f=+g[d+88>>2];U=+g[e+88>>2];f=!(V<=0.0)&!(f<=0.0)&!(U<=0.0)?U*t*(1.0/(r+(t+s)))+(V*s*(1.0/(r+(t+s)))+f*r*(1.0/(r+(t+s)))):0.0;if(!(k+f>0.0))return;V=1.0/-+x(+p);q=n*V;p=V*l;n=V*m;o=c[b+4>>2]|0;d=c[b+8>>2]|0;m=+g[o+316>>2];l=+g[d+316>>2];l=m>l?m:l;m=k/(k+f)*+g[o+332>>2];f=f/(k+f)*+g[d+332>>2];d=c[o+832>>2]|0;if((d|0)==(c[o+836>>2]|0)?(X=(d|0)==0?1:d<<1,(d|0)<(X|0)):0){if(!X)j=0;else{c[7182]=(c[7182]|0)+1;d=xb((X*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+832>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+840>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+840>>2]|0;if(d|0){if(a[o+844>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[o+840>>2]=0}a[o+844>>0]=1;c[o+840>>2]=j;c[o+836>>2]=X;d=c[o+832>>2]|0}X=c[o+840>>2]|0;c[X+(d*56|0)>>2]=Y;c[X+(d*56|0)+4>>2]=W;g[X+(d*56|0)+8>>2]=s*(1.0/(r+(t+s)));g[X+(d*56|0)+12>>2]=r*(1.0/(r+(t+s)));g[X+(d*56|0)+16>>2]=t*(1.0/(r+(t+s)));g[X+(d*56|0)+20>>2]=0.0;g[X+(d*56|0)+24>>2]=q;g[X+(d*56|0)+28>>2]=p;g[X+(d*56|0)+32>>2]=n;g[X+(d*56|0)+36>>2]=0.0;g[X+(d*56|0)+40>>2]=u;g[X+(d*56|0)+44>>2]=l;g[X+(d*56|0)+48>>2]=m;g[X+(d*56|0)+52>>2]=f;c[o+832>>2]=(c[o+832>>2]|0)+1;return}function Ec(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=sa;sa=sa+1136|0;h=c[b+44>>2]|0;h=Fa[c[(c[h>>2]|0)+84>>2]&127](h)|0;if((h|0)>0){e=0;f=42;while(1){o=c[b+44>>2]|0;Za[c[(c[o>>2]|0)+88>>2]&127](o,e,q);ce();o=24464+(f<<4)|0;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];e=e+1|0;if((e|0)==(h|0))break;else f=f+1|0}f=h+42|0}else f=42;e=0;do{o=c[b+44>>2]|0;n=c[(c[o>>2]|0)+64>>2]|0;ce();Za[n&127](q+1104|0,o,24464+(e<<4)|0);o=q+(e<<4)|0;c[o>>2]=c[q+1104>>2];c[o+4>>2]=c[q+1104+4>>2];c[o+8>>2]=c[q+1104+8>>2];c[o+12>>2]=c[q+1104+12>>2];e=e+1|0}while(e>>>0>>0);g[q+1104+16>>2]=1.0000000474974513e-03;c[q+1104+20>>2]=4096;c[q+1104+24>>2]=4096;c[q+1104>>2]=1;c[q+1104+4>>2]=f;c[q+1104+8>>2]=q;c[q+1104+12>>2]=16;a[q+1064+16>>0]=1;c[q+1064+12>>2]=0;c[q+1064+4>>2]=0;c[q+1064+8>>2]=0;a[q+1064+36>>0]=1;c[q+1064+32>>2]=0;c[q+1064+24>>2]=0;c[q+1064+28>>2]=0;a[q+1008+24>>0]=1;o=q+1008+20|0;c[o>>2]=0;c[q+1008+12>>2]=0;c[q+1008+16>>2]=0;m=q+1008+52|0;a[m>>0]=1;n=q+1008+48|0;c[n>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;a[q+1008>>0]=1;l=q+1008+4|0;c[l>>2]=0;c[q+1008+28>>2]=0;c[q+1008+32>>2]=0;if((ob(q+1064|0,q+1104|0,q+1008|0)|0)!=1){j=c[l>>2]|0;i=c[b+4>>2]|0;if((i|0)<(j|0)){if((c[b+8>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7182]=(c[7182]|0)+1;e=xb((j<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+4>>2]|0}if((h|0)>0){f=0;do{k=e+(f<<4)|0;r=(c[b+12>>2]|0)+(f<<4)|0;c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=j;f=b+12|0}else f=b+12|0;e=i;do{r=(c[f>>2]|0)+(e<<4)|0;c[r>>2]=c[q+992>>2];c[r+4>>2]=c[q+992+4>>2];c[r+8>>2]=c[q+992+8>>2];c[r+12>>2]=c[q+992+12>>2];e=e+1|0}while((e|0)!=(j|0));e=c[l>>2]|0}else e=j;c[b+4>>2]=j;if((e|0)>0){f=c[o>>2]|0;e=0;do{k=f+(e<<4)|0;r=(c[b+12>>2]|0)+(e<<4)|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];e=e+1|0}while((e|0)<(c[l>>2]|0))}k=c[q+1008+32>>2]|0;c[b+40>>2]=k;j=c[b+24>>2]|0;if((k|0)>(j|0)){do if((c[b+28>>2]|0)<(k|0)){if(!k){e=0;h=j}else{c[7182]=(c[7182]|0)+1;e=xb((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+24>>2]|0}i=c[b+32>>2]|0;if((h|0)<=0){if(!i){a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=k;break}}else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=k}else e=c[b+32>>2]|0;while(0);mk(e+(j<<2)|0,0,k-j<<2|0)|0;e=c[b+40>>2]|0}else e=k;c[b+24>>2]=k;if((e|0)>0){f=c[n>>2]|0;h=c[b+32>>2]|0;e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)<(c[b+40>>2]|0))}if(c[q+1008+12>>2]|0){c[l>>2]=0;e=c[o>>2]|0;if(e|0){if(a[q+1008+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[o>>2]=0}a[q+1008+24>>0]=1;c[o>>2]=0;c[q+1008+12>>2]=0;c[q+1008+16>>2]=0}if(!(c[q+1008+40>>2]|0)){f=1;p=60}else{c[q+1008+32>>2]=0;e=c[n>>2]|0;if(e|0){if(a[m>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[n>>2]=0}a[m>>0]=1;c[n>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;f=1}}else{f=0;p=60}if((p|0)==60){e=c[n>>2]|0;if(e){if(a[m>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[n>>2]=0}}a[m>>0]=1;c[n>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;e=c[o>>2]|0;if(e|0){if(a[q+1008+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[o>>2]=0}e=c[q+1064+32>>2]|0;if(e|0){if(a[q+1064+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[q+1064+32>>2]=0}a[q+1064+36>>0]=1;c[q+1064+32>>2]=0;c[q+1064+24>>2]=0;c[q+1064+28>>2]=0;e=c[q+1064+12>>2]|0;if(!e){sa=q;return f|0}if(a[q+1064+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[q+1064+12>>2]=0;sa=q;return f|0}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=5940;d=c[b+192>>2]|0;if(d|0)Pa[c[(c[d>>2]|0)+4>>2]&511](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){sg(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}d=c[h+52>>2]|0;if(d|0){if(a[h+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[h+52>>2]=0}a[h+56>>0]=1;c[h+52>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;d=c[h+32>>2]|0;if(d|0){if(a[h+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[h+32>>2]=0}a[h+36>>0]=1;c[h+32>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=c[h+12>>2]|0;if(d|0){if(a[h+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=25;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==25){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;yh(b+1048|0);yh(b+988|0);yh(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;wu(b+288|0);d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=7816;return}if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=7816;return}function Gc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=sa;sa=sa+64|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;m=c[e+56>>2]|0;i=n;k=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));l=c[d+88>>2]|0;if((l|0)<(m|0)){if((c[d+92>>2]|0)<(m|0)){if(!m){f=0;h=l}else{c[7182]=(c[7182]|0)+1;f=xb(m<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+88>>2]|0}if((h|0)>0){g=0;do{i=f+(g<<6)|0;j=(c[d+96>>2]|0)+(g<<6)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));g=g+1|0}while((g|0)!=(h|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=m;g=d+96|0}else g=d+96|0;f=l;do{i=(c[g>>2]|0)+(f<<6)|0;j=n;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(m|0))}c[d+88>>2]=m;if((m|0)>0){h=c[d+96>>2]|0;f=c[e+64>>2]|0;g=0;while(1){c[h+(g<<6)+16>>2]=c[f+16>>2];c[h+(g<<6)+20>>2]=c[f+20>>2];c[h+(g<<6)+24>>2]=c[f+24>>2];c[h+(g<<6)+28>>2]=c[f+28>>2];c[h+(g<<6)>>2]=c[f>>2];c[h+(g<<6)+4>>2]=c[f+4>>2];c[h+(g<<6)+8>>2]=c[f+8>>2];c[h+(g<<6)+12>>2]=c[f+12>>2];c[h+(g<<6)+32>>2]=c[f+32>>2];c[h+(g<<6)+36>>2]=c[f+36>>2];c[h+(g<<6)+40>>2]=c[f+40>>2];g=g+1|0;if((g|0)==(m|0))break;else f=f+48|0}}j=c[e+60>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[7182]=(c[7182]|0)+1;f=xb((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+128>>2]|0}if((h|0)>0){g=0;do{m=f+(g<<4)|0;l=(c[d+136>>2]|0)+(g<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{m=(c[g>>2]|0)+(f<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){h=c[d+136>>2]|0;f=0;g=c[e+68>>2]|0;while(1){c[h+(f<<4)+12>>2]=c[g+12>>2];b[h+(f<<4)+6>>1]=b[g+6>>1]|0;b[h+(f<<4)+8>>1]=b[g+8>>1]|0;b[h+(f<<4)+10>>1]=b[g+10>>1]|0;b[h+(f<<4)>>1]=b[g>>1]|0;b[h+(f<<4)+2>>1]=b[g+2>>1]|0;b[h+(f<<4)+4>>1]=b[g+4>>1]|0;f=f+1|0;if((f|0)==(j|0))break;else g=g+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[7182]=(c[7182]|0)+1;f=xb(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+152>>2]|0}if((h|0)>0){g=0;do{m=f+(g<<5)|0;l=(c[d+160>>2]|0)+(g<<5)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];c[m+20>>2]=c[l+20>>2];c[m+24>>2]=c[l+24>>2];c[m+28>>2]=c[l+28>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{m=(c[g>>2]|0)+(f<<5)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];c[m+20>>2]=c[n+20>>2];c[m+24>>2]=c[n+24>>2];c[m+28>>2]=c[n+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){sa=n;return}h=c[d+160>>2]|0;g=0;f=c[e+72>>2]|0;while(1){b[h+(g<<5)+6>>1]=b[f+14>>1]|0;b[h+(g<<5)+8>>1]=b[f+16>>1]|0;b[h+(g<<5)+10>>1]=b[f+18>>1]|0;b[h+(g<<5)>>1]=b[f+8>>1]|0;b[h+(g<<5)+2>>1]=b[f+10>>1]|0;b[h+(g<<5)+4>>1]=b[f+12>>1]|0;c[h+(g<<5)+12>>2]=c[f>>2];c[h+(g<<5)+16>>2]=c[f+4>>2];g=g+1|0;if((g|0)==(j|0))break;else f=f+20|0}sa=n;return}function Hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;b=c[7205]|0;d=c[a+-4>>2]|0;j=a+-8+(d&-8)|0;do if(!(d&1)){e=c[a+-8>>2]|0;if(!(d&3))return;h=a+-8+(0-e)|0;g=e+(d&-8)|0;if(h>>>0>>0)return;if((c[7206]|0)==(h|0)){b=c[j+4>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[7203]=g;c[j+4>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=3?e>>>3:e;if(e>>>0<256){b=c[h+8>>2]|0;a=c[h+12>>2]|0;if((a|0)==(b|0)){c[7201]=c[7201]&~(1<>2]=a;c[a+8>>2]=b;i=h;b=g;break}}f=c[h+24>>2]|0;b=c[h+12>>2]|0;do if((b|0)==(h|0)){b=c[h+16+4>>2]|0;if(!b){b=c[h+16>>2]|0;if(!b){b=0;break}else a=h+16|0}else a=h+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=b;c[b+8>>2]=i}while(0);if(f){a=c[h+28>>2]|0;if((c[29108+(a<<2)>>2]|0)==(h|0)){c[29108+(a<<2)>>2]=b;if(!b){c[7202]=c[7202]&~(1<>2]|0)==(h|0)?f+16|0:f+20|0)>>2]=b;if(!b){i=h;b=g;break}}c[b+24>>2]=f;a=c[h+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[h+16+4>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=a+-8|0;b=d&-8;h=a+-8|0}while(0);if(h>>>0>=j>>>0)return;a=c[j+4>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[7207]|0)==(j|0)){j=(c[7204]|0)+b|0;c[7204]=j;c[7207]=i;c[i+4>>2]=j|1;if((i|0)!=(c[7206]|0))return;c[7206]=0;c[7203]=0;return}if((c[7206]|0)==(j|0)){j=(c[7203]|0)+b|0;c[7203]=j;c[7206]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(a&-8)+b|0;d=3?a>>>3:a;do if(a>>>0<256){a=c[j+8>>2]|0;b=c[j+12>>2]|0;if((b|0)==(a|0)){c[7201]=c[7201]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){b=c[j+16+4>>2]|0;if(!b){b=c[j+16>>2]|0;if(!b){a=0;break}else a=j+16|0}else a=j+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;a=b}else{a=c[j+8>>2]|0;c[a+12>>2]=b;c[b+8>>2]=a;a=b}while(0);if(g|0){b=c[j+28>>2]|0;if((c[29108+(b<<2)>>2]|0)==(j|0)){c[29108+(b<<2)>>2]=a;if(!a){c[7202]=c[7202]&~(1<>2]|0)==(j|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[j+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[j+16+4>>2]|0;if(b|0){c[a+20>>2]=b;c[b+24>>2]=a}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[7206]|0)){c[7203]=f;return}}else{c[j+4>>2]=a&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}d=3?f>>>3:f;if(f>>>0<256){b=c[7201]|0;if(!(b&1<>2]|0;a=28844+(d<<1<<2)+8|0}c[a>>2]=i;c[b+12>>2]=i;c[i+8>>2]=b;c[i+12>>2]=28844+(d<<1<<2);return}b=8?f>>>8:f;if(b)if(f>>>0>16777215)e=31;else{h=(16?(b+1048320|0)>>>16:b+1048320|0)&8;j=(16?((b<>>16:(b<>>16:(b<>>15:b<>>(e+7|0):f)&1|e<<1}else e=0;b=29108+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;a=c[7202]|0;d=1<>2]=i;c[i+24>>2]=b;c[i+12>>2]=i;c[i+8>>2]=i}else{b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=b+16+((31?e>>>31:e)<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break b}else{e=e<<1;b=a}}c[d>>2]=i;c[i+24>>2]=b;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=b+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=b;c[i+24>>2]=0}while(0);j=(c[7209]|0)+-1|0;c[7209]=j;if(j|0)return;b=29260;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[7209]=-1;return}function Ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=c[d+8>>2]|0;if(!j){h=0;return h|0}i=0;C=j;do{if((c[C+20>>2]|0)>(c[a+100>>2]|0)){A=c[C+12>>2]|0;w=c[A+88>>2]|0;x=w-(c[d+88>>2]|0)|0;y=c[A+92>>2]|0;z=y-(c[d+92>>2]|0)|0;A=c[A+96>>2]|0;B=A-(c[d+96>>2]|0)|0;k=Vr(c[g>>2]|0,c[g+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;p=Q()|0;j=Vr(c[g+8>>2]|0,c[g+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;p=xv(j|0,Q()|0,k|0,p|0)|0;k=Q()|0;j=Vr(c[g+16>>2]|0,c[g+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;j=xv(p|0,k|0,j|0,Q()|0)|0;k=Q()|0;p=Vr(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;v=Q()|0;o=Vr(c[f+8>>2]|0,c[f+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;v=xv(o|0,Q()|0,p|0,v|0)|0;p=Q()|0;o=Vr(c[f+16>>2]|0,c[f+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;o=xv(v|0,p|0,o|0,Q()|0)|0;p=Q()|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=1;m=-1;v=j}else{v=lv(0,0,j|0,k|0)|0;u=Q()|0;l=((j|0)!=0|(k|0)!=0)<<31>>31;m=((j|0)!=0|(k|0)!=0)&1;v=(j|0)!=0|(k|0)!=0?v:0;k=(j|0)!=0|(k|0)!=0?u:0}if(!((p|0)>0|(p|0)==0&o>>>0>0)){j=lv(0,0,o|0,p|0)|0;n=Q()|0;j=(o|0)!=0|(p|0)!=0?j:0;n=(o|0)!=0|(p|0)!=0?n:0;if(!((((o|0)!=0|(p|0)!=0?m:l)|0)==0&((j|0)==0&(n|0)==0))){l=(o|0)!=0|(p|0)!=0?m:l;o=j;q=8}}else{n=p;q=8}a:do if((q|0)==8){q=0;if(!i){c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=o;c[h+8+4>>2]=n;c[h+16>>2]=l;i=C;break}j=c[h+16>>2]|0;if((l|0)==(j|0)){if(l|0){p=c[h+8>>2]|0;s=c[h+8+4>>2]|0;m=Vr(p|0,0,v|0,0)|0;j=Q()|0;t=Vr(s|0,0,v|0,0)|0;r=Q()|0;p=Vr(p|0,0,k|0,0)|0;q=Q()|0;s=Vr(s|0,0,k|0,0)|0;F=Q()|0;p=xv(t|0,0,p|0,0)|0;t=Q()|0;F=xv(r|0,0,s|0,F|0)|0;q=xv(F|0,Q()|0,q|0,0)|0;t=xv(q|0,Q()|0,t|0,0)|0;q=Q()|0;j=xv(0,p|0,m|0,j|0)|0;m=Q()|0;p=xv(t|0,q|0,(m>>>0

>>0|(m|0)==(p|0)&j>>>0<0)&1|0,0)|0;q=Q()|0;t=c[h>>2]|0;F=c[h+4>>2]|0;s=Vr(t|0,0,o|0,0)|0;r=Q()|0;D=Vr(F|0,0,o|0,0)|0;G=Q()|0;t=Vr(t|0,0,n|0,0)|0;u=Q()|0;F=Vr(F|0,0,n|0,0)|0;E=Q()|0;t=xv(D|0,0,t|0,0)|0;D=Q()|0;E=xv(G|0,0,F|0,E|0)|0;u=xv(E|0,Q()|0,u|0,0)|0;D=xv(u|0,Q()|0,D|0,0)|0;u=Q()|0;r=xv(0,t|0,s|0,r|0)|0;s=Q()|0;t=xv(D|0,u|0,(s>>>0>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=Q()|0;if(!(q>>>0>>0|(q|0)==(u|0)&p>>>0>>0))if(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0)j=1;else j=m>>>0>>0|(m|0)==(s|0)&j>>>0>>0?-1:(m>>>0>s>>>0|(m|0)==(s|0)&j>>>0>r>>>0)&1;else j=-1;j=J(j,l)|0;q=17}}else{j=l-j|0;q=17}do if((q|0)==17){q=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=o;c[h+8+4>>2]=n;c[h+16>>2]=l;i=C;break a}}while(0);j=(c[i+4>>2]|0)==(C|0);if((c[i>>2]|0)==(C|0))if(j){G=c[e+8>>2]|0;D=J(G,z)|0;u=c[e+4>>2]|0;D=D-(J(u,B)|0)|0;F=c[e>>2]|0;G=(J(F,B)|0)-(J(G,x)|0)|0;F=(J(u,x)|0)-(J(F,z)|0)|0;u=c[i+12>>2]|0;j=c[(c[C+8>>2]|0)+12>>2]|0;B=c[j+88>>2]|0;x=(c[u+88>>2]|0)-B|0;v=c[j+92>>2]|0;z=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;E=(J(A-j|0,z)|0)-(J(u,y-v|0)|0)|0;j=(J(u,w-B|0)|0)-(J(A-j|0,x)|0)|0;B=(J(y-v|0,x)|0)-(J(z,w-B|0)|0)|0;D=Vr(E|0,((E|0)<0)<<31>>31|0,D|0,((D|0)<0)<<31>>31|0)|0;E=Q()|0;G=Vr(j|0,((j|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;j=Q()|0;F=Vr(B|0,((B|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;F=xv(D|0,E|0,F|0,Q()|0)|0;j=xv(F|0,Q()|0,G|0,j|0)|0;G=Q()|0;j=(G|0)>0|(G|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:C}while(0);j=c[d+8>>2]|0}C=c[C>>2]|0}while((C|0)!=(j|0));return i|0}function Jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0;q=sa;sa=sa+176|0;c[q+96>>2]=1;c[q+96+4>>2]=e;c[q+96+8>>2]=d;c[q+96+12>>2]=16;g[q+96+16>>2]=1.0000000474974513e-03;a[q+40+24>>0]=1;p=q+40+20|0;c[p>>2]=0;c[q+40+12>>2]=0;c[q+40+16>>2]=0;n=q+40+52|0;a[n>>0]=1;o=q+40+48|0;c[o>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0;a[q+40>>0]=1;c[q+40+4>>2]=0;c[q+40+28>>2]=0;c[q+40+32>>2]=0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;a[q+36>>0]=1;c[q+32>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+96+20>>2]=e;ob(q,q+96|0,q+40|0)|0;c[7182]=(c[7182]|0)+1;d=xb(1271)|0;if(!d)m=0;else{c[(d+4+15&-16)+-4>>2]=d;m=d+4+15&-16}Hb(m,b,c[q+40+4>>2]|0,c[p>>2]|0,0);if((c[q+40+28>>2]|0)>0){e=m+720|0;b=m+732|0;h=m+740|0;i=m+924|0;d=0;do{l=d*3|0;r=c[o>>2]|0;j=c[r+(l<<2)>>2]|0;k=c[r+(l+1<<2)>>2]|0;l=c[r+(l+2<<2)>>2]|0;if((j|0)<(k|0)){w=c[e>>2]|0;oh(m,0);r=(c[b>>2]|0)+-1|0;s=c[h>>2]|0;c[s+(r*52|0)+8>>2]=w+(j*104|0);c[s+(r*52|0)+12>>2]=w+(k*104|0);v=+g[w+(j*104|0)+8>>2]-+g[w+(k*104|0)+8>>2];u=+g[w+(j*104|0)+12>>2]-+g[w+(k*104|0)+12>>2];t=+g[w+(j*104|0)+16>>2]-+g[w+(k*104|0)+16>>2];g[s+(r*52|0)+16>>2]=+x(+(v*v+u*u+t*t));a[i>>0]=1}if((k|0)<(l|0)){r=c[e>>2]|0;oh(m,0);w=(c[b>>2]|0)+-1|0;s=c[h>>2]|0;c[s+(w*52|0)+8>>2]=r+(k*104|0);c[s+(w*52|0)+12>>2]=r+(l*104|0);t=+g[r+(k*104|0)+8>>2]-+g[r+(l*104|0)+8>>2];u=+g[r+(k*104|0)+12>>2]-+g[r+(l*104|0)+12>>2];v=+g[r+(k*104|0)+16>>2]-+g[r+(l*104|0)+16>>2];g[s+(w*52|0)+16>>2]=+x(+(t*t+u*u+v*v));a[i>>0]=1}if((l|0)<(j|0)){r=c[e>>2]|0;oh(m,0);w=(c[b>>2]|0)+-1|0;s=c[h>>2]|0;c[s+(w*52|0)+8>>2]=r+(l*104|0);c[s+(w*52|0)+12>>2]=r+(j*104|0);t=+g[r+(l*104|0)+8>>2]-+g[r+(j*104|0)+8>>2];u=+g[r+(l*104|0)+12>>2]-+g[r+(j*104|0)+12>>2];v=+g[r+(l*104|0)+16>>2]-+g[r+(j*104|0)+16>>2];g[s+(w*52|0)+16>>2]=+x(+(t*t+u*u+v*v));a[i>>0]=1}mf(m,j,k,l,0);d=d+1|0}while((d|0)<(c[q+40+28>>2]|0))}if(c[q+40+12>>2]|0){c[q+40+4>>2]=0;d=c[p>>2]|0;if(d|0){if(a[q+40+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[p>>2]=0}a[q+40+24>>0]=1;c[p>>2]=0;c[q+40+12>>2]=0;c[q+40+16>>2]=0}if(c[q+40+40>>2]|0){c[q+40+32>>2]=0;d=c[o>>2]|0;if(d|0){if(a[n>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[o>>2]=0}a[n>>0]=1;c[o>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0}if(f){b=c[m+732>>2]|0;if((b|0)>0){h=m+740|0;d=243703;e=0;do{i=c[h>>2]|0;j=i+(e*52|0)|0;d=(J(d,1664525)|0)+1013904223|0;k=q+124|0;l=j;f=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));k=j;l=i+(((d>>>0)%(b>>>0)|0)*52|0)|0;f=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));k=i+(((d>>>0)%(b>>>0)|0)*52|0)|0;l=q+124|0;f=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));e=e+1|0}while((e|0)!=(b|0))}else d=243703;i=c[m+752>>2]|0;if((i|0)>0){j=m+760|0;e=0;do{h=c[j>>2]|0;b=h+(e*44|0)|0;d=(J(d,1664525)|0)+1013904223|0;h=h+(((d>>>0)%(i>>>0)|0)*44|0)|0;k=q+124|0;l=b;f=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));k=b;l=h;f=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));k=h;l=q+124|0;f=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(f|0));e=e+1|0}while((e|0)!=(i|0))}}d=c[q+32>>2]|0;if(d|0){if(a[q+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[q+32>>2]=0}a[q+36>>0]=1;c[q+32>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;d=c[q+12>>2]|0;if(d|0){if(a[q+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[q+12>>2]=0}d=c[o>>2]|0;if(d|0){if(a[n>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[o>>2]=0}a[n>>0]=1;c[o>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0;d=c[p>>2]|0;if(!d){sa=q;return m|0}if(a[q+40+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[p>>2]=0;sa=q;return m|0} +function hi(){var b=0;b=fs(284)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=7852;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function ii(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0;f=sa;sa=sa+48|0;if((c[b+136>>2]|0)<=0){sa=f;return}e=0;do{l=c[b+144>>2]|0;c[f+32>>2]=(a[l+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;k=l+(e*284|0)+140|0;c[f+16>>2]=c[k>>2];c[f+16+4>>2]=c[k+4>>2];c[f+16+8>>2]=c[k+8>>2];c[f+16+12>>2]=c[k+12>>2];k=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;j=+g[l+(e*284|0)+108+(k<<2)>>2]+ +g[f+16+4>>2];i=+g[l+(e*284|0)+124+(k<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[l+(e*284|0)+92+(k<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;ab[h&127](d,f+16|0,f,f+32|0);ab[c[(c[d>>2]|0)+8>>2]&127](d,f+16|0,(c[b+144>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+136>>2]|0));sa=f;return}function ji(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function ki(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;e=sa;sa=sa+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;ab[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+va[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;sa=e;return}function li(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;l=c[b+720>>2]|0;a:do if(h?(k=c[b+732>>2]|0,(k|0)>0):0){i=c[b+740>>2]|0;h=0;while(1){j=c[i+(h*52|0)+8>>2]|0;if((j|0)==(l+(d*104|0)|0)?(c[i+(h*52|0)+12>>2]|0)==(l+(e*104|0)|0):0){h=10;break}if((j|0)==(l+(e*104|0)|0)?(c[i+(h*52|0)+12>>2]|0)==(l+(d*104|0)|0):0){h=10;break}h=h+1|0;if((h|0)>=(k|0))break a}if((h|0)==10)return}while(0);oh(b,f);f=(c[b+732>>2]|0)+-1|0;k=c[b+740>>2]|0;c[k+(f*52|0)+8>>2]=l+(d*104|0);c[k+(f*52|0)+12>>2]=l+(e*104|0);o=+g[l+(d*104|0)+8>>2]-+g[l+(e*104|0)+8>>2];n=+g[l+(d*104|0)+12>>2]-+g[l+(e*104|0)+12>>2];m=+g[l+(d*104|0)+16>>2]-+g[l+(e*104|0)+16>>2];g[k+(f*52|0)+16>>2]=+x(+(o*o+n*n+m*m));a[b+924>>0]=1;return}function mi(){var b=0;b=vs()|0;c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+124+12>>2]=0;c[b+124+16>>2]=0;c[b+124+20>>2]=0;c[b+124+24>>2]=0;c[b+124+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;c[b+308>>2]=0;c[b+308+4>>2]=0;c[b+308+8>>2]=0;c[b+308+12>>2]=0;c[b+308+16>>2]=0;c[b+308+20>>2]=0;c[b+308+24>>2]=0;c[b+308+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;c[b+492>>2]=0;c[b+492+4>>2]=0;c[b+492+8>>2]=0;c[b+492+12>>2]=0;c[b+492+16>>2]=0;c[b+492+20>>2]=0;c[b+492+24>>2]=0;c[b+492+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;c[b+676>>2]=0;c[b+676+4>>2]=0;c[b+676+8>>2]=0;c[b+676+12>>2]=0;c[b+676+16>>2]=0;c[b+676+20>>2]=0;c[b+676+24>>2]=0;c[b+676+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=6612;if((c[a+104>>2]|0)<=0){a=a+60|0;Ai(a);Bi(a);return}k=0;do{j=c[(c[a+4>>2]|0)+684>>2]|0;i=(c[a+112>>2]|0)+(k<<3)+4|0;b=c[i>>2]|0;d=c[j+60>>2]|0;if((d|0)>0){h=0;do{g=(c[j+68>>2]|0)+(h<<2)|0;e=c[g>>2]|0;if(e){f=0;while(1){d=e;e=c[e+280>>2]|0;if((c[d+276>>2]|0)==(b|0)){c[((f|0)==0?g:f+280|0)>>2]=e;GI(d);d=f}if(!e)break;else f=d}d=c[j+60>>2]|0}h=h+1|0}while((h|0)<(d|0));b=c[i>>2]|0}if(b|0)Pa[c[(c[b>>2]|0)+4>>2]&511](b);k=k+1|0}while((k|0)<(c[a+104>>2]|0));a=a+60|0;Ai(a);Bi(a);return}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b+272>>2]=0.0;o=-+g[b+56>>2];p=-+g[b+60>>2];g[b>>2]=-+g[b+52>>2];g[b+4>>2]=o;g[b+8>>2]=p;g[b+12>>2]=0.0;p=1.0;d=b+268|0;g[d>>2]=p;return}p=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=p*+g[b+52>>2]+f*+g[b+56>>2]+h*+g[b+60>>2];j=+g[b+16>>2]-+g[d+52>>2];k=+g[b+20>>2]-+g[d+56>>2];l=+g[b+24>>2]-+g[d+60>>2];m=+g[d+332>>2];n=+g[d+336>>2];o=+g[d+328>>2];if(!(i>=-.10000000149011612)){g[b+272>>2]=-1.0/i*(p*(m*l-k*n+ +g[d+312>>2])+f*(j*n-l*o+ +g[d+316>>2])+h*(k*o-j*m+ +g[d+320>>2]));p=-1.0/i;d=b+268|0;g[d>>2]=p;return}else{g[b+272>>2]=0.0;p=10.0;d=b+268|0;g[d>>2]=p;return}}function pi(b,d){b=b|0;d=d|0;var e=0,f=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}tc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?!(a[b+790>>0]|0):0)){c[d>>2]=e+1;c[d+4>>2]=f+-1}if(of(b,0)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(of(b,1)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(!(of(b,2)|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7182]=(c[7182]|0)+1;f=xb((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+212>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+220>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+220>>2]|0;if(g){if(a[b+224>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=h;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;Rh(c[d+28>>2]|0,d);Rh(c[d+32>>2]|0,d);return}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=sa;sa=sa+96|0;j=+g[c>>2];k=+g[c+4>>2];l=+g[c+8>>2];Wp(e+80|0,j,k,l,+Xx(j,k,l,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));l=+g[e+80>>2];k=+g[e+80+4>>2];j=+g[e+80+8>>2];sp(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],l,k,j);Co(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];m=+zI(d);Wp(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],m);qp(e+32|0,l,k,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);Wp(e,i,h,f,+yI(d));qp(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);sa=e;return}function si(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;m=sa;sa=sa+16|0;Ki(17206);+Da[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,i,j,k);+Da[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,i,j,k);+Aa[c[(c[a>>2]|0)+36>>2]&1](a,b,d,j);l=c[3084]|0;k=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=k;if(k|0){sa=m;return 0.0}do if(c[l+4>>2]|0){la(m|0,0)|0;k=c[7181]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[m+4>>2]|0)-(c[k+4>>2]|0)+(((c[m>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[3084]|0;break}else{sa=m;return 0.0}}while(0);c[3084]=c[l+20>>2];sa=m;return 0.0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)Bk(e,b,d);a=c[a>>2]|0;if(!a)return;m=+g[b>>2];k=+g[a+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[a+180>>2]*(j*f-l*o)+ +g[a+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[a+188>>2];h=(j*f-l*o)*+g[a+196>>2]+(m*o-j*n)*+g[a+200>>2]+(l*n-m*f)*+g[a+204>>2];f=(j*f-l*o)*+g[a+212>>2]+(m*o-j*n)*+g[a+216>>2]+(l*n-m*f)*+g[a+220>>2];g[a+276>>2]=m*k+ +g[a+276>>2];g[a+280>>2]=k*l+ +g[a+280>>2];g[a+284>>2]=k*j+ +g[a+284>>2];g[a+292>>2]=i+ +g[a+292>>2];g[a+296>>2]=h+ +g[a+296>>2];g[a+300>>2]=f+ +g[a+300>>2];c[a+312>>2]=(c[a+312>>2]|0)+1;return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+F(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function vi(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=sa;sa=sa+16|0;Ki(19302);d=c[b+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+216>>2]|0){case 2:case 5:break;default:h=11}else h=11;if((h|0)==11){h=0;Me(b,e);d=c[b+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[3084]|0;h=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=h;if(h|0){sa=i;return}do if(c[d+4>>2]|0){la(i|0,0)|0;h=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[i+4>>2]|0)-(c[h+4>>2]|0)+(((c[i>>2]|0)-(c[h>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=i;return}}while(0);c[3084]=c[d+20>>2];sa=i;return}function wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=Fa[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Ja[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Ja[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=Fa[c[(c[g>>2]|0)+36>>2]&127](g)|0;e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=Ja[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function xi(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=sa;sa=sa+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;g[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){sa=e;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;ab[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+32>>2]>b)g[a+32>>2]=b;b=+g[e>>2];if(+g[a+48>>2]>2]=b;b=+g[e+16+4>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e+4>>2];if(+g[a+52>>2]>2]=b;b=+g[e+16+8>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+8>>2];if(+g[a+56>>2]>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));sa=e;return}function yi(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=b;b=d;d=(d|0)!=0;f=5;break}}}else{e=b;b=d;d=(d|0)!=0;f=5}while(0);b:do if((f|0)==5){do if(d){if(!(a[e>>0]|0))if(!b)break;else{b=e;break b}c:do if(b>>>0>3)while(1){d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break c;e=e+4|0;b=b+-4|0;if(b>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!b)break;while(1){if(!(a[e>>0]|0)){b=e;break b}b=b+-1|0;if(!b)break;else e=e+1|0}}while(0);b=0}while(0);return b|0}function zi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=sa;sa=sa+64|0;h=c[d>>2]|0;g=d+(c[h+-8>>2]|0)|0;h=c[h+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=5192;d=RC(h,e)|0;e=i+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(d){c[i+48>>2]=1;gb[c[(c[h>>2]|0)+20>>2]&7](h,i,g,g,1,0);d=(c[i+24>>2]|0)==1?g:0}else{eb[c[(c[h>>2]|0)+24>>2]&31](h,i,g,1,0);switch(c[i+36>>2]|0){case 0:{d=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){d=0;break}d=c[i+16>>2]|0}while(0);sa=i;return d|0}function Ai(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+72>>2]|0;if(!d){a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}if(a[b+76>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+72>>2]=0;a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}function Bi(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Ci(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=sa;sa=sa+96|0;i=+va[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;ab[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;sa=e;return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Ei(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)i=0;else{c[7182]=(c[7182]|0)+1;g=xb((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+328>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+336>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+336>>2]|0;if(h){if(a[b+340>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=i;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];$f(b,d,e,f);return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Gi(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;d=c[a+740>>2]|0;a=0;do{n=c[d+(a*52|0)+8>>2]|0;f=c[d+(a*52|0)+12>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];o=+g[n+48>>2];k=d+(a*52|0)+36|0;r=+g[k>>2];m=d+(a*52|0)+40|0;p=+g[m>>2];l=d+(a*52|0)+44|0;h=+g[l>>2];j=-(+g[d+(a*52|0)+32>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(o-+g[f+48>>2])*h)*b);i=+g[n+88>>2]*j;g[n+40>>2]=s+r*i;g[n+44>>2]=q+p*i;g[n+48>>2]=o+h*i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;a=a+1|0}while((a|0)!=(e|0));return}function Hi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+24>>2];i=+g[a+28>>2];j=+g[a+32>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function Ii(b){b=b|0;var d=0;d=Gs()|0;c[d+8>>2]=0;c[d>>2]=9100;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;if(!b)return d|0;c[7182]=(c[7182]|0)+1;b=xb(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function Ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+88>>2];i=+g[a+92>>2];j=+g[a+96>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0;f=sa;sa=sa+16|0;d=c[3084]|0;if((c[d>>2]|0)==(a|0))b=d;else{b=c[d+24>>2]|0;a:do if(!b)e=6;else while(1){if((c[b>>2]|0)==(a|0))break a;b=c[b+28>>2]|0;if(!b){e=6;break}}while(0);if((e|0)==6){b=Nr(36)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;c[b+20>>2]=d;c[b+24>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;er(b);c[b+28>>2]=c[d+24>>2];c[d+24>>2]=b}c[3084]=b}d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=b+16|0;e=c[d>>2]|0;c[d>>2]=e+1;if(e|0){sa=f;return}la(f|0,0)|0;e=c[7181]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);sa=f;return}function Li(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;h=+va[c[(c[a>>2]|0)+48>>2]&15](a);l=h+ +g[a+28>>2];j=h+ +g[a+32>>2];h=h+ +g[a+36>>2];u=+w(+(+g[b>>2]));t=+w(+(+g[b+4>>2]));s=+w(+(+g[b+8>>2]));q=+w(+(+g[b+16>>2]));p=+w(+(+g[b+20>>2]));o=+w(+(+g[b+24>>2]));k=+w(+(+g[b+32>>2]));i=+w(+(+g[b+36>>2]));f=+w(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];m=+g[b+56>>2];g[d>>2]=r-(l*u+j*t+h*s);g[d+4>>2]=n-(l*q+j*p+h*o);g[d+8>>2]=m-(l*k+j*i+h*f);g[d+12>>2]=0.0;g[e>>2]=l*u+j*t+h*s+r;g[e+4>>2]=l*q+j*p+h*o+n;g[e+8>>2]=m+(l*k+j*i+h*f);g[e+12>>2]=0.0;return}function Mi(b){b=b|0;var d=0;c[b>>2]=11492;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);return}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7182]=(c[7182]|0)+1;e=xb((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Oi(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=sa;sa=sa+96|0;a[b+88>>0]=1;if((a[26736]|0)==0?mz(26736)|0:0){c[6364]=1065353216;c[6365]=0;c[6366]=0;c[6367]=0;c[6368]=0;c[6369]=1065353216;c[6370]=0;c[6371]=0;c[6372]=0;c[6373]=0;c[6374]=1065353216;g[6375]=0.0;c[6376]=-1082130432;c[6377]=0;c[6378]=0;c[6379]=0;c[6380]=0;c[6381]=-1082130432;c[6382]=0;c[6383]=0;c[6384]=0;c[6385]=0;c[6386]=-1082130432;g[6387]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));ab[c[(c[b>>2]|0)+76>>2]&127](b,25456,e,6);h=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+h;g[b+56>>2]=+g[e+48>>2]-h;g[b+76>>2]=+g[e+20>>2]+h;g[b+60>>2]=+g[e+68>>2]-h;g[b+80>>2]=+g[e+40>>2]+h;g[b+64>>2]=+g[e+88>>2]-h;sa=e;return}function Pi(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[a+732>>2]|0;if((f|0)<=0)return;e=c[a+740>>2]|0;a=0;do{d=+g[e+(a*52|0)+24>>2];if(d>0.0?(h=c[e+(a*52|0)+8>>2]|0,i=c[e+(a*52|0)+12>>2]|0,j=+g[h+8>>2],k=+g[i+8>>2]-j,l=+g[h+12>>2],m=+g[i+12>>2]-l,n=+g[h+16>>2],o=+g[i+16>>2]-n,p=+g[e+(a*52|0)+28>>2],p+(k*k+m*m+o*o)>1.1920928955078125e-07):0){d=(p-(k*k+m*m+o*o))/(d*(p+(k*k+m*m+o*o)))*b;q=d*+g[h+88>>2];g[h+8>>2]=j-k*q;g[h+12>>2]=l-m*q;g[h+16>>2]=n-o*q;d=d*+g[i+88>>2];g[i+8>>2]=+g[i+8>>2]+k*d;g[i+12>>2]=m*d+ +g[i+12>>2];g[i+16>>2]=o*d+ +g[i+16>>2]}a=a+1|0}while((a|0)!=(f|0));return}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){j=c[a+12>>2]|0;l=c[j+(((b+d|0)/2|0)<<3)>>2]|0;f=d;e=b;while(1){while(1){i=j+(e<<3)|0;k=e+1|0;if((c[i>>2]|0)<(l|0))e=k;else break}while(1){g=j+(f<<3)|0;h=f+-1|0;if((c[g>>2]|0)>(l|0))f=h;else break}if((e|0)<=(f|0)){j=c[i>>2]|0;e=c[i+4>>2]|0;m=c[g+4>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=m;f=(c[a+12>>2]|0)+(f<<3)|0;c[f>>2]=j;c[f+4>>2]=e;f=h;e=k}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))Qi(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;e=sa;sa=sa+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;m=e+32+44|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;ab[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);l=+g[e>>2];k=+g[e+16>>2];j=+g[e+4>>2];i=+g[e+16+4>>2];h=+g[e+8>>2];f=+g[e+16+8>>2];g[d>>2]=+x(+((l-k)*(l-k)+(j-i)*(j-i)+(h-f)*(h-f)))*.5;g[b>>2]=(l+k)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;sa=e;return}function Si(){var b=0,d=0;d=Gs()|0;c[d+8>>2]=0;c[d>>2]=9100;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;c[7182]=(c[7182]|0)+1;b=xb(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function Ti(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){ab[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;m=1;k=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){Ha[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(((i&65535)<<1|1)>>>0>k>>>0);return}function Ui(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;h=+g[b>>2];i=+g[b+16>>2];j=h>2];if((j+g[a+24>>2])return;k=h>i?b:b+16|0;if(+g[(+g[k>>2]>f?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f>2];if((j+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f>2];if((j+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;ab[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0;f=sa;sa=sa+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];i=a+68|0;d=a+20|0;e=a+36|0;h=+g[b+24>>2];pp(i,d,e,h);h=+g[b+24>>2];sa=f;return +h}else{d=JI(oI(e)|0)|0;vl(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+52>>2]=c[f>>2];c[a+52+4>>2]=c[f+4>>2];c[a+52+8>>2]=c[f+8>>2];c[a+52+12>>2]=c[f+12>>2];d=a+68|0;e=a+20|0;i=a+36|0;h=+g[b+24>>2];pp(d,e,i,h);h=+g[b+24>>2];sa=f;return +h}return 0.0}function Wi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0;h=sa;sa=sa+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];k=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=k;g[h+8>>2]=j;g[h+12>>2]=0.0;f=i+ +g[b+24>>2]+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;_a[e&15](b,d,h,f);sa=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;_a[e&15](b,d,h,f);sa=h;return}function Xi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=9036;d=c[b+8>>2]|0;g=c[d+8>>2]|0;if((g|0)>0){e=0;do{f=c[(c[d+16>>2]|0)+(e*12|0)+8>>2]|0;if(f|0){Pa[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;Va[c[(c[h>>2]|0)+60>>2]&127](h,f)}e=e+1|0}while((e|0)!=(g|0));d=c[b+8>>2]|0}gh(d);d=c[b+8>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+8>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function Yi(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function Zi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=sa;sa=sa+224|0;f=h+160|0;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+208>>2]=c[e>>2];if((bc(0,d,h+208|0,h+80|0,h+160|0)|0)<0)e=-1;else{g=c[b>>2]|0;if((a[b+74>>0]|0)<1)c[b>>2]=g&-33;if(!(c[b+48>>2]|0)){f=c[b+44>>2]|0;c[b+44>>2]=h;c[b+28>>2]=h;c[b+20>>2]=h;c[b+48>>2]=80;c[b+16>>2]=h+80;e=bc(b,d,h+208|0,h+80|0,h+160|0)|0;if(f){Ja[c[b+36>>2]&63](b,0,0)|0;e=(c[b+20>>2]|0)==0?-1:e;c[b+44>>2]=f;c[b+48>>2]=0;c[b+16>>2]=0;c[b+28>>2]=0;c[b+20>>2]=0}}else e=bc(b,d,h+208|0,h+80|0,h+160|0)|0;d=c[b>>2]|0;c[b>>2]=d|g&32;e=(d&32|0)==0?e:-1}sa=h;return e|0}function _i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=sa;sa=sa+16|0;c[b+4>>2]=d;c[b>>2]=7356;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[26704]|0)==0?mz(26704)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Cf(27392,0.0,0,0,f)}c[6899]=c[6899]|1;g[6934]=0.0;h=+g[6944]*0.0;i=+g[6945]*0.0;g[6939]=+g[6943]*0.0;g[6940]=h;g[6941]=i;g[6942]=0.0;c[6947]=0;c[6948]=0;c[6949]=0;c[6950]=0;i=+g[6936]*0.0;h=+g[6937]*0.0;g[6988]=+g[6935]*0.0;g[6989]=i;g[6990]=h;g[6991]=0.0;c[b+32>>2]=27392;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;sa=f;return}function $i(a){a=a|0;var b=0;c[a>>2]=5828;b=c[a+92>>2]|0;Pa[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}b=c[a+96>>2]|0;Pa[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}b=c[a+100>>2]|0;Pa[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}b=c[a+104>>2]|0;Pa[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(b|0){c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0)}b=c[a+108>>2]|0;Pa[c[c[b>>2]>>2]&511](b);b=c[a+108>>2]|0;if(!b){se(a);return}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);se(a);return}function aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){g=c[d+48>>2]|0;sg(b+64|0,g)|0;f=c[b+68>>2]|0;if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[b+68>>2]=g;c[b+76>>2]=(c[b+76>>2]|0)+-1}else{f=c[d+48>>2]|0;sg(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0)}c[b+8>>2]=f;c[b+16>>2]=(c[b+16>>2]|0)+-1}f=c[d+52>>2]|0;if(!f)f=b+124+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;Za[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);a[b+194>>0]=1;return}function bj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=8440;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=Fa[c[(c[e>>2]|0)+36>>2]&127](e)|0;Za[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;Za[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0;j=c[b+52>>2]|0;l=c[j+32>>2]|0;b=c[l>>2]|0;m=+g[d>>2];k=+g[d+4>>2];i=+g[d+8>>2];j=c[j+24>>2]|0;if((j|0)<=1){l=b;l=l+8|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];return}d=0;h=1;e=m*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];while(1){b=c[l+(h<<2)>>2]|0;f=m*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];b=f>e;d=b?h:d;h=h+1|0;if((h|0)==(j|0))break;else e=b?f:e}l=c[l+(d<<2)>>2]|0;l=l+8|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];return}function ej(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function fj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+ui(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;f=+g[b+692>>2];do if(f>=0.0){e=(e-+g[b+688>>2])%6.2831854820251465;if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-f){a[b+716>>0]=1;g[b+708>>2]=-(f+e);g[b+712>>2]=1.0;break}if(e>f){a[b+716>>0]=1;g[b+708>>2]=f-e;g[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=sa;sa=sa+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=Ka[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,0)|0;if(!b){sa=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=8784;c[f+32>>2]=e;eb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Pa[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;Va[c[(c[g>>2]|0)+60>>2]&127](g,b);sa=f;return}function hj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;j=c[b+16>>2]|0;i=0;b=0;do{h=c[j+(i<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;d=g+(b<<3)|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=c[g+(e<<3)>>2];d=c[g+(e<<3)>>2]|0;e=c[g+(d<<3)>>2]|0;if((d|0)!=(e|0)){f=g+(d<<3)|0;do{d=g+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=g+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}}else d=b;c[h+208>>2]=d;c[g+(b<<3)+4>>2]=i;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}i=i+1|0}while((i|0)!=(k|0));return}function ij(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;k=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=k;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];k=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=k;g[a+572>>2]=0.0;return}function jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)g=0;else{c[7182]=(c[7182]|0)+1;e=xb((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+280>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+288>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+288>>2]|0;if(f){if(a[b+292>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0;k=+g[b+60>>2]*.5;l=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];i=+x(+(e*e+f*f+i*i));h=c[b+64>>2]|0;if(+g[d+(l<<2)>>2]>+g[b+52>>2]*i){g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;k=0.0;l=c[b+72>>2]|0;l=a+(l<<2)|0;g[l>>2]=k;return}i=+g[d+(h<<2)>>2];j=c[b+72>>2]|0;e=+g[d+(j<<2)>>2];f=+x(+(i*i+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(h<<2)>>2]=i*f;g[a+(l<<2)>>2]=-k;k=e*f;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;k=0.0;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}}function lj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[e+16>>2]|0;if(!f)if(!(_n(e)|0)){g=c[e+16>>2]|0;h=5}else f=0;else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0>>0){f=Ja[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){i=0;g=b}else{h=d;while(1){g=h+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){i=0;g=b;break b}else h=g}f=Ja[c[e+36>>2]&63](e,b,h)|0;if(f>>>0>>0)break a;i=h;g=b+h|0;d=d-h|0;f=c[e+20>>2]|0}while(0);Bh(f|0,g|0,d|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+d;f=i+d|0}while(0);return f|0}function mj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=sa;sa=sa+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;ab[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);sa=e;return}function nj(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=rs()|0;_i(e,3,b);c[e>>2]=7304;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=sa;sa=sa+16|0;Za[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+va[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){sa=e;return}i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];k=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+x(+(h*h+(k*k+j*j)));i=+va[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*k*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;sa=e;return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=c[b+96>>2]|0;if((n|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+12>>2];p=+g[d>>2]*o;k=+g[b+16>>2];l=+g[d+4>>2]*k;m=+g[b+20>>2];j=+g[d+8>>2]*m;f=c[b+104>>2]|0;d=-1;b=0;e=-3402823466385288598117041.0e14;while(1){h=p*+g[f+(b<<4)>>2]+l*+g[f+(b<<4)+4>>2]+j*+g[f+(b<<4)+8>>2];i=h>e;d=i?b:d;b=b+1|0;if((b|0)==(n|0))break;else e=i?h:e}l=k*+g[f+(d<<4)+4>>2];p=m*+g[f+(d<<4)+8>>2];g[a>>2]=o*+g[f+(d<<4)>>2];g[a+4>>2]=l;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function rj(){var b=0;b=_r()|0;c[b>>2]=7568;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[7161]=(c[7161]|0)+1;f=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=c[(f?d:b)+12>>2]|0;f=c[(f?b:d)+12>>2]|0;b=(f<<16|g)+~((f<<16|g)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}e=c[a+16>>2]|0;d=b;while(1){b=e+(d<<4)|0;if((c[(c[b>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0){d=7;break}d=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;d=7;break}}if((d|0)==7)return b|0;return 0}function tj(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[a+28>>2];i=+g[a+32>>2];k=+g[a+36>>2];l=+va[c[(c[a>>2]|0)+48>>2]&15](a);j=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+va[c[(c[a>>2]|0)+48>>2]&15](a)+k;switch(c[a+52>>2]|0){case 0:{h=b*.25*(j+i)*(j+i)+b/12.0*(l+e)*(l+e)*4.0;f=h;e=b*.5*(j+i)*(j+i);break}case 2:{f=b*.5*(l+e)*(l+e);h=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;e=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;break}default:{k=b*.25*(l+e)*(l+e)+b/12.0*(j+i)*(j+i)*4.0;f=k;h=b*.5*(l+e)*(l+e);e=k}}g[d>>2]=e;g[d+4>>2]=h;g[d+8>>2]=f;g[d+12>>2]=0.0;return}function uj(b){b=b|0;var d=0;c[b>>2]=6632;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,Pa[c[c[d>>2]>>2]&511](d),d=c[b+452>>2]|0,d|0):0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;ag(b);return}if(a[b+340>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;ag(b);return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=sa;sa=sa+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+g[b>>2];f=+g[b+4>>2];l=+g[b+8>>2];j=+g[b+12>>2];h=i*(2.0/(i*i+f*f+l*l+j*j));e=f*(2.0/(i*i+f*f+l*l+j*j));k=l*(2.0/(i*i+f*f+l*l+j*j));g[d>>2]=1.0-(f*e+l*k);g[d+4>>2]=i*e-j*k;g[d+8>>2]=i*k+j*e;g[d+12>>2]=0.0;g[d+16>>2]=i*e+j*k;g[d+20>>2]=1.0-(i*h+l*k);g[d+24>>2]=f*k-j*h;g[d+28>>2]=0.0;g[d+32>>2]=i*k-j*e;g[d+36>>2]=f*k+j*h;g[d+40>>2]=1.0-(i*h+f*e);g[d+44>>2]=0.0;Vc(a,d);sa=d;return}function wj(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=sa;sa=sa+16|0;Ki(16231);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;Wa[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[3084]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){sa=e;return}do if(c[d+4>>2]|0){la(e|0,0)|0;f=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=e;return}}while(0);c[3084]=c[d+20>>2];sa=e;return}function xj(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0;h=cs()|0;c[h>>2]=7684;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=f;g[h+56>>2]=.019999999552965164;c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;c[h+60+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;g[h+52>>2]=e;g[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;g[h+172>>2]=0.0;g[h+16>>2]=0.0;g[h+20>>2]=0.0;g[h+44>>2]=29.399999618530273;g[h+24>>2]=55.0;g[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;g[h+36>>2]=.7853981852531433;g[h+40>>2]=.7071067690849304;g[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,l=0,m=0,n=0;f=sa;sa=sa+48|0;Za[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);n=c[f+32>>2]|0;m=c[f+32+4>>2]|0;l=c[f+32+8>>2]|0;c[b>>2]=n;c[b+4>>2]=m;c[b+8>>2]=l;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;k=-(c[j>>2]=n,+g[j>>2]);i=-(c[j>>2]=m,+g[j>>2]);h=-(c[j>>2]=l,+g[j>>2]);g[f>>2]=k;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Za[e&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];sa=f;return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){yf(b,d,hf(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}else{hf(b,d,yf(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+76|0;break}if((b|0)==1&(d|0)==8){a=a+80|0;break}if(!(d|b)){a=a+72|0;break}if((b|0)<20&(d|0)==28){a=a+88|0;break}if((b|0)==28&(d|0)<20){a=a+84|0;break}if((b|0)<20){if((d|0)<20){a=a+32|0;break}if((d+-21|0)>>>0<9){a=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+40|0;break}if((b|0)==31)if((d|0)==31){a=a+48|0;break}else{a=a+44|0;break}}if((d|0)==31){a=a+52|0;break}else{a=a+56|0;break}}else a=a+60|0;while(0);return c[a>>2]|0}function Bj(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=sa;sa=sa+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;m=+g[b>>2];l=+g[b+4>>2];i=+g[b+8>>2];k=+g[a+56>>2]*m+ +g[a+60>>2]*l+ +g[a+64>>2]*i;j=m*+g[a+72>>2]+l*+g[a+76>>2]+i*+g[a+80>>2];i=m*+g[a+88>>2]+l*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=k;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+ya[c[(c[f>>2]|0)+12>>2]&15](f,h,1);sa=h;return +d}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=sa;sa=sa+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=JI(oI(e)|0)|0;vl(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+44>>2]=c[f>>2];c[a+44+4>>2]=c[f+4>>2];c[a+44+8>>2]=c[f+8>>2];c[a+44+12>>2]=c[f+12>>2]}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];sa=f;return +(+g[b+40>>2])}function Dj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=7684;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[f+60>>2]=0;c[f+60+4>>2]=0;c[f+60+8>>2]=0;c[f+60+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0;a=JI(a)|0;d=+g[a+8>>2];if(+xI(d)>.7071067690849304){f=+g[a+4>>2];e=1.0/+wI(f*f+d*d);b=JI(b)|0;g[b>>2]=0.0;g[b+4>>2]=-(+g[a+8>>2]*e);g[b+8>>2]=+g[a+4>>2]*e;c=JI(c)|0;g[c>>2]=(f*f+d*d)*e;g[c+4>>2]=-(+g[a>>2]*+g[b+8>>2]);g[c+8>>2]=+g[a>>2]*+g[b+4>>2];return}else{d=+g[a>>2];e=+g[a+4>>2];f=1.0/+wI(d*d+e*e);b=JI(b)|0;g[b>>2]=-(e*f);h=+g[a>>2]*f;g[b+4>>2]=h;g[b+8>>2]=0.0;h=-(+g[a+8>>2]*h);c=JI(c)|0;g[c>>2]=h;g[c+4>>2]=+g[a+8>>2]*+g[b>>2];g[c+8>>2]=(d*d+e*e)*f;return}}function Gj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=rs()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7304;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function Hj(b){b=b|0;var d=0;c[b>>2]=11632;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ij(b){b=b|0;var d=0;c[b>>2]=7116;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function Jj(b){b=b|0;var d=0;c[b>>2]=8264;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function Kj(b){b=b|0;var d=0;c[b>>2]=12232;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Lj(){var a=0,b=0,d=0,e=0;e=sa;sa=sa+48|0;a=Gr()|0;if(a|0?(d=c[a>>2]|0,d|0):0){b=c[d+48>>2]|0;a=c[d+48+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[e+24>>2]=23928;Hu(23878,e+24|0)}if((b|0)==1126902529&(a|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Ek(5168,d,e+36|0)|0){d=c[e+36>>2]|0;d=Fa[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e>>2]=23928;c[e+4>>2]=a;c[e+8>>2]=d;Hu(23792,e)}else{c[e+16>>2]=23928;c[e+16+4>>2]=a;Hu(23837,e+16|0)}}Hu(23916,e+32|0)}function Mj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6400;a[b+8>>0]=1;c[b+12>>2]=6612;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];Ai(b+72|0);return b|0}function Nj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6400;a[b+8>>0]=0;c[b+12>>2]=6612;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];Ai(b+72|0);return b|0}function Oj(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,h=0;f=sa;sa=sa+64|0;h=IH(d)|0;c[f+48>>2]=c[h>>2];c[f+48+4>>2]=c[h+4>>2];c[f+48+8>>2]=c[h+8>>2];c[f+48+12>>2]=c[h+12>>2];d=JI(d)|0;sr(f+32|0,d,1);sr(f+16|0,d,0);cb[c[(c[a>>2]|0)+64>>2]&1](a,f+48|0,f+32|0,f+16|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);d=c[(c[a>>2]|0)+64>>2]|0;Lq(f,+g[f+16>>2],+g[f+16+4>>2],+g[f+16+8>>2]);cb[d&1](a,f+48|0,f+32|0,f,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);sa=f;return}function Pj(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=sa;sa=sa+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){sa=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+ya[c[(c[f>>2]|0)+12>>2]&15](f,i,0);sa=i;return +e}function Qj(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=sa;sa=sa+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){sa=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+ya[c[(c[f>>2]|0)+12>>2]&15](f,i,1);sa=i;return +e}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=sa;sa=sa+48|0;d=2.0/+dF(b);f=+g[(JI(b)|0)>>2];e=+g[(oI(b)|0)>>2];i=+g[(nI(b)|0)>>2];h=+g[(mI(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);Lo(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);sa=c;return}function Sj(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[7195]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[7184]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=(6?d>>>6:d)|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=(12?d>>>12:d)|224;a[b+1>>0]=(6?d>>>6:d)&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=(18?d>>>18:d)|240;a[b+1>>0]=(12?d>>>12:d)&63|128;a[b+2>>0]=(6?d>>>6:d)&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[7184]=84;b=-1;break}}else b=1;while(0);return b|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=sa;sa=sa+16|0;Za[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];k=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+x(+(h*h+(k*k+j*j)));i=+va[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*k*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;sa=e;return}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sa;sa=sa+48|0;e=xG(b,0)|0;g[d+32>>2]=+Fo(c,e);g[d+28>>2]=+bo(c,e);g[d+24>>2]=+ao(c,e);e=xG(b,1)|0;g[d+20>>2]=+Fo(c,e);g[d+16>>2]=+bo(c,e);g[d+12>>2]=+ao(c,e);b=xG(b,2)|0;g[d+8>>2]=+Fo(c,b);g[d+4>>2]=+bo(c,b);g[d>>2]=+ao(c,b);Zp(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);sa=d;return}function Vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Fa[c[(c[g>>2]|0)+36>>2]&127](g)|0;Za[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Za[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Wj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Wj(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;Za[c[(c[b>>2]|0)+8>>2]&127](b,21?g>>>21:g,g&2097151);return}function Xj(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+z(+c);h=+A(+c);c=+g[b+444>>2];if(+w(+i)>1.1920928955078125e-07){j=+g[b+448>>2];e=h*h;f=i*i;c=+x(+((h*h/(i*i)+1.0)/(1.0/(j*j)+h*h/(i*i)/(c*c))))}else{e=h*h;f=i*i}c=c*.5;j=+A(+c)/+x(+(e+(f+0.0)));c=+z(+c);k=c*d+i*j*0.0-h*j*-0.0;f=c*0.0-h*j*d-j*0.0*0.0;e=c*0.0+j*0.0*0.0-i*j*d;d=-(j*0.0*d)-i*j*0.0-h*j*-0.0;g[a>>2]=h*j*f+(c*k+d*-(j*0.0))-e*-(i*j);g[a+4>>2]=e*-(j*0.0)+(c*f+d*-(i*j))-h*j*k;g[a+8>>2]=k*-(i*j)+(h*j*d+c*e)-f*-(j*0.0);g[a+12>>2]=0.0;return}function Yj(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(Fa[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(Fa[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(Fa[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Ka[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(Fa[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[7157]=(c[7157]|0)+-1;Va[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(J(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function _j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];i=a+56+((k>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function $j(a,b){a=a|0;b=+b;var d=0,e=0;d=sa;sa=sa+16|0;te(a,b);Ki(15988);a=c[a+452>>2]|0;Qa[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[3084]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){sa=d;return}do if(c[a+4>>2]|0){la(d|0,0)|0;e=c[7181]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3084]|0;break}else{sa=d;return}}while(0);c[3084]=c[a+20>>2];sa=d;return}function ak(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{b=1;f=0;break}case 1:{b=2;f=0;break}case 2:{b=3;f=1;break}case 3:{b=3;f=2;break}case 4:{b=4;f=0;break}case 5:{b=5;f=1;break}case 6:{b=6;f=2;break}case 7:{b=7;f=3;break}case 8:{b=5;f=4;break}case 9:{b=6;f=4;break}case 10:{b=7;f=5;break}case 11:{b=7;f=6;break}default:{b=0;f=0}}while(0);Za[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Za[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+x(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function ck(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=8972;e=c[b+12>>2]|0;if((e|0)>0){d=0;do{f=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;if(f|0){Pa[c[c[f>>2]>>2]&511](f);f=c[b+4>>2]|0;Va[c[(c[f>>2]|0)+60>>2]&127](f,c[(c[b+20>>2]|0)+(d<<2)>>2]|0)}d=d+1|0}while((d|0)!=(e|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+g[a+56>>2];k=+g[a+72>>2]-i;j=+g[a+60>>2];f=+g[a+76>>2]-j;d=+g[a+64>>2];h=+g[a+80>>2]-d;i=+g[a+88>>2]-i;j=+g[a+92>>2]-j;d=+g[a+96>>2]-d;g[c+12>>2]=0.0;e=1.0/+x(+((k*j-f*i)*(k*j-f*i)+((f*d-h*j)*(f*d-h*j)+(h*i-k*d)*(h*i-k*d))));g[c>>2]=(f*d-h*j)*e;g[c+4>>2]=(h*i-k*d)*e;g[c+8>>2]=(k*j-f*i)*e;if(!b)return;g[c>>2]=-((f*d-h*j)*e);g[c+4>>2]=-((h*i-k*d)*e);g[c+8>>2]=-((k*j-f*i)*e);return}function ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[a+720>>2]|0;g=c[a+752>>2]|0;if((g|0)<=0){h=0;return h|0}f=c[a+760>>2]|0;a=0;while(1){i=c[f+(a*44|0)+8>>2]|0;if(((i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))?(i=c[f+(a*44|0)+12>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0)?(i=c[f+(a*44|0)+16>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0){a=1;f=7;break}a=a+1|0;if((a|0)>=(g|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function fk(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+48|0;g[c+32>>2]=+Fo(b,a);g[c+28>>2]=+bo(b,a);g[c+24>>2]=+ao(b,a);g[c+20>>2]=+Fo(b,a+16|0);g[c+16>>2]=+bo(b,a+16|0);g[c+12>>2]=+ao(b,a+16|0);g[c+8>>2]=+Fo(b,a+32|0);g[c+4>>2]=+bo(b,a+32|0);g[c>>2]=+ao(b,a+32|0);Lo(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);sa=c;return}function gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=sa;sa=sa+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){d=0;sa=e;return d|0}b=c[b>>2]|0;if(!(Ha[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;sa=e;return d|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Eb(h,a+36|0,a+100|0,e,d,f);d=1;sa=e;return d|0}function ik(a,b){a=a|0;b=b|0;var d=0;d=sa;sa=sa+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=c[a+8>>2]|0;c[b+260>>2]=(c[b+260>>2]|0)+1;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+52>>2]=c[d>>2];c[b+52+4>>2]=c[d+4>>2];c[b+52+8>>2]=c[d+8>>2];c[b+52+12>>2]=c[d+12>>2];sa=d;return}function jk(a){a=a|0;var b=0,d=0;b=sa;sa=sa+16|0;Ki(19276);d=c[a+68>>2]|0;Va[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[3084]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){sa=b;return}do if(c[a+4>>2]|0){la(b|0,0)|0;d=c[7181]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3084]|0;break}else{sa=b;return}}while(0);c[3084]=c[a+20>>2];sa=b;return}function kk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+va[c[(c[a>>2]|0)+48>>2]&15](a);h=+va[c[(c[a>>2]|0)+48>>2]&15](a);d=+va[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+w(+(+g[b>>2]));i=+w(+(+g[b+4>>2]));e=+w(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function lk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;Cb(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]>2]>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function mk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function nk(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){a=h*h+i*i+j*j;break}else{a=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));a=a>0.0?a:0.0;break}else a=d*d+e*e+f*f;while(0);g[k>>2]=+x(+a);k=1;return k|0}function ok(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+Yg(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;Za[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+va[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];e=+g[d+4>>2];f=+g[d+8>>2];j=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:h;i=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:e;f=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:f;e=1.0/+x(+(f*f+(j*j+i*i)));h=+va[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*j*e;g[a+4>>2]=+g[a+4>>2]+h*i*e;g[a+8>>2]=+g[a+8>>2]+h*f*e;return}function rk(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];i=+g[b+68>>2];j=1.0/+x(+(f*f+h*h+i*i));if(+x(+(i*j*i*j+(f*j*f*j+h*j*h*j)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*j;h=h*j;f=i*j;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function sk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(RC(b,c[d+8>>2]|0)|0)){if(RC(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Er(d,e,f);while(0);return}function tk(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,h=0,i=0;e=sa;sa=sa+16|0;b=c[a+8>>2]|0;d=c[a+8+4>>2]|0;if((d|0)>-1|(d|0)==-1&b>>>0>4294967295){f=(+(b>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+((c[a>>2]|0)>>>0)+4294967296.0*+((c[a+4>>2]|0)>>>0));sa=e;return +f}else{i=c[a>>2]|0;h=c[a+4>>2]|0;g=lv(0,0,i|0,h|0)|0;a=Q()|0;b=xv((i|0)==0&(h|0)==0&1|0,0,~b|0,~d|0)|0;d=Q()|0;c[e>>2]=g;c[e+4>>2]=a;c[e+8>>2]=b;c[e+8+4>>2]=d;f=-+tk(e);sa=e;return +f}return 0.0}function uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(RC(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;In(b+16|0,d,e,f);if((h|0)>1){g=b+24|0;do{In(g,d,e,f);if(a[d+54>>0]|0)break a;g=g+8|0}while(g>>>0<(b+16+(h<<3)|0)>>>0)}}else sm(d,e,f);while(0);return}function vk(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=.800000011920929;g[b+116>>2]=1.0;a[b+120>>0]=0;g[b+124>>2]=.004999999888241291;g[b+128>>2]=.009999999776482582;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;sq(b+8|0);return}function wk(b,d,e){b=b|0;d=d|0;e=e|0;b=Nr(152)|0;c[b>>2]=7628;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;g[b+104>>2]=0.0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;g[b+112>>2]=0.0;g[b+108>>2]=0.0;return b|0}function xk(b){b=b|0;var d=0,e=0,f=0;e=Nr(5260)|0;c[e>>2]=7940;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=8412;c[e+5256>>2]=b;c[e+60>>2]=80;c[e+64>>2]=Fa[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[e+68>>2]=Fa[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{d=0;do{f=c[e+5256>>2]|0;c[e+72+(b*144|0)+(d<<2)>>2]=Ja[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;d=d+1|0}while(d>>>0<36);b=b+1|0}while(b>>>0<36);return e|0}function yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 22186}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 21730}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 20750}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa;sa=sa+32|0;if(!(+g[a+344>>2]!=0.0)){sa=d;return}An(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(JI(a+544|0)|0)){sa=d;return}rp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Co(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Bn(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);sa=d;return}function Ck(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function Dk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;e=sa;sa=sa+16|0;j=c[a+52>>2]|0;k=c[a+28+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+28+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;i=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);sa=e;return}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=sa;sa=sa+64|0;if(!(RC(a,b)|0))if((b|0)!=0?(f=zi(b,5176)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;ab[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;sa=g;return b|0}function Fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];h=+g[a+28>>2];i=b+(m<<4)|0;k=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];l=+x(+(k*k+f*f));if(l!=0.0){j=f*(e/l);f=+g[i>>2]<0.0?-h:h;e=k*(e/l)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;i=c[a+268>>2]|0;if((i|0)<=0)return;h=c[a+276>>2]|0;f=0;while(1){g=h+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(i|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(i|0))return;c[g>>2]=c[h+(i+-1<<2)>>2];c[a+268>>2]=i+-1;k=c[a+284>>2]|0;Ka[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function Hk(b,d){b=b|0;d=d|0;var e=0;e=Bs()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=10600;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;Oi(e);return e|0}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=sa;sa=sa+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){d=0;sa=e;return d|0}b=c[b>>2]|0;if(!(Ha[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;sa=e;return d|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;_b(a+68|0,a+132|0,e,d);d=1;sa=e;return d|0}function Jk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=ds()|0;Td(i,b,d,e,f,h);c[i>>2]=7244;c[i+4>>2]=9;a[i+1309>>0]=0;a[i+1309+1>>0]=0;a[i+1309+2>>0]=0;a[i+1309+3>>0]=0;a[i+1309+4>>0]=0;a[i+1309+5>>0]=0;b=i+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[i+1364>>2]=1.0;g[i+1368>>2]=1.0;g[i+1372>>2]=1.0;g[i+1376>>2]=1.0;g[i+1380>>2]=1.0;g[i+1384>>2]=1.0;return i|0}function Kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 15391}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 21427}function Mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+28>>2];h=+g[a+36>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+4>>2];k=+x(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+8>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+8>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=i;g[c+(l<<4)+8>>2]=f;l=l+1|0}while((l|0)!=(d|0));return}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+28>>2];h=+g[a+32>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+8>>2];k=+x(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+4>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+4>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=f;g[c+(l<<4)+8>>2]=i;l=l+1|0}while((l|0)!=(d|0));return}function Ok(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];h=+g[b+68>>2];i=1.0/+x(+(e*e+f*f+h*h));if(+x(+(h*i*h*i+(e*i*e*i+f*i*f*i)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*i;f=f*i;e=h*i;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function Pk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[a+60>>2]*(+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]);g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+x(+(e*e+f*f));f=+w(+(+g[b>>2]));e=+w(+(+g[b+4>>2]));d=+w(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function Qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=sa;sa=sa+48|0;c[f+32>>2]=11848;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];le(c[a+4>>2]|0,f,f+32|0);le(c[a+64>>2]|0,f,f+32|0);sa=f;return}function Rk(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0;d=1.0/+g[(c[b+116>>2]|0)+344>>2];if((c[b+136>>2]|0)<=0)return;e=0;do{f=c[b+144>>2]|0;if(!(a[f+(e*284|0)+84>>0]|0))h=0.0;else{h=+g[f+(e*284|0)+272>>2];h=d*(+g[f+(e*284|0)+216>>2]*(+g[f+(e*284|0)+204>>2]-+g[f+(e*284|0)+32>>2])*+g[f+(e*284|0)+268>>2]-h*+g[(h<0.0?f+(e*284|0)+220|0:f+(e*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[f+(e*284|0)+276>>2]=h;e=e+1|0}while((e|0)<(c[b+136>>2]|0));return}function Sk(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=sa;sa=sa+48|0;f=+zI(b);h=+zI(c);i=+zI(d);b=+yI(b);c=+yI(c);d=+yI(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;Lo(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);sa=e;return}function Tk(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){gb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}d=b[a+56>>1]|0;if(!(d<<16>>16))return;h=1;i=1;do{f=c[a+68>>2]|0;if(b[f+(i<<2)>>1]&1){Ha[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[f+(i<<2)+2>>1]|0)<<6)|0)|0;d=b[a+56>>1]|0}h=h+1<<16>>16;i=h&65535}while(((d&65535)<<1|1)>>>0>i>>>0);return}function Uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8316;a[b+8>>0]=1;c[b+12>>2]=8364;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;f=Ja[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=f;e=c[b+60>>2]|0;Va[c[(c[e>>2]|0)+20>>2]&127](e,f);return b|0}function Vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+28>>2];i=+g[a+32>>2];h=+g[a+36>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{a=0;d=1065353216;f=0;e=i;break}case 3:{a=0;d=-1082130432;f=0;e=i;break}case 4:{a=1065353216;d=0;f=0;e=h;break}case 5:{a=-1082130432;d=0;f=0;e=h;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function Wk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8316;a[b+8>>0]=0;c[b+12>>2]=8364;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;f=Ja[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=f;e=c[b+60>>2]|0;Va[c[(c[e>>2]|0)+20>>2]&127](e,f);return b|0}function Xk(b){b=b|0;var d=0;c[b>>2]=7896;d=c[b+284>>2]|0;Pa[c[c[d>>2]>>2]&511](d);d=c[b+284>>2]|0;if(d|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b>>2]=7852;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=7816;return}if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=7816;return}function Yk(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;b=c[a+240>>2]|0;a=0;do{d=c[b+(a<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:if(!(c[d+204>>2]&3)){h=+g[d+368>>2]*+g[d+352>>2];f=+g[d+372>>2]*+g[d+356>>2];g[d+412>>2]=+g[d+364>>2]*+g[d+348>>2]+ +g[d+412>>2];g[d+416>>2]=h+ +g[d+416>>2];g[d+420>>2]=f+ +g[d+420>>2]}}a=a+1|0}while((a|0)!=(e|0));return}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;c=sa;sa=sa+16|0;l=+g[a+12>>2];i=+g[(JI(b)|0)>>2];j=+g[a>>2];k=+g[b+12>>2];h=+g[a+4>>2];d=+g[(nI(b)|0)>>2];e=+g[a+8>>2];f=+g[(oI(b)|0)>>2];g[c+12>>2]=l*i+j*k+h*d-e*f;g[c+8>>2]=l*f+h*k+e*i-j*d;g[c+4>>2]=l*d+e*k+j*f-h*i;g[c>>2]=l*k-j*i-h*f-e*d;tr(a,c+12|0,c+8|0,c+4|0,c);sa=c;return a|0}function _k(b){b=b|0;var d=0;d=Bs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=10600;c[d+92>>2]=b;c[d+4>>2]=3;Oi(d);return d|0}function $k(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+va[c[(c[a>>2]|0)+48>>2]&15](a);e=+va[c[(c[a>>2]|0)+48>>2]&15](a);i=+va[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+va[c[(c[a>>2]|0)+48>>2]&15](a);d=+va[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+va[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ds()|0;fd(f,b,d,e);c[f>>2]=7244;c[f+4>>2]=9;a[f+1309>>0]=0;a[f+1309+1>>0]=0;a[f+1309+2>>0]=0;a[f+1309+3>>0]=0;a[f+1309+4>>0]=0;a[f+1309+5>>0]=0;b=f+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[f+1364>>2]=1.0;g[f+1368>>2]=1.0;g[f+1372>>2]=1.0;g[f+1376>>2]=1.0;g[f+1380>>2]=1.0;g[f+1384>>2]=1.0;return f|0}function bl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=(a[b+16>>0]|0)==0;h=c[(f?d:e)+8>>2]|0;e=f?e:d;f=c[e+8>>2]|0;g=c[h+268>>2]|0;a:do if((g|0)>0){d=c[h+276>>2]|0;b=0;while(1){if((c[d+(b<<2)>>2]|0)==(f|0))break;b=b+1|0;if((b|0)>=(g|0))break a}if((b|0)!=(g|0))return}while(0);d=c[h+284>>2]|0;Za[c[(c[d>>2]|0)+36>>2]&127](d,h,e);return}function cl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8384;a[b+8>>0]=0;c[b+12>>2]=0;if(!(Ja[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=Ja[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+va[c[(c[a>>2]|0)+48>>2]&15](a);h=+va[c[(c[a>>2]|0)+48>>2]&15](a);f=+va[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function el(b,d){b=b|0;d=d|0;var e=0;a[b+148>>0]=0;a:do if(kd(b,d)|0){e=0;while(1){a[b+148>>0]=1;if(e>>>0>3)break a;if(kd(b,d)|0)e=e+1|0;else break}}while(0);d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];fp(b+112|0,d|0,16)|0;return}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){h=0;return h|0}e=c[a+740>>2]|0;a=0;while(1){f=c[e+(a*52|0)+8>>2]|0;if((f|0)==(g+(b*104|0)|0)?(c[e+(a*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((f|0)==(g+(d*104|0)|0)?(c[e+(a*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}a=a+1|0;if((a|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function gl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+136>>2]|0)<=0)return;b=0;do{d=c[a+144>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+136>>2]|0));return}function hl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[d>>2]|0;g=Ha[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;i=a[b+4>>0]|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=8812;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=i;if(h|0)return g|0;c[g+12>>2]=Ja[c[(c[b>>2]|0)+12>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function il(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];d=b+56+((f>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function jl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=8972;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[f+4>>2]|0)+68>>2];ug(b,e,f);return b|0}function kl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=VA(b|0,c|0,10,0)|0;f=c;c=Q()|0;g=Vr(b|0,c|0,-10,-1)|0;g=xv(e|0,f|0,g|0,Q()|0)|0;Q()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(J(c,-10)|0)|48}while(g>>>0>=10);return d|0}function ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+28>>2];i=+g[a+32>>2];e=+g[a+36>>2];j=+va[c[(c[a>>2]|0)+48>>2]&15](a);h=+va[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +va[c[(c[a>>2]|0)+48>>2]&15](a);f=(1?b>>>1:b)&1;a=(2?b>>>2:b)&1;g[d>>2]=(k+j)*+(b&1^1|0)-(k+j)*+(b&1|0);g[d+4>>2]=(i+h)*+(f^1|0)-(i+h)*+(f|0);g[d+8>>2]=e*+(a^1|0)-e*+(a|0);g[d+12>>2]=0.0;return}function ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=8972;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];ug(b,e,f);return b|0}function nl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=c[d>>2]|0;f=Ha[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;h=c[d+4>>2]|0;j=c[b+12>>2]|0;i=c[b+8>>2]|0;g=c[b+16>>2]|0;e=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=8860;c[f+8>>2]=j;c[f+12>>2]=i;a[f+16>>0]=0;c[f+20>>2]=h;a[f+24>>0]=0;c[f+28>>2]=g;c[f+32>>2]=e;return f|0}function ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=sa;sa=sa+48|0;c[f>>2]=9836;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];b=c[a+48>>2]|0;ab[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);sa=f;return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if((c[d+76>>2]|0)>=0?(MI()|0)!=0:0){if((b&255|0)!=(a[d+75>>0]|0)?(f=c[d+20>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[d+20>>2]=f+1;a[f>>0]=b;b=b&255;break}b=sl(d,b)|0}else g=3;while(0);do if((g|0)==3){if((b&255|0)!=(a[d+75>>0]|0)?(e=c[d+20>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[d+20>>2]=e+1;a[e>>0]=b;b=b&255;break}b=sl(d,b)|0}while(0);return b|0}function ql(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+va[c[(c[a>>2]|0)+48>>2]&15](a);e=+va[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +va[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function rl(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=zs()|0;c[d+4>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=9856;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+x(+(i*i+h*h+f*f));g[d+48>>2]=i*e;g[d+52>>2]=h*e;g[d+56>>2]=f*e;c[d+60>>2]=a;g[d+64>>2]=b;c[d+68>>2]=0;c[d+68+4>>2]=0;c[d+68+8>>2]=0;c[d+68+12>>2]=0;c[d+4>>2]=28;return d|0}function sl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=sa;sa=sa+16|0;a[i>>0]=e;f=c[b+16>>2]|0;if(!f)if(!(_n(b)|0)){g=c[b+16>>2]|0;h=4}else f=-1;else{g=f;h=4}do if((h|0)==4){f=c[b+20>>2]|0;if(f>>>0>>0?(e&255|0)!=(a[b+75>>0]|0):0){c[b+20>>2]=f+1;a[f>>0]=e;f=e&255;break}if((Ja[c[b+36>>2]&63](b,i,1)|0)==1)f=d[i>>0]|0;else f=-1}while(0);sa=i;return f|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa;sa=sa+32|0;Ap(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);rp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Co(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Fp(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);sa=d;return}function ul(a,b){a=a|0;b=b|0;var d=0;d=sa;sa=sa+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Vc(a,d);sa=d;return}function vl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=sa;sa=sa+16|0;h=xG(b,0)|0;g[f+8>>2]=+Xx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=xG(b,1)|0;g[f+4>>2]=+Xx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=xG(b,2)|0;g[f>>2]=+Xx(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);ns(a,f+8|0,f+4|0,f);sa=f;return}function wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){g=1;return g|0}g=c[b+488>>2]|0;if((g|0)<=0){g=1;return g|0}e=c[b+496>>2]|0;b=0;while(1){f=c[e+(b<<2)>>2]|0;if(a[f+20>>0]|0){if((c[f+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[f+32>>2]|0)==(d|0)){b=0;e=8;break}}b=b+1|0;if((b|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function xl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=sa;sa=sa+16|0;j=xG(b,0)|0;i=xG(b,1)|0;h=xG(b,2)|0;im(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);qp(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);sa=f;return}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+va[c[(c[b>>2]|0)+48>>2]&15](b);f=+va[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +va[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function Al(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function Bl(b){b=b|0;var d=0,e=0;c[b>>2]=9100;d=c[b+64>>2]|0;if(d|0?(yh(d),e=c[b+64>>2]|0,e|0):0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function Cl(b){b=b|0;var d=0,e=0;c[b>>2]=10164;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=9932;d=c[b+52>>2]|0;if(d|0?(Pa[c[c[d>>2]>>2]&511](d),e=c[b+52>>2]|0,e|0):0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function Dl(a,b){a=+a;b=+b;var d=0;d=Ts()|0;c[d+8>>2]=0;c[d>>2]=10064;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+x(+(a*a+b*b));c[d>>2]=9280;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function El(a,b){a=+a;b=+b;var d=0;d=Ts()|0;c[d+8>>2]=0;c[d>>2]=10064;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+x(+(a*a+b*b));c[d>>2]=9380;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{a=0;b=0;e=1065353216;break}case 1:{a=0;b=0;e=-1082130432;break}case 2:{a=0;b=1065353216;e=0;break}case 3:{a=0;b=-1082130432;e=0;break}case 4:{a=1065353216;b=0;e=0;break}case 5:{a=-1082130432;b=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=b;c[d+8>>2]=a;g[d+12>>2]=0.0;return}function Gl(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=xt(d|0,e|0,52)|0;Q()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Gl(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function Hl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function Il(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{h=+g[(c[a+92>>2]|0)+((J(c[a+64>>2]|0,f)|0)+e<<2)>>2];return +h}case 5:{h=+(d[(c[a+92>>2]|0)+((J(c[a+64>>2]|0,f)|0)+e)>>0]|0)*+g[a+88>>2];return +h}case 3:{h=+(b[(c[a+92>>2]|0)+((J(c[a+64>>2]|0,f)|0)+e<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function Jl(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];bm(a+28|0,b+28|0);c[a+76>>2]=c[b+76>>2];c[a+76+4>>2]=c[b+76+4>>2];c[a+76+8>>2]=c[b+76+8>>2];c[a+76+12>>2]=c[b+76+12>>2];c[a+76+16>>2]=c[b+76+16>>2];return}function Kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;e=0;do{f=c[a+16>>2]|0;g=f+(e<<4)|0;if(Ha[c[(c[b>>2]|0)+8>>2]&31](b,g)|0){Ka[c[(c[a>>2]|0)+12>>2]&31](a,c[g>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;c[7158]=(c[7158]|0)+-1}else e=e+1|0}while((e|0)<(c[a+8>>2]|0));return}function Ll(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=sa;sa=sa+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;ns(a,d+20|0,d+16|0,d+12|0);sa=d;return}else{c=1.0/+wI(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;ns(a,d+8|0,d+4|0,d);sa=d;return}}function Ml(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=sa;sa=sa+16|0;c[d>>2]=11884;c[d+4>>2]=e;Fd(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);Fd(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);sa=d;return}function Nl(b){b=b|0;var d=0;c[b>>2]=10164;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=9932;d=c[b+52>>2]|0;if(!d)return;Pa[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(!d)return;c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);return}function Ol(a,b){a=+a;b=+b;var d=0;d=Ts()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=9180;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+x(+(a*a+b*b));return d|0}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=sa;sa=sa+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+ya[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];sa=e;return +f}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=JI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))xn(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function Rl(a,b){a=a|0;b=b|0;var d=0;d=sa;sa=sa+16|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];Wp(d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2],+g[a+344>>2]);c[a+560>>2]=c[d>>2];c[a+560+4>>2]=c[d+4>>2];c[a+560+8>>2]=c[d+8>>2];c[a+560+12>>2]=c[d+12>>2];sa=d;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=JI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Pn(a,b);while(1){if((e|0)>=(b|0))break;f=JI((c[a+12>>2]|0)+(e<<4)|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];e=e+1|0}c[a+4>>2]=b;return}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function Ul(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=sa;sa=sa+16|0;f=+zI(b*.5);b=+yI(b*.5);h=+zI(c*.5);c=+yI(c*.5);i=+zI(d*.5);d=+yI(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;tr(a,e+12|0,e+8|0,e+4|0,e);sa=e;return}function Vl(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function Wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=JI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){d=b;while(1){if((d|0)>=(e|0))break;RG((c[a+12>>2]|0)+(d*36|0)|0);d=d+1|0}c[a+4>>2]=b;return}if((e|0)<(b|0))Om(a,b);while(1){if((e|0)>=(b|0))break;wq((c[a+12>>2]|0)+(e*36|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function Yl(){var b=0;b=sa;sa=sa+48|0;if(a[26624]|0){sa=b;return}if(!(mz(26624)|0)){sa=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Zp(27096,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);sa=b;return}function Zl(a){a=a|0;var b=0;b=sa;sa=sa+32|0;g[a>>2]=1.2000000476837158;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=1.0e3;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;ns(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;g[b+8>>2]=0.0;g[b+4>>2]=-10.0;g[b>>2]=0.0;ns(a+40|0,b+8|0,b+4|0,b);SG(a+56|0);sa=b;return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+712>>2]|0;if((e|0)<=0)return;d=c[a+720>>2]|0;a=0;do{if(+g[d+(a*104|0)+88>>2]>0.0){f=d+(a*104|0)+56|0;g[f>>2]=+g[b>>2]+ +g[f>>2];f=d+(a*104|0)+60|0;g[f>>2]=+g[b+4>>2]+ +g[f>>2];f=d+(a*104|0)+64|0;g[f>>2]=+g[b+8>>2]+ +g[f>>2]}a=a+1|0}while((a|0)!=(e|0));return}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=sa;sa=sa+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+ya[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];sa=e;return +f}function am(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=sa;sa=sa+16|0;e=+lA(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+yI(c*.5)/e;g[d+12>>2]=+g[(JI(b)|0)>>2]*e;g[d+8>>2]=+g[(oI(b)|0)>>2]*e;g[d+4>>2]=+g[(nI(b)|0)>>2]*e;g[d>>2]=+zI(c*.5);tr(a,d+12|0,d+8|0,d+4|0,d);sa=d;return}function bm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Ha[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=12164;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=Ja[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function em(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=Fa[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=Ja[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function fm(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function gm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=Fa[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=Ja[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function hm(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[496+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=592;else{b=f;g=5}if((g|0)==5){f=592;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return NG(f,c[e+20>>2]|0)|0}function im(a,b,c,d,e,f,h,i,j,k,l,m,n){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;var o=0;o=sa;sa=sa+16|0;g[o+8>>2]=+Xx(b,c,d,e,f,h);g[o+4>>2]=+Xx(b,c,d,i,j,k);g[o>>2]=+Xx(b,c,d,l,m,n);ns(a,o+8|0,o+4|0,o);sa=o;return}function jm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function km(a,b,d){a=a|0;b=b|0;d=d|0;Fv(a);c[a>>2]=5708;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];c[a+28>>2]=c[d>>2];c[a+28+4>>2]=c[d+4>>2];c[a+28+8>>2]=c[d+8>>2];c[a+28+12>>2]=c[d+12>>2];c[a+76>>2]=0;return}function lm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];f=+g[b+36>>2];j=+g[c>>2];e=+g[c+4>>2];i=+x(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+8>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+8>>2]<0.0?-f:f}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=h;return}function nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];f=+g[b+32>>2];j=+g[c>>2];e=+g[c+8>>2];i=+x(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+4>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+4>>2]<0.0?-f:f}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=h;return}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+28>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+x(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function pm(a,b){a=a|0;b=+b;var c=0,d=0.0;c=sa;sa=sa+16|0;if(!(+g[a+68>>2]>0.0)){sa=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;ti(a+4|0,c,a+164|0);ti(a+16|0,a+88|0,a+180|0);sa=c;return}function qm(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+g[(c[a+28>>2]|0)+344>>2];e=+g[(c[a+32>>2]|0)+344>>2];e=e==0.0?1.0:d/(d+e);d=+g[a+1116>>2]*e+(1.0-e)*+g[a+1180>>2];b=e*+g[a+1120>>2]+(1.0-e)*+g[a+1184>>2];g[a+1284>>2]=+g[a+1112>>2]*e+ +g[a+1176>>2]*(1.0-e);g[a+1288>>2]=d;g[a+1292>>2]=b;g[a+1296>>2]=0.0;return}function rm(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;d=+g[a+344>>2];if(d!=0.0){f=1.0/d*+g[b+4>>2];e=1.0/d*+g[b+8>>2];g[a+364>>2]=1.0/d*+g[b>>2];g[a+368>>2]=f;g[a+372>>2]=e;g[a+376>>2]=0.0}c[a+380>>2]=c[b>>2];c[a+380+4>>2]=c[b+4>>2];c[a+380+8>>2]=c[b+8>>2];c[a+380+12>>2]=c[b+12>>2];return}function sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function tm(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){f=0;return f|0}if(!((b[a+10>>1]&b[d+4>>1])<<16>>16)){f=0;return f|0}if(!((b[d+6>>1]&b[a+8>>1])<<16>>16)){f=0;return f|0}d=c[a+92>>2]|0;f=Ja[c[(c[d>>2]|0)+28>>2]&63](d,f,e)|0;return f|0}function um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Va[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=sa;sa=sa+256|0;if((c|0)>(d|0)&(e&73728|0)==0){mk(f|0,b<<24>>24|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{fz(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;fz(a,f,b)}sa=f;return}function wm(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function xm(a,b,d){a=a|0;b=b|0;d=d|0;ct(a);c[a>>2]=5536;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];c[a+36>>2]=c[d>>2];c[a+36+4>>2]=c[d+4>>2];c[a+36+8>>2]=c[d+8>>2];c[a+36+12>>2]=c[d+12>>2];return}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=Kx(c[b>>2]|0)|0;f=Kx(f)|0;if(a|0)ab[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;ab[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sa;sa=sa+48|0;f=c[b+192>>2]|0;ab[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=8764;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;d=c[a+68>>2]|0;ab[c[(c[d>>2]|0)+28>>2]&127](d,e+32|0,e+16|0,e);sa=e;return}function Am(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{a=0;break}default:break a}return a|0}default:{}}while(0);if(c[b+256>>2]|0?!(Ha[c[c[b>>2]>>2]&31](b,d)|0):0){d=0;return d|0}d=1;return d|0}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;ih(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 16880}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=sa;sa=sa+112|0;d=JI(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));mG(f);Ql(a,d,f);Nn(b,d,c[a+12>>2]|0);sa=f;return}function Dm(a){a=a|0;c[6726]=c[a>>2];c[6727]=c[a+4>>2];c[6728]=c[a+8>>2];c[6729]=c[a+12>>2];c[6730]=c[a+16>>2];c[6731]=c[a+20>>2];c[6732]=c[a+24>>2];bm(26932,a+28|0);c[6745]=c[a+76>>2];c[6746]=c[a+76+4>>2];c[6747]=c[a+76+8>>2];c[6748]=c[a+76+12>>2];c[6749]=c[a+76+16>>2];return}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=sa;sa=sa+16|0;c=+dF(a);c=+wI(c*+dF(b));d=+Io(a,b);if(d<0.0){Rn(e,b);d=+AA(+Io(a,e)/c);d=d*2.0;sa=e;return +d}else{d=+AA(d/c);d=d*2.0;sa=e;return +d}return 0.0}function Fm(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;j=JI(b)|0;i=JI(b+16|0)|0;h=JI(b+32|0)|0;g=oI(b)|0;f=oI(b+16|0)|0;e=oI(b+32|0)|0;d=nI(b)|0;c=nI(b+16|0)|0;Zp(a,j,i,h,g,f,e,d,c,nI(b+32|0)|0);return}function Gm(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){Gm(a,c[b+36>>2]|0);Gm(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);c[a+4>>2]=b;return}function Hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Of(a,Yc(a,b,f)|0);Of(a,Yc(a,d,f)|0);Of(a,Yc(a,e,f)|0);return}function Im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(RC(a,c[b+8>>2]|0)|0)Ck(b,d,e,f);else{a=c[a+8>>2]|0;gb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function Jm(a){a=a|0;var b=0;b=sa;sa=sa+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Lo(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);sa=b;return}function Km(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=JI(d)|0;if((e|0)==(JI(c[a+8>>2]|0)|0)){qn(a,zB(e)|0);d=c[a+4>>2]|0}Jl((c[a+12>>2]|0)+(d*96|0)|0,b);c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))Cd(a,d)}while((e|0)>1);Pa[c[(c[a>>2]|0)+68>>2]&511](a);return}function Mm(a,b){a=+a;b=+b;var d=0;d=Xs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=10500;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function Nm(a,b){a=+a;b=+b;var d=0;d=Xs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=10400;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Om(b,d){b=b|0;d=d|0;var e=0;if((JI(c[b+8>>2]|0)|0)>=(d|0))return;e=zu(d)|0;Oq(b,JI(c[b+4>>2]|0)|0,e);bs(b,JI(c[b+4>>2]|0)|0);Os(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Pm(a,b){a=+a;b=+b;var d=0;d=Xs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=10300;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function Rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=sa;sa=sa+16|0;c[f>>2]=a;c[f+4>>2]=e;e=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;e=Ka[c[(c[e>>2]|0)+8>>2]&31](e,f,b,d)|0;sa=f;return e|0}function Sm(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(J(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function Tm(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function Um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=JI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))qn(a,b);while(1){if((e|0)>=(b|0))break;Jl((c[a+12>>2]|0)+(e*96|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=sa;sa=sa+48|0;d=JI(c[b+4>>2]|0)|0;e=f;g=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));SG(f);Xl(a,d,f);RG(f);Oq(b,d,c[a+12>>2]|0);sa=f;return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=sa;sa=sa+96|0;d=JI(c[b+4>>2]|0)|0;e=f;g=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));Um(a,d,f);dq(b,d,c[a+12>>2]|0);sa=f;return}function Xm(a,d){a=a|0;d=d|0;var f=0,g=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&65535)>1){f=1;do{d=f;f=f+1|0;b[g+(d<<6)+48>>1]=f;d=e[a+58>>1]|0}while(f>>>0>>0)}else d=d&65535;b[g+(d+-1<<6)+48>>1]=0;return}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Va[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Of(a,Yc(a,b,0)|0);Of(a,Yc(a,d,0)|0);Of(a,Yc(a,e,0)|0);return}function _m(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=Kx(c[b>>2]|0)|0;e=Kx(e)|0;if(a|0)Za[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Za[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Iw(a+104|0,b+104|0);Jw(a+124|0,b+124|0);Jw(a+144|0,b+144|0);return}function bn(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=sa;sa=sa+32|0;d=Nr(140)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;ns(e+16|0,e+8|0,e+4|0,e);vk(d,a,b,c,e+16|0);sa=e;return d|0}function cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=8?i>>8:i;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;gb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function en(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[7182]=(c[7182]|0)+1;a=xb(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function fn(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+720>>2]|0;if(!(+g[a+(d*104|0)+88>>2]>0.0))return;g[a+(d*104|0)+56>>2]=+g[b>>2]+ +g[a+(d*104|0)+56>>2];g[a+(d*104|0)+60>>2]=+g[b+4>>2]+ +g[a+(d*104|0)+60>>2];g[a+(d*104|0)+64>>2]=+g[b+8>>2]+ +g[a+(d*104|0)+64>>2];return}function gn(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=sa;sa=sa+16|0;g[e+12>>2]=b;g[e+8>>2]=d;g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];sa=e;return}function hn(){var b=0;b=sa;sa=sa+32|0;if(a[26616]|0){sa=b;return}if(!(mz(26616)|0)){sa=b;return}Yl();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;ns(b+16|0,b+8|0,b+4|0,b);bq(27032,27096,b+16|0);sa=b;return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=Fa[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ja[d&63](b,e,1)|0;d=Ja[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function kn(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=((c-b)*.5+b)%6.2831854820251465;if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function ln(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+32|0;vl(e,JI(a+4|0)|0,b,c,d);rp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Hr(a+412|0,e+16|0)|0;sa=e;return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function nn(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{Nf(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function on(a,b){a=a|0;b=b|0;var d=0,e=0;e=Fa[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ja[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(RC(a,c[b+8>>2]|0)|0)sm(b,d,e);else{a=c[a+8>>2]|0;ab[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function qn(b,d){b=b|0;d=d|0;var e=0;if((JI(c[b+8>>2]|0)|0)>=(d|0))return;e=jt(d)|0;dq(b,JI(c[b+4>>2]|0)|0,e);Os(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function rn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=sa;sa=sa+16|0;g[d+12>>2]=+g[(JI(b)|0)>>2]*c;g[d+8>>2]=+g[(oI(b)|0)>>2]*c;g[d+4>>2]=+g[(nI(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;rv(a,d+12|0,d+8|0,d+4|0,d);sa=d;return}function sn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function tn(a,b){a=a|0;b=b|0;var d=0,e=0;e=Fa[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=Ja[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ja[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;eb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function un(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+32|0;vl(e,JI(a+4|0)|0,b,c,d);rp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Hr(a+428|0,e+16|0)|0;sa=e;return}function vn(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+80|0;Fm(c+32|0,b);Lq(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);vl(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);bq(a,c+32|0,c+16|0);sa=c;return}function wn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=8?h>>8:h;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;eb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function xn(b,d){b=b|0;d=d|0;var e=0;if((JI(c[b+8>>2]|0)|0)>=(d|0))return;e=nt(d)|0;Nn(b,JI(c[b+4>>2]|0)|0,e);Os(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function yn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)>=(b|0))break;f=JI(d+(e<<4)|0)|0;g=(c[a+12>>2]|0)+(e<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];e=e+1|0}return}function zn(b){b=b|0;var d=0;c[b>>2]=7852;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=7816;c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function An(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+32|0;rp(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Wp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+344>>2]);Hr(a+312|0,e+16|0)|0;sa=e;return}function Bn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+32|0;vl(e,a+264|0,b,c,d);rp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Hr(a+328|0,e+16|0)|0;sa=e;return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=JI(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function Dn(b){b=b|0;var d=0;c[b>>2]=6868;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=7816;c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function En(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=JI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))co(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=8?g>>8:g;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;ab[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,(g&2|0)==0?2:e);return}function Jn(b){b=b|0;var d=0;c[b>>2]=7684;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function Kn(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26600]|0))mz(26600)|0;Do(d,c[b+116>>2]|0,c[b+128>>2]|0);c[6750]=c[d>>2];c[6751]=c[d+4>>2];c[6752]=c[d+8>>2];c[6753]=c[d+12>>2];sa=d;return 27e3}function Ln(b){b=b|0;var d=0;c[b>>2]=12276;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function Mn(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;Za[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function On(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+g[a+368>>2]*+g[a+352>>2];b=+g[a+372>>2]*+g[a+356>>2];g[a+412>>2]=+g[a+364>>2]*+g[a+348>>2]+ +g[a+412>>2];g[a+416>>2]=d+ +g[a+416>>2];g[a+420>>2]=b+ +g[a+420>>2];return}function Pn(b,d){b=b|0;d=d|0;var e=0;if((JI(c[b+8>>2]|0)|0)>=(d|0))return;e=mu(d)|0;yn(b,JI(c[b+4>>2]|0)|0,e);Os(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ha[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Ha[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Va[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 21546}function Rn(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+16|0;g[c+12>>2]=-+g[(JI(b)|0)>>2];g[c+8>>2]=-+g[(oI(b)|0)>>2];g[c+4>>2]=-+g[(nI(b)|0)>>2];g[c>>2]=-+g[b+12>>2];rv(a,c+12|0,c+8|0,c+4|0,c);sa=c;return}function Sn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=sa;sa=sa+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((pC(_(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;sa=e;return a|0}function Un(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=Ha[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;e=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6372;a[f+16>>0]=e;return f|0}function Vn(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Wn(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(JI(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(oI(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(nI(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function Xn(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(JI(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(oI(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(nI(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function Yn(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26584]|0))mz(26584)|0;Va[c[(c[b>>2]|0)+76>>2]&127](d,b);c[6722]=c[d>>2];c[6723]=c[d+4>>2];c[6724]=c[d+8>>2];c[6725]=c[d+12>>2];sa=d;return 26888}function Zn(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26640]|0))mz(26640)|0;Va[c[(c[b>>2]|0)+76>>2]&127](d,b);c[6790]=c[d>>2];c[6791]=c[d+4>>2];c[6792]=c[d+8>>2];c[6793]=c[d+12>>2];sa=d;return 27160}function _n(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function $n(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function ao(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(nI(a)|0)>>2];c=c*+g[(JI(b)|0)>>2];d=+g[(nI(a+16|0)|0)>>2];d=c+d*+g[(oI(b)|0)>>2];c=+g[(nI(a+32|0)|0)>>2];return +(d+c*+g[(nI(b)|0)>>2])}function bo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(oI(a)|0)>>2];c=c*+g[(JI(b)|0)>>2];d=+g[(oI(a+16|0)|0)>>2];d=c+d*+g[(oI(b)|0)>>2];c=+g[(oI(a+32|0)|0)>>2];return +(d+c*+g[(nI(b)|0)>>2])}function co(b,d){b=b|0;d=d|0;var e=0;if((JI(c[b+8>>2]|0)|0)>=(d|0))return;e=dv(d)|0;pr(b,JI(c[b+4>>2]|0)|0,e);Os(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;Ja[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[a+4>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;return}function fo(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=sa;sa=sa+16|0;if(!(a[26608]|0))mz(26608)|0;ri(f,b,d,e);c[6754]=c[f>>2];c[6755]=c[f+4>>2];c[6756]=c[f+8>>2];c[6757]=c[f+12>>2];sa=f;return 27016}function go(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=sa;sa=sa+16|0;if(!(a[26648]|0))mz(26648)|0;ri(f,b,d,e);c[6794]=c[f>>2];c[6795]=c[f+4>>2];c[6796]=c[f+8>>2];c[6797]=c[f+12>>2];sa=f;return 27176}function ho(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0;d=sa;sa=sa+32|0;Za[c[(c[a>>2]|0)+12>>2]&127](a,d+8|0,d);f=+g[d+8>>2];e=+g[d+8+4>>2];b=+g[d+8+8>>2];b=+x(+(f*f+e*e+b*b));sa=d;return +(+g[d>>2]+b)}function io(a){a=a|0;var b=0;b=c[i>>2]|0;if((a|0)>0&(b+a|0)<(b|0)|(b+a|0)<0){R()|0;Z(12);return -1}if((b+a|0)>(ia()|0)){if(!(ka(b+a|0)|0)){Z(12);return -1}}else c[i>>2]=b+a;return b|0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=sa;sa=sa+16|0;c[f>>2]=8012;c[f+4>>2]=d;c[f+8>>2]=a;Za[c[(c[b>>2]|0)+48>>2]&127](b,f,e);sa=f;return}function ko(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;ab[c[(c[a>>2]|0)+8>>2]&127](a,b,d,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,d,e,f);ab[c[(c[a>>2]|0)+8>>2]&127](a,e,b,f);return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Pa[c[c[a>>2]>>2]&511](a);Va[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function mo(b){b=b|0;var d=0;c[b>>2]=7852;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=7816;return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=sa;sa=sa+16|0;c[e>>2]=11708;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Za[c[(c[a>>2]|0)+48>>2]&127](a,e,d);sa=e;return}function oo(b){b=b|0;var d=0;c[b>>2]=9580;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,Pa[c[c[d>>2]>>2]&511](d),d=c[b+52>>2]|0,d|0):0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function po(b){b=b|0;var d=0;c[b>>2]=6868;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=7816;return}function qo(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=sa;sa=sa+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Zs()|0;Zt(e,f+12|0,f+8|0,f+4|0,f);sa=f;return e|0}function ro(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=sa;sa=sa+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Nr(16)|0;rv(e,f+12|0,f+8|0,f+4|0,f);sa=f;return e|0}function so(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(RC(a,c[b+8>>2]|0)|0)Ck(b,d,e,f);return}function to(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}d=c[a+720>>2]|0;a=0;b=0.0;do{f=+g[d+(a*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);a=a+1|0}while((a|0)!=(e|0));return +b}function uo(a){a=a|0;var b=0;c[a>>2]=8316;c[a+12>>2]=8364;b=c[a+60>>2]|0;Va[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);GI(a);return}function vo(b){b=b|0;var d=0;c[b>>2]=7684;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function wo(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26576]|0))mz(26576)|0;Zz(d,b);c[6718]=c[d>>2];c[6719]=c[d+4>>2];c[6720]=c[d+8>>2];c[6721]=c[d+12>>2];sa=d;return 26872}function xo(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26560]|0))mz(26560)|0;Dy(d,b);c[6698]=c[d>>2];c[6699]=c[d+4>>2];c[6700]=c[d+8>>2];c[6701]=c[d+12>>2];sa=d;return 26792}function yo(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=a[e>>0]|0;if(!(RH(f<<24>>24)|0))d=0;else{d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((RH(f<<24>>24)|0)!=0)}return d|0}function zo(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+va[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+va[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function Ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=Ha[c[(c[e>>2]|0)+56>>2]&31](e,24)|0;c[e+4>>2]=c[b>>2];c[e>>2]=6840;return e|0}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0;d=sa;sa=sa+16|0;Aw(a);e=JI(c[b+4>>2]|0)|0;c[d>>2]=0;Fn(a,e,d);pr(b,e,c[a+12>>2]|0);sa=d;return}function Co(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=sa;sa=sa+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;ns(a,i+8|0,i+4|0,i);sa=i;return}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=JI(b+4|0)|0;e=(JI(xG(b,0)|0)|0)+(c<<2)|0;d=(JI(xG(b,1)|0)|0)+(c<<2)|0;ns(a,e,d,(JI(xG(b,2)|0)|0)+(c<<2)|0);return}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function Fo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(JI(a)|0)>>2];c=c*+g[(JI(b)|0)>>2];d=+g[(JI(a+16|0)|0)>>2];d=c+d*+g[(oI(b)|0)>>2];c=+g[(JI(a+32|0)|0)>>2];return +(d+c*+g[(nI(b)|0)>>2])}function Go(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26544]|0))mz(26544)|0;up(d,b);c[6690]=c[d>>2];c[6691]=c[d+4>>2];c[6692]=c[d+8>>2];c[6693]=c[d+12>>2];sa=d;return 26760}function Ho(b){b=b|0;var d=0;d=sa;sa=sa+16|0;if(!(a[26552]|0))mz(26552)|0;Ll(d,b);c[6694]=c[d>>2];c[6695]=c[d+4>>2];c[6696]=c[d+8>>2];c[6697]=c[d+12>>2];sa=d;return 26776}function Io(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(JI(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(oI(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(nI(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function Jo(b){b=b|0;var d=0;c[b>>2]=11748;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,Pa[c[c[d>>2]>>2]&511](d),d=c[b+136>>2]|0,d|0):0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}yh(b+64|0);yh(b+4|0);return}function Ko(b){b=b|0;var d=0;c[b>>2]=12276;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Lo(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ns(a,b,c,d);ns(a+16|0,e,f,g);ns(a+32|0,h,i,j);return}function Mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa;sa=sa+64|0;Uj(d+16|0,b,c);xl(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);bq(a,d+16|0,d);sa=d;return}function No(a){a=a|0;var b=0;c[a>>2]=8316;c[a+12>>2]=8364;b=c[a+60>>2]|0;Va[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function Oo(b){b=b|0;var d=0;c[b>>2]=5756;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Po(a){a=a|0;var b=0,d=0;c[a>>2]=9932;b=c[a+52>>2]|0;if(b|0?(Pa[c[c[b>>2]>>2]&511](b),d=c[a+52>>2]|0,d|0):0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Qo(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];Oi(a);return}function Ro(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function So(b){b=b|0;var d=0;c[b>>2]=7940;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function To(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=Ha[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;c[e+4>>2]=c[b>>2];c[e>>2]=12136;return e|0}function Uo(a,b){a=a|0;b=+b;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=9480;c[a+4>>2]=8;jG(a+28|0,b);g[a+44>>2]=b;return}function Vo(b){b=b|0;var d=0;d=Ss()|0;c[d+44>>2]=b;a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+40>>2]=0;return d|0}function Wo(b){b=b|0;var d=0;c[b>>2]=11556;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Xo(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=sa;sa=sa+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;tr(a,f+12|0,f+8|0,f+4|0,f);sa=f;return}function Yo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=c[b+8>>2]|0;e=c[f+284>>2]|0;Za[c[(c[e>>2]|0)+40>>2]&127](e,f,c[d+8>>2]|0);return}function Zo(b){b=b|0;var d=0,e=0;c[b>>2]=8812;if(!(a[b+8>>0]|0)){GI(b);return}d=c[b+12>>2]|0;if(!d){GI(b);return}e=c[b+4>>2]|0;Va[c[(c[e>>2]|0)+16>>2]&127](e,d);GI(b);return}function _o(a,b){a=a|0;b=b|0;var d=0,e=0;d=sa;sa=sa+16|0;e=JI(c[b+4>>2]|0)|0;Sl(a,e,d);yn(b,e,c[a+12>>2]|0);sa=d;return}function $o(b){b=b|0;var d=0,e=0;c[b>>2]=12164;if(!(a[b+8>>0]|0)){GI(b);return}d=c[b+12>>2]|0;if(!d){GI(b);return}e=c[b+4>>2]|0;Va[c[(c[e>>2]|0)+16>>2]&127](e,d);GI(b);return}function ap(b){b=b|0;var d=0,e=0;c[b>>2]=8288;if(!(a[b+8>>0]|0)){GI(b);return}d=c[b+12>>2]|0;if(!d){GI(b);return}e=c[b+4>>2]|0;Va[c[(c[e>>2]|0)+16>>2]&127](e,d);GI(b);return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=sa;sa=sa+16|0;c[e>>2]=11728;c[e+4>>2]=b;Za[c[(c[a>>2]|0)+48>>2]&127](a,e,d);sa=e;return}function cp(b){b=b|0;var d=0;c[b>>2]=9580;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;Pa[c[c[d>>2]>>2]&511](d);b=c[b+52>>2]|0;if(!b)return;c[7183]=(c[7183]|0)+1;Hc(c[b+-4>>2]|0);return}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J(b&65535,a&65535)|0;e=(c>>>16)+(J(b&65535,a>>>16)|0)|0;d=J(b>>>16,a&65535)|0;return (P((e>>>16)+(J(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0),e+d<<16|c&65535|0)|0}function ep(b){b=b|0;var d=0,e=0;c[b>>2]=8384;if(!(a[b+8>>0]|0)){GI(b);return}d=c[b+12>>2]|0;if(!d){GI(b);return}e=c[b+4>>2]|0;Va[c[(c[e>>2]|0)+16>>2]&127](e,d);GI(b);return}function fp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Bh(b,c,d)|0;return b|0}function gp(){var a=0,b=0;b=sa;sa=sa+32|0;a=Nr(112)|0;et(b);Df(a,b);sa=b;return a|0}function hp(a,b){a=a|0;b=b|0;var d=0,e=0;d=sa;sa=sa+16|0;e=JI(c[b+4>>2]|0)|0;c[d>>2]=0;Fn(a,e,d);pr(b,e,c[a+12>>2]|0);sa=d;return}function ip(b){b=b|0;var d=0,e=0;c[b>>2]=8860;if(!(a[b+16>>0]|0)){GI(b);return}d=c[b+20>>2]|0;if(!d){GI(b);return}e=c[b+4>>2]|0;Va[c[(c[e>>2]|0)+16>>2]&127](e,d);GI(b);return}function jp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+w(+(+g[b>>2]));d=+w(+(+g[b+4>>2]));c=+w(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function kp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=sa;sa=sa+64|0;sq(f);Fr(f,b);Ua[c[(c[a>>2]|0)+16>>2]&1](a,d,f,e);sa=f;return}function lp(a,b){a=a|0;b=b|0;ef(a,c[b+36>>2]|0);return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(RC(a,c[b+8>>2]|0)|0)sm(b,d,e);return}function np(a){a=a|0;var b=0;c[a>>2]=8364;b=c[a+48>>2]|0;Va[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);GI(a);return}function op(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;cb[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function pp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function qp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=sa;sa=sa+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;ns(a,i+8|0,i+4|0,i);sa=i;return}function rp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=sa;sa=sa+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;ns(a,i+8|0,i+4|0,i);sa=i;return}function sp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=sa;sa=sa+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;ns(a,i+8|0,i+4|0,i);sa=i;return}function tp(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[480+(b&15)>>0]|0|f;b=xt(b|0,c|0,4)|0;c=Q()|0}while(!((b|0)==0&(c|0)==0));return e|0}function up(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];rv(a,c+8|0,c+4|0,c,b+12|0);sa=c;return}function vp(a){a=a|0;var b=0;c[a>>2]=9932;b=c[a+52>>2]|0;if(!b)return;Pa[c[c[b>>2]>>2]&511](b);a=c[a+52>>2]|0;if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function wp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+ca(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function xp(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){Vj(a,b);return}else{Va[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function yp(a){a=a|0;var b=0;c[a>>2]=8364;b=c[a+48>>2]|0;Va[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function zp(){var b=0;b=Nr(40)|0;g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=5756;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function Ap(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+16|0;rp(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Hr(a+412|0,e)|0;sa=e;return}function Bp(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=sa;sa=sa+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=Zs()|0;ns(d,e+8|0,e+4|0,e);sa=e;return d|0}function Cp(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];Oi(a);return}function Dp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Na[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Ep(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return Ha[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Fp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+16|0;rp(e,b,c,d,+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Hr(a+428|0,e)|0;sa=e;return}function Gp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +Ea[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Hp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Cs()|0;Md(h,a,b,c,d,e,f,g);return h|0}function Ip(){var a=0,b=0;a=Gr()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0)Cx(c[b+12>>2]|0);Cx(RE()|0)}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;Dz(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Kp(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+16|0;vl(c,a,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);Hr(a+48|0,c)|0;fk(a,b);sa=c;return a|0}function Lp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function Mp(){var a=0,b=0;b=sa;sa=sa+32|0;a=Nr(92)|0;et(b);ed(a,b);sa=b;return a|0}function Np(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function Op(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function Pp(b,d){b=b|0;d=d|0;if(!(a[26632]|0))mz(26632)|0;d=xG(b,d)|0;c[6786]=c[d>>2];c[6787]=c[d+4>>2];c[6788]=c[d+8>>2];c[6789]=c[d+12>>2];return 27144}function Qp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function Rp(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;db[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Sp(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+va[c[(c[a>>2]|0)+48>>2]&15](a);b=+va[c[(c[a>>2]|0)+48>>2]&15](a);+va[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Tp(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+va[c[(c[a>>2]|0)+48>>2]&15](a);+va[c[(c[a>>2]|0)+48>>2]&15](a);+va[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Up(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;kb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=sa;sa=sa+16|0;c[e>>2]=c[d>>2];a=Ja[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];sa=e;return a&1|0}function Wp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=sa;sa=sa+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;ns(a,f+8|0,f+4|0,f);sa=f;return}function Xp(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function Yp(){var a=0;a=Nr(8)|0;c[7181]=a;la(a|0,0)|0;c[7171]=23733;c[7172]=0;c[7173]=0;c[7174]=0;c[7175]=0;c[7176]=0;c[7177]=0;c[7178]=0;c[7179]=0;er(28684);return}function Zp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Lo(a,b,c,d,e,f,g,h,i,j);return}function _p(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=fs(324)|0;jd(d,a,b,c);return d|0}function $p(b){b=b|0;var d=0;c[b>>2]=5756;d=c[b+32>>2]|0;if(!d){GI(b);return}if(!(a[b+36>>0]|0)){GI(b);return}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);GI(b);return}function aq(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+204>>2]|0;if(b&4|0)return 0;a=c[d+204>>2]|0;if(!(a&4))return (b&3|0)==0|(a&3|0)==0|0;else return 0;return 0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;bm(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function cq(b){b=b|0;var d=0;c[b>>2]=8812;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;Jl(d+(e*96|0)|0,(c[a+12>>2]|0)+(e*96|0)|0);e=e+1|0}return}function eq(b){b=b|0;var d=0;c[b>>2]=12164;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function fq(b){b=b|0;var d=0;c[b>>2]=7940;d=c[b+20>>2]|0;if(!d){GI(b);return}if(!(a[b+24>>0]|0)){GI(b);return}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);GI(b);return}function gq(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+128|0;vn(c,a+68|0);Mo(c+64|0,c,a+4|0);Dq(b,c+64|0);sa=c;return}function hq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=Cs()|0;Md(g,a,b,c,d,e,f,0);return g|0}function iq(b){b=b|0;var d=0;c[b>>2]=8288;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function jq(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function kq(b){b=b|0;var d=0;c[b>>2]=11556;d=c[b+16>>2]|0;if(!d){GI(b);return}if(!(a[b+20>>0]|0)){GI(b);return}c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);GI(b);return}function lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ps()|0;Td(f,a,b,c,d,e);return f|0}function mq(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return Ha[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function nq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;ns(a,e+8|0,e+4|0,e);sa=e;return}function oq(b){b=b|0;var d=0;c[b>>2]=8384;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function pq(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;fb[c[(c[a>>2]|0)+28>>2]&1](a,b,d,e,i,j);return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;qH(a);c[a>>2]=5640;Dq(a+4|0,b);Dq(a+68|0,d);Dq(a+132|0,b);c[a+196>>2]=0;return}function rq(b){b=b|0;var d=0;c[b>>2]=8860;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;Va[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function sq(a){a=a|0;var b=0;b=sa;sa=sa+16|0;Jm(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;ns(a+48|0,b+8|0,b+4|0,b);sa=b;return}function tq(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=xt(b|0,c|0,3)|0;c=Q()|0}while(!((b|0)==0&(c|0)==0));return d|0}function uq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return Ma[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=Nr(44)|0;Vl(f,a,b,c,d,e);return f|0}function wq(a,b){a=a|0;b=b|0;Bo(a,b);c[a+20>>2]=c[b+20>>2];c[a+20+4>>2]=c[b+20+4>>2];c[a+20+8>>2]=c[b+20+8>>2];c[a+20+12>>2]=c[b+20+12>>2];return}function xq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function yq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;ae(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function zq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +Da[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Aq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+As(+g[(JI(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Bq(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=Nr(140)|0;vk(e,a,b,c,d);return e|0}function Cq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+Ca[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function Dq(a,b){a=a|0;b=b|0;bm(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function Eq(a,b){a=a|0;b=b|0;ns(a,b,b+16|0,b+32|0);ns(a+16|0,b+4|0,b+20|0,b+36|0);ns(a+32|0,b+8|0,b+24|0,b+40|0);return}function Fq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+As(+g[(JI(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Gq(a,b){a=a|0;b=b|0;Pa[c[(c[b>>2]|0)+32>>2]&511](b);Ac(a,b);Pa[c[(c[b>>2]|0)+36>>2]&511](b);return}function Hq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;jb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Za[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Za[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Jq(a){a=a|0;var b=0.0,c=0;c=+Io(a,a)<0.0;b=+g[a+12>>2];if(c){b=+AA(b);b=b*2.0;return +b}else{b=+AA(-b);b=b*2.0;return +b}return 0.0}function Kq(){var a=0,b=0;b=Vr(c[6688]|0,c[6689]|0,1284865837,1481765933)|0;b=xv(b|0,Q()|0,1,0)|0;a=Q()|0;c[6688]=b;c[6689]=a;a=xt(b|0,a|0,33)|0;Q()|0;return a|0}function Lq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=sa;sa=sa+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;ns(a,e+8|0,e+4|0,e);sa=e;return}function Mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ss()|0;td(f,a,b,c&65535,d,e);return f|0}function Nq(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;wq(d+(e*36|0)|0,(c[a+12>>2]|0)+(e*36|0)|0);e=e+1|0}return}function Pq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;ib[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,+j)}function Qq(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Rq(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Sq(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){c=0;return c|0}c=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function Tq(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){c=0;return c|0}c=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function Uq(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Vq(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Wq(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Xq(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Yq(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Zq(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function _q(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){c=0;return c|0}c=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function $q(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function ar(b){b=b|0;if(a[26672]|0)return 27304;if(!(mz(26672)|0))return 27304;c[6826]=1065353216;c[6827]=1065353216;c[6828]=1065353216;g[6829]=0.0;return 27304}function br(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb(a*96|19)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function cr(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function dr(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb((a<<4|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function er(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)er(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function fr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Tc(a,b,c,d,e,f);return}function gr(b){b=b|0;var c=0;c=sa;sa=sa+64|0;if(!(a[26568]|0))mz(26568)|0;vn(c,b);Dq(26808,c);sa=c;return 26808}function hr(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb((a*36|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ir(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function jr(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function kr(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function lr(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function mr(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function nr(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function or(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ss()|0;td(e,a,b,c&65535,d,0);return e|0}function pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function qr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function rr(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function sr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(JI(b)|0)+(c<<2)|0;d=(JI(b+16|0)|0)+(c<<2)|0;ns(a,e,d,(JI(b+32|0)|0)+(c<<2)|0);return}function tr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function ur(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +Ca[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function vr(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function wr(a,b,d){a=a|0;b=b|0;d=+d;Va[c[(c[a>>2]|0)+32>>2]&127](a,b);Wa[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function xr(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function yr(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function zr(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function Ar(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function Br(b,d){b=b|0;d=d|0;if(!(a[26592]|0))mz(26592)|0;Dm(AB(c[b+12>>2]|0,d)|0);return 26904}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ps()|0;fd(d,a,b,c);return d|0}function Dr(){var a=0;a=ws()|0;hn();hn();qq(a,27032,27032);return a|0}function Er(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function Fr(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function Gr(){var a=0,b=0;a=sa;sa=sa+16|0;if(!(pa(29300,3)|0)){b=na(c[7326]|0)|0;sa=a;return b|0}else Hu(24067,a);return 0}function Hr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function Ir(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=sa;sa=sa+64|0;Mo(c,b,a+68|0);Dq(a+4|0,c);sa=c;return}function Kr(a){a=a|0;var b=0;b=Nr(112)|0;Df(b,a);return b|0}function Lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ss()|0;td(d,a,b,c&65535,0,0);return d|0}function Mr(a,b){a=a|0;b=b|0;c[a+76>>2]=c[b>>2];c[a+76+4>>2]=c[b+4>>2];c[a+76+8>>2]=c[b+8>>2];c[a+76+12>>2]=c[b+12>>2];return}function Nr(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=xb(b)|0;if(a|0)break;a=HE()|0;if(!a){a=0;break}Oa[a&3]()}return a|0}function Or(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];return}function Pr(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Qr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fs(1252)|0;Hb(e,a,b,c,d);return e|0}function Rr(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function Sr(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function Tr(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function Ur(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function Vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=dp(a,c)|0;f=Q()|0;return (P((J(b,c)|0)+(J(d,a)|0)+f|f&0|0),e|0|0)|0}function Wr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function Xr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+52>>2]<<2)>>2]=1.0;return}function Yr(a){a=a|0;var b=0;b=sa;sa=sa+16|0;Hc(a);if(!(qa(c[7326]|0,0)|0)){sa=b;return}else Hu(24166,b)}function Zr(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function _r(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(215)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function $r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ts()|0;ke(d,a,b,c);return d|0}function as(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jc(b,c,d,e)|0}function bs(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=(b|0))break;RG((c[a+12>>2]|0)+(d*36|0)|0);d=d+1|0}return}function cs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(203)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ds(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function es(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;$a[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,g);return}function fs(a){a=a|0;c[7182]=(c[7182]|0)+1;a=xb(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function gs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ga(1,a|0,b|0,c|0,+d,e|0,f|0)|0;return}function hs(a){a=a|0;var b=0;b=ws()|0;hn();qq(b,a,27032);return b|0}function is(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function js(a){a=a|0;bs(a,JI(c[a+4>>2]|0)|0);Os(a);Aw(a);return}function ks(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function ms(a,b){a=a|0;b=b|0;var c=0.0;c=+dF(a);c=+wI(c*+dF(b));return +(+AA(+Io(a,b)/c))}function ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function os(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(143)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ps(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function qs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;hb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function rs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ss(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ts(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function us(a,b){a=a|0;b=b|0;var c=0;c=ss()|0;td(c,a,b,16384,0,0);return c|0}function vs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(791)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ws(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function xs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ys(a,b){a=a|0;b=b|0;var c=0;c=Nr(80)|0;km(c,a,b);return c|0}function zs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(103)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function As(a){a=+a;a=+_H(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function Bs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Cs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(783)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ds(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(131)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Es(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function Fs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;mk(c|0,0,d<<4|0)|0;return}function Gs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(111)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Hs(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;Va[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function Is(a,b){a=a|0;b=b|0;var c=0;c=Ts()|0;ke(c,a,b,1);return c|0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;ab[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function Ks(a){a=a|0;var b=0;b=Nr(92)|0;ed(b,a);return b|0}function Ls(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Ms(b){b=b|0;if(!(Fa[c[(c[b>>2]|0)+40>>2]&127](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Ns(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Za[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Os(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)Sx(d);c[b+12>>2]=0;return}function Ps(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(71)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Qs(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Rs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$f(a,b,c,d);return}function Ss(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(67)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ts(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(95)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Us(a,b){a=a|0;b=b|0;return +(+Xx(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function Vs(a,b){a=a|0;b=b|0;var c=0;c=Nr(84)|0;xm(c,a,b);return c|0}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Xs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ys(a){a=a|0;var b=0;b=sa;sa=sa+16|0;c[b>>2]=JI(c[a+60>>2]|0)|0;a=pC(aa(6,b|0)|0)|0;sa=b;return a|0}function Zs(){var a=0;c[7182]=(c[7182]|0)+1;a=xb(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function _s(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return La[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function $s(a){a=a|0;var b=0;b=Xs()|0;ci(b,a);c[b>>2]=11256;c[b+52>>2]=2;return b|0}function at(a){a=a|0;var b=0;b=Xs()|0;ci(b,a);c[b>>2]=11152;c[b+52>>2]=0;return b|0}function bt(a){a=a|0;zf(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function ct(a){a=a|0;c[a>>2]=5560;g[a+4>>2]=1.0;c[a+8>>2]=0;b[a+12>>1]=1;b[a+14>>1]=-1;c[a+16>>2]=0;return}function dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;ab[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function et(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function ft(a,b,d){a=a|0;b=b|0;d=d|0;Ld(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function gt(a,b){a=a|0;b=+b;var c=0;c=sa;sa=sa+16|0;g[c>>2]=b;a=Xp(a,c)|0;sa=c;return a|0}function ht(a,b){a=a|0;b=b|0;var c=0;c=ws()|0;qq(c,a,b);return c|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){P(b<>>32-c|0);return a<>2]|0)+64>>2]&127](a,b,d);return}function lt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function nt(a){a=a|0;if(!a){a=0;return a|0}a=Nq(a)|0;return a|0}function ot(){var a=0;a=sa;sa=sa+16|0;if(!(oa(29304,268)|0)){sa=a;return}else Hu(24116,a)}function pt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +za[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function qt(a,b){a=a|0;b=+b;var c=0;c=sa;sa=sa+16|0;g[c>>2]=b;a=Wr(a,c)|0;sa=c;return a|0}function rt(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function st(a,b){a=a|0;b=b|0;ln(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function tt(){var a=0;a=Nr(8)|0;c[a>>2]=0;c[a+4>>2]=0;Uy(a);return a|0}function ut(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;Ha[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function vt(a,b){a=a|0;b=b|0;Eq(a,b);ns(a+48|0,b+48|0,b+52|0,b+56|0);return}function wt(a,b,d){a=a|0;b=b|0;d=d|0;dg(c[a+116>>2]|0,b,d);return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){P(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function yt(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function zt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;gb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function At(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;N(35)}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function Ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;Za[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function Et(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function Ft(a,b){a=a|0;b=+b;var c=0;c=sa;sa=sa+16|0;g[c>>2]=1.0/b;a=Xp(a,c)|0;sa=c;return a|0}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function Ht(a,b,d){a=a|0;b=+b;d=d|0;return Ga[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function It(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Jt(a,b){a=a|0;b=b|0;An(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Kt(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return Ga[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function Lt(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Mt(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function Ot(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Pt(a,b){a=a|0;b=b|0;Za[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Qt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;fb[a&1](b|0,c|0,d|0,e|0,f|0,+g)}function Rt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;$a[a&1](b|0,c|0,d|0,+e,f|0,g|0)}function St(a,b){a=a|0;b=b|0;Bn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Tt(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function Ut(a,b,d){a=a|0;b=b|0;d=+d;Wa[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function Vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function Wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function Xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ka[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function Yt(a,b){a=a|0;b=b|0;Ap(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;ns(a,b,d,e);c[a+12>>2]=c[f>>2];return}function _t(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function $t(a,b){a=a|0;b=b|0;un(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function au(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;kn(a,b,c,d,e,f);return}function bu(a){a=a|0;uj(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function cu(a){a=a|0;Xk(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function du(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Sa[a&3](b|0,+c,+d,e|0,f|0,g|0)}function eu(a,b,d){a=a|0;b=b|0;d=d|0;ab[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function fu(a,b){a=a|0;b=b|0;var c=0;c=Ds()|0;Af(c,a,b,16);return c|0}function gu(a,b){a=a|0;b=b|0;if(!b)b=0;else b=di(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function hu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function iu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function ju(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;N(18);return 0}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function lu(a){a=a|0;ag(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function mu(a){a=a|0;if(!a){a=0;return a|0}a=dr(a)|0;return a|0}function nu(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;N(9);return 0.0}function ou(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;li(a,b,c,d,e);return}function pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mf(a,b,c,d,e);return}function qu(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Xa[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function ru(a,b){a=a|0;b=b|0;ee(a,b);return}function su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ab[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function tu(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;N(36)}function uu(a,b){a=a|0;b=b|0;dg(c[a+116>>2]|0,b,1);return}function vu(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;Dq(a+4|0,b);return}function wu(a){a=a|0;uE(a+144|0);uE(a+124|0);uE(a+104|0);return}function xu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +Ba[a&15](b|0,c|0,d|0,e|0,f|0)}function yu(a,b){a=a|0;b=b|0;var c=0;c=is()|0;sf(c,a,b);return c|0}function zu(a){a=a|0;if(!a){a=0;return a|0}a=hr(a)|0;return a|0}function Au(a,b){a=a|0;b=b|0;Fp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;ab[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function Cu(a,b){a=a|0;b=+b;var c=0;c=sa;sa=sa+16|0;g[c>>2]=1.0/b;Wr(a,c)|0;sa=c;return}function Du(a,b){a=a|0;b=+b;return Ga[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function Eu(a){a=a|0;var b=0;b=Nr(8)|0;wv(b,a);return b|0}function Fu(a,b,d){a=a|0;b=b|0;d=d|0;Za[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function Gu(a,b,d){a=a|0;b=b|0;d=+d;Wa[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function Hu(a,b){a=a|0;b=b|0;var d=0;d=sa;sa=sa+16|0;c[d>>2]=b;Zi(12344,a,d)|0;pl(10,12344)|0;ba()}function Iu(a){a=a|0;Dh(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Ju(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;N(43)}function Ku(a){a=a|0;Mi(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Lu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;kn(a,b,c,d,e,1.0);return}function Mu(a){a=a|0;c[a>>2]=10968;if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Nu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +xa[a&3](b|0,c|0,+d,e|0,f|0)}function Ou(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;_t(a,b,c,d);return}function Pu(a,b){a=a|0;b=b|0;return c[(BB(c[a+24>>2]|0,b)|0)+64>>2]|0}function Qu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;eb[a&31](b|0,c|0,d|0,e|0,f|0)}function Ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(0,a|0,b|0,c|0,d|0)|0;return}function Su(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function Tu(a){a=a|0;Bl(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Uu(a,b){a=a|0;b=b|0;var c=0;c=Nr(64)|0;Jp(c,a,b);return c|0}function Vu(){var a=0;a=Nr(24)|0;et(a);return a|0}function Wu(a,b,d){a=a|0;b=b|0;d=+d;Qa[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;Cn(a,b,c);return}function Yu(a,b){a=a|0;b=b|0;ab[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function Zu(a){a=a|0;var b=0;b=Ds()|0;Af(b,a,0,16);return b|0}function _u(a,b,d){a=a|0;b=+b;d=d|0;Ta[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function $u(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function av(a){a=a|0;Eh(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function bv(a){a=a|0;Fh(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function cv(a,b,d){a=a|0;b=b|0;d=d|0;return +(+ya[c[(c[a>>2]|0)+32>>2]&15](a,b,d))}function dv(a){a=a|0;if(!a){a=0;return a|0}a=xr(a)|0;return a|0}function ev(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;bb[a&1](b|0,c|0,d|0,e|0,+f)}function fv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Ya[a&1](b|0,c|0,+d,e|0,f|0)}function gv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;N(17);return 0}function hv(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function iv(a){a=a|0;c[a>>2]=7356;if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function jv(a){a=a|0;c[a>>2]=7816;if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function kv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;N(8);return 0.0}function lv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (P(d|0),a-c>>>0|0)|0}function mv(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+52>>2]&127](a,b);return}function nv(a,b){a=a|0;b=b|0;return Ha[c[(c[a>>2]|0)+92>>2]&31](a,b)|0}function ov(a,b,d){a=a|0;b=b|0;d=+d;Wa[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function pv(a,b){a=a|0;b=b|0;Sz(a,b);return}function qv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vb(a,b,c,d)|0;return 1}function rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;tr(a,b,c,d,e);return}function sv(a,b,d){a=a|0;b=b|0;d=d|0;Za[c[(c[a>>2]|0)+40>>2]&127](a,b,d);return}function tv(a){a=a|0;var b=0;b=is()|0;sf(b,a,1);return b|0}function uv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function vv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function wv(a,b){a=a|0;b=b|0;aH(a);c[a>>2]=7664;c[a+4>>2]=b;return}function xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (P(b+d+(a+c>>>0>>>0>>0|0)>>>0|0),a+c>>>0|0)|0}function yv(a,b){a=a|0;b=b|0;Aq(a,b);return}function zv(a,b){a=a|0;b=b|0;Fq(a,b);return}function Av(a,b){a=a|0;b=b|0;ab[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;ph(b,c);return}function Cv(a,b){a=a|0;b=b|0;Wm(a,b);return}function Dv(a){a=a|0;Fc(a);if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Ev(a){a=a|0;var b=0;b=((c[a+52>>2]|0)+2|0)%3|0;return +(+g[(JI(a+28|0)|0)+(b<<2)>>2])}function Fv(a){a=a|0;c[a>>2]=5732;g[a+4>>2]=1.0;b[a+8>>1]=1;b[a+10>>1]=-1;return}function Gv(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function Hv(a,b){a=a|0;b=b|0;Uq(a,b);return}function Iv(a,b){a=a|0;b=b|0;Vq(a,b);return}function Jv(a,b){a=a|0;b=b|0;Za[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function Kv(a,b){a=a|0;b=+b;Dx(a,b);return}function Lv(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;P(c[j+4>>2]|0);return b|0}function Mv(a,b){a=a|0;b=b|0;return Ha[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Nv(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Ov(a,b,d){a=a|0;b=b|0;d=+d;Va[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Pv(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Qv(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;xl(a,b,c,d,e);return}function Rv(a,b){a=a|0;b=b|0;Cm(a,b);return}function Sv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ka[a&31](b|0,c|0,d|0,e|0)|0}function Tv(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Uv(a){a=a|0;var b=0;b=Xs()|0;ci(b,a);return b|0}function Vv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;N(42)}function Wv(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function Xv(a,b){a=a|0;b=b|0;return c[(aF(c[a+276>>2]|0,b)|0)>>2]|0}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;Zd(a,b,c);return}function Zv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function _v(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function $v(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Ul(a,b,c,d);return}function aw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function bw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function cw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +Aa[a&1](b|0,c|0,d|0,e|0)}function dw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;N(41)}function ew(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function fw(){var a=0;a=Ds()|0;Af(a,0,0,16);return a|0}function gw(a){a=a|0;var b=0;b=Nr(284)|0;Yi(b,a);return b|0}function hw(a){a=a|0;if(!a)return;Pa[c[(c[a>>2]|0)+8>>2]&511](a);return}function iw(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+z(+b);return}function jw(a){a=a|0;if(!a)return;Pa[c[(c[a>>2]|0)+4>>2]&511](a);return}function kw(a,b){a=a|0;b=+b;return +(+va[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function lw(a){a=a|0;Cu(a,+lA(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function mw(a,b){a=a|0;b=b|0;Qw(a+868|0,b);return}function nw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function ow(a,b){a=a|0;b=b|0;$d(a,b);return}function pw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function qw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function rw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+36>>2]&127](a,b);return}function sw(a,b){a=a|0;b=b|0;b=(b|0)<2?b:2;c[a+176>>2]=(b|0)>0?b:0;return}function tw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;N(7);return 0.0}function uw(a,b,c){a=a|0;b=b|0;c=c|0;Mh(a,b,c);return}function vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&127](b|0,c|0,d|0,e|0)}function ww(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;Bk(a,b,c);return}function yw(a,b){a=a|0;b=b|0;Me(a,b);return}function zw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function Aw(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Bw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;fa(3,a|0,b|0,c|0)|0;return}function Dw(){var a=0;a=is()|0;sf(a,1,1);return a|0}function Ew(a){a=a|0;return JE(c[a+204>>2]|0)|0}function Fw(a,b,c){a=a|0;b=+b;c=+c;zx(a,b,c);return}function Gw(a,b){a=a|0;b=+b;Qa[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function Hw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Sk(a,b,c,d);return}function Iw(a,b){a=a|0;b=b|0;hp(a,b);return}function Jw(a,b){a=a|0;b=b|0;hp(a,b);return}function Kw(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=6;return}function Lw(a,b){a=a|0;b=b|0;Cv(a+788|0,b);return}function Mw(a,b){a=a|0;b=+b;Qa[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function Nw(a,b){a=a|0;b=b|0;return +(+g[(c[a+144>>2]|0)+(b*284|0)+232>>2])}function Ow(){var a=0;a=Nr(196)|0;fh(a,0);return a|0}function Pw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function Qw(a,b){a=a|0;b=b|0;hp(a,b);return}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function Tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Uw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return Ga[a&1](b|0,+c,d|0,+e)|0}function Vw(a,b,c){a=a|0;b=b|0;c=+c;am(a,b,c);return}function Ww(a,b){a=a|0;b=b|0;return c[(aF(c[a+12>>2]|0,b)|0)>>2]|0}function Xw(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function Yw(a){a=a|0;var b=0;b=((JI(c[a+236>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function Zw(a,b){a=a|0;b=b|0;return MB(c[a+12>>2]|0,b)|0}function _w(a,b,c){a=a|0;b=b|0;c=c|0;tl(a,b,c);return}function $w(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function ax(a){a=a|0;if(!a)return;sC(a);GI(a);return}function bx(a,b){a=a|0;b=b|0;Va[c[(c[a>>2]|0)+44>>2]&127](a,b);return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;return nb(a,b,c)|0}function dx(a,b){a=a|0;b=b|0;sw(a,b);return}function ex(a,b,c){a=a|0;b=b|0;c=+c;xq(a,b,c);return}function fx(a){a=a|0;c[a>>2]=6400;ni(a+12|0);GI(a);return}function gx(a,b){a=a|0;b=b|0;Km(a,b);return}function hx(a,b){a=a|0;b=b|0;Rv(a+708|0,b);return}function ix(a){a=a|0;if(!a)return;lG(a);GI(a);return}function jx(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function kx(a,b){a=a|0;b=b|0;rx(a+4|0,b);return}function lx(a,b){a=a|0;b=b|0;Cd(a,b);return}function mx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;_a[a&15](b|0,c|0,d|0,+e)}function nx(a){a=+a;var b=0;b=Ps()|0;Uo(b,a);return b|0}function ox(a,b){a=a|0;b=b|0;vu(a,b);return}function px(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function qx(a,b){a=a|0;b=+b;My(a,b);return}function rx(a,b){a=a|0;b=b|0;_o(a,b);return}function sx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Xa[a&7](b|0,c|0,+d,e|0)}function tx(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Ua[a&1](b|0,+c,d|0,e|0)}function ux(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function vx(a,b){a=a|0;b=b|0;lr(a,b);return}function wx(a,b){a=a|0;b=b|0;mr(a,b);return}function xx(a){a=a|0;var b=0;b=JI(a+28|0)|0;return +(+g[b+(c[a+52>>2]<<2)>>2])}function yx(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function zx(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function Ax(a,b){a=a|0;b=b|0;return dC(a,b)|0}function Bx(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function Cx(a){a=a|0;var b=0;b=sa;sa=sa+16|0;Oa[a&3]();Hu(24219,b)}function Dx(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function Ex(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Fx(a){a=a|0;if(!a)return;uE(a);GI(a);return}function Gx(a){a=a|0;return +(+TH(+g[a+16>>2]))}function Hx(a){a=a|0;return Fa[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Ix(a,b){a=a|0;b=b|0;Tx(a+24|0,b);return}function Jx(a){a=a|0;Os(a);Aw(a);return}function Kx(a){a=a|0;var b=0;b=(JI(c[a+236>>2]|0)|0)==4;return (b?a:0)|0}function Lx(a){a=a|0;return +(+lA(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function Mx(a,b){a=a|0;b=+b;CB(a,b);return}function Nx(a,b){a=a|0;b=b|0;yB(a,b);return}function Ox(a,b){a=a|0;b=+b;Qa[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Px(a,b){a=a|0;b=b|0;Lp(a,b);return}function Qx(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function Rx(a){a=a|0;return RF(+g[a+4>>2])|0}function Sx(a){a=a|0;if(!a)return;c[7183]=(c[7183]|0)+1;Hc(c[a+-4>>2]|0);return}function Tx(a,b){a=a|0;b=b|0;Vm(a,b);return}function Ux(a,b){a=a|0;b=b|0;JC(a,b);return}function Vx(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function Wx(a,b){a=a|0;b=b|0;return Xv(a,b)|0}function Xx(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function Yx(a){a=a|0;c[a>>2]=5512;b[a+4>>1]=1;b[a+6>>1]=-1;return}function Zx(a){a=a|0;var b=0;b=(JI(c[a+236>>2]|0)|0)==8;return (b?a:0)|0}function _x(){var a=0;a=Nr(24)|0;kr(a);return a|0}function $x(a,b){a=a|0;b=b|0;Op(a,b);return}function ay(a,b){a=a|0;b=+b;rC(a,b);return}function by(a,b){a=a|0;b=b|0;return KD(c[a+12>>2]|0,b)|0}function cy(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function dy(a,b){a=a|0;b=+b;PB(a,b);return}function ey(a,b){a=a|0;b=b|0;KC(a,b);return}function fy(a){a=a|0;Pa[c[(c[a>>2]|0)+44>>2]&511](a);return}function gy(a,b){a=a|0;b=b|0;Dq(a+4|0,b);return}function hy(a){a=a|0;return oF(c[a+204>>2]|0)|0}function iy(a,b){a=a|0;b=+b;tC(a,b);return}function jy(a,b){a=a|0;b=+b;vz(a,b);return}function ky(a,b){a=a|0;b=+b;uC(a,b);return}function ly(a,b){a=a|0;b=+b;wz(a,b);return}function my(a,b){a=a|0;b=b|0;Hs(a,b);return}function ny(a,b){a=a|0;b=b|0;Qp(a,b);return}function oy(a){a=a|0;return +(+TH(+g[a+112>>2]))}function py(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function qy(a){a=a|0;return Fa[c[(c[a>>2]|0)+96>>2]&127](a)|0}function ry(a){a=a|0;return iF(c[a+8>>2]|0)|0}function sy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ja[a&63](b|0,c|0,d|0)|0}function ty(a,b){a=a|0;b=+b;oE(a,b);return}function uy(a,b){a=a|0;b=b|0;return +(+Em(a,b))}function vy(a,b){a=a|0;b=b|0;Mh(a,b,1);return}function wy(a,b){a=a|0;b=b|0;ZB(a,b);return}function xy(a){a=a|0;if(!a)a=0;else a=(zi(a,5248)|0)!=0&1;return a|0}function yy(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Wp(a,c,d,e,b);return}function zy(a){a=a|0;$i(a);GI(a);return}function Ay(a,b){a=a|0;b=b|0;Rl(a,b);return}function By(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function Cy(a){a=a|0;return Fa[c[(c[a>>2]|0)+20>>2]&127](a)|0}function Dy(a,b){a=a|0;b=b|0;MA(a,b,+TD(b));return}function Ey(a){a=a|0;c[a>>2]=6400;ni(a+12|0);return}function Fy(a,b){a=a|0;b=b|0;qC(a,b);return}function Gy(a,b){a=a|0;b=b|0;vt(a,b);return}function Hy(){var a=0;a=Nr(100)|0;Zl(a);return a|0}function Iy(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function Jy(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function Ky(a,b){a=a|0;b=b|0;eC(a,b);return}function Ly(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function My(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function Ny(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +ya[a&15](b|0,c|0,d|0)}function Oy(a,b){a=a|0;b=b|0;fC(a,b);return}function Py(a,b){a=a|0;b=b|0;return nb(a,b,8192)|0}function Qy(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function Ry(a){a=a|0;Pa[c[(c[a>>2]|0)+24>>2]&511](a);return}function Sy(){var a=0;a=Nr(12)|0;cy(a);return a|0}function Ty(a){a=a|0;if(!a)return;wu(a);GI(a);return}function Uy(a){a=a|0;Yx(a);c[a>>2]=5488;return}function Vy(a){a=a|0;return TF(a)|0}function Wy(a,b){a=a|0;b=+b;bw(a,b);return}function Xy(a,b){a=a|0;b=b|0;return +(+ze(a,b))}function Yy(a){a=a|0;return +(+TH(+g[a+120>>2]))}function Zy(){var a=0;a=Nr(4)|0;qB(a);return a|0}function _y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function $y(a){a=a|0;return NF(c[a+204>>2]|0)|0}function az(a,b){a=a|0;b=+b;cD(a,b);return}function bz(a,b){a=a|0;b=b|0;Og(a,b);return}function cz(a){a=a|0;Oi(a);return}function dz(a,b){a=a|0;b=+b;aD(a,b);return}function ez(a){a=a|0;return Fa[c[(c[a>>2]|0)+28>>2]&127](a)|0}function fz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))lj(b,d,a)|0;return}function gz(a,b){a=a|0;b=b|0;return Pu(a,b)|0}function hz(){var a=0;a=Nr(4)|0;c[a>>2]=0;NE(a);return a|0}function iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Ia[a&7](b|0,c|0,+d)|0}function jz(a){a=a|0;return +(+g[a+132>>2])}function kz(a){a=a|0;return Mz(c[a+68>>2]|0)|0}function lz(a){a=a|0;return Fa[c[(c[a>>2]|0)+48>>2]&127](a)|0}function mz(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function nz(a,b){a=a|0;b=b|0;hp(a,b);return}function oz(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function pz(a){a=a|0;return +(+g[a+128>>2])}function qz(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function rz(a,b){a=a|0;b=b|0;AC(a,b);return}function sz(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function tz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;N(40)}function uz(a){a=a|0;return $C(a)|0}function vz(a,b){a=a|0;b=+b;g[a+196>>2]=+As(b);return}function wz(a,b){a=a|0;b=+b;g[a+192>>2]=+As(b);return}function xz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Za[a&127](b|0,c|0,d|0)}function yz(a,b){a=a|0;b=b|0;Dq(a+92|0,b);return}function zz(a){a=a|0;Xi(a);GI(a);return}function Az(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function Bz(a){a=a|0;return +(+TH(+g[a+80>>2]))}function Cz(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function Dz(a,b){a=a|0;b=b|0;Rj(a,b);return}function Ez(a,b){a=a|0;b=b|0;return xG(c[a+12>>2]|0,b)|0}function Fz(a){a=a|0;return yG(a)|0}function Gz(a,b){a=a|0;b=+b;nw(a,b);return}function Hz(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function Iz(a,b,c){a=a|0;b=b|0;c=+c;g[a+20+(b<<2)>>2]=c;return}function Jz(a){a=a|0;return +(+va[c[(c[a>>2]|0)+48>>2]&15](a))}function Kz(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function Lz(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Mz(a){a=a|0;return Fa[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Nz(a){a=a|0;var b=0;b=sa;sa=sa+a|0;sa=sa+15&-16;return b|0}function Oz(a,b){a=a|0;b=b|0;Vc(a,b);return}function Pz(a,b){a=a|0;b=b|0;bD(a,b);return}function Qz(a){a=a|0;return +(+g[a+136>>2])}function Rz(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function Sz(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Tz(a,b){a=a|0;b=b|0;ea(2,a|0,b|0)|0;return}function Uz(a,b){a=a|0;b=b|0;Fr(a,b);return}function Vz(a,b){a=a|0;b=b|0;an(a+288|0,b);return}function Wz(a,b){a=a|0;b=b|0;return Yw(b)|0}function Xz(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function Yz(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function Zz(a,b){a=a|0;b=b|0;Og(b,a);return}function _z(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function $z(a){a=a|0;return CG(a)|0}function aA(a){a=a|0;return DG(a)|0}function bA(a){a=a|0;return IG(a)|0}function cA(a){a=a|0;if(!a)return;RG(a);GI(a);return}function dA(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function eA(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function fA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(16);return 0}function gA(a){a=a|0;sz(a);return}function hA(a,b){a=a|0;b=b|0;Dz(a,b);return}function iA(a,b){a=a|0;b=b|0;return Zx(b)|0}function jA(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function kA(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function lA(a,b,c){a=+a;b=+b;c=+c;return +(+wI(+zA(a,b,c)))}function mA(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Ta[a&15](b|0,+c,d|0)}function nA(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Sj(a,b)|0;return a|0}function oA(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function pA(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function qA(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function rA(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function sA(a){a=a|0;return ~~+g[a+48>>2]|0}function tA(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function uA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Wa[a&7](b|0,c|0,+d)}function vA(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function wA(a,b){a=a|0;b=+b;Bw(a,b);return}function xA(a){a=a|0;return bC(c[a+216>>2]|0)|0}function yA(a,b){a=a|0;b=b|0;nz(a,b);return}function zA(a,b,c){a=+a;b=+b;c=+c;return +(+Xx(a,b,c,a,b,c))}function AA(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+C(+a))}function BA(a){a=a|0;return +(+g[a+116>>2])}function CA(a){a=a|0;return +(+Jq(a))}function DA(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function EA(a){a=a|0;return SD(a)|0}function FA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;N(4);return 0.0}function GA(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function HA(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function IA(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function JA(a){a=a|0;return +(+g[a+112>>2])}function KA(a){a=a|0;return +(+g[a+124>>2])}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function MA(a,b,c){a=a|0;b=b|0;c=+c;rn(a,b,1.0/c);return}function NA(a){a=a|0;se(a);GI(a);return}function OA(a,b){a=a|0;b=b|0;var c=0;c=kB(a|0)|0;return ((b|0)==0?a:c)|0}function PA(a,b){a=a|0;b=b|0;ea(4,a|0,b|0)|0;return}function QA(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function RA(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function SA(a){a=a|0;if(!a)return;Sx(a);return}function TA(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function UA(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function VA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ge(a,b,c,d,0)|0}function WA(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function XA(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function YA(a,b,c){a=a|0;b=+b;c=c|0;return}function ZA(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function _A(a){a=a|0;Ft(a,+TD(a))|0;return}function $A(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Ra[a&7](b|0,+c,+d)}function aB(a){a=a|0;return +(+eH(+g[a+12>>2]))}function bB(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function cB(a){a=a|0;return ZG(a)|0}function dB(a,b){a=a|0;b=b|0;return +(+ms(a,b))}function eB(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function fB(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function gB(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function hB(a){a=a|0;Hj(a);GI(a);return}function iB(a){a=a|0;ck(a);GI(a);return}function jB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(39)}function kB(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function lB(a){a=a|0;return fH(a)|0}function mB(a){a=a|0;return sE(a)|0}function nB(a){a=a|0;return (c[a+116>>2]|0)+4|0}function oB(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function pB(a,b){a=a|0;b=b|0;bm(a+28|0,b);return}function qB(a){a=a|0;kG(a);c[a>>2]=5584;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;return Ha[a&31](b|0,c|0)|0}function sB(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function tB(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function uB(a){a=a|0;return +(+g[a+104>>2])}function vB(a,b){a=a|0;b=b|0;return Zk(a,b)|0}function wB(a){a=a|0;return lH(a)|0}function xB(a){a=a|0;Ij(a);GI(a);return}function yB(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function zB(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function AB(a,b){a=a|0;b=b|0;return a+(b*96|0)|0}function BB(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function CB(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function DB(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function EB(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function FB(a){a=a|0;return +(+g[a+268>>2])}function GB(a){a=a|0;return KE(a)|0}function HB(a){a=a|0;return JI(c[a+84>>2]|0)|0}function IB(a,b){a=a|0;b=b|0;return Xn(a,b)|0}function JB(a,b){a=a|0;b=b|0;return Wn(a,b)|0}function KB(a,b){a=a|0;b=b|0;return +(+Io(a,b))}function LB(a){a=a|0;return +(+xx(a))}function MB(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function NB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;N(38)}function OB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;N(32)}function PB(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function QB(a){a=a|0;return +(+g[a+96>>2])}function RB(a,b){a=a|0;b=b|0;return +(+g[a+20+(b<<2)>>2])}function SB(a){a=a|0;return vH(a)|0}function TB(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function UB(a){a=a|0;ni(a);GI(a);return}function VB(a,b){a=a|0;b=b|0;return Kp(a,b)|0}function WB(a){a=a|0;return JI(c[a+88>>2]|0)|0}function XB(a){a=a|0;return JI(c[a+748>>2]|0)|0}function YB(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function ZB(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function $B(a){a=a|0;return xF(a)|0}function aC(a){a=a|0;return +(+g[a+108>>2])}function bC(a){a=a|0;a=JI(a)|0;return (a|0)!=2&(a|0)!=5|0}function cC(a){a=a|0;Jj(a);GI(a);return}function dC(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function eC(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function fC(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function gC(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;N(23)}function hC(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function iC(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function jC(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function kC(a){a=a|0;return +(+g[a+272>>2])}function lC(a,b){a=a|0;b=+b;return Ft(a,b)|0}function mC(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function nC(a){a=a|0;return b[a+10>>1]|0}function oC(a){a=a|0;return b[a+8>>1]|0}function pC(a){a=a|0;if(a>>>0>4294963200){c[7184]=0-a;a=-1}return a|0}function qC(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function rC(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function sC(a){a=a|0;js(a);return}function tC(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function uC(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function vC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;N(6);return 0.0}function wC(a){a=a|0;return +(+g[a+220>>2])}function xC(a){a=a|0;return +(+g[a+100>>2])}function yC(a){a=a|0;return JI(c[a+128>>2]|0)|0}function zC(a){a=a|0;return b[a+12>>1]|0}function AC(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function BC(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function CC(a){a=a|0;return +(+g[a+224>>2])}function DC(a,b){a=a|0;b=b|0;return Ir(a,b)|0}function EC(a,b){a=a|0;b=b|0;return Hr(a,b)|0}function FC(a){a=a|0;return xg(a)|0}function GC(a){a=a|0;return JI(c[a+188>>2]|0)|0}function HC(a){a=a|0;return b[a+4>>1]|0}function IC(a){a=a|0;return b[a+14>>1]|0}function JC(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function KC(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function LC(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function MC(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function NC(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function OC(a){a=a|0;return (c[a+48>>2]|0)==1|0}function PC(a){a=a|0;Kj(a);GI(a);return}function QC(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return}function RC(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function SC(a,b){a=a|0;b=b|0;if(!k){k=a;l=b}}function TC(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function UC(a){a=a|0;return JI(c[a+116>>2]|0)|0}function VC(a){a=a|0;return JI(c[a+120>>2]|0)|0}function WC(a){a=a|0;return JI(c[a+744>>2]|0)|0}function XC(a){a=a|0;return JI(c[a+740>>2]|0)|0}function YC(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function ZC(a){a=a|0;return b[a+6>>1]|0}function _C(a){a=a|0;return (c[a+92>>2]|0)+4|0}function $C(a){a=a|0;return JI(c[a+268>>2]|0)|0}function aD(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function bD(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function cD(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&127](b|0,c|0)}function eD(a,b,c){a=a|0;b=b|0;c=+c;return +wa[a&1](b|0,+c)}function fD(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;N(2);return 0.0}function gD(a){a=a|0;return +(+g[a+276>>2])}function hD(a){a=a|0;return +(+g[a+208>>2])}function iD(a){a=a|0;return JI(c[a+192>>2]|0)|0}function jD(a){a=a|0;return JI(c[a+204>>2]|0)|0}function kD(a){a=a|0;return JI(c[a+24>>2]|0)|0}function lD(a){a=a|0;return JI(c[a+68>>2]|0)|0}function mD(a){a=a|0;return +(+Ev(a))}function nD(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function oD(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function pD(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function qD(a){a=a|0;if(!a)return;GI(a);return}function rD(a){a=a|0;return +(+g[a+216>>2])}function sD(a){a=a|0;return JI(c[a+480>>2]|0)|0}function tD(a){a=a|0;return JI(c[a+124>>2]|0)|0}function uD(a,b){a=a|0;b=+b;pF(a,b);return}function vD(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function wD(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function xD(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function yD(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function zD(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function AD(a){a=a|0;return +(+g[a+248>>2])}function BD(a){a=a|0;return JI(c[a+240>>2]|0)|0}function CD(a){a=a|0;return xH(a)|0}function DD(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function ED(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function FD(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function GD(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function HD(a,b,c){a=a|0;b=b|0;c=+c;return 0}function ID(a){a=a|0;return +(+g[a+204>>2])}function JD(a){a=a|0;sq(a);return}function KD(a,b){a=a|0;b=b|0;return a+(b*36|0)|0}function LD(a,b){a=a|0;b=+b;OF(a,b);return}function MD(a,b){a=a|0;b=+b;PF(a,b);return}function ND(a,b){a=a|0;b=+b;jG(a,b);return}function OD(a){a=a|0;return c[a+36>>2]|0}function PD(a){a=a|0;return c[a+32>>2]|0}function QD(a){a=a|0;return JI(c[a+52>>2]|0)|0}function RD(a){a=a|0;return (c[a+48>>2]|0)+4|0}function SD(a){a=a|0;return JI(c[a+16>>2]|0)|0}function TD(a){a=a|0;return +(+wI(+dF(a)))}function UD(a){a=a|0;return a+44|0}function VD(a){a=a|0;return c[a+68>>2]|0}function WD(a,b,c){a=a|0;b=b|0;c=+c;Qa[a&31](b|0,+c)}function XD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;N(37)}function YD(a){a=a|0;return +(+g[(nI(a)|0)>>2])}function ZD(a){a=a|0;return +(+g[(oI(a)|0)>>2])}function _D(a){a=a|0;return +(+g[(mI(a)|0)>>2])}function $D(a){a=a|0;return IH(a)|0}function aE(a){a=a|0;_A(a);return}function bE(a){a=a|0;return c[a+8>>2]|0}function cE(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function dE(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function eE(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function fE(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function gE(a){a=a|0;return a+60|0}function hE(a){a=a|0;return c[a+200>>2]|0}function iE(a){a=a|0;return +(+g[a+244>>2])}function jE(a){a=a|0;return +(+g[a+240>>2])}function kE(a){a=a|0;return +(+dF(a))}function lE(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function mE(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function nE(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function oE(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function pE(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function qE(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function rE(a){a=a|0;return c[a+212>>2]|0}function sE(a){a=a|0;return JI(c[a+136>>2]|0)|0}function tE(a){a=a|0;c[a+192>>2]=0;return}function uE(a){a=a|0;Jx(a);return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;return}function wE(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function xE(a){a=a|0;return +(+g[a+212>>2])}function yE(a){a=a|0;return +(+g[a+228>>2])}function zE(a,b){a=a|0;b=+b;g[a+88>>2]=b;return}function AE(a){a=a|0;return c[a+24>>2]|0}function BE(a){a=a|0;Aw(a);return}function CE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;N(34)}function DE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;N(29)}function EE(a){a=a|0;return +(+g[a+252>>2])}function FE(a){a=a|0;return oI(a)|0}function GE(a){a=a|0;return +(+TD(a))}function HE(){var a=0;a=c[7327]|0;c[7327]=a+0;return a|0}function IE(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function JE(a){a=a|0;return (a&3|0)!=0|0}function KE(a){a=a|0;return JI(c[a+12>>2]|0)|0}function LE(a){a=a|0;return c[a+136>>2]|0}function ME(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function NE(a){a=a|0;tH(a);c[a>>2]=5288;return}function OE(a){a=a|0;return a+156|0}function PE(a){a=a|0;return a+20|0}function QE(a){a=a|0;return da(5,a|0)|0}function RE(){var a=0;a=c[3117]|0;c[3117]=a+0;return a|0}function SE(a){a=a|0;Hh(a);GI(a);return}function TE(a){a=a|0;Jo(a);GI(a);return}function UE(a){a=a|0;cj(a);GI(a);return}function VE(a){a=a|0;return +(+g[a+232>>2])}function WE(a){a=a|0;return +(+g[a+280>>2])}function XE(a){a=a|0;return +(+g[a+236>>2])}function YE(a){a=a|0;return 348}function ZE(a){a=a|0;return c[a+12>>2]|0}function _E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;N(15);return 0}function $E(a){a=a|0;lw(a);return}function aF(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function bF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;N(5);return 0.0}function cF(a){a=a|0;return JI(c[a+4>>2]|0)|0}function dF(a){a=a|0;return +(+Io(a,a))}function eF(a){a=a|0;return (a?31-(M(a^a-1)|0)|0:32)|0}function fF(a){a=a|0;return +(+g[a+256>>2])}function gF(a){a=a|0;return a+348|0}function hF(a){a=a|0;return +(+g[a>>2])}function iF(a){a=a|0;return (a|0)!=0|0}function jF(a,b){a=a|0;b=b|0;return Fa[a&127](b|0)|0}function kF(a){a=a|0;T(a|0)|0;Ip()}function lF(a){a=a|0;return a+64|0}function mF(a){a=a|0;return +(+g[a+64>>2])}function nF(a){a=a|0;return +(+g[a+68>>2])}function oF(a){a=a|0;return (a&2|0)!=0|0}function pF(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function qF(a){a=a|0;return a+172|0}function rF(a){a=a|0;return c[a+4>>2]|0}function sF(a){a=a|0;return c[a+84>>2]|0}function tF(a){a=a|0;return c[a+88>>2]|0}function uF(a){a=a|0;return c[a+92>>2]|0}function vF(a){a=a|0;return c[a+100>>2]|0}function wF(a){a=a|0;return 252}function xF(a){a=a|0;return c[a+240>>2]|0}function yF(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;N(11);return 0}function zF(a){a=a|0;return +(+g[(JI(a)|0)>>2])}function AF(a){a=a|0;return a+52|0}function BF(a){a=a|0;return +(+g[a+80>>2])}function CF(a){a=a|0;return +(+g[a+76>>2])}function DF(a){a=a|0;return 28}function EF(a){a=a|0;return c[a+72>>2]|0}function FF(a,b){a=a|0;b=b|0;return +va[a&15](b|0)}function GF(a){a=a|0;return c[a+16>>2]|0}function HF(a){a=a|0;return +(+g[a+60>>2])}function IF(a){a=a|0;return +(+g[a+52>>2])}function JF(a){a=a|0;return +(+g[a+56>>2])}function KF(a){a=a|0;return a+108|0}function LF(a){a=a|0;return 212}function MF(a){a=a|0;return c[a+96>>2]|0}function NF(a){a=a|0;return (a&1|0)!=0|0}function OF(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function PF(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function QF(a){a=a|0;return a+16|0}function RF(a){a=+a;return a<1.0|0}function SF(a,b){a=a|0;b=b|0;return 1}function TF(a){a=a|0;return a+324|0}function UF(a){a=a|0;mH(a);return}function VF(a,b){a=a|0;b=b|0;sa=a;ta=b}function WF(a){a=a|0;return a+188|0}function XF(a){a=a|0;return c[a+20>>2]|0}function YF(a){a=a|0;return 204}function ZF(a,b){a=a|0;b=b|0;return}function _F(a){a=a|0;c[a>>2]=10968;return}function $F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;N(33)}function aG(a){a=a|0;return a+36|0}function bG(a){a=a|0;return +(+g[a+92>>2])}function cG(a){a=a|0;return +(+g[a+44>>2])}function dG(a){a=a|0;return +(+g[a+40>>2])}function eG(a){a=a|0;return +(+g[a+36>>2])}function fG(a){a=a|0;return +(+g[a+48>>2])}function gG(a){a=a|0;return 220}function hG(a){a=a|0;return 256}function iG(a){a=a|0;return +(+g[a+72>>2])}function jG(a,b){a=a|0;b=+b;g[a>>2]=b;return}function kG(a){a=a|0;c[a>>2]=5612;return}function lG(a){a=a|0;RG(a+56|0);return}function mG(a){a=a|0;UF(a);return}function nG(a){a=a|0;return +(+g[a+24>>2])}function oG(a){a=a|0;return +(+g[a+4>>2])}function pG(a){a=a|0;return +(+g[a+20>>2])}function qG(a){a=a|0;return +(+g[a+32>>2])}function rG(a){a=a|0;return +(+g[a+16>>2])}function sG(a){a=a|0;return +(+g[a+12>>2])}function tG(a){a=a|0;return +(+g[a+28>>2])}function uG(a){a=a|0;return 52}function vG(a){a=a|0;return 68}function wG(a){a=a|0;return 84}function xG(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function yG(a){a=a|0;return a+352|0}function zG(a){a=a|0;return a+868|0}function AG(a){a=a|0;return +(+g[a+88>>2])}function BG(a){a=a|0;return +(+g[a+8>>2])}function CG(a){a=a|0;return a+316|0}function DG(a){a=a|0;return a+300|0}function EG(a,b){a=a|0;b=b|0;Pa[a&511](b|0)}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;N(31)}function GG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;N(28)}function HG(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;N(25)}function IG(a){a=a|0;return a+32|0}function JG(a){a=a|0;return 24}function KG(a,b){a=a|0;b=+b;return}function LG(a){a=a|0;return a+788|0}function MG(a){a=a|0;return c[a>>2]|0}function NG(a,b){a=a|0;b=b|0;return gu(a,b)|0}function OG(a){a=a|0;return a+68|0}function PG(a){a=a|0;Sx(a);return}function QG(a){a=a|0;GI(a+-4|0);return}function RG(a){a=a|0;uE(a);return}function SG(a){a=a|0;BE(a);return}function TG(a){a=a|0;Fh(a);return}function UG(a){a=a|0;return JI(a)|0}function VG(a){a=a|0;return a+708|0}function WG(a){a=a|0;return 488}function XG(a,b,c){a=a|0;b=b|0;c=c|0;N(14);return 0}function YG(a){a=a|0;return 32}function ZG(a){a=a|0;return a+328|0}function _G(a){a=a|0;return 60}function $G(a){a=a|0;return 428}function aH(a){a=a|0;c[a>>2]=5688;return}function bH(a,b,c){a=a|0;b=b|0;c=c|0;N(3);return 0.0}function cH(a){a=a|0;return a+288|0}function dH(){return Nr(1)|0}function eH(a){a=+a;return +(+AA(a)*2.0)}function fH(a){a=a|0;return a+312|0}function gH(a){a=a|0;c[a>>2]=7356;return}function hH(a){a=a|0;c[a>>2]=7816;return}function iH(a){a=a|0;return (a&255)<<8|a>>8&255|0}function jH(a,b,c){a=a|0;b=b|0;c=+c;N(13);return 0}function kH(a){a=a|0;return 15417}function lH(a){a=a|0;return a+92|0}function mH(a){a=a|0;c[a>>2]=0;return}function nH(a){a=a|0;return 4}function oH(a){a=a|0;return 22146}function pH(a){a=a|0;return 21862}function qH(a){a=a|0;c[a>>2]=5664;return}function rH(){return Zs()|0}function sH(a){a=a|0;return 15305}function tH(a){a=a|0;c[a>>2]=5388;return}function uH(a){a=a|0;return a+76|0}function vH(a){a=a|0;return a+28|0}function wH(a){a=a|0;return 21008}function xH(a){a=a|0;return a+380|0}function yH(a){a=a|0;return a+40|0}function zH(a){a=a|0;return a+24|0}function AH(a){a=a|0;return a+72|0}function BH(a){a=a|0;return a+56|0}function CH(a,b,c){a=a|0;b=b|0;c=c|0;N(30)}function DH(a){a=a|0;return 21392}function EH(a){a=a|0;return 0}function FH(a,b){a=+a;b=b|0;return +(+Gl(a,b))}function GH(){return Nr(64)|0}function HH(a){a=a|0;return 21450}function IH(a){a=a|0;return a+48|0}function JH(a){a=a|0;return 21648}function KH(a){a=a|0;return 1}function LH(a,b,c){a=a|0;b=b|0;c=+c;N(27)}function MH(a,b,c){a=a|0;b=+b;c=c|0;N(24)}function NH(a){a=a|0;return 22263}function OH(a){a=a|0;return 22234}function PH(a){a=a|0;return 3}function QH(a){a=a|0;return hm(a,28780)|0}function RH(a){a=a|0;return (a+-48|0)>>>0<10|0}function SH(a){a=a|0;return 15684}function TH(a){a=+a;return +a}function UH(a){a=a|0;return 22206}function VH(a){a=a|0;return 20723}function WH(a){a=a|0;return 21806}function XH(a){a=a|0;return 21779}function YH(a){a=a|0;return 21749}function ZH(a){a=a|0;return 8}function _H(a){a=+a;return +(a%6.2831854820251465)}function $H(a,b,c){a=a|0;b=+b;c=+c;N(22)}function aI(a){a=a|0;return 20827}function bI(a,b){a=a|0;b=b|0;N(12);return 0}function cI(a){a=a|0;return 20785}function dI(a){a=a|0;return 20806}function eI(a){a=a|0;return 6}function fI(a){a=a|0;return 12}function gI(){return 4}function hI(a){a=a|0;return 20766}function iI(a){a=a|0;return 2}function jI(a){a=a|0;return 21921}function kI(a,b){a=a|0;b=+b;N(1);return 0.0}function lI(){c[6688]=1805;c[6689]=0;return}function mI(a){a=a|0;return a+12|0}function nI(a){a=a|0;return a+8|0}function oI(a){a=a|0;return a+4|0}function pI(a){a=a|0;Oa[a&3]()}function qI(){return 2}function rI(a){a=a|0;ma()}function sI(){return 5}function tI(){return 3}function uI(){return 0}function vI(){W()}function wI(a){a=+a;return +(+x(+a))}function xI(a){a=+a;return +(+w(+a))}function yI(a){a=+a;return +(+A(+a))}function zI(a){a=+a;return +(+z(+a))}function AI(a,b){a=a|0;b=b|0;N(26)}function BI(a,b){a=a|0;b=+b;N(21)}function CI(a){a=a|0;return Nr(a)|0}function DI(a){a=a|0;GI(a);return}function EI(a){a=a|0;return}function FI(a){a=a|0;sa=a}function GI(a){a=a|0;Hc(a);return}function HI(a){a=a|0;N(10);return 0}function II(a){a=a|0;N(0);return 0.0}function JI(a){a=a|0;return a|0}function KI(){return sa|0}function LI(a){a=a|0;N(20)}function MI(){return 1}function NI(){N(19)} +function lb(d,f){d=d|0;f=f|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ia=sa;sa=sa+192|0;i=c[d+52>>2]|0;if(i|0?(Pa[c[c[i>>2]>>2]&511](i),h=c[d+52>>2]|0,h|0):0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[7182]=(c[7182]|0)+1;h=xb(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=12260;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+52>>2]=h;m=0;n=0;ha=0;H=0;h=0;while(1){if((m|0)>=(Fa[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((H|0)==(n|0)){i=(n|0)==0?1:n<<1;if((n|0)<(i|0)){if((i|0)!=0?(c[7182]=(c[7182]|0)+1,o=xb((i<<4|3)+16|0)|0,(o|0)!=0):0){c[(o+4+15&-16)+-4>>2]=o;k=o+4+15&-16}else k=0;if((n|0)<=0){if(!ha){l=k;h=k;k=n;break}}else{h=0;do{ga=k+(h<<4)|0;fa=ha+(h<<4)|0;c[ga>>2]=c[fa>>2];c[ga+4>>2]=c[fa+4>>2];c[ga+8>>2]=c[fa+8>>2];c[ga+12>>2]=c[fa+12>>2];h=h+1|0}while((h|0)!=(n|0))}c[7183]=(c[7183]|0)+1;Hc(c[ha+-4>>2]|0);l=k;h=k;k=n}else{i=n;l=ha;k=n}}else{i=n;l=ha;k=H}while(0);n=l+(H<<4)|0;c[n>>2]=c[ia>>2];c[n+4>>2]=c[ia+4>>2];c[n+8>>2]=c[ia+8>>2];c[n+12>>2]=c[ia+12>>2];Za[c[(c[d>>2]|0)+108>>2]&127](d,m,n);m=m+1|0;n=i;ha=l;H=k+1|0}a[ia+124+16>>0]=1;ga=ia+124+12|0;c[ga>>2]=0;c[ia+124+4>>2]=0;c[ia+124+8>>2]=0;a[ia+124+36>>0]=1;fa=ia+124+32|0;c[fa>>2]=0;c[ia+124+24>>2]=0;c[ia+124+28>>2]=0;a[ia+124+56>>0]=1;ea=ia+124+52|0;c[ea>>2]=0;c[ia+124+44>>2]=0;c[ia+124+48>>2]=0;if(f){if((H|0)>0){G=0;i=0;k=0;l=0;while(1){h=G;G=G+1|0;a:do if((G|0)<(H|0)){B=ha+(h<<4)|0;C=ha+(h<<4)+4|0;A=ha+(h<<4)+8|0;m=G;h=l;while(1){z=m+1|0;b:do if((z|0)<(H|0)){v=ha+(m<<4)|0;y=ha+(m<<4)+4|0;f=ha+(m<<4)+8|0;l=z;while(1){p=+g[B>>2];I=+g[v>>2]-p;q=+g[C>>2];J=+g[y>>2]-q;r=+g[A>>2];E=+g[f>>2]-r;K=+g[ha+(l<<4)>>2]-p;L=+g[ha+(l<<4)+4>>2]-q;F=+g[ha+(l<<4)+8>>2]-r;D=(I*L-J*K)*(I*L-J*K)+((J*F-E*L)*(J*F-E*L)+(E*K-I*F)*(E*K-I*F));c:do if(D>9.999999747378752e-05){u=1.0/+x(+D);s=(J*F-E*L)*u;t=(E*K-I*F)*u;u=(I*L-J*K)*u;d:do if((h|0)>0){m=0;while(1){if(s*+g[k+(m<<4)>>2]+t*+g[k+(m<<4)+4>>2]+u*+g[k+(m<<4)+8>>2]>.9990000128746033)break d;m=m+1|0;if((m|0)>=(h|0)){ca=34;break}}}else ca=34;while(0);e:do if((ca|0)==34){ca=0;m=0;do{if(s*+g[ha+(m<<4)>>2]+t*+g[ha+(m<<4)+4>>2]+u*+g[ha+(m<<4)+8>>2]-(s*p+t*q+u*r)+-.009999999776482582>0.0)break e;m=m+1|0}while((m|0)<(H|0));do if((h|0)==(i|0)){o=(i|0)==0?1:i<<1;if((i|0)<(o|0)){do if(!o)n=0;else{c[7182]=(c[7182]|0)+1;m=xb((o<<4|3)+16|0)|0;if(!m){n=0;break}c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}while(0);if((i|0)<=0){if(!k){m=o;k=n;break}}else{m=0;do{ba=n+(m<<4)|0;aa=k+(m<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];m=m+1|0}while((m|0)!=(i|0))}c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);m=o;k=n}else m=i}else{m=i;i=h}while(0);g[k+(i<<4)>>2]=s;g[k+(i<<4)+4>>2]=t;g[k+(i<<4)+8>>2]=u;g[k+(i<<4)+12>>2]=-(s*p+t*q+u*r);i=m;h=h+1|0}while(0);if(D>9.999999747378752e-05){q=1.0/+x(+D);s=-((J*F-E*L)*q);r=-((E*K-I*F)*q);q=-((I*L-J*K)*q);if((h|0)>0){m=0;do{if(+g[k+(m<<4)>>2]*s+ +g[k+(m<<4)+4>>2]*r+ +g[k+(m<<4)+8>>2]*q>.9990000128746033)break c;m=m+1|0}while((m|0)<(h|0))}p=+g[B>>2]*s+ +g[C>>2]*r+ +g[A>>2]*q;m=0;do{if(+g[ha+(m<<4)>>2]*s+ +g[ha+(m<<4)+4>>2]*r+ +g[ha+(m<<4)+8>>2]*q-p+-.009999999776482582>0.0)break c;m=m+1|0}while((m|0)<(H|0));do if((h|0)==(i|0)){o=(i|0)==0?1:i<<1;if((i|0)>=(o|0)){m=i;break}do if(!o)n=0;else{c[7182]=(c[7182]|0)+1;m=xb((o<<4|3)+16|0)|0;if(!m){n=0;break}c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}while(0);if((i|0)<=0){if(!k){m=o;k=n;break}}else{m=0;do{ba=n+(m<<4)|0;aa=k+(m<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];m=m+1|0}while((m|0)!=(i|0))}c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);m=o;k=n}else{m=i;i=h}while(0);g[k+(i<<4)>>2]=s;g[k+(i<<4)+4>>2]=r;g[k+(i<<4)+8>>2]=q;g[k+(i<<4)+12>>2]=-p;i=m;h=h+1|0}}while(0);l=l+1|0;if((l|0)==(H|0))break b}}while(0);if((z|0)==(H|0))break a;m=z}}else h=l;while(0);if((G|0)==(H|0)){f=h;break}else l=h}if((f|0)>0){h=0;n=0;o=0;while(1){ba=k+(o<<4)|0;c[ia>>2]=c[ba>>2];c[ia+4>>2]=c[ba+4>>2];c[ia+8>>2]=c[ba+8>>2];p=+g[k+(o<<4)+12>>2];p=p-+va[c[(c[d>>2]|0)+48>>2]&15](d);do if((o|0)==(h|0)){m=(h|0)==0?1:h<<1;if((h|0)<(m|0)){if((m|0)!=0?(c[7182]=(c[7182]|0)+1,M=xb((m<<4|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;l=M+4+15&-16}else l=0;if((h|0)<=0){if(!n)break}else{i=0;do{ba=l+(i<<4)|0;aa=n+(i<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];i=i+1|0}while((i|0)!=(h|0))}c[7183]=(c[7183]|0)+1;Hc(c[n+-4>>2]|0)}else{m=h;l=n}}else{m=h;l=n;h=o}while(0);ba=l+(h<<4)|0;c[ba>>2]=c[ia>>2];c[ba+4>>2]=c[ia+4>>2];c[ba+8>>2]=c[ia+8>>2];g[l+(h<<4)+12>>2]=p;o=o+1|0;if((o|0)<(f|0)){h=m;n=l}else break}M=0;n=0;m=0;i=0;h=0;do{H=M;M=M+1|0;f:do if((M|0)<(o|0)){f=M;while(1){G=f+1|0;g:do if((G|0)<(o|0)){A=l+(f<<4)+4|0;B=l+(f<<4)+8|0;C=l+(f<<4)|0;z=l+(f<<4)+12|0;f=G;while(1){s=+g[A>>2];p=+g[l+(f<<4)+8>>2];q=+g[B>>2];t=+g[l+(f<<4)+4>>2];u=+g[l+(f<<4)>>2];D=+g[C>>2];r=+g[l+(H<<4)+8>>2];E=+g[l+(H<<4)+4>>2];F=+g[l+(H<<4)>>2];h:do if((((t*D-s*u)*(t*D-s*u)+((s*p-q*t)*(s*p-q*t)+(q*u-p*D)*(q*u-p*D))>9.999999747378752e-05?(u*E-t*F)*(u*E-t*F)+((t*r-p*E)*(t*r-p*E)+(p*F-u*r)*(p*F-u*r))>9.999999747378752e-05:0)?(s*F-D*E)*(s*F-D*E)+((q*E-s*r)*(q*E-s*r)+(D*r-q*F)*(D*r-q*F))>9.999999747378752e-05:0)?(W=r*(t*D-s*u)+(E*(q*u-p*D)+(s*p-q*t)*F),+w(+W)>9.999999974752427e-07):0){K=+g[l+(H<<4)+12>>2];L=+g[z>>2];J=+g[l+(f<<4)+12>>2];I=-1.0/W*((q*E-s*r)*J+((s*p-q*t)*K+(t*r-p*E)*L));q=-1.0/W*((D*r-q*F)*J+((q*u-p*D)*K+(p*F-u*r)*L));p=-1.0/W*((s*F-D*E)*J+((t*D-s*u)*K+(u*E-t*F)*L));v=0;do{if(+g[l+(v<<4)+12>>2]+(I*+g[l+(v<<4)>>2]+q*+g[l+(v<<4)+4>>2]+p*+g[l+(v<<4)+8>>2])+-.009999999776482582>0.0)break h;v=v+1|0}while((v|0)<(o|0));do if((i|0)==(n|0)){y=(n|0)==0?1:n<<1;if((n|0)>=(y|0)){y=n;break}do if(!y)v=0;else{c[7182]=(c[7182]|0)+1;h=xb((y<<4|3)+16|0)|0;if(!h){v=0;break}c[(h+4+15&-16)+-4>>2]=h;v=h+4+15&-16}while(0);if((n|0)<=0){if(!m){m=v;h=v;break}}else{h=0;do{ba=v+(h<<4)|0;aa=m+(h<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];h=h+1|0}while((h|0)!=(n|0))}c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0);m=v;h=v}else{y=n;n=i}while(0);g[m+(n<<4)>>2]=I;g[m+(n<<4)+4>>2]=q;g[m+(n<<4)+8>>2]=p;g[m+(n<<4)+12>>2]=0.0;n=y;i=i+1|0}while(0);f=f+1|0;if((f|0)==(o|0))break g}}while(0);if((G|0)==(o|0))break f;f=G}}while(0)}while((M|0)!=(o|0))}else{m=0;l=0;i=0;h=0}}else{m=0;l=0;k=0;i=0;h=0}zb(ia+124|0,h,i);if(m|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}if(l|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}if(k|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}}else zb(ia+124|0,h,H);G=c[ia+124+44>>2]|0;if((G|0)>0){c[7182]=(c[7182]|0)+1;h=xb((G<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{ba=i+(h<<4)|0;c[ba>>2]=c[ia>>2];c[ba+4>>2]=c[ia+4>>2];c[ba+8>>2]=c[ia+8>>2];c[ba+12>>2]=c[ia+12>>2];h=h+1|0}while((h|0)!=(G|0));ba=i;$=i}else{ba=0;$=0}a[ia+104+16>>0]=1;aa=ia+104+12|0;c[aa>>2]=0;_=ia+104+4|0;c[_>>2]=0;c[ia+104+8>>2]=0;k=ia;m=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(m|0));if((G|0)<0)ma();if(G|0){Om(ia+104|0,G);i=c[aa>>2]|0;h=0;do{a[i+(h*36|0)+16>>0]=1;k=i+(h*36|0)+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=i+(h*36|0)+20|0;l=ia+3|0;m=k+16|0;do{a[k>>0]=a[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));h=h+1|0}while((h|0)!=(G|0))}c[_>>2]=G;n=c[ia+124+4>>2]|0;m=c[d+52>>2]|0;l=c[m+8>>2]|0;if((l|0)<(n|0)){if((c[m+12>>2]|0)<(n|0)){if(!n){h=0;k=l}else{c[7182]=(c[7182]|0)+1;h=xb((n<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[m+8>>2]|0}if((k|0)>0){i=0;do{Z=h+(i<<4)|0;Y=(c[m+16>>2]|0)+(i<<4)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[m+16>>2]|0;if(i|0){if(a[m+20>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[m+16>>2]=0}a[m+20>>0]=1;c[m+16>>2]=h;c[m+12>>2]=n;i=m+16|0}else i=m+16|0;h=l;do{Z=(c[i>>2]|0)+(h<<4)|0;c[Z>>2]=c[ia>>2];c[Z+4>>2]=c[ia+4>>2];c[Z+8>>2]=c[ia+8>>2];c[Z+12>>2]=c[ia+12>>2];h=h+1|0}while((h|0)!=(n|0))}c[m+8>>2]=n;if((n|0)>0){h=0;do{Y=(c[ga>>2]|0)+(h<<4)|0;Z=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];h=h+1|0}while((h|0)!=(n|0))}if((G|0)>0){C=0;do{A=(c[fa>>2]|0)+((c[(c[ea>>2]|0)+(C<<2)>>2]|0)*12|0)|0;z=A;h=0;do{B=z+4|0;y=c[z+((c[B>>2]|0)*12|0)+8>>2]|0;f=c[aa>>2]|0;v=f+(C*36|0)+4|0;i=c[v>>2]|0;o=f+(C*36|0)+8|0;if((i|0)==(c[o>>2]|0)?(N=(i|0)==0?1:i<<1,(i|0)<(N|0)):0){if(!N)n=0;else{c[7182]=(c[7182]|0)+1;i=xb((N<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=i;i=c[v>>2]|0}m=f+(C*36|0)+12|0;l=c[m>>2]|0;if((i|0)<=0)if(!l)k=f+(C*36|0)+16|0;else ca=161;else{k=0;do{c[n+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));ca=161}if((ca|0)==161){ca=0;i=f+(C*36|0)+16|0;if(a[i>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}c[m>>2]=0;k=i;i=c[v>>2]|0}a[k>>0]=1;c[m>>2]=n;c[o>>2]=N}c[(c[f+(C*36|0)+12>>2]|0)+(i<<2)>>2]=y;c[v>>2]=(c[v>>2]|0)+1;Y=c[z+8>>2]|0;Z=c[ga>>2]|0;r=+g[Z+(Y<<4)>>2]-+g[Z+(y<<4)>>2];s=+g[Z+(Y<<4)+4>>2]-+g[Z+(y<<4)+4>>2];p=+g[Z+(Y<<4)+8>>2]-+g[Z+(y<<4)+8>>2];q=1.0/+x(+(r*r+s*s+p*p));if((h|0)<2){g[ia+(h<<4)>>2]=r*q;g[ia+(h<<4)+4>>2]=s*q;g[ia+(h<<4)+8>>2]=p*q;g[ia+(h<<4)+12>>2]=0.0;h=h+1|0}Z=z+((c[B>>2]|0)*12|0)|0;z=Z+((c[Z>>2]|0)*12|0)|0}while((z|0)!=(A|0));if((h|0)==2){I=+g[ia+4>>2];J=+g[ia+24>>2];K=+g[ia+8>>2];L=+g[ia+20>>2];F=+g[ia+16>>2];E=+g[ia>>2];Y=ba+(C<<4)+4|0;Z=ba+(C<<4)+8|0;g[ba+(C<<4)+12>>2]=0.0;W=1.0/+x(+((L*E-I*F)*(L*E-I*F)+((I*J-K*L)*(I*J-K*L)+(K*F-J*E)*(K*F-J*E))));g[ba+(C<<4)>>2]=(I*J-K*L)*W;g[Y>>2]=(K*F-J*E)*W;g[Z>>2]=(L*E-I*F)*W;m=c[aa>>2]|0;g[m+(C*36|0)+20>>2]=(I*J-K*L)*W;c[m+(C*36|0)+24>>2]=c[Y>>2];c[m+(C*36|0)+28>>2]=c[Z>>2];g[m+(C*36|0)+32>>2]=1000000015047466219876688.0e6}else{m=ba+(C<<4)|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;m=c[aa>>2]|0}i=c[m+(C*36|0)+4>>2]|0;if((i|0)>0){k=c[(c[d+52>>2]|0)+16>>2]|0;q=+g[ba+(C<<4)>>2];r=+g[ba+(C<<4)+4>>2];s=+g[ba+(C<<4)+8>>2];l=c[m+(C*36|0)+12>>2]|0;Z=c[l>>2]|0;p=+g[k+(Z<<4)>>2]*q+ +g[k+(Z<<4)+4>>2]*r+ +g[k+(Z<<4)+8>>2]*s;p=p<1000000015047466219876688.0e6?p:1000000015047466219876688.0e6;if((i|0)!=1){h=1;do{Z=c[l+(h<<2)>>2]|0;W=+g[k+(Z<<4)>>2]*q+ +g[k+(Z<<4)+4>>2]*r+ +g[k+(Z<<4)+8>>2]*s;p=p>W?W:p;h=h+1|0}while((h|0)<(i|0))}}else p=1000000015047466219876688.0e6;g[m+(C*36|0)+32>>2]=-p;C=C+1|0}while((C|0)!=(G|0))}i:do if((c[_>>2]|0)>0){h=0;m=0;l=0;i=0;n=0;while(1){do if((n|0)==(h|0)){h=(n|0)==0;k=h?1:n<<1;if((n|0)<(k|0)){if((k|0)!=0?(c[7182]=(c[7182]|0)+1,O=xb((k<<2|3)+16|0)|0,(O|0)!=0):0){c[(O+4+15&-16)+-4>>2]=O;l=O+4+15&-16}else l=0;if(h){if(!m){h=1;m=l;Q=l;i=l;break}}else{h=0;do{c[l+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(n|0))}if(!i){h=k;m=l;Q=l;i=l}else{c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=k;m=l;Q=l;i=l}}else{h=n;Q=l}}else Q=l;while(0);c[m+(n<<2)>>2]=n;n=n+1|0;if((n|0)>=(c[_>>2]|0))break;else l=Q}N=ia+84+12|0;O=ia+84+4|0;P=ia+48+12|0;h=n;while(1){o=h+-1|0;k=c[m+(o<<2)>>2]|0;c[7182]=(c[7182]|0)+1;i=xb(23)|0;if(!i)n=0;else{c[(i+4+15&-16)+-4>>2]=i;n=i+4+15&-16}c[n>>2]=k;l=c[aa>>2]|0;q=+g[l+(k*36|0)+20>>2];r=+g[l+(k*36|0)+24>>2];p=+g[l+(k*36|0)+28>>2];do if((h|0)>1){B=h+-2|0;f=1;i=n;A=1;h=o;o=n;v=n;while(1){z=c[m+(B<<2)>>2]|0;j:do if(q*+g[l+(z*36|0)+20>>2]+r*+g[l+(z*36|0)+24>>2]+p*+g[l+(z*36|0)+28>>2]>.9990000128746033){do if((A|0)==(f|0)){l=(f|0)==0?1:f<<1;if((f|0)>=(l|0)){l=f;y=o;break}do if(!l)n=0;else{c[7182]=(c[7182]|0)+1;k=xb((l<<2|3)+16|0)|0;if(!k){n=0;break}c[(k+4+15&-16)+-4>>2]=k;n=k+4+15&-16}while(0);if((f|0)>0){k=0;do{c[n+(k<<2)>>2]=c[i+(k<<2)>>2];k=k+1|0}while((k|0)!=(f|0));if(!v){i=n;y=n;v=n;break}}else if((i|0)==0|(v|0)==0){i=n;y=n;v=n;break}c[7183]=(c[7183]|0)+1;Hc(c[v+-4>>2]|0);i=n;y=n;v=n}else{l=f;y=o}while(0);c[i+(A<<2)>>2]=z;A=A+1|0;if((h|0)>0){k=0;while(1){n=m+(k<<2)|0;if((c[n>>2]|0)==(z|0))break;k=k+1|0;if((k|0)>=(h|0)){M=y;k=v;break j}}f=h+-1|0;o=m+(f<<2)|0;if((k|0)>=(h|0)){M=y;k=v;break}c[n>>2]=c[o>>2];c[o>>2]=z;h=f;M=y;k=v}else{M=y;k=v}}else{l=f;M=o;k=v}while(0);if((B|0)<=0)break;B=B+-1|0;f=l;o=M;l=c[aa>>2]|0;v=k}if((A|0)<=1)if((A|0)==1){k=M;A=1;ca=344;break}else{k=M;break}a[ia+84+16>>0]=1;c[N>>2]=0;c[O>>2]=0;c[ia+84+8>>2]=0;C=0;k=0;p=0.0;q=0.0;r=0.0;do{z=c[i+(C<<2)>>2]|0;B=c[aa>>2]|0;p=+g[B+(z*36|0)+20>>2]+p;q=+g[B+(z*36|0)+24>>2]+q;r=+g[B+(z*36|0)+28>>2]+r;l=c[B+(z*36|0)+4>>2]|0;if((l|0)>0){y=0;do{v=c[(c[B+(z*36|0)+12>>2]|0)+(y<<2)>>2]|0;Z=(c[(c[d+52>>2]|0)+16>>2]|0)+(v<<4)|0;c[ia>>2]=c[Z>>2];c[ia+4>>2]=c[Z+4>>2];c[ia+8>>2]=c[Z+8>>2];c[ia+12>>2]=c[Z+12>>2];k:do if((k|0)>0){o=c[N>>2]|0;n=0;while(1){if((c[o+(n*24|0)+20>>2]|0)==(v|0))break k;n=n+1|0;if((n|0)>=(k|0)){ca=224;break}}}else ca=224;while(0);if((ca|0)==224){ca=0;c[ia+48>>2]=c[ia>>2];c[ia+48+4>>2]=c[ia+4>>2];c[ia+48+8>>2]=c[ia+8>>2];c[ia+48+12>>2]=c[ia+12>>2];do if((k|0)==(c[ia+84+8>>2]|0)){f=(k|0)==0?1:k<<1;if((k|0)>=(f|0))break;if(!f)o=0;else{c[7182]=(c[7182]|0)+1;k=xb((f*24|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}o=k;k=c[O>>2]|0}n=c[N>>2]|0;if((k|0)<=0){if(n)ca=234}else{l=0;do{ca=o+(l*24|0)|0;Z=n+(l*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];l=l+1|0}while((l|0)!=(k|0));ca=234}if((ca|0)==234){ca=0;if(a[ia+84+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[n+-4>>2]|0);k=c[O>>2]|0}c[N>>2]=0}a[ia+84+16>>0]=1;c[N>>2]=o;c[ia+84+8>>2]=f}while(0);l=c[N>>2]|0;Z=l+(k*24|0)|0;c[Z>>2]=c[ia+48>>2];c[Z+4>>2]=c[ia+48+4>>2];c[Z+8>>2]=c[ia+48+8>>2];c[Z+12>>2]=c[ia+48+12>>2];c[Z+16>>2]=c[ia+48+16>>2];c[l+(k*24|0)+20>>2]=v;k=(c[O>>2]|0)+1|0;c[O>>2]=k;l=c[B+(z*36|0)+4>>2]|0}y=y+1|0}while((y|0)<(l|0))}C=C+1|0}while((C|0)!=(A|0));a[ia+48+16>>0]=1;c[P>>2]=0;c[ia+48+4>>2]=0;c[ia+48+8>>2]=0;Z=c[i>>2]|0;Y=c[aa>>2]|0;c[ia+48+20>>2]=c[Y+(Z*36|0)+20>>2];c[ia+48+24>>2]=c[Y+(Z*36|0)+24>>2];c[ia+48+28>>2]=c[Y+(Z*36|0)+28>>2];c[ia+48+32>>2]=c[Y+(Z*36|0)+32>>2];D=1.0/+x(+(p*p+q*q+r*r));F=p*D;E=q*D;D=r*D;if(+w(+D)>.7071067690849304){u=1.0/+x(+(D*D+E*E));s=0.0;t=E*u;u=-(D*u)}else{u=1.0/+x(+(F*F+E*E));s=-(E*u);t=0.0;u=F*u}o=c[O>>2]|0;do if((o|0)<2)if((o|0)==1){l=0;o=0;y=0;f=1;while(1){z=c[N>>2]|0;do if((l|0)==(o|0)){v=(o|0)==0?1:o<<1;if((o|0)>=(v|0)){v=o;k=y;n=o;break}do if(!v)k=0;else{c[7182]=(c[7182]|0)+1;k=xb((v*24|3)+16|0)|0;if(!k){k=0;o=l;break}c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16;o=l}while(0);if((o|0)<=0){if(y|0)ca=255}else{n=0;do{ca=k+(n*24|0)|0;Z=y+(n*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];n=n+1|0}while((n|0)!=(o|0));ca=255}if((ca|0)==255){ca=0;c[7183]=(c[7183]|0)+1;Hc(c[y+-4>>2]|0)}n=l;f=c[O>>2]|0}else{v=o;k=y;n=l}while(0);Z=k+(n*24|0)|0;c[Z>>2]=c[z>>2];c[Z+4>>2]=c[z+4>>2];c[Z+8>>2]=c[z+8>>2];c[Z+12>>2]=c[z+12>>2];c[Z+16>>2]=c[z+16>>2];c[Z+20>>2]=c[z+20>>2];l=l+1|0;if((l|0)<(f|0)){o=v;y=k}else{ca=289;break}}}else{k=0;ca=331}else{n=c[N>>2]|0;k=0;do{l=n+(k*24|0)|0;if(s*+g[l>>2]+u*+g[n+(k*24|0)+4>>2]+t*+g[n+(k*24|0)+8>>2]>2]+u*+g[n+4>>2]+t*+g[n+8>>2]){c[ia>>2]=c[n>>2];c[ia+4>>2]=c[n+4>>2];c[ia+8>>2]=c[n+8>>2];c[ia+12>>2]=c[n+12>>2];c[ia+16>>2]=c[n+16>>2];c[ia+20>>2]=c[n+20>>2];c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];c[n+16>>2]=c[l+16>>2];c[n+20>>2]=c[l+20>>2];ca=n+(k*24|0)|0;c[ca>>2]=c[ia>>2];c[ca+4>>2]=c[ia+4>>2];c[ca+8>>2]=c[ia+8>>2];c[ca+12>>2]=c[ia+12>>2];c[ca+16>>2]=c[ia+16>>2];c[ca+20>>2]=c[ia+20>>2]}k=k+1|0}while((k|0)<(o|0));g[n+16>>2]=-1000000015047466219876688.0e6;if((o|0)>1){p=+g[n>>2];q=+g[n+4>>2];r=+g[n+8>>2];k=1;do{K=+g[n+(k*24|0)>>2]-p;L=+g[n+(k*24|0)+4>>2]-q;W=+g[n+(k*24|0)+8>>2]-r;g[n+(k*24|0)+16>>2]=((s*L-u*K)*D+(F*(u*W-t*L)+E*(t*K-s*W)))/+x(+(K*K+L*L+W*W));k=k+1|0}while((k|0)!=(o|0))}c[ia>>2]=c[n>>2];c[ia+4>>2]=c[n+4>>2];c[ia+8>>2]=c[n+8>>2];c[ia+12>>2]=c[n+12>>2];Fe(ia+84|0,ia,1,o+-1|0);l=c[N>>2]|0;c[7182]=(c[7182]|0)+1;k=xb(43)|0;if(!k)n=0;else{c[(k+4+15&-16)+-4>>2]=k;n=k+4+15&-16}o=c[N>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];c[n+16>>2]=c[l+16>>2];c[n+20>>2]=c[l+20>>2];c[7182]=(c[7182]|0)+1;k=xb(67)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[k+16>>2]=c[n+16>>2];c[k+20>>2]=c[n+20>>2];if(n|0){c[7183]=(c[7183]|0)+1;Hc(c[n+-4>>2]|0)}n=k+24|0;c[n>>2]=c[o+24>>2];c[n+4>>2]=c[o+24+4>>2];c[n+8>>2]=c[o+24+8>>2];c[n+12>>2]=c[o+24+12>>2];c[n+16>>2]=c[o+24+16>>2];c[n+20>>2]=c[o+24+20>>2];n=c[O>>2]|0;if((n|0)==2){l=2;ca=289;break}z=2;l=2;y=2;o=2;while(1){l:do if((o|0)>1){ca=c[N>>2]|0;v=ca+(z*24|0)|0;p=+g[v>>2];q=+g[ca+(z*24|0)+4>>2];r=+g[ca+(z*24|0)+8>>2];while(1){ca=o+-2|0;f=o+-1|0;K=+g[k+(ca*24|0)>>2];L=K-+g[k+(f*24|0)>>2];I=+g[k+(ca*24|0)+4>>2];u=I-+g[k+(f*24|0)+4>>2];W=+g[k+(ca*24|0)+8>>2];J=W-+g[k+(f*24|0)+8>>2];if((L*(I-q)-u*(K-p))*D+(F*(u*(W-r)-J*(I-q))+E*(J*(K-p)-L*(W-r)))>0.0)break;if((o|0)>2){l=f;o=f}else{l=f;f=y;o=1;break l}}do if((o|0)==(y|0)){f=y<<1;if((y|0)>=(f|0)){f=y;o=y;break}c[7182]=(c[7182]|0)+1;n=xb((y*48|3)+16|0)|0;if(!n)o=0;else{c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}if((l|0)>0){n=0;do{ca=o+(n*24|0)|0;Z=k+(n*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];n=n+1|0}while((n|0)!=(l|0))}c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);n=c[O>>2]|0;k=o;o=l}else f=y;while(0);o=k+(o*24|0)|0;c[o>>2]=c[v>>2];c[o+4>>2]=c[v+4>>2];c[o+8>>2]=c[v+8>>2];c[o+12>>2]=c[v+12>>2];c[o+16>>2]=c[v+16>>2];c[o+20>>2]=c[v+20>>2];o=l+1|0;l=o}else f=y;while(0);z=z+1|0;if((z|0)==(n|0))break;else y=f}if((l|0)>0)ca=289;else ca=291}while(0);if((ca|0)==289){ca=0;H=0;o=c[ia+48+4>>2]|0;n=c[ia+48+8>>2]|0;y=a[ia+48+16>>0]|0;while(1){G=k+(H*24|0)+20|0;do if((o|0)==(n|0)){B=(n|0)==0?1:n<<1;if((n|0)>=(B|0)){C=y;o=n;B=n;break}do if(!B)v=0;else{c[7182]=(c[7182]|0)+1;o=xb((B<<2|3)+16|0)|0;if(!o){v=0;break}c[(o+4+15&-16)+-4>>2]=o;v=o+4+15&-16}while(0);f=c[P>>2]|0;if((n|0)<=0){if(f)ca=321}else{o=0;do{c[v+(o<<2)>>2]=c[f+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));ca=321}if((ca|0)==321){ca=0;if(y<<24>>24){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[P>>2]=0;n=c[ia+48+4>>2]|0}c[P>>2]=v;c[ia+48+8>>2]=B;C=1;o=n}else{C=y;B=n}while(0);c[(c[P>>2]|0)+(o<<2)>>2]=c[G>>2];o=o+1|0;c[ia+48+4>>2]=o;n=c[O>>2]|0;m:do if((n|0)>0){z=c[N>>2]|0;v=c[G>>2]|0;f=0;while(1){y=z+(f*24|0)+20|0;f=f+1|0;if((c[y>>2]|0)==(v|0))break;if((f|0)>=(n|0))break m}c[y>>2]=-1}while(0);H=H+1|0;if((H|0)>=(l|0))break;else{n=B;y=C}}a[ia+48+16>>0]=C;ca=291}n:do if((ca|0)==291){ca=0;if((n|0)>0){z=c[N>>2]|0;B=c[_>>2]|0;C=c[aa>>2]|0;G=(A|0)>0;if((B|0)<=0){ca=331;break}y=0;while(1){H=c[z+(y*24|0)+20>>2]|0;o:do if((H|0)!=-1){if(!G){o=0;while(1){f=c[C+(o*36|0)+4>>2]|0;if((f|0)>0){v=c[C+(o*36|0)+12>>2]|0;l=0;do{if((c[v+(l<<2)>>2]|0)==(H|0)){l=1;break n}l=l+1|0}while((l|0)<(f|0))}o=o+1|0;if((o|0)>=(B|0))break o}}v=0;do{l=0;while(1){if((c[i+(l<<2)>>2]|0)==(v|0))break;l=l+1|0;if((l|0)>=(A|0)){ca=306;break}}do if((ca|0)==306){ca=0;o=c[C+(v*36|0)+4>>2]|0;if((o|0)<=0)break;f=c[C+(v*36|0)+12>>2]|0;l=0;do{if((c[f+(l<<2)>>2]|0)==(H|0)){l=1;break n}l=l+1|0}while((l|0)<(o|0))}while(0);v=v+1|0}while((v|0)<(B|0))}while(0);y=y+1|0;if((y|0)>=(n|0)){ca=331;break}}}else ca=331}while(0);if((ca|0)==331){ca=0;yg((c[d+52>>2]|0)+24|0,ia+48|0);l=0}if(k|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}k=c[P>>2]|0;if(k|0){if(a[ia+48+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[P>>2]=0}k=c[N>>2]|0;if(k|0){if(a[ia+84+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[N>>2]=0}if(l&(A|0)>0){k=M;ca=344}else k=M}else{k=n;i=n;A=1;h=o;ca=344}while(0);if((ca|0)==344){ca=0;v=0;do{y=c[i+(v<<2)>>2]|0;z=c[aa>>2]|0;a[ia+16>>0]=1;c[ia+12>>2]=0;c[ia+4>>2]=0;c[ia+8>>2]=0;f=c[z+(y*36|0)+4>>2]|0;if((f|0)>0){c[7182]=(c[7182]|0)+1;n=xb((f<<2|3)+16|0)|0;do if(!n){l=0;o=0}else{c[(n+4+15&-16)+-4>>2]=n;l=c[ia+12>>2]|0;if((l|0)==0|(a[ia+16>>0]|0)==0){l=n+4+15&-16;o=n+4+15&-16;break}c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0);l=n+4+15&-16;o=n+4+15&-16}while(0);a[ia+16>>0]=1;c[ia+12>>2]=l;c[ia+8>>2]=f;mk(l|0,0,f<<2|0)|0;c[ia+4>>2]=f;n=c[z+(y*36|0)+12>>2]|0;l=0;do{c[o+(l<<2)>>2]=c[n+(l<<2)>>2];l=l+1|0}while((l|0)!=(f|0));l=c[ia+12>>2]|0}else{c[ia+4>>2]=f;l=0}c[ia+20>>2]=c[z+(y*36|0)+20>>2];c[ia+20+4>>2]=c[z+(y*36|0)+20+4>>2];c[ia+20+8>>2]=c[z+(y*36|0)+20+8>>2];c[ia+20+12>>2]=c[z+(y*36|0)+20+12>>2];yg((c[d+52>>2]|0)+24|0,ia);if(l|0){if(a[ia+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}c[ia+12>>2]=0}v=v+1|0}while((v|0)<(A|0))}if(!((i|0)==0|(k|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}if(!h){Z=Q;Y=m;break i}}}else{Z=0;Y=0}while(0);X=c[d+52>>2]|0;c[X+64>>2]=0;c[X+64+4>>2]=0;c[X+64+8>>2]=0;c[X+64+12>>2]=0;h=c[X+28>>2]|0;if((h|0)>0){V=0;v=0;i=0;k=0;H=0;C=0;o=0;l=0;G=0;f=0;m=0;A=0;z=0;y=0;n=0;while(1){B=c[X+36>>2]|0;U=c[B+(V*36|0)+4>>2]|0;if((U|0)>0){T=V&65535;S=V|-65536;N=0;d=H;O=f;h=B;M=n;while(1){R=N+1|0;P=c[h+(V*36|0)+12>>2]|0;f=c[P+(N<<2)>>2]&65535;N=c[P+(((R|0)==(U|0)?0:R)<<2)>>2]&65535;P=N<<16>>16>f<<16>>16?f:N;Q=N<<16>>16>f<<16>>16?N:f;n=N<<16>>16>f<<16>>16?f:N;f=N<<16>>16>f<<16>>16?N:f;N=O+-1|0;p:do if((((n&65535)<<16)+(f<<16>>16)&N)>>>0>>0?(da=c[k+((((n&65535)<<16)+(f<<16>>16)&N)<<2)>>2]|0,(da|0)!=-1):0){h=da;while(1){if(f<<16>>16==(b[i+(h<<2)>>1]|0)?n<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[l+(h<<2)>>2]|0;if((h|0)==-1){H=0;break p}}H=m+(h<<2)|0}else H=0;while(0);h=c[X+16>>2]|0;u=+g[h+(n<<16>>16<<4)>>2]-+g[h+(f<<16>>16<<4)>>2];D=+g[h+(n<<16>>16<<4)+4>>2]-+g[h+(f<<16>>16<<4)+4>>2];s=+g[h+(n<<16>>16<<4)+8>>2]-+g[h+(f<<16>>16<<4)+8>>2];t=1.0/+x(+(u*u+D*D+s*s));h=c[X+48>>2]|0;q:do if((h|0)>0){f=c[X+56>>2]|0;n=0;while(1){p=+g[f+(n<<4)>>2];q=+g[f+(n<<4)+4>>2];r=+g[f+(n<<4)+8>>2];do if(!(+w(+(p-u*t))>1.0e-06)){if(+w(+(q-D*t))>1.0e-06)break;if(!(+w(+(r-s*t))>1.0e-06))break q}while(0);do if(!(+w(+(u*t+p))>1.0e-06)){if(+w(+(D*t+q))>1.0e-06)break;if(!(+w(+(s*t+r))>1.0e-06))break q}while(0);n=n+1|0;if((n|0)>=(h|0)){ca=387;break}}}else ca=387;while(0);if((ca|0)==387){ca=0;do if((h|0)==(c[X+52>>2]|0)){B=(h|0)==0?1:h<<1;if((h|0)>=(B|0))break;if(!B)f=0;else{c[7182]=(c[7182]|0)+1;h=xb((B<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}f=h;h=c[X+48>>2]|0}if((h|0)>0){n=0;do{ja=f+(n<<4)|0;ka=(c[X+56>>2]|0)+(n<<4)|0;c[ja>>2]=c[ka>>2];c[ja+4>>2]=c[ka+4>>2];c[ja+8>>2]=c[ka+8>>2];c[ja+12>>2]=c[ka+12>>2];n=n+1|0}while((n|0)!=(h|0))}h=c[X+56>>2]|0;if(h|0){if(a[X+60>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[X+56>>2]=0}a[X+60>>0]=1;c[X+56>>2]=f;c[X+52>>2]=B;h=c[X+48>>2]|0}while(0);ka=c[X+56>>2]|0;g[ka+(h<<4)>>2]=u*t;g[ka+(h<<4)+4>>2]=D*t;g[ka+(h<<4)+8>>2]=s*t;g[ka+(h<<4)+12>>2]=0.0;c[X+48>>2]=(c[X+48>>2]|0)+1}r:do if(!H){H=((P&65535)<<16)+(Q<<16>>16)&N;s:do if(H>>>0>>0){h=c[k+(H<<2)>>2]|0;if((h|0)==-1)break;while(1){if(Q<<16>>16==(b[i+(h<<2)>>1]|0)?P<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[l+(h<<2)>>2]|0;if((h|0)==-1)break s}B=m+(h<<2)|0;b[B>>1]=S;b[B+2>>1]=S>>>16;B=d;f=O;h=A;n=M;break r}while(0);do if((G|0)==(O|0)){f=(G|0)==0?1:G<<1;if((G|0)>=(f|0)){f=G;break}do if(!f)n=0;else{c[7182]=(c[7182]|0)+1;h=xb((f<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((G|0)<=0){if(!m){m=n;break}}else{h=0;do{ka=n+(h<<2)|0;ja=m+(h<<2)|0;ja=e[ja>>1]|e[ja+2>>1]<<16;b[ka>>1]=ja;b[ka+2>>1]=ja>>>16;h=h+1|0}while((h|0)!=(G|0))}c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0);m=n}else f=O;while(0);N=m+(G<<2)|0;b[N>>1]=S;b[N+2>>1]=S>>>16;N=G+1|0;do if((z|0)==(v|0)){v=(z|0)==0?1:z<<1;if((z|0)>=(v|0)){v=z;break}do if(!v)n=0;else{c[7182]=(c[7182]|0)+1;h=xb((v<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((z|0)<=0){if(!i){i=n;break}}else{h=0;do{ka=n+(h<<2)|0;ja=i+(h<<2)|0;ja=e[ja>>1]|e[ja+2>>1]<<16;b[ka>>1]=ja;b[ka+2>>1]=ja>>>16;h=h+1|0}while((h|0)!=(z|0))}c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);i=n}while(0);ka=i+(z<<2)|0;b[ka>>1]=(P&65535)<<16|Q&65535;b[ka+2>>1]=((P&65535)<<16|Q&65535)>>>16;z=z+1|0;if((O|0)<(f|0)){do if((d|0)<(f|0)){do if((A|0)<(f|0)){do if(!f)n=0;else{c[7182]=(c[7182]|0)+1;h=xb((f<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((d|0)<=0){if(!k){k=n;H=f;M=n;break}}else{h=0;do{c[n+(h<<2)>>2]=c[k+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0))}c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);k=n;H=f;M=n}else H=A;while(0);A=f<<2;mk(k+(d<<2)|0,0,A-(d<<2)|0)|0;if((C|0)<(f|0)){do if((o|0)<(f|0)){do if(!f)n=0;else{c[7182]=(c[7182]|0)+1;h=xb((A|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((C|0)<=0){if(!l){o=f;l=n;h=n;break}}else{h=0;do{c[n+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(C|0))}c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0);o=f;l=n;h=n}else h=y;while(0);mk(l+(C<<2)|0,0,A-(C<<2)|0)|0;y=h}if((f|0)>0){mk(M|0,-1,A|0)|0;mk(y|0,-1,A|0)|0}if((d|0)<=0){B=f;C=f;h=H;n=M;break}n=f+-1|0;h=0;do{ka=k+(((e[i+(h<<2)+2>>1]<<16)+(b[i+(h<<2)>>1]|0)&n)<<2)|0;c[l+(h<<2)>>2]=c[ka>>2];c[ka>>2]=h;h=h+1|0}while((h|0)!=(d|0));B=f;C=f;h=H;n=M}else{B=d;h=A;n=M}while(0);H=((P&65535)<<16)+(Q<<16>>16)&f+-1}else{B=d;h=A;n=M}ka=k+(H<<2)|0;c[l+(G<<2)>>2]=c[ka>>2];c[ka>>2]=G;G=N}else{b[H+2>>1]=T;B=d;f=O;h=A;n=M}while(0);if((R|0)>=(U|0))break;N=R;d=B;O=f;A=h;h=c[X+36>>2]|0;M=n}A=h;h=c[X+28>>2]|0}else B=H;V=V+1|0;if((V|0)>=(h|0))break;else H=B}if((h|0)>0){z=c[X+36>>2]|0;A=c[X+16>>2]|0;y=0;p=0.0;do{o=c[z+(y*36|0)+4>>2]|0;f=c[z+(y*36|0)+12>>2]|0;v=c[f>>2]|0;if((o|0)>=3){n=1;q=+g[X+64>>2];r=+g[X+68>>2];s=+g[X+72>>2];do{ja=c[f+(n<<2)>>2]|0;n=n+1|0;ka=c[f+(((n|0)%(o|0)|0)<<2)>>2]|0;t=+g[A+(v<<4)>>2];u=+g[A+(ja<<4)>>2];E=+g[A+(v<<4)+4>>2];F=+g[A+(ja<<4)+4>>2];J=+g[A+(v<<4)+8>>2];K=+g[A+(ja<<4)+8>>2];D=+g[A+(ka<<4)>>2];I=+g[A+(ka<<4)+4>>2];L=+g[A+(ka<<4)+8>>2];W=+x(+(((t-u)*(E-I)-(E-F)*(t-D))*((t-u)*(E-I)-(E-F)*(t-D))+(((E-F)*(J-L)-(J-K)*(E-I))*((E-F)*(J-L)-(J-K)*(E-I))+((J-K)*(t-D)-(t-u)*(J-L))*((J-K)*(t-D)-(t-u)*(J-L)))))*.5;q=q+(t+u+D)*.3333333432674408*W;g[X+64>>2]=q;r=r+(E+F+I)*.3333333432674408*W;g[X+68>>2]=r;s=s+(J+K+L)*.3333333432674408*W;g[X+72>>2]=s;p=p+W}while((n|0)!=(o+-1|0))}y=y+1|0}while((y|0)!=(h|0));n=X+64|0;f=i;o=k;i=1}else ca=365}else{i=0;k=0;l=0;m=0;ca=365}if((ca|0)==365){p=0.0;n=X+64|0;f=i;o=k;i=0}s=1.0/p;t=s*+g[n>>2];g[n>>2]=t;r=s*+g[X+68>>2];g[X+68>>2]=r;s=s*+g[X+72>>2];g[X+72>>2]=s;g[X+96>>2]=3402823466385288598117041.0e14;if(i){k=c[X+36>>2]|0;i=0;q=3402823466385288598117041.0e14;while(1){p=+w(+(+g[k+(i*36|0)+32>>2]+(t*+g[k+(i*36|0)+20>>2]+r*+g[k+(i*36|0)+24>>2]+s*+g[k+(i*36|0)+28>>2])));if(p>2]=p;else p=q;i=i+1|0;if((i|0)==(h|0)){D=p;break}else q=p}}else D=3402823466385288598117041.0e14;i=c[X+8>>2]|0;if((i|0)>0){k=c[X+16>>2]|0;h=0;t=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;s=-3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;do{W=+g[k+(h<<4)>>2];p=Ws?W:s;W=+g[k+(h<<4)+4>>2];q=Wu?W:u;W=+g[k+(h<<4)+8>>2];r=Wt?W:t;h=h+1|0}while((h|0)!=(i|0))}else{t=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;s=-3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14}g[X+100>>2]=p+s;g[X+104>>2]=q+u;g[X+108>>2]=r+t;g[X+112>>2]=0.0;W=s-p;q=u-q;p=t-r;g[X+116>>2]=W;g[X+120>>2]=q;g[X+124>>2]=p;g[X+128>>2]=0.0;r=D/1.7320507764816284;n=W>2]*.5-r)*.0009765625;g[X+88>>2]=r;g[X+84>>2]=r;g[X+80>>2]=r;q=+g[X+116+(n<<2)>>2]*.5;g[X+80+(n<<2)>>2]=q;h=0;while(1){if(qg(X)|0){ca=478;break}q=q-p;g[X+80+(n<<2)>>2]=q;h=h+1|0;if(h>>>0>=1024){ca=477;break}}t:do if((ca|0)==477){g[X+88>>2]=r;g[X+84>>2]=r;g[X+80>>2]=r}else if((ca|0)==478){p=(+g[X+96>>2]-r)*.0009765625;h=0;k=c[X+80+((1<<(1<>2]|0;while(1){i=c[X+80+((1<>2]|0;g[X+80+((1<>2]=p+(c[j>>2]=i,+g[j>>2]);q=p+ +g[X+80+((1<<(1<>2];g[X+80+((1<<(1<>2]=q;h=h+1|0;if(!(qg(X)|0))break;if(h>>>0>=1024)break t;else k=(g[j>>2]=q,c[j>>2]|0)}c[X+80+((1<>2]=i;c[X+80+((1<<(1<>2]=k}while(0);if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}if(m|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}if(l|0){c[7183]=(c[7183]|0)+1;Hc(c[l+-4>>2]|0)}if(o|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}if(!((Y|0)==0|(Z|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[Z+-4>>2]|0)}n=c[_>>2]|0;o=c[aa>>2]|0;if((n|0)<=0){if(o|0)ca=500}else{h=0;do{k=o+(h*36|0)+4|0;l=o+(h*36|0)+12|0;m=c[l>>2]|0;i=o+(h*36|0)+16|0;if(m|0){if(a[i>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[l>>2]=0}a[i>>0]=1;c[l>>2]=0;c[k>>2]=0;c[o+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(n|0));ca=500}if((ca|0)==500){if(a[ia+104+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[o+-4>>2]|0)}c[aa>>2]=0}if(!((ba|0)==0|($|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[$+-4>>2]|0)}h=c[ea>>2]|0;if(h|0){if(a[ia+124+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[ea>>2]=0}a[ia+124+56>>0]=1;c[ea>>2]=0;c[ia+124+44>>2]=0;c[ia+124+48>>2]=0;h=c[fa>>2]|0;if(h|0){if(a[ia+124+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[fa>>2]=0}a[ia+124+36>>0]=1;c[fa>>2]=0;c[ia+124+24>>2]=0;c[ia+124+28>>2]=0;h=c[ga>>2]|0;if(h|0){if(a[ia+124+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[ga>>2]=0}if(!ha){sa=ia;return 1}c[7183]=(c[7183]|0)+1;Hc(c[ha+-4>>2]|0);sa=ia;return 1}function mb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,y=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0.0,ra=0,ta=0,ua=0,wa=0;wa=sa;sa=sa+688|0;i=c[b+20>>2]|0;if(!i){i=c[b+4>>2]|0;i=Ja[c[(c[i>>2]|0)+12>>2]&63](i,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=i;a[b+16>>0]=1}c[h+4>>2]=i;ra=c[d+4>>2]|0;ta=c[e+4>>2]|0;j=c[ra+4>>2]|0;k=c[ta+4>>2]|0;if((j|0)==10&(k|0)==10){Q=+g[i+752>>2];pa=c[ra+52>>2]|0;s=+g[ra+28+(pa<<2)>>2];P=+g[ra+28+(((pa+2|0)%3|0)<<2)>>2];ua=c[ta+52>>2]|0;o=+g[ta+28+(ua<<2)>>2];O=+g[ta+28+(((ua+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;d=c[e+12>>2]|0;D=+g[b+(pa<<2)>>2];F=+g[b+16+(pa<<2)>>2];E=+g[b+32+(pa<<2)>>2];n=+g[d+(ua<<2)>>2];p=+g[d+16+(ua<<2)>>2];r=+g[d+32+(ua<<2)>>2];I=+g[d+48>>2];L=+g[d+52>>2];N=+g[d+56>>2];v=I-+g[b+48>>2];B=L-+g[b+52>>2];C=N-+g[b+56>>2];l=1.0-(D*n+F*p+E*r)*(D*n+F*p+E*r);if(!(l==0.0)){l=(D*v+F*B+E*C-(D*n+F*p+E*r)*(n*v+p*B+r*C))/l;if(!(l<-s)){if(l>s)l=s}else l=-s}else l=0.0;m=(D*n+F*p+E*r)*l-(n*v+p*B+r*C);if(m<-o){l=(D*n+F*p+E*r)*-o+(D*v+F*B+E*C);if(!(l<-s))if(l>s){m=-o;l=s}else m=-o;else{m=-o;l=-s}}else if(m>o){l=o*(D*n+F*p+E*r)+(D*v+F*B+E*C);if(!(l<-s))if(l>s){m=o;l=s}else m=o;else{m=o;l=-s}}u=n*m;s=p*m;r=r*m;m=u+(v-D*l);o=s+(B-F*l);l=r+(C-E*l);p=+x(+(l*l+(m*m+o*o)));if(!(p-P-O>Q)){do if(l*l+(m*m+o*o)<=1.4210854715202004e-14)if(+w(+E)>.7071067690849304){l=1.0/+x(+(F*F+E*E));g[wa+280>>2]=0.0;g[wa+280+4>>2]=-(E*l);g[wa+280+8>>2]=F*l;n=0.0;m=-(E*l);l=F*l;break}else{m=1.0/+x(+(D*D+F*F));g[wa+280>>2]=-(F*m);g[wa+280+4>>2]=D*m;g[wa+280+8>>2]=0.0;n=-(F*m);m=D*m;l=0.0;break}else{g[wa+280>>2]=m*-(1.0/p);g[wa+280+4>>2]=o*-(1.0/p);g[wa+280+8>>2]=l*-(1.0/p);g[wa+280+12>>2]=0.0;n=m*-(1.0/p);m=o*-(1.0/p);l=l*-(1.0/p)}while(0);g[wa+264>>2]=I+u+O*n;g[wa+264+4>>2]=L+s+O*m;g[wa+264+8>>2]=N+r+O*l;g[wa+264+12>>2]=0.0}if(p-P-O>2]|0)+16>>2]&15](h,wa+280|0,wa+264|0,p-P-O);i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){sa=wa;return}j=c[i+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){re(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);sa=wa;return}else{re(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);sa=wa;return}}g[wa+128+128>>2]=999999984306749440.0;i=c[b+8>>2]|0;t=c[b+12>>2]|0;c[wa+48>>2]=12116;c[wa+48+4>>2]=0;c[wa+48+8>>2]=1065353216;c[wa+48+12>>2]=0;g[wa+48+16>>2]=0.0;c[wa+48+20>>2]=t;c[wa+48+24>>2]=i;c[wa+48+28>>2]=ra;c[wa+48+32>>2]=ta;c[wa+48+36>>2]=j;c[wa+48+40>>2]=k;g[wa+48+44>>2]=+va[c[(c[ra>>2]|0)+48>>2]&15](ra);g[wa+48+48>>2]=+va[c[(c[ta>>2]|0)+48>>2]&15](ta);a[wa+48+52>>0]=0;c[wa+48+60>>2]=-1;c[wa+48+72>>2]=1;c[wa+48+76>>2]=1;c[wa+48+28>>2]=ra;c[wa+48+32>>2]=ta;oa=+va[c[(c[ra>>2]|0)+48>>2]&15](ra);qa=+va[c[(c[ta>>2]|0)+48>>2]&15](ta);qa=oa+qa+ +g[(c[b+20>>2]|0)+752>>2];g[wa+128+128>>2]=qa*qa;i=c[d+12>>2]|0;c[wa+128>>2]=c[i>>2];c[wa+128+4>>2]=c[i+4>>2];c[wa+128+8>>2]=c[i+8>>2];c[wa+128+12>>2]=c[i+12>>2];k=wa+128+16|0;c[k>>2]=c[i+16>>2];c[k+4>>2]=c[i+16+4>>2];c[k+8>>2]=c[i+16+8>>2];c[k+12>>2]=c[i+16+12>>2];t=wa+128+32|0;c[t>>2]=c[i+32>>2];c[t+4>>2]=c[i+32+4>>2];c[t+8>>2]=c[i+32+8>>2];c[t+12>>2]=c[i+32+12>>2];y=wa+128+48|0;c[y>>2]=c[i+48>>2];c[y+4>>2]=c[i+48+4>>2];c[y+8>>2]=c[i+48+8>>2];c[y+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;G=wa+128+64|0;c[G>>2]=c[i>>2];c[G+4>>2]=c[i+4>>2];c[G+8>>2]=c[i+8>>2];c[G+12>>2]=c[i+12>>2];H=wa+128+80|0;c[H>>2]=c[i+16>>2];c[H+4>>2]=c[i+16+4>>2];c[H+8>>2]=c[i+16+8>>2];c[H+12>>2]=c[i+16+12>>2];J=wa+128+96|0;c[J>>2]=c[i+32>>2];c[J+4>>2]=c[i+32+4>>2];c[J+8>>2]=c[i+32+8>>2];c[J+12>>2]=c[i+32+12>>2];K=wa+128+112|0;c[K>>2]=c[i+48>>2];c[K+4>>2]=c[i+48+4>>2];c[K+8>>2]=c[i+48+8>>2];c[K+12>>2]=c[i+48+12>>2];i=c[ra+4>>2]|0;if((i|0)<7?(q=c[ta+4>>2]|0,(q|0)<7):0){c[wa+40>>2]=8888;if(!i){i=q;m=0.0}else{m=+va[c[(c[ra>>2]|0)+48>>2]&15](ra);i=c[ta+4>>2]|0}if(!i)l=0.0;else l=+va[c[(c[ta>>2]|0)+48>>2]&15](ta);c[wa>>2]=8916;c[wa+4>>2]=h;g[wa+24>>2]=m;g[wa+28>>2]=l;a[wa+36>>0]=0;T=c[ra+52>>2]|0;a:do if(T|0){la=c[ta+52>>2]|0;do if(!la){if((c[ta+4>>2]|0)!=1)break a;y=wa+624+16|0;a[y>>0]=1;G=wa+624+12|0;c[G>>2]=0;t=wa+624+4|0;c[t>>2]=0;q=wa+624+8|0;c[q>>2]=0;i=c[e+12>>2]|0;oa=+g[ta+56>>2];qa=+g[ta+56+4>>2];m=+g[ta+56+8>>2];n=oa*+g[i>>2]+qa*+g[i+4>>2]+m*+g[i+8>>2]+ +g[i+48>>2];l=oa*+g[i+16>>2]+qa*+g[i+20>>2]+m*+g[i+24>>2]+ +g[i+52>>2];m=oa*+g[i+32>>2]+qa*+g[i+36>>2]+m*+g[i+40>>2]+ +g[i+56>>2];c[7182]=(c[7182]|0)+1;i=xb(35)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[G>>2]|0;if(!i)i=0;else{c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);i=c[t>>2]|0;c[G>>2]=0}a[y>>0]=1;c[G>>2]=j;c[q>>2]=1;g[j+(i<<4)>>2]=n;g[j+(i<<4)+4>>2]=l;g[j+(i<<4)+8>>2]=m;g[j+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ua=c[e+12>>2]|0;oa=+g[ta+56+16>>2];qa=+g[ta+56+20>>2];n=+g[ta+56+24>>2];l=oa*+g[ua>>2]+qa*+g[ua+4>>2]+n*+g[ua+8>>2]+ +g[ua+48>>2];m=oa*+g[ua+16>>2]+qa*+g[ua+20>>2]+n*+g[ua+24>>2]+ +g[ua+52>>2];n=oa*+g[ua+32>>2]+qa*+g[ua+36>>2]+n*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[q>>2]|0)?(M=(i|0)==0?1:i<<1,(i|0)<(M|0)):0){if(!M)k=0;else{c[7182]=(c[7182]|0)+1;i=xb((M<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[t>>2]|0}if((i|0)>0){j=0;do{ua=k+(j<<4)|0;pa=(c[G>>2]|0)+(j<<4)|0;c[ua>>2]=c[pa>>2];c[ua+4>>2]=c[pa+4>>2];c[ua+8>>2]=c[pa+8>>2];c[ua+12>>2]=c[pa+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[G>>2]|0;if(i|0){if(a[y>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[G>>2]=0}a[y>>0]=1;c[G>>2]=k;c[q>>2]=M;i=c[t>>2]|0}ua=c[G>>2]|0;g[ua+(i<<4)>>2]=l;g[ua+(i<<4)+4>>2]=m;g[ua+(i<<4)+8>>2]=n;g[ua+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ua=c[e+12>>2]|0;oa=+g[ta+56+32>>2];qa=+g[ta+56+36>>2];n=+g[ta+56+40>>2];l=oa*+g[ua>>2]+qa*+g[ua+4>>2]+n*+g[ua+8>>2]+ +g[ua+48>>2];m=oa*+g[ua+16>>2]+qa*+g[ua+20>>2]+n*+g[ua+24>>2]+ +g[ua+52>>2];n=oa*+g[ua+32>>2]+qa*+g[ua+36>>2]+n*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[q>>2]|0)?(R=(i|0)==0?1:i<<1,(i|0)<(R|0)):0){if(!R)k=0;else{c[7182]=(c[7182]|0)+1;i=xb((R<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[t>>2]|0}if((i|0)>0){j=0;do{ua=k+(j<<4)|0;e=(c[G>>2]|0)+(j<<4)|0;c[ua>>2]=c[e>>2];c[ua+4>>2]=c[e+4>>2];c[ua+8>>2]=c[e+8>>2];c[ua+12>>2]=c[e+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[G>>2]|0;if(i|0){if(a[y>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[G>>2]=0}a[y>>0]=1;c[G>>2]=k;c[q>>2]=R;i=c[t>>2]|0}ua=c[G>>2]|0;g[ua+(i<<4)>>2]=l;g[ua+(i<<4)+4>>2]=m;g[ua+(i<<4)+8>>2]=n;g[ua+(i<<4)+12>>2]=0.0;c[t>>2]=(c[t>>2]|0)+1;o=+g[(c[b+20>>2]|0)+752>>2];Ub(wa+48|0,wa+128|0,wa+40|0,c[f+20>>2]|0,0);l=+g[wa+48+4>>2];m=+g[wa+48+8>>2];n=+g[wa+48+12>>2];if(l*l+m*m+n*n>1.1920928955078125e-07){oa=1.0/(l*l+m*m+n*n);g[wa+384>>2]=l*oa;g[wa+384+4>>2]=m*oa;g[wa+384+8>>2]=n*oa;g[wa+384+12>>2]=0.0;oa=+g[wa+48+56>>2];qa=+va[c[(c[ra>>2]|0)+48>>2]&15](ra);qa=oa-qa-+va[c[(c[ta>>2]|0)+48>>2]&15](ta);Tb(wa+384|0,c[ra+52>>2]|0,c[d+12>>2]|0,wa+624|0,qa-o,o,h)}do if(a[b+16>>0]|0?(S=c[h+4>>2]|0,c[S+748>>2]|0):0){i=c[S+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){re(S,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(S,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}while(0);i=c[G>>2]|0;if(i|0){if(a[y>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[G>>2]=0}}else{qa=+g[(c[b+20>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){Ub(wa+48|0,wa+128|0,wa,c[f+20>>2]|0,0);l=+g[wa+32>>2];if(l<0.0&(a[wa+36>>0]|0)!=0){m=+g[wa+8>>2];n=+g[wa+12>>2];o=+g[wa+16>>2];i=c[wa+20>>2]|0;pa=112}}else{G=c[d+12>>2]|0;H=c[e+12>>2]|0;c[7165]=(c[7165]|0)+1;ga=+g[T+64>>2];ha=+g[T+68>>2];p=+g[G+4>>2];ia=+g[T+72>>2];r=+g[G+8>>2];u=+g[G+16>>2];B=+g[G+20>>2];D=+g[G+24>>2];E=+g[G+32>>2];C=+g[G+36>>2];v=+g[G+40>>2];ja=+g[la+64>>2];ka=+g[la+68>>2];oa=+g[la+72>>2];ma=ga*+g[G>>2]+ha*p+ia*r+ +g[G+48>>2]-(ja*+g[H>>2]+ka*+g[H+4>>2]+oa*+g[H+8>>2]+ +g[H+48>>2]);na=ga*u+ha*B+ia*D+ +g[G+52>>2]-(ja*+g[H+16>>2]+ka*+g[H+20>>2]+oa*+g[H+24>>2]+ +g[H+52>>2]);oa=ga*E+ha*C+ia*v+ +g[G+56>>2]-(ja*+g[H+32>>2]+ka*+g[H+36>>2]+oa*+g[H+40>>2]+ +g[H+56>>2]);k=c[T+28>>2]|0;c:do if((k|0)>0){l=3402823466385288598117041.0e14;i=0;s=0.0;m=0.0;n=0.0;o=0.0;F=u;while(1){f=c[T+36>>2]|0;ia=+g[f+(i*36|0)+20>>2];ja=+g[f+(i*36|0)+24>>2];ka=+g[f+(i*36|0)+28>>2];u=ia*+g[G>>2]+ja*p+ka*r;r=ia*F+ja*B+ka*D;p=ia*E+ja*C+ka*v;g[wa+296>>2]=u;g[wa+296+4>>2]=r;g[wa+296+8>>2]=p;g[wa+296+12>>2]=0.0;if(u*ma+r*na+p*oa<0.0){g[wa+296>>2]=-u;g[wa+296+4>>2]=-r;g[wa+296+8>>2]=-p;D=-u;r=-r;p=-p}else D=u;c[7163]=(c[7163]|0)+1;if(Vh(G,H,ma,na,oa,D,r,p,T,la,l)|0){c[7164]=(c[7164]|0)+1;rg(T,G,wa+296|0,wa+624|0,wa+384|0,wa+360|0,wa+344|0);rg(la,H,wa+296|0,wa+380|0,wa+376|0,wa+328|0,wa+312|0);u=+g[wa+384>>2];v=+g[wa+380>>2];do if(u>2];C=+g[wa+624>>2];if(B=(k|0))break c;p=+g[G+4>>2];r=+g[G+8>>2];F=+g[G+16>>2];B=+g[G+20>>2];D=+g[G+24>>2];E=+g[G+32>>2];C=+g[G+36>>2];v=+g[G+40>>2]}break b}else{l=3402823466385288598117041.0e14;m=0.0;n=0.0;o=0.0}while(0);k=c[la+28>>2]|0;d:do if((k|0)>0){j=0;u=0.0;while(1){f=c[la+36>>2]|0;ja=+g[f+(j*36|0)+20>>2];ka=+g[f+(j*36|0)+24>>2];s=+g[f+(j*36|0)+28>>2];p=ja*+g[H>>2]+ka*+g[H+4>>2]+s*+g[H+8>>2];r=ja*+g[H+16>>2]+ka*+g[H+20>>2]+s*+g[H+24>>2];s=ja*+g[H+32>>2]+ka*+g[H+36>>2]+s*+g[H+40>>2];g[wa+296>>2]=p;g[wa+296+4>>2]=r;g[wa+296+8>>2]=s;g[wa+296+12>>2]=0.0;if(p*ma+r*na+s*oa<0.0){g[wa+296>>2]=-p;g[wa+296+4>>2]=-r;g[wa+296+8>>2]=-s;p=-p;r=-r;s=-s}c[7163]=(c[7163]|0)+1;if(Vh(G,H,ma,na,oa,p,r,s,T,la,l)|0){c[7164]=(c[7164]|0)+1;rg(T,G,wa+296|0,wa+624|0,wa+384|0,wa+360|0,wa+344|0);rg(la,H,wa+296|0,wa+380|0,wa+376|0,wa+328|0,wa+312|0);v=+g[wa+384>>2];B=+g[wa+380>>2];do if(v>2];D=+g[wa+624>>2];if(C=(k|0))break d}break b}while(0);k=c[T+48>>2]|0;e:do if((k|0)>0){y=0;j=-1;i=-1;s=0.0;C=0.0;U=0.0;V=0.0;D=0.0;E=0.0;Q=0.0;P=0.0;r=0.0;B=0.0;O=0.0;p=0.0;v=0.0;L=0.0;N=0.0;W=0.0;u=0.0;F=0.0;I=0.0;q=c[la+48>>2]|0;f:while(1){f=c[T+56>>2]|0;ga=+g[f+(y<<4)>>2];ha=+g[f+(y<<4)+4>>2];ka=+g[f+(y<<4)+8>>2];ia=ga*+g[G>>2]+ha*+g[G+4>>2]+ka*+g[G+8>>2];ja=ga*+g[G+16>>2]+ha*+g[G+20>>2]+ka*+g[G+24>>2];ka=ga*+g[G+32>>2]+ha*+g[G+36>>2]+ka*+g[G+40>>2];if((q|0)>0){t=0;ga=s;ha=m;Y=C;aa=D;ba=E;fa=n;ea=o;da=W;while(1){f=c[la+56>>2]|0;_=+g[f+(t<<4)>>2];ca=+g[f+(t<<4)+4>>2];$=+g[f+(t<<4)+8>>2];W=_*+g[H>>2]+ca*+g[H+4>>2]+$*+g[H+8>>2];X=_*+g[H+16>>2]+ca*+g[H+20>>2]+$*+g[H+24>>2];$=_*+g[H+32>>2]+ca*+g[H+36>>2]+$*+g[H+40>>2];g[wa+296>>2]=ja*$-ka*X;g[wa+296+4>>2]=ka*W-ia*$;g[wa+296+8>>2]=ia*X-ja*W;g[wa+296+12>>2]=0.0;do if(!(+w(+(ja*$-ka*X))>1.0e-06)){if(+w(+(ka*W-ia*$))>1.0e-06){pa=76;break}if(!(+w(+(ia*X-ja*W))>1.0e-06)){s=ga;m=ha;Z=U;_=V;ca=Q;n=fa;o=ea;W=da}else pa=76}else pa=76;while(0);do if((pa|0)==76){pa=0;o=1.0/+x(+((ia*X-ja*W)*(ia*X-ja*W)+((ja*$-ka*X)*(ja*$-ka*X)+(ka*W-ia*$)*(ka*W-ia*$))));m=(ja*$-ka*X)*o;g[wa+296>>2]=m;n=(ka*W-ia*$)*o;g[wa+296+4>>2]=n;o=(ia*X-ja*W)*o;g[wa+296+8>>2]=o;if(m*ma+n*na+oa*o<0.0){g[wa+296>>2]=-m;g[wa+296+4>>2]=-n;g[wa+296+8>>2]=-o;m=-m;n=-n;o=-o}c[7163]=(c[7163]|0)+1;if(!(Vh(G,H,ma,na,oa,m,n,o,T,la,l)|0)){s=ga;m=ha;Z=U;_=V;ca=Q;n=fa;o=ea;W=da;break}c[7164]=(c[7164]|0)+1;rg(T,G,wa+296|0,wa+624|0,wa+384|0,wa+360|0,wa+344|0);rg(la,H,wa+296|0,wa+380|0,wa+376|0,wa+328|0,wa+312|0);s=+g[wa+384>>2];C=+g[wa+380>>2];do if(!(s>2];E=+g[wa+624>>2];if(D>2];U=+g[wa+328+4>>2];V=+g[wa+328+8>>2];C=+g[wa+344>>2];E=+g[wa+344+4>>2];Q=+g[wa+344+8>>2];break}else{k=1;s=D-E;D=+g[wa+312>>2];U=+g[wa+312+4>>2];V=+g[wa+312+8>>2];C=+g[wa+360>>2];E=+g[wa+360+4>>2];Q=+g[wa+360+8>>2];break}}else{k=0;s=ga;D=Y;C=aa;E=ba}while(0);if(!k)break f;if(!(s>2]|0;if((t|0)>=(q|0))break;else{ga=s;ha=m;U=Z;V=_;Q=ca;fa=n;ea=o;da=W}}C=Y;U=Z;V=_;D=aa;E=ba;Q=ca;k=c[T+48>>2]|0}y=y+1|0;if((y|0)>=(k|0)){l=W;break e}}break b}else{j=-1;i=-1;P=0.0;r=0.0;B=0.0;O=0.0;p=0.0;v=0.0;L=0.0;N=0.0;l=0.0;u=0.0;F=0.0;I=0.0}while(0);if((j|i|0)>-1){C=P-r;D=N-p;E=I-l;r=B*O+v*L+u*F;s=C*O+D*L+E*F;l=C*B+D*v+E*u;do if(1.0-r*r==0.0)p=0.0;else{if((s-l*r)/(1.0-r*r)<-1000000015047466219876688.0e6){p=-1000000015047466219876688.0e6;break}if(!((s-l*r)/(1.0-r*r)>1000000015047466219876688.0e6)){p=(s-l*r)/(1.0-r*r);break}p=1000000015047466219876688.0e6}while(0);l=r*p-l;do if(l<-1000000015047466219876688.0e6){if(s-r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){l=-1000000015047466219876688.0e6;p=-1000000015047466219876688.0e6;break}if(!(s-r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){l=-1000000015047466219876688.0e6;p=s-r*1000000015047466219876688.0e6;break}l=-1000000015047466219876688.0e6;p=1000000015047466219876688.0e6}else{if(!(l>1000000015047466219876688.0e6))break;if(s+r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){l=1000000015047466219876688.0e6;p=-1000000015047466219876688.0e6;break}if(!(s+r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){l=1000000015047466219876688.0e6;p=s+r*1000000015047466219876688.0e6;break}l=1000000015047466219876688.0e6;p=1000000015047466219876688.0e6}while(0);B=B*l;v=v*l;u=u*l;s=B+(C-O*p);r=v+(D-L*p);l=u+(E-F*p);g[wa+624>>2]=s;g[wa+624+4>>2]=r;g[wa+624+8>>2]=l;g[wa+624+12>>2]=0.0;if(l*l+(s*s+r*r)>1.1920928955078125e-07){p=+x(+(l*l+(s*s+r*r)));g[wa+624>>2]=s*(1.0/p);g[wa+624+4>>2]=r*(1.0/p);g[wa+624+8>>2]=l*(1.0/p);if(s*(1.0/p)*ma+r*(1.0/p)*na+l*(1.0/p)*oa<0.0){g[wa+624>>2]=-(s*(1.0/p));g[wa+624+4>>2]=-(r*(1.0/p));g[wa+624+8>>2]=-(l*(1.0/p))}g[wa+384>>2]=P+B;g[wa+384+4>>2]=N+v;g[wa+384+8>>2]=I+u;g[wa+384+12>>2]=0.0;_a[c[(c[h>>2]|0)+16>>2]&15](h,wa+624|0,wa+384|0,-p)}}if(ma*m+na*n+oa*o<0.0){l=-1000000015047466219876688.0e6;m=-m;n=-n;o=-o;i=0;pa=112}else{l=-1000000015047466219876688.0e6;i=0;pa=112}}while(0);if((pa|0)==112){T=c[ra+52>>2]|0;f=c[ta+52>>2]|0;S=c[d+12>>2]|0;R=c[e+12>>2]|0;N=l-qa;F=1.0/+x(+(m*m+n*n+o*o));L=m*F;I=n*F;F=o*F;g[wa+624>>2]=L;g[wa+624+4>>2]=I;g[wa+624+8>>2]=F;c[wa+624+12>>2]=i;k=c[f+28>>2]|0;t=c[f+36>>2]|0;if((k|0)>0){m=+g[R>>2];n=+g[R+4>>2];o=+g[R+8>>2];p=+g[R+16>>2];r=+g[R+20>>2];s=+g[R+24>>2];u=+g[R+32>>2];v=+g[R+36>>2];B=+g[R+40>>2];l=-3402823466385288598117041.0e14;j=0;i=-1;while(1){C=+g[t+(j*36|0)+20>>2];D=+g[t+(j*36|0)+24>>2];E=+g[t+(j*36|0)+28>>2];q=L*(C*m+D*n+E*o)+I*(C*p+D*r+E*s)+F*(C*u+D*v+E*B)>l;i=q?j:i;j=j+1|0;if((j|0)==(k|0)){H=i;break}else l=q?L*(C*m+D*n+E*o)+I*(C*p+D*r+E*s)+F*(C*u+D*v+E*B):l}}else H=-1;a[wa+384+16>>0]=1;M=wa+384+12|0;c[M>>2]=0;J=wa+384+4|0;c[J>>2]=0;c[wa+384+8>>2]=0;K=c[t+(H*36|0)+4>>2]|0;g:do if((K|0)>0){G=t+(H*36|0)+12|0;i=0;j=0;k=0;while(1){d=c[(c[G>>2]|0)+(i<<2)>>2]|0;e=c[f+16>>2]|0;na=+g[e+(d<<4)>>2];oa=+g[e+(d<<4)+4>>2];n=+g[e+(d<<4)+8>>2];l=na*+g[R>>2]+oa*+g[R+4>>2]+n*+g[R+8>>2]+ +g[R+48>>2];m=na*+g[R+16>>2]+oa*+g[R+20>>2]+n*+g[R+24>>2]+ +g[R+52>>2];n=na*+g[R+32>>2]+oa*+g[R+36>>2]+n*+g[R+40>>2]+ +g[R+56>>2];if((j|0)==(k|0)){y=(k|0)==0?1:k<<1;if((k|0)<(y|0)){if(!y){t=0;j=k}else{c[7182]=(c[7182]|0)+1;j=xb((y<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}t=j;j=c[J>>2]|0}q=c[M>>2]|0;if((j|0)<=0){if(q)pa=128}else{k=0;do{d=t+(k<<4)|0;e=q+(k<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(j|0));pa=128}if((pa|0)==128){pa=0;if(a[wa+384+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[q+-4>>2]|0);j=c[J>>2]|0}c[M>>2]=0}a[wa+384+16>>0]=1;c[M>>2]=t;c[wa+384+8>>2]=y}else j=k}d=c[M>>2]|0;g[d+(j<<4)>>2]=l;g[d+(j<<4)+4>>2]=m;g[d+(j<<4)+8>>2]=n;g[d+(j<<4)+12>>2]=0.0;j=(c[J>>2]|0)+1|0;c[J>>2]=j;i=i+1|0;if((i|0)>=(K|0))break g;k=c[wa+384+8>>2]|0}}while(0);if((H|0)>-1)Tb(wa+624|0,T,S,wa+384|0,N,qa,h);i=c[M>>2]|0;if(i|0){if(a[wa+384+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[M>>2]=0}}if(a[b+16>>0]|0?(ua=c[h+4>>2]|0,c[ua+748>>2]|0):0){i=c[ua+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){re(ua,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{re(ua,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}}while(0);sa=wa;return}while(0)}Ub(wa+48|0,wa+128|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(F=+g[wa+48+4>>2],I=+g[wa+48+8>>2],L=+g[wa+48+12>>2],F*F+I*I+L*L>1.1920928955078125e-07):0){E=1.0/(F*F+I*I+L*L);if(+w(+(L*E))>.7071067690849304){n=1.0/+x(+(L*E*L*E+I*E*I*E));m=0.0;o=I*E*n;n=-(L*E*n)}else{n=1.0/+x(+(F*E*F*E+I*E*I*E));m=-(I*E*n);o=0.0;n=F*E*n}D=+va[c[(c[ra>>2]|0)+16>>2]&15](ra);B=+va[c[(c[ta>>2]|0)+16>>2]&15](ta);l=.019999999552965164/(D>2]=c[wa+128>>2];c[wa+624+4>>2]=c[wa+128+4>>2];c[wa+624+8>>2]=c[wa+128+8>>2];c[wa+624+12>>2]=c[wa+128+12>>2];c[wa+624+16>>2]=c[k>>2];c[wa+624+16+4>>2]=c[k+4>>2];c[wa+624+16+8>>2]=c[k+8>>2];c[wa+624+16+12>>2]=c[k+12>>2];c[wa+624+32>>2]=c[t>>2];c[wa+624+32+4>>2]=c[t+4>>2];c[wa+624+32+8>>2]=c[t+8>>2];c[wa+624+32+12>>2]=c[t+12>>2];c[wa+624+48>>2]=c[y>>2];c[wa+624+48+4>>2]=c[y+4>>2];c[wa+624+48+8>>2]=c[y+8>>2];c[wa+624+48+12>>2]=c[y+12>>2]}else{c[wa+624>>2]=c[G>>2];c[wa+624+4>>2]=c[G+4>>2];c[wa+624+8>>2]=c[G+8>>2];c[wa+624+12>>2]=c[G+12>>2];c[wa+624+16>>2]=c[H>>2];c[wa+624+16+4>>2]=c[H+4>>2];c[wa+624+16+8>>2]=c[H+8>>2];c[wa+624+16+12>>2]=c[H+12>>2];c[wa+624+32>>2]=c[J>>2];c[wa+624+32+4>>2]=c[J+4>>2];c[wa+624+32+8>>2]=c[J+8>>2];c[wa+624+32+12>>2]=c[J+12>>2];c[wa+624+48>>2]=c[K>>2];c[wa+624+48+4>>2]=c[K+4>>2];c[wa+624+48+8>>2]=c[K+8>>2];c[wa+624+48+12>>2]=c[K+12>>2]}i=c[b+28>>2]|0;if((i|0)>0){C=m*m+n*n+o*o;p=+x(+C);r=(l>.39269909262657166?.39269909262657166:l)*.5;p=+A(+r)/p;v=m*p;u=n*p;p=o*p;r=+z(+r);s=+x(+(L*E*L*E+(F*E*F*E+I*E*I*E)));j=0;do{if(C>1.1920928955078125e-07){o=6.2831854820251465/+(i|0)*+(j|0)*.5;n=+A(+o)/s;l=F*E*n;m=I*E*n;n=L*E*n;o=+z(+o);if(D>2]|0;aa=+g[ua>>2];ba=+g[ua+16>>2];ca=+g[ua+32>>2];da=+g[ua+4>>2];ea=+g[ua+20>>2];fa=+g[ua+36>>2];ga=+g[ua+8>>2];ja=+g[ua+24>>2];qa=+g[ua+40>>2];g[wa+128>>2]=(1.0-(na*oa+$*ha))*aa+(ka*oa-ia*ha)*ba+(ka*ha+ia*oa)*ca;g[wa+128+4>>2]=(1.0-(na*oa+$*ha))*da+(ka*oa-ia*ha)*ea+(ka*ha+ia*oa)*fa;g[wa+128+8>>2]=(1.0-(na*oa+$*ha))*ga+(ka*oa-ia*ha)*ja+(ka*ha+ia*oa)*qa;g[wa+128+12>>2]=0.0;g[wa+128+16>>2]=(ka*oa+ia*ha)*aa+(1.0-(ka*ma+$*ha))*ba+(na*ha-ia*ma)*ca;g[wa+128+20>>2]=(ka*oa+ia*ha)*da+(1.0-(ka*ma+$*ha))*ea+(na*ha-ia*ma)*fa;g[wa+128+24>>2]=(ka*oa+ia*ha)*ga+(1.0-(ka*ma+$*ha))*ja+(na*ha-ia*ma)*qa;g[wa+128+28>>2]=0.0;g[wa+128+32>>2]=(ka*ha-ia*oa)*aa+(na*ha+ia*ma)*ba+(1.0-(ka*ma+na*oa))*ca;g[wa+128+36>>2]=(ka*ha-ia*oa)*da+(na*ha+ia*ma)*ea+(1.0-(ka*ma+na*oa))*fa;g[wa+128+40>>2]=(ka*ha-ia*oa)*ga+(na*ha+ia*ma)*ja+(1.0-(ka*ma+na*oa))*qa;g[wa+128+44>>2]=0.0;ua=c[e+12>>2]|0;c[G>>2]=c[ua>>2];c[G+4>>2]=c[ua+4>>2];c[G+8>>2]=c[ua+8>>2];c[G+12>>2]=c[ua+12>>2];c[H>>2]=c[ua+16>>2];c[H+4>>2]=c[ua+16+4>>2];c[H+8>>2]=c[ua+16+8>>2];c[H+12>>2]=c[ua+16+12>>2];c[J>>2]=c[ua+32>>2];c[J+4>>2]=c[ua+32+4>>2];c[J+8>>2]=c[ua+32+8>>2];c[J+12>>2]=c[ua+32+12>>2];c[K>>2]=c[ua+48>>2];c[K+4>>2]=c[ua+48+4>>2];c[K+8>>2]=c[ua+48+8>>2];c[K+12>>2]=c[ua+48+12>>2]}else{ua=c[d+12>>2]|0;c[wa+128>>2]=c[ua>>2];c[wa+128+4>>2]=c[ua+4>>2];c[wa+128+8>>2]=c[ua+8>>2];c[wa+128+12>>2]=c[ua+12>>2];c[k>>2]=c[ua+16>>2];c[k+4>>2]=c[ua+16+4>>2];c[k+8>>2]=c[ua+16+8>>2];c[k+12>>2]=c[ua+16+12>>2];c[t>>2]=c[ua+32>>2];c[t+4>>2]=c[ua+32+4>>2];c[t+8>>2]=c[ua+32+8>>2];c[t+12>>2]=c[ua+32+12>>2];c[y>>2]=c[ua+48>>2];c[y+4>>2]=c[ua+48+4>>2];c[y+8>>2]=c[ua+48+8>>2];c[y+12>>2]=c[ua+48+12>>2];ka=n*(v*-n+(u*o+r*-m)-p*-l)+(l*(r*o-v*-l-u*-m-p*-n)+o*(p*-m+(v*o+r*-l)-u*-n))-m*(u*-l+(p*o+r*-n)-v*-m);na=l*(u*-l+(p*o+r*-n)-v*-m)+(o*(v*-n+(u*o+r*-m)-p*-l)+m*(r*o-v*-l-u*-m-p*-n))-n*(p*-m+(v*o+r*-l)-u*-n);$=m*(p*-m+(v*o+r*-l)-u*-n)+(n*(r*o-v*-l-u*-m-p*-n)+o*(u*-l+(p*o+r*-n)-v*-m))-l*(v*-n+(u*o+r*-m)-p*-l);ia=o*(r*o-v*-l-u*-m-p*-n)-l*(p*-m+(v*o+r*-l)-u*-n)-m*(v*-n+(u*o+r*-m)-p*-l)-n*(u*-l+(p*o+r*-n)-v*-m);ma=ka*(2.0/(ia*ia+($*$+(ka*ka+na*na))));oa=na*(2.0/(ia*ia+($*$+(ka*ka+na*na))));ha=$*(2.0/(ia*ia+($*$+(ka*ka+na*na))));ua=c[e+12>>2]|0;aa=+g[ua>>2];ba=+g[ua+16>>2];ca=+g[ua+32>>2];da=+g[ua+4>>2];ea=+g[ua+20>>2];fa=+g[ua+36>>2];ga=+g[ua+8>>2];ja=+g[ua+24>>2];qa=+g[ua+40>>2];g[wa+128+64>>2]=(1.0-(na*oa+$*ha))*aa+(ka*oa-ia*ha)*ba+(ka*ha+ia*oa)*ca;g[wa+128+68>>2]=(1.0-(na*oa+$*ha))*da+(ka*oa-ia*ha)*ea+(ka*ha+ia*oa)*fa;g[wa+128+72>>2]=(1.0-(na*oa+$*ha))*ga+(ka*oa-ia*ha)*ja+(ka*ha+ia*oa)*qa;g[wa+128+76>>2]=0.0;g[wa+128+80>>2]=(ka*oa+ia*ha)*aa+(1.0-(ka*ma+$*ha))*ba+(na*ha-ia*ma)*ca;g[wa+128+84>>2]=(ka*oa+ia*ha)*da+(1.0-(ka*ma+$*ha))*ea+(na*ha-ia*ma)*fa;g[wa+128+88>>2]=(ka*oa+ia*ha)*ga+(1.0-(ka*ma+$*ha))*ja+(na*ha-ia*ma)*qa;g[wa+128+92>>2]=0.0;g[wa+128+96>>2]=(ka*ha-ia*oa)*aa+(na*ha+ia*ma)*ba+(1.0-(ka*ma+na*oa))*ca;g[wa+128+100>>2]=(ka*ha-ia*oa)*da+(na*ha+ia*ma)*ea+(1.0-(ka*ma+na*oa))*fa;g[wa+128+104>>2]=(ka*ha-ia*oa)*ga+(na*ha+ia*ma)*ja+(1.0-(ka*ma+na*oa))*qa;g[wa+128+108>>2]=0.0}i=c[f+20>>2]|0;c[wa+384>>2]=8944;c[wa+384+32>>2]=h;c[wa+384+36>>2]=c[wa+128>>2];c[wa+384+36+4>>2]=c[wa+128+4>>2];c[wa+384+36+8>>2]=c[wa+128+8>>2];c[wa+384+36+12>>2]=c[wa+128+12>>2];c[wa+384+52>>2]=c[k>>2];c[wa+384+52+4>>2]=c[k+4>>2];c[wa+384+52+8>>2]=c[k+8>>2];c[wa+384+52+12>>2]=c[k+12>>2];c[wa+384+68>>2]=c[t>>2];c[wa+384+68+4>>2]=c[t+4>>2];c[wa+384+68+8>>2]=c[t+8>>2];c[wa+384+68+12>>2]=c[t+12>>2];c[wa+384+84>>2]=c[y>>2];c[wa+384+84+4>>2]=c[y+4>>2];c[wa+384+84+8>>2]=c[y+8>>2];c[wa+384+84+12>>2]=c[y+12>>2];c[wa+384+100>>2]=c[G>>2];c[wa+384+100+4>>2]=c[G+4>>2];c[wa+384+100+8>>2]=c[G+8>>2];c[wa+384+100+12>>2]=c[G+12>>2];c[wa+384+116>>2]=c[H>>2];c[wa+384+116+4>>2]=c[H+4>>2];c[wa+384+116+8>>2]=c[H+8>>2];c[wa+384+116+12>>2]=c[H+12>>2];c[wa+384+132>>2]=c[J>>2];c[wa+384+132+4>>2]=c[J+4>>2];c[wa+384+132+8>>2]=c[J+8>>2];c[wa+384+132+12>>2]=c[J+12>>2];c[wa+384+148>>2]=c[K>>2];c[wa+384+148+4>>2]=c[K+4>>2];c[wa+384+148+8>>2]=c[K+8>>2];c[wa+384+148+12>>2]=c[K+12>>2];c[wa+384+164>>2]=c[wa+624>>2];c[wa+384+164+4>>2]=c[wa+624+4>>2];c[wa+384+164+8>>2]=c[wa+624+8>>2];c[wa+384+164+12>>2]=c[wa+624+12>>2];c[wa+384+180>>2]=c[wa+624+16>>2];c[wa+384+180+4>>2]=c[wa+624+16+4>>2];c[wa+384+180+8>>2]=c[wa+624+16+8>>2];c[wa+384+180+12>>2]=c[wa+624+16+12>>2];c[wa+384+196>>2]=c[wa+624+32>>2];c[wa+384+196+4>>2]=c[wa+624+32+4>>2];c[wa+384+196+8>>2]=c[wa+624+32+8>>2];c[wa+384+196+12>>2]=c[wa+624+32+12>>2];c[wa+384+212>>2]=c[wa+624+48>>2];c[wa+384+212+4>>2]=c[wa+624+48+4>>2];c[wa+384+212+8>>2]=c[wa+624+48+8>>2];c[wa+384+212+12>>2]=c[wa+624+48+12>>2];a[wa+384+228>>0]=D>2]=i;Ub(wa+48|0,wa+128|0,wa+384|0,i,0);i=c[b+28>>2]|0}j=j+1|0}while((j|0)<(i|0))}}if(!(a[b+16>>0]|0)){sa=wa;return}i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){sa=wa;return}j=c[i+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){re(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);sa=wa;return}else{re(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);sa=wa;return}}function nb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0;M=sa;sa=sa+16|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){m=c[c[b+1120>>2]>>2]|0;f=c[m+348>>2]|0;if(f|0){sg(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[m+52>>2]|0;if(f|0){if(a[m+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[m+52>>2]=0}a[m+56>>0]=1;c[m+52>>2]=0;c[m+44>>2]=0;c[m+48>>2]=0;f=c[m+32>>2]|0;if(f|0){if(a[m+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;f=c[m+12>>2]|0;if(f|0){if(a[m+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[m+12>>2]=0}a[m+16>>0]=1;c[m+12>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)<=0){h=f;break a}j=c[b+1120>>2]|0;h=0;do{i=j+(h<<2)|0;if((c[i>>2]|0)==(m|0)){L=23;break}h=h+1|0}while((h|0)<(f|0));if((L|0)==23){L=0;if((h|0)<(f|0)){c[i>>2]=c[j+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=m;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){h=f;break}}else h=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((h|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[7182]=(c[7182]|0)+1;i=xb((f<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[b+1112>>2]|0;if((m|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[b+1120>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(m|0));j=i;i=b+1120|0}else{j=i;i=b+1120|0}}else{j=0;i=b+1120|0}m=c[i>>2]|0;if(m|0){if(a[b+1124>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=j;c[b+1116>>2]=f}else i=b+1120|0;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[7182]=(c[7182]|0)+1;f=xb(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;j=f+348|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;j=c[b+1120>>2]|0;a[(c[j+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=c[b+712>>2]|0;if((i|0)>0){h=0;k=0.0;l=0.0;n=0.0;m=f;while(1){p=c[b+720>>2]|0;o=k+ +g[p+(h*104|0)+8>>2];l=l+ +g[p+(h*104|0)+12>>2];x=n+ +g[p+(h*104|0)+16>>2];d=c[j+(((h*29873|0)%(m|0)|0)<<2)>>2]|0;p=p+(h*104|0)|0;j=c[d+24>>2]|0;if((j|0)==(c[d+28>>2]|0)?(q=(j|0)==0?1:j<<1,(j|0)<(q|0)):0){if(!q)i=0;else{c[7182]=(c[7182]|0)+1;i=xb((q<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+24>>2]|0}if((j|0)>0){m=0;do{c[i+(m<<2)>>2]=c[(c[d+32>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(j|0))}m=c[d+32>>2]|0;if(m){if(a[d+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[m+-4>>2]|0);j=c[d+24>>2]|0}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=i;c[d+28>>2]=q;i=c[b+712>>2]|0}c[(c[d+32>>2]|0)+(j<<2)>>2]=p;c[d+24>>2]=j+1;h=h+1|0;if((h|0)>=(i|0))break;k=o;n=x;m=c[b+1112>>2]|0;j=c[b+1120>>2]|0}k=1.0/+(i|0);if((f|0)>=0)if(!f){i=0;n=o*k;l=l*k;k=x*k;L=72}else{n=o*k;l=l*k;k=x*k;L=70}else{C=b+720|0;G=0;F=0}}else{n=1.0/+(i|0)*0.0;l=1.0/+(i|0)*0.0;k=1.0/+(i|0)*0.0;L=70}if((L|0)==70){c[7182]=(c[7182]|0)+1;h=xb((f<<4|3)+16|0)|0;if(!h){i=0;L=72}else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16;L=72}}if((L|0)==72){h=0;do{g[i+(h<<4)>>2]=n;g[i+(h<<4)+4>>2]=l;g[i+(h<<4)+8>>2]=k;g[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(f|0));C=b+720|0;G=i;F=i}t=G+4|0;u=G+8|0;s=0;do{z=+(s|0)*.0625;z=2.0-(z>1.0?1.0:z);m=0;d=0;while(1){h=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;j=c[h+24>>2]|0;if((j|0)>0){i=c[h+32>>2]|0;L=c[i>>2]|0;n=+g[L+8>>2]+0.0;l=+g[L+12>>2]+0.0;k=+g[L+16>>2]+0.0;if((j|0)==1)L=82;else{h=1;do{L=c[i+(h<<2)>>2]|0;n=n+ +g[L+8>>2];l=l+ +g[L+12>>2];k=k+ +g[L+16>>2];h=h+1|0}while((h|0)<(j|0));L=80}}else{k=0.0;l=0.0;n=0.0;L=80}if((L|0)==80){L=0;if(!j)r=m;else L=82}if((L|0)==82){L=0;r=G+(d<<4)|0;o=+g[r>>2];v=G+(d<<4)+4|0;x=+g[v>>2];h=G+(d<<4)+8|0;y=+g[h>>2];n=o+z*(n*(1.0/+(j|0))-o);l=x+z*(l*(1.0/+(j|0))-x);k=y+z*(k*(1.0/+(j|0))-y);g[r>>2]=n;g[v>>2]=l;g[h>>2]=k;g[G+(d<<4)+12>>2]=0.0;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;h=c[j+24>>2]|0;if((h|0)<0){if((c[j+28>>2]|0)<0){i=c[j+32>>2]|0;if(i|0){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=0;c[j+28>>2]=0}do{c[(c[j+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[j+24>>2]=0;r=m|(n-o)*(n-o)+(l-x)*(l-x)+(k-y)*(k-y)>1.1920928955078125e-07}d=d+1|0;if((d|0)>=(f|0))break;else m=r}s=s+1|0;h=c[b+712>>2]|0;b:do if((h|0)>0){if((f|0)<=1){p=0;while(1){m=c[c[b+1120>>2]>>2]|0;d=(c[C>>2]|0)+(p*104|0)|0;i=c[m+24>>2]|0;if((i|0)==(c[m+28>>2]|0)?(E=(i|0)==0?1:i<<1,(i|0)<(E|0)):0){if(!E)h=0;else{c[7182]=(c[7182]|0)+1;h=xb((E<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[m+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[m+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[m+32>>2]|0;if(j){if(a[m+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);i=c[m+24>>2]|0}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=h;c[m+28>>2]=E;h=c[b+712>>2]|0}c[(c[m+32>>2]|0)+(i<<2)>>2]=d;c[m+24>>2]=i+1;p=p+1|0;if((p|0)>=(h|0))break b}}q=0;do{d=c[C>>2]|0;l=+g[d+(q*104|0)+8>>2];n=+g[d+(q*104|0)+12>>2];o=+g[d+(q*104|0)+16>>2];i=1;k=+w(+(+g[G>>2]-l))+ +w(+(+g[t>>2]-n))+ +w(+(+g[u>>2]-o));j=0;while(1){x=+w(+(+g[G+(i<<4)>>2]-l))+ +w(+(+g[G+(i<<4)+4>>2]-n))+ +w(+(+g[G+(i<<4)+8>>2]-o));m=x>2]|0)+(j<<2)>>2]|0;m=d+(q*104|0)|0;i=c[p+24>>2]|0;if((i|0)==(c[p+28>>2]|0)?(D=(i|0)==0?1:i<<1,(i|0)<(D|0)):0){if(!D)h=0;else{c[7182]=(c[7182]|0)+1;h=xb((D<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[p+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[p+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[p+32>>2]|0;if(j){if(a[p+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0);i=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=h;c[p+28>>2]=D;h=c[b+712>>2]|0}c[(c[p+32>>2]|0)+(i<<2)>>2]=m;c[p+24>>2]=i+1;q=q+1|0}while((q|0)<(h|0))}while(0)}while((s|0)<(e|0)&r);if((h|0)>0){h=h<<2;c[7182]=(c[7182]|0)+1;f=xb((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}mk(f|0,-1,h|0)|0;v=f;u=f}else{v=0;u=0}f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;m=0;do{j=c[d+(m<<2)>>2]|0;if((c[j+24>>2]|0)>0){h=c[C>>2]|0;i=c[j+32>>2]|0;c[v+((((c[i>>2]|0)-h|0)/104|0)<<2)>>2]=m;if((c[j+24>>2]|0)>1){f=1;do{c[v+((((c[i+(f<<2)>>2]|0)-h|0)/104|0)<<2)>>2]=m;f=f+1|0}while((f|0)<(c[j+24>>2]|0))}f=c[b+1112>>2]|0}m=m+1|0}while((m|0)<(f|0))}if((c[b+752>>2]|0)>0){r=0;do{E=c[b+760>>2]|0;d=c[C>>2]|0;f=((c[E+(r*44|0)+8>>2]|0)-d|0)/104|0;c[M>>2]=f;c[M+4>>2]=((c[E+(r*44|0)+12>>2]|0)-d|0)/104|0;c[M+8>>2]=((c[E+(r*44|0)+16>>2]|0)-d|0)/104|0;d=0;while(1){p=c[v+(f<<2)>>2]|0;q=d+1|0;f=c[M+(((q|0)==3?0:q)<<2)>>2]|0;c:do if((c[v+(f<<2)>>2]|0)!=(p|0)){m=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;j=(c[C>>2]|0)+(f*104|0)|0;h=c[m+24>>2]|0;d:do if((h|0)>0){i=c[m+32>>2]|0;f=0;while(1){if((c[i+(f<<2)>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0))break d}if((f|0)!=(h|0))break c}while(0);if((h|0)==(c[m+28>>2]|0)?(I=(h|0)==0?1:h<<1,(h|0)<(I|0)):0){if(!I)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((I<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[m+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[m+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[m+32>>2]|0;if(i){if(a[m+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[m+24>>2]|0}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=f;c[m+28>>2]=I;f=h}else f=h;c[(c[m+32>>2]|0)+(f<<2)>>2]=j;c[m+24>>2]=f+1}while(0);f=c[M+((((d+2|0)>>>0)%3|0)<<2)>>2]|0;e:do if((c[v+(f<<2)>>2]|0)!=(p|0)){m=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;j=(c[C>>2]|0)+(f*104|0)|0;h=c[m+24>>2]|0;f:do if((h|0)>0){i=c[m+32>>2]|0;f=0;while(1){if((c[i+(f<<2)>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0))break f}if((f|0)!=(h|0))break e}while(0);if((h|0)==(c[m+28>>2]|0)?(H=(h|0)==0?1:h<<1,(h|0)<(H|0)):0){if(!H)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((H<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[m+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[m+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[m+32>>2]|0;if(i){if(a[m+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[m+24>>2]|0}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=f;c[m+28>>2]=H;f=h}else f=h;c[(c[m+32>>2]|0)+(f<<2)>>2]=j;c[m+24>>2]=f+1}while(0);if(q>>>0>=3)break;d=q;f=c[M+(q<<2)>>2]|0}r=r+1|0}while((r|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[7182]=(c[7182]|0)+1;f=xb(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;p=f+36|0;a[p>>0]=1;q=f+32|0;c[q>>2]=0;r=f+24|0;c[r>>2]=0;s=f+28|0;c[s>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;t=f+348|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;t=f;a[f+377>>0]=0;j=c[b+712>>2]|0;if((j|0)>0){c[7182]=(c[7182]|0)+1;f=xb((j<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[r>>2]|0;if((h|0)>0){f=0;do{c[i+(f<<2)>>2]=c[(c[q>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[q>>2]|0;if(f|0){if(a[p>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[q>>2]=0}a[p>>0]=1;c[q>>2]=i;c[s>>2]=j;f=c[b+712>>2]|0;if((f|0)>0){d=0;i=c[r>>2]|0;h=j;while(1){m=(c[C>>2]|0)+(d*104|0)|0;do if((i|0)==(h|0)){j=(h|0)==0?1:h<<1;if((h|0)>=(j|0)){j=h;break}if(!j)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[r>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[q>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[q>>2]|0;if(i){if(a[p>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[r>>2]|0}c[q>>2]=0}a[p>>0]=1;c[q>>2]=f;c[s>>2]=j;f=c[b+712>>2]|0}else{j=h;h=i}while(0);c[(c[q>>2]|0)+(h<<2)>>2]=m;i=h+1|0;c[r>>2]=i;d=d+1|0;if((d|0)>=(f|0))break;else h=j}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(K=(f|0)==0?1:f<<1,(f|0)<(K|0)):0){if(!K)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((K<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=i;c[b+1116>>2]=K}c[(c[b+1120>>2]|0)+(f<<2)>>2]=t;K=f+1|0;c[b+1112>>2]=K;H=c[b+1120>>2]|0;f=H+(f<<2)|0;I=c[H>>2]|0;c[H>>2]=c[f>>2];c[f>>2]=I;f=K}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;g:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){sg(b+1048|0,f)|0;i=c[b+1052>>2]|0;if(i|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[d+52>>2]|0;if(f|0){if(a[d+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;f=c[d+32>>2]|0;if(f|0){if(a[d+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;f=c[d+12>>2]|0;if(f|0){if(a[d+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)>0){m=c[b+1120>>2]|0;i=0;while(1){j=m+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;i=i+1|0;if((i|0)>=(f|0))break g}if((i|0)>=(f|0))break;c[j>>2]=c[m+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}while(0);h=h+1|0}while((h|0)<(f|0))}if(!((v|0)==0|(u|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[u+-4>>2]|0)}if(!((G|0)==0|(F|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[F+-4>>2]|0)}}else L=244}else L=244;h:do if((L|0)==244){m=c[b+772>>2]|0;if(!m){m=c[b+752>>2]|0;if((f|0)<(m|0)){if((c[b+1116>>2]|0)<(m|0)){if(m){c[7182]=(c[7182]|0)+1;h=xb((m<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));j=b+1120|0}else j=b+1120|0}else{h=0;j=b+1120|0}i=c[j>>2]|0;if(i|0){if(a[b+1124>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=h;c[b+1116>>2]=m}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(m|0))}c[b+1112>>2]=m;if((m|0)>0){h=0;do{c[7182]=(c[7182]|0)+1;f=xb(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;L=f+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)<=0)break;d=0;while(1){j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+760>>2]|0)+(d*44|0)+8|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(p=(h|0)==0?1:h<<1,(h|0)<(p|0)):0){if(!p)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((p<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=p;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+760>>2]|0)+(d*44|0)+12|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(r=(h|0)==0?1:h<<1,(h|0)<(r|0)):0){if(!r)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((r<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=r;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+760>>2]|0)+(d*44|0)+16|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(s=(h|0)==0?1:h<<1,(h|0)<(s|0)):0){if(!s)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=s;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;d=d+1|0;if((d|0)>=(c[b+752>>2]|0))break h}}if((f|0)<(m|0)){if((c[b+1116>>2]|0)<(m|0)){c[7182]=(c[7182]|0)+1;h=xb((m<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+1112>>2]|0;if((i|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=m;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(m|0))}c[b+1112>>2]=m;if((m|0)>0){h=0;do{c[7182]=(c[7182]|0)+1;f=xb(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;L=f+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)>0){d=0;do{j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+780>>2]|0)+(d*104|0)+8|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(C=(h|0)==0?1:h<<1,(h|0)<(C|0)):0){if(!C)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((C<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=C;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+780>>2]|0)+(d*104|0)+12|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(t=(h|0)==0?1:h<<1,(h|0)<(t|0)):0){if(!t)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((t<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=t;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+780>>2]|0)+(d*104|0)+16|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(u=(h|0)==0?1:h<<1,(h|0)<(u|0)):0){if(!u)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((u<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=u;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=(c[b+780>>2]|0)+(d*104|0)+20|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(v=(h|0)==0?1:h<<1,(h|0)<(v|0)):0){if(!v)f=0;else{c[7182]=(c[7182]|0)+1;f=xb((v<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=v;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[m>>2];c[j+24>>2]=f+1;d=d+1|0}while((d|0)<(c[b+772>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){b=0;sa=M;return b|0}if((f|0)>0){q=0;do{r=c[(c[b+1120>>2]|0)+(q<<2)>>2]|0;g[r+128>>2]=0.0;d=c[r+24>>2]|0;m=c[r+4>>2]|0;if((d|0)>(m|0)){do if((c[r+8>>2]|0)<(d|0)){if(!d){f=0;i=m}else{c[7182]=(c[7182]|0)+1;f=xb((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[r+4>>2]|0}j=c[r+12>>2]|0;if((i|0)<=0){if(!j){a[r+16>>0]=1;c[r+12>>2]=f;c[r+8>>2]=d;break}}else{h=0;do{c[f+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[r+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}a[r+16>>0]=1;c[r+12>>2]=f;c[r+8>>2]=d}else f=c[r+12>>2]|0;while(0);mk(f+(m<<2)|0,0,d-m<<2|0)|0;p=c[r+24>>2]|0}else p=d;c[r+4>>2]=d;m=(p|0)>0;if(m){h=c[r+32>>2]|0;i=c[r+12>>2]|0;f=0;do{k=+g[(c[h+(f<<2)>>2]|0)+88>>2];if(k==0.0){a[r+376>>0]=1;k=999999984306749440.0}else k=1.0/k;g[i+(f<<2)>>2]=k;l=k+ +g[r+128>>2];g[r+128>>2]=l;f=f+1|0}while((f|0)!=(p|0));g[r+128>>2]=1.0/l;f=0;k=0.0;n=0.0;o=0.0;do{L=c[h+(f<<2)>>2]|0;B=+g[i+(f<<2)>>2];k=k+ +g[L+8>>2]*B;n=n+B*+g[L+12>>2];o=o+B*+g[L+16>>2];f=f+1|0}while((f|0)!=(p|0));l=1.0/l}else{l=1.0/+g[r+128>>2];g[r+128>>2]=l;o=0.0;n=0.0;k=0.0}B=l*k;A=l*n;z=l*o;g[r+228>>2]=B;g[r+232>>2]=A;g[r+236>>2]=z;g[r+240>>2]=0.0;f=r+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=r+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));if(m){h=c[r+32>>2]|0;i=c[r+12>>2]|0;f=0;k=0.0;l=0.0;n=0.0;o=0.0;x=0.0;y=0.0;do{L=c[h+(f<<2)>>2]|0;Q=+g[L+8>>2]-B;O=+g[L+12>>2]-A;P=+g[L+16>>2]-z;N=+g[i+(f<<2)>>2];k=k+N*(O*O+P*P);g[r+132>>2]=k;l=N*(Q*Q+P*P)+l;g[r+152>>2]=l;n=(Q*Q+O*O)*N+n;g[r+172>>2]=n;o=o-O*Q*N;g[r+136>>2]=o;x=x-P*Q*N;g[r+140>>2]=x;y=y-P*O*N;g[r+156>>2]=y;f=f+1|0}while((f|0)!=(p|0));f=r+136|0;h=r+140|0;i=r+156|0;j=r+152|0}else{f=r+136|0;h=r+140|0;i=r+156|0;j=r+152|0;y=0.0;x=0.0;o=0.0;n=0.0;l=0.0;k=0.0}B=l*n-y*y;N=y*x-n*o;O=y*o-l*x;Q=1.0/(B*k+o*N+O*x);P=(o*x-y*k)*Q;g[r+132>>2]=B*Q;g[f>>2]=N*Q;g[h>>2]=O*Q;g[r+144>>2]=0.0;g[r+148>>2]=N*Q;g[j>>2]=(n*k-x*x)*Q;g[i>>2]=P;g[r+160>>2]=0.0;g[r+164>>2]=O*Q;g[r+168>>2]=P;g[r+172>>2]=(l*k-o*o)*Q;g[r+176>>2]=0.0;c[r+60>>2]=1065353216;c[r+64>>2]=0;c[r+64+4>>2]=0;c[r+64+8>>2]=0;c[r+64+12>>2]=0;c[r+80>>2]=1065353216;c[r+84>>2]=0;c[r+84+4>>2]=0;c[r+84+8>>2]=0;c[r+84+12>>2]=0;c[r+100>>2]=1065353216;c[r+104>>2]=0;c[r+108>>2]=c[r+228>>2];c[r+108+4>>2]=c[r+228+4>>2];c[r+108+8>>2]=c[r+228+8>>2];c[r+108+12>>2]=c[r+228+12>>2];j=c[r+44>>2]|0;if((j|0)<(p|0)){if((c[r+48>>2]|0)<(p|0)){if(!p){f=0;i=j}else{c[7182]=(c[7182]|0)+1;f=xb((p<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[r+44>>2]|0}if((i|0)>0){h=0;do{L=f+(h<<4)|0;K=(c[r+52>>2]|0)+(h<<4)|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[r+52>>2]|0;if(h|0){if(a[r+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}c[r+52>>2]=0}a[r+56>>0]=1;c[r+52>>2]=f;c[r+48>>2]=p;h=r+52|0}else h=r+52|0;f=j;do{L=(c[h>>2]|0)+(f<<4)|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];f=f+1|0}while((f|0)!=(p|0))}c[r+44>>2]=p;if(m){f=0;do{K=c[(c[r+32>>2]|0)+(f<<2)>>2]|0;P=+g[K+12>>2]-+g[r+232>>2];Q=+g[K+16>>2]-+g[r+236>>2];L=c[r+52>>2]|0;g[L+(f<<4)>>2]=+g[K+8>>2]-+g[r+228>>2];g[L+(f<<4)+4>>2]=P;g[L+(f<<4)+8>>2]=Q;g[L+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[r+44>>2]|0))}q=q+1|0}while((q|0)<(c[b+1112>>2]|0))}Yb(b);f=c[b+1112>>2]|0;d=J(f,f)|0;m=c[b+1132>>2]|0;if((d|0)>(m|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){f=0;i=m}else{c[7182]=(c[7182]|0)+1;f=xb(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+1132>>2]|0}j=c[b+1140>>2]|0;if((i|0)<=0){if(!j){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{h=0;do{a[f+h>>0]=a[j+h>>0]|0;h=h+1|0}while((h|0)!=(i|0))}if(a[b+1144>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);mk(f+m|0,0,d-m|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){b=f;sa=M;return b|0}v=c[b+1120>>2]|0;s=c[b+1140>>2]|0;r=0;do{t=c[v+(r<<2)>>2]|0;c[t+380>>2]=r;u=c[t+24>>2]|0;q=0;do{p=c[v+(q<<2)>>2]|0;d=0;while(1){if((d|0)>=(u|0)){h=0;break}i=c[p+24>>2]|0;i:do if((i|0)>0){j=c[(c[t+32>>2]|0)+(d<<2)>>2]|0;m=c[p+32>>2]|0;h=0;while(1){if((j|0)==(c[m+(h<<2)>>2]|0)){h=1;break i}h=h+1|0;if((h|0)>=(i|0)){h=0;break}}}else h=0;while(0);if(h){h=1;break}else d=d+1|0}a[s+((J(q,f)|0)+r)>>0]=h;q=q+1|0}while((q|0)!=(f|0));r=r+1|0}while((r|0)!=(f|0));sa=M;return f|0}function ob(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=sa;sa=sa+96|0;f=c[d+4>>2]|0;i=f>>>0>8?f:8;if((i|0)>0){c[7182]=(c[7182]|0)+1;f=xb((i<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=0;do{Y=h+(f<<4)|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=c[Z+4>>2];c[Y+8>>2]=c[Z+8>>2];c[Y+12>>2]=c[Z+12>>2];f=f+1|0}while((f|0)!=(i|0));Y=h;X=h;f=c[d+4>>2]|0}else{Y=0;X=0}j=c[d+8>>2]|0;z=c[d+12>>2]|0;D=+g[d+16>>2];do if(!f){h=1;f=0}else{i=c[b+24>>2]|0;if((i|0)<0){h=c[b+32>>2]|0;if((c[b+28>>2]|0)<0){if(h|0?a[b+36>>0]|0:0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0;h=0}mk(h+(i<<2)|0,0,J(i,-4)|0)|0}c[b+24>>2]=0;h=j;i=0;o=3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;while(1){Q=+g[h>>2];o=Ql?Q:l;Q=+g[h+4>>2];q=Qm?Q:m;Q=+g[h+8>>2];s=Qn?Q:n;i=i+1|0;if((i|0)==(f|0))break;else h=h+z|0}P=l-o;Q=m-q;n=n-s;C=o+P*.5;A=q+Q*.5;y=s+n*.5;do if(f>>>0<3|(P<9.999999974752427e-07|Q<9.999999974752427e-07|n<9.999999974752427e-07)){o=P>9.999999974752427e-07&P<3402823466385288598117041.0e14?P:3402823466385288598117041.0e14;o=Q>9.999999974752427e-07&Q9.999999974752427e-07&n>2]=Q;g[Y+4>>2]=I;g[Y+8>>2]=l;g[Y+16>>2]=P;g[Y+20>>2]=I;g[Y+24>>2]=l;g[Y+32>>2]=P;g[Y+36>>2]=m;g[Y+40>>2]=l;g[Y+48>>2]=Q;g[Y+52>>2]=m;g[Y+56>>2]=l;g[Y+64>>2]=Q;g[Y+68>>2]=I;g[Y+72>>2]=o;g[Y+80>>2]=P;g[Y+84>>2]=I;g[Y+88>>2]=o;g[Y+96>>2]=P;g[Y+100>>2]=m;g[Y+104>>2]=o;g[Y+112>>2]=Q;g[Y+116>>2]=m;g[Y+120>>2]=o;o=1.0;m=1.0;l=1.0;U=8;W=57}else{r=0;u=0;t=j;i=0;while(1){q=1.0/P*+g[t>>2];s=1.0/Q*+g[t+4>>2];v=1.0/n*+g[t+8>>2];t=t+z|0;if(r){h=0;do{j=Y+(h<<4)|0;l=+g[j>>2];k=Y+(h<<4)+4|0;m=+g[k>>2];p=Y+(h<<4)+8|0;o=+g[p>>2];if(+w(+(l-q))>>0>>0);if((W|0)==28){W=0;if((q-1.0/P*C)*(q-1.0/P*C)+(s-1.0/Q*A)*(s-1.0/Q*A)+(v-1.0/n*y)*(v-1.0/n*y)>(l-1.0/P*C)*(l-1.0/P*C)+(m-1.0/Q*A)*(m-1.0/Q*A)+(o-1.0/n*y)*(o-1.0/n*y)){g[j>>2]=q;g[k>>2]=s;g[p>>2]=v}}if((h|0)==(r|0))W=32;else{p=h;K=r}}else{h=0;W=32}if((W|0)==32){W=0;g[Y+(h<<4)>>2]=q;g[Y+(h<<4)+4>>2]=s;g[Y+(h<<4)+8>>2]=v;p=h;K=h+1|0}if((i|0)==(c[b+28>>2]|0)?(B=(i|0)==0?1:i<<1,(i|0)<(B|0)):0){if(!B)h=0;else{c[7182]=(c[7182]|0)+1;h=xb((B<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+24>>2]|0}k=c[b+32>>2]|0;if((i|0)<=0){if(k)W=43}else{j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));W=43}if((W|0)==43){W=0;if(a[b+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}c[b+32>>2]=0;i=c[b+24>>2]|0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=B;h=i}else h=i;c[(c[b+32>>2]|0)+(h<<2)>>2]=p;i=(c[b+24>>2]|0)+1|0;c[b+24>>2]=i;u=u+1|0;if((u|0)==(f|0))break;else r=K}t=(K|0)==0;if(t){f=1;v=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14}else{f=0;A=3402823466385288598117041.0e14;v=3402823466385288598117041.0e14;C=-3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;E=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;F=-3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;H=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;I=-3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;while(1){y=+g[Y+(f<<4)>>2];h=yC;o=i?y:o;D=+g[Y+(f<<4)+4>>2];j=DF;m=k?D:m;G=+g[Y+(f<<4)+8>>2];p=GI;l=r?G:l;f=f+1|0;if((f|0)==(K|0))break;else{A=h?y:A;C=i?y:C;E=j?D:E;F=k?D:F;H=p?G:H;I=r?G:I}}f=K>>>0<3}A=o-v;m=m-s;o=l-q;if(!(f|(A<9.999999974752427e-07|m<9.999999974752427e-07|o<9.999999974752427e-07))){if(!t){o=P;m=Q;l=n;U=K;W=57;break}break}y=v+A*.5;v=s+m*.5;s=q+o*.5;q=A>=9.999999974752427e-07&A<3402823466385288598117041.0e14?A:3402823466385288598117041.0e14;q=m>=9.999999974752427e-07&m=9.999999974752427e-07&o>2]=I;g[Y+4>>2]=H;g[Y+8>>2]=G;g[Y+16>>2]=l;g[Y+20>>2]=H;g[Y+24>>2]=G;g[Y+32>>2]=l;g[Y+36>>2]=m;g[Y+40>>2]=G;g[Y+48>>2]=I;g[Y+52>>2]=m;g[Y+56>>2]=G;g[Y+64>>2]=I;g[Y+68>>2]=H;g[Y+72>>2]=o;g[Y+80>>2]=l;g[Y+84>>2]=H;g[Y+88>>2]=o;g[Y+96>>2]=l;g[Y+100>>2]=m;g[Y+104>>2]=o;g[Y+112>>2]=I;g[Y+116>>2]=m;g[Y+120>>2]=o;o=P;m=Q;l=n;U=8;W=57}while(0);if((W|0)==57){f=0;do{V=Y+(f<<4)|0;g[V>>2]=o*+g[V>>2];V=Y+(f<<4)+4|0;g[V>>2]=m*+g[V>>2];V=Y+(f<<4)+8|0;g[V>>2]=l*+g[V>>2];f=f+1|0}while(f>>>0>>0);M=c[d+20>>2]|0;if((U|0)>=4){l=+g[Y>>2];o=+g[Y+4>>2];m=+g[Y+8>>2];V=U<<2;c[7182]=(c[7182]|0)+1;f=xb((V|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}a[Z+52+16>>0]=1;R=Z+52+12|0;c[R>>2]=0;c[Z+52+4>>2]=0;B=Z+52+8|0;c[B>>2]=0;c[7182]=(c[7182]|0)+1;h=xb((V|3)+16|0)|0;if(h){c[(h+4+15&-16)+-4>>2]=h;f=c[R>>2]|0;if(!f){f=h+4+15&-16;W=63}else{c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);a[Z+52+16>>0]=1;c[R>>2]=h+4+15&-16;c[B>>2]=U;z=R}}else{f=0;W=63}if((W|0)==63){a[Z+52+16>>0]=1;c[R>>2]=f;c[B>>2]=U;z=R}u=0;f=0;y=l;v=m;n=m;p=U;t=i;q=o;s=o;k=i;h=U;r=i;while(1){if((f|0)==(h|0)?(L=(f|0)==0?1:f<<1,(f|0)<(L|0)):0){if((L|0)!=0?(c[7182]=(c[7182]|0)+1,S=xb((L<<2|3)+16|0)|0,(S|0)!=0):0){c[(S+4+15&-16)+-4>>2]=S;j=S+4+15&-16}else j=0;i=c[R>>2]|0;if((f|0)<=0){if(i)W=75}else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));W=75}if((W|0)==75){W=0;c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);c[R>>2]=0;f=c[Z+52+4>>2]|0}c[z>>2]=j;c[B>>2]=L}c[(c[R>>2]|0)+(f<<2)>>2]=1;c[Z+52+4>>2]=f+1;do if((u|0)==(p|0)){f=(u|0)==0;h=f?1:u<<1;if((u|0)<(h|0)){if((h|0)!=0?(c[7182]=(c[7182]|0)+1,T=xb((h<<2|3)+16|0)|0,(T|0)!=0):0){c[(T+4+15&-16)+-4>>2]=T;i=T+4+15&-16}else i=0;if(f){if(!t){h=1;N=i;O=i;break}}else{f=0;do{c[i+(f<<2)>>2]=c[t+(f<<2)>>2];f=f+1|0}while((f|0)!=(u|0))}if(!r){N=i;O=i}else{c[7183]=(c[7183]|0)+1;Hc(c[r+-4>>2]|0);N=i;O=i}}else{h=u;N=t;O=k;i=r}}else{h=p;N=t;O=k;i=r}while(0);c[N+(u<<2)>>2]=0;f=u+1|0;P=+g[Y+(u<<4)>>2];o=P>2];s=Q>2];n=m=(U|0))break;u=f;f=c[Z+52+4>>2]|0;y=l;l=o;v=m;p=h;t=N;k=O;h=c[B>>2]|0;r=i}a[Z+52+16>>0]=1;E=+x(+((l-o)*(l-o)+(q-s)*(q-s)+(m-n)*(m-n)))*1.0000000474974513e-03;c[Z>>2]=1008981770;c[Z+4>>2]=1017370378;c[Z+8>>2]=1065353216;g[Z+12>>2]=0.0;K=_d(Y,U,Z,Z+52|0)|0;g[Z+72>>2]=-.009999999776482582;g[Z+72+4>>2]=-.019999999552965164;g[Z+72+8>>2]=-1.0;g[Z+72+12>>2]=0.0;L=_d(Y,U,Z+72|0,Z+52|0)|0;p=Y+(K<<4)|0;r=Y+(L<<4)|0;q=+g[p>>2]-+g[r>>2];t=Y+(K<<4)+4|0;u=Y+(L<<4)+4|0;s=+g[t>>2]-+g[u>>2];z=Y+(K<<4)+8|0;B=Y+(L<<4)+8|0;v=+g[z>>2]-+g[B>>2];g[Z>>2]=q;g[Z+4>>2]=s;g[Z+8>>2]=v;g[Z+12>>2]=0.0;a:do if((K|0)!=(L|0)?!(v==0.0&s==0.0&q==0.0):0){l=v*.019999999552965164-s*0.0;g[Z+16>>2]=l;g[Z+20>>2]=q*0.0-v;g[Z+24>>2]=s-q*.019999999552965164;g[Z+28>>2]=0.0;g[Z+32>>2]=v-s*0.0;g[Z+36>>2]=v*.019999999552965164+q*0.0;g[Z+40>>2]=s*-.019999999552965164-q;g[Z+44>>2]=0.0;m=+x(+(l*l+(q*0.0-v)*(q*0.0-v)+(s-q*.019999999552965164)*(s-q*.019999999552965164)));if(m>+x(+((v-s*0.0)*(v-s*0.0)+(v*.019999999552965164+q*0.0)*(v*.019999999552965164+q*0.0)+(s*-.019999999552965164-q)*(s*-.019999999552965164-q)))){g[Z+16>>2]=l*(1.0/m);g[Z+20>>2]=(q*0.0-v)*(1.0/m);o=(s-q*.019999999552965164)*(1.0/m);n=l*(1.0/m);l=(q*0.0-v)*(1.0/m)}else{c[Z+16>>2]=c[Z+32>>2];c[Z+16+4>>2]=c[Z+32+4>>2];c[Z+16+8>>2]=c[Z+32+8>>2];c[Z+16+12>>2]=c[Z+32+12>>2];n=+g[Z+16>>2];Q=+g[Z+20>>2];o=+g[Z+24>>2];l=1.0/+x(+(n*n+Q*Q+o*o));g[Z+16>>2]=n*l;g[Z+20>>2]=Q*l;o=o*l;n=n*l;l=Q*l}g[Z+24>>2]=o;f=_d(Y,U,Z+16|0,Z+52|0)|0;if((f|0)==(K|0)|(f|0)==(L|0)){g[Z+72>>2]=-n;g[Z+72+4>>2]=-l;g[Z+72+8>>2]=-o;g[Z+72+12>>2]=0.0;k=_d(Y,U,Z+72|0,Z+52|0)|0}else k=f;if(!((k|0)==(K|0)|(k|0)==(L|0))){h=Y+(k<<4)|0;l=+g[h>>2]-+g[p>>2];i=Y+(k<<4)+4|0;m=+g[i>>2]-+g[t>>2];j=Y+(k<<4)+8|0;n=+g[j>>2]-+g[z>>2];g[Z+16>>2]=l;g[Z+20>>2]=m;g[Z+24>>2]=n;g[Z+28>>2]=0.0;o=1.0/+x(+((s*l-m*q)*(s*l-m*q)+((m*v-n*s)*(m*v-n*s)+(n*q-v*l)*(n*q-v*l))));g[Z+32>>2]=(m*v-n*s)*o;g[Z+36>>2]=(n*q-v*l)*o;g[Z+40>>2]=(s*l-m*q)*o;c[Z+44>>2]=0;f=_d(Y,U,Z+32|0,Z+52|0)|0;if((f|0)==(k|0)|((f|0)==(K|0)|(f|0)==(L|0))){g[Z+72>>2]=-((m*v-n*s)*o);g[Z+72+4>>2]=-((n*q-v*l)*o);g[Z+72+8>>2]=-((s*l-m*q)*o);g[Z+72+12>>2]=0.0;f=_d(Y,U,Z+72|0,Z+52|0)|0}if(!((f|0)==(k|0)|((f|0)==(K|0)|(f|0)==(L|0)))){C=+g[p>>2];G=+g[t>>2];A=+g[z>>2];P=+g[r>>2]-C;D=+g[u>>2]-G;H=+g[B>>2]-A;I=+g[h>>2]-C;F=+g[i>>2]-G;Q=+g[j>>2]-A;T=(+g[Y+(f<<4)+8>>2]-A)*(P*F-D*I)+((+g[Y+(f<<4)>>2]-C)*(D*Q-H*F)+(+g[Y+(f<<4)+4>>2]-G)*(H*I-P*Q))<0.0;h=T?k:f;f=T?f:k;if((K|0)!=-1){A=(+g[Y+(K<<4)>>2]+ +g[Y+(L<<4)>>2]+ +g[Y+(f<<4)>>2]+ +g[Y+(h<<4)>>2])*.25;C=(+g[Y+(K<<4)+4>>2]+ +g[Y+(L<<4)+4>>2]+ +g[Y+(f<<4)+4>>2]+ +g[Y+(h<<4)+4>>2])*.25;D=(+g[Y+(K<<4)+8>>2]+ +g[Y+(L<<4)+8>>2]+ +g[Y+(f<<4)+8>>2]+ +g[Y+(h<<4)+8>>2])*.25;T=bh(b,f,h,L)|0;c[T+12>>2]=2;c[T+16>>2]=3;c[T+20>>2]=1;T=bh(b,h,f,K)|0;c[T+12>>2]=3;c[T+16>>2]=2;c[T+20>>2]=0;T=bh(b,K,L,h)|0;c[T+12>>2]=0;c[T+16>>2]=1;c[T+20>>2]=3;T=bh(b,L,K,f)|0;c[T+12>>2]=1;c[T+16>>2]=0;c[T+20>>2]=2;c[N+(h<<2)>>2]=1;c[N+(f<<2)>>2]=1;c[N+(L<<2)>>2]=1;c[N+(K<<2)>>2]=1;f=c[b+4>>2]|0;if((f|0)>0){h=0;do{f=c[(c[b+12>>2]|0)+(h<<2)>>2]|0;S=c[f>>2]|0;L=c[f+4>>2]|0;T=c[f+8>>2]|0;q=+g[Y+(L<<4)>>2];n=q-+g[Y+(S<<4)>>2];s=+g[Y+(L<<4)+4>>2];o=s-+g[Y+(S<<4)+4>>2];m=+g[Y+(L<<4)+8>>2];l=m-+g[Y+(S<<4)+8>>2];q=+g[Y+(T<<4)>>2]-q;s=+g[Y+(T<<4)+4>>2]-s;m=+g[Y+(T<<4)+8>>2]-m;v=+x(+((n*s-o*q)*(n*s-o*q)+((o*m-l*s)*(o*m-l*s)+(l*q-n*m)*(l*q-n*m))));if(v==0.0){c[Z>>2]=1065353216;c[Z+4>>2]=0;c[Z+8>>2]=0;y=1.0;m=0.0;l=0.0}else{g[Z>>2]=(o*m-l*s)*(1.0/v);g[Z+4>>2]=(l*q-n*m)*(1.0/v);g[Z+8>>2]=(n*s-o*q)*(1.0/v);y=(o*m-l*s)*(1.0/v);m=(l*q-n*m)*(1.0/v);l=(n*s-o*q)*(1.0/v)}g[Z+12>>2]=0.0;S=_d(Y,U,Z,Z+52|0)|0;c[f+28>>2]=S;T=c[f>>2]|0;g[f+32>>2]=(+g[Y+(S<<4)>>2]-+g[Y+(T<<4)>>2])*y+(+g[Y+(S<<4)+4>>2]-+g[Y+(T<<4)+4>>2])*m+(+g[Y+(S<<4)+8>>2]-+g[Y+(T<<4)+8>>2])*l;h=h+1|0;f=c[b+4>>2]|0}while((h|0)<(f|0))}h=(M|0)==0?999999996:M+-4|0;if((h|0)>0)while(1){r=c[b+12>>2]|0;k=0;i=0;do{j=c[r+(k<<2)>>2]|0;do if(i){if(!j)break;if(+g[i+32>>2]<+g[j+32>>2])W=115}else W=115;while(0);if((W|0)==115){W=0;i=j}k=k+1|0}while((k|0)<(f|0));if((i|0)==0?1:!(+g[i+32>>2]>E)){f=1;break a}t=c[i+28>>2]|0;c[N+(t<<2)>>2]=1;f=c[b+4>>2]|0;b:do if(f|0){j=Y+(t<<4)|0;k=Y+(t<<4)+4|0;p=Y+(t<<4)+8|0;i=r;while(1){f=f+-1|0;i=c[i+(f<<2)>>2]|0;do if(i|0){S=c[i>>2]|0;M=c[i+4>>2]|0;T=c[i+8>>2]|0;H=+g[Y+(M<<4)>>2];I=+g[Y+(S<<4)>>2];q=+g[Y+(M<<4)+4>>2];v=+g[Y+(S<<4)+4>>2];y=+g[Y+(M<<4)+8>>2];F=+g[Y+(S<<4)+8>>2];G=+g[Y+(T<<4)>>2]-H;s=+g[Y+(T<<4)+4>>2]-q;P=+g[Y+(T<<4)+8>>2]-y;Q=+x(+(((H-I)*s-(q-v)*G)*((H-I)*s-(q-v)*G)+(((q-v)*P-(y-F)*s)*((q-v)*P-(y-F)*s)+((y-F)*G-(H-I)*P)*((y-F)*G-(H-I)*P))));if(!((+g[p>>2]-F)*(Q==0.0?0.0:((H-I)*s-(q-v)*G)*(1.0/Q))+((+g[j>>2]-I)*(Q==0.0?1.0:((q-v)*P-(y-F)*s)*(1.0/Q))+(+g[k>>2]-v)*(Q==0.0?0.0:((y-F)*G-(H-I)*P)*(1.0/Q)))>E*.009999999776482582))break;rd(b,i,t)}while(0);if(!f)break;i=c[b+12>>2]|0}f=c[b+4>>2]|0;if(!f)break;i=f;c:do{i=i+-1|0;k=c[b+12>>2]|0;p=c[k+(i<<2)>>2]|0;do if(p){r=c[p>>2]|0;do if((r|0)!=(t|0)){j=c[p+4>>2]|0;if((j|0)==(t|0)){j=t;break}if((c[p+8>>2]|0)!=(t|0))break c}else j=c[p+4>>2]|0;while(0);T=c[p+8>>2]|0;H=+g[Y+(j<<4)>>2];I=+g[Y+(r<<4)>>2];q=+g[Y+(j<<4)+4>>2];v=+g[Y+(r<<4)+4>>2];y=+g[Y+(j<<4)+8>>2];F=+g[Y+(r<<4)+8>>2];G=+g[Y+(T<<4)>>2]-H;s=+g[Y+(T<<4)+4>>2]-q;P=+g[Y+(T<<4)+8>>2]-y;Q=+x(+(((H-I)*s-(q-v)*G)*((H-I)*s-(q-v)*G)+(((q-v)*P-(y-F)*s)*((q-v)*P-(y-F)*s)+((y-F)*G-(H-I)*P)*((y-F)*G-(H-I)*P))));if(!(QE*.009999999776482582))break;rd(b,c[k+(c[p+12>>2]<<2)>>2]|0,t);f=c[b+4>>2]|0;i=f}while(0)}while((i|0)!=0);if(!f)break;do{f=f+-1|0;j=c[(c[b+12>>2]|0)+(f<<2)>>2]|0;if(j|0){if((c[j+28>>2]|0)>-1)break b;S=c[j>>2]|0;M=c[j+4>>2]|0;T=c[j+8>>2]|0;q=+g[Y+(M<<4)>>2];n=q-+g[Y+(S<<4)>>2];s=+g[Y+(M<<4)+4>>2];o=s-+g[Y+(S<<4)+4>>2];m=+g[Y+(M<<4)+8>>2];l=m-+g[Y+(S<<4)+8>>2];q=+g[Y+(T<<4)>>2]-q;s=+g[Y+(T<<4)+4>>2]-s;m=+g[Y+(T<<4)+8>>2]-m;v=+x(+((n*s-o*q)*(n*s-o*q)+((o*m-l*s)*(o*m-l*s)+(l*q-n*m)*(l*q-n*m))));if(v==0.0){c[Z>>2]=1065353216;c[Z+4>>2]=0;c[Z+8>>2]=0;y=1.0;m=0.0;l=0.0}else{g[Z>>2]=(o*m-l*s)*(1.0/v);g[Z+4>>2]=(l*q-n*m)*(1.0/v);g[Z+8>>2]=(n*s-o*q)*(1.0/v);y=(o*m-l*s)*(1.0/v);m=(l*q-n*m)*(1.0/v);l=(n*s-o*q)*(1.0/v)}g[Z+12>>2]=0.0;i=_d(Y,U,Z,Z+52|0)|0;c[j+28>>2]=i;if(!(c[N+(i<<2)>>2]|0)){T=c[j>>2]|0;g[j+32>>2]=(+g[Y+(i<<4)>>2]-+g[Y+(T<<4)>>2])*y+(+g[Y+(i<<4)+4>>2]-+g[Y+(T<<4)+4>>2])*m+(+g[Y+(i<<4)+8>>2]-+g[Y+(T<<4)+8>>2])*l}else c[j+28>>2]=-1}}while((f|0)!=0)}while(0);if((h|0)<=1){f=1;break a}h=h+-1|0;f=c[b+4>>2]|0}else f=1}else f=0}else W=101}else W=101}else W=101;while(0);if((W|0)==101)f=0;h=c[R>>2]|0;if(h|0){c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);c[R>>2]=0}if(!((N|0)==0|(O|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[O+-4>>2]|0)}if(f){h=c[b+4>>2]|0;if((h|0)>0){B=0;r=0;j=0;p=0;u=0;i=0;while(1){k=c[(c[b+12>>2]|0)+(B<<2)>>2]|0;if(!k)f=u;else{do if((p|0)==(r|0)){h=(r|0)==0?1:r<<1;if((r|0)>=(h|0)){h=r;break}do if(!h)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((h<<2|3)+16|0)|0;if(!f){i=0;break}c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}while(0);if((r|0)>0){f=0;do{c[i+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(r|0));if(!u){j=i;u=i;break}}else if((j|0)==0|(u|0)==0){j=i;u=i;break}c[7183]=(c[7183]|0)+1;Hc(c[u+-4>>2]|0);j=i;u=i}else h=r;while(0);c[j+(p<<2)>>2]=c[k>>2];r=p+1|0;t=(c[(c[b+12>>2]|0)+(B<<2)>>2]|0)+4|0;do if((r|0)==(h|0)){k=(h|0)==0?1:h<<1;if((h|0)>=(k|0)){z=u;break}do if(!k)i=0;else{c[7182]=(c[7182]|0)+1;f=xb((k<<2|3)+16|0)|0;if(!f){i=0;break}c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}while(0);if((h|0)>0){f=0;do{c[i+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));if(!u){h=k;j=i;z=i;break}}else if((j|0)==0|(u|0)==0){h=k;j=i;z=i;break}c[7183]=(c[7183]|0)+1;Hc(c[u+-4>>2]|0);h=k;j=i;z=i}else z=u;while(0);c[j+(r<<2)>>2]=c[t>>2];t=p+2|0;u=(c[(c[b+12>>2]|0)+(B<<2)>>2]|0)+8|0;do if((t|0)==(h|0)){k=(h|0)==0?1:h<<1;if((h|0)>=(k|0)){k=z;break}do if(!k)r=0;else{c[7182]=(c[7182]|0)+1;f=xb((k<<2|3)+16|0)|0;if(!f){r=0;break}c[(f+4+15&-16)+-4>>2]=f;r=f+4+15&-16}while(0);if((h|0)>0){f=0;do{c[r+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));if(!z){h=k;j=r;i=r;k=r;break}}else if((j|0)==0|(z|0)==0){h=k;j=r;i=r;k=r;break}c[7183]=(c[7183]|0)+1;Hc(c[z+-4>>2]|0);h=k;j=r;i=r;k=r}else k=z;while(0);c[j+(t<<2)>>2]=c[u>>2];T=c[b+12>>2]|0;f=c[T+(B<<2)>>2]|0;c[T+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}r=h;p=p+3|0;h=c[b+4>>2]|0;f=k}B=B+1|0;if((B|0)>=(h|0))break;else u=f}c[Z+48>>2]=(p|0)/3|0;if((p|0)>0){c[7182]=(c[7182]|0)+1;f=xb((p<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}mk(h|0,0,p<<2|0)|0;f=0;do{c[h+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(p|0));k=h;f=h}else{k=0;f=0}r=i;O=p;h=c[b+4>>2]|0;K=k}else{c[Z+48>>2]=0;r=0;j=0;f=0;O=0;K=0}if((h|0)<0){if((c[b+8>>2]|0)<0){i=c[b+12>>2]|0;if(i|0){if(a[b+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{c[(c[b+12>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[b+4>>2]=0;if(!((j|0)==0|(r|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[r+-4>>2]|0)}N=c[Z+48>>2]|0;k=(U|0)>0;if(k){c[7182]=(c[7182]|0)+1;h=xb((U<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{T=i+(h<<4)|0;c[T>>2]=c[Z>>2];c[T+4>>2]=c[Z+4>>2];c[T+8>>2]=c[Z+8>>2];c[T+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(U|0));M=i;L=i}else{M=0;L=0}i=c[b+24>>2]|0;do if((i|0)>0){c[7182]=(c[7182]|0)+1;h=xb((i<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}mk(j|0,0,i<<2|0)|0;if((c[b+24>>2]|0)<=0){B=j;z=j;break}i=c[b+32>>2]|0;h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)<(c[b+24>>2]|0));B=j;z=j}else{B=0;z=0}while(0);if(k){c[7182]=(c[7182]|0)+1;h=xb((V|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}mk(h|0,0,V|0)|0;t=h;u=h}else{t=0;u=0}mk(u|0,0,V|0)|0;if((N|0)<=0)if(!t)r=0;else{h=0;W=241}else{r=0;h=0;do{i=f+(r<<2)|0;k=c[i>>2]|0;p=t+(k<<2)|0;j=c[p>>2]|0;if(!j){c[i>>2]=h;c[M+(h<<4)>>2]=c[X+(k<<4)>>2];c[M+(h<<4)+4>>2]=c[X+(k<<4)+4>>2];c[M+(h<<4)+8>>2]=c[X+(k<<4)+8>>2];i=c[b+24>>2]|0;if((i|0)>0){j=0;do{if((c[B+(j<<2)>>2]|0)==(k|0)){c[(c[b+32>>2]|0)+(j<<2)>>2]=h;i=c[b+24>>2]|0}j=j+1|0}while((j|0)<(i|0))}h=h+1|0;c[p>>2]=h}else c[i>>2]=j+-1;r=r+1|0}while((r|0)!=(N*3|0));W=241}do if((W|0)==241){if(!u){r=h;break}c[7183]=(c[7183]|0)+1;Hc(c[u+-4>>2]|0);r=h}while(0);if(!((B|0)==0|(z|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[z+-4>>2]|0)}do if(!(c[d>>2]&1)){a[e>>0]=1;c[e+4>>2]=r;k=c[e+12>>2]|0;if((k|0)<(r|0)){if((c[e+16>>2]|0)<(r|0)){if(!r){h=0;j=k}else{c[7182]=(c[7182]|0)+1;h=xb((r<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+12>>2]|0}if((j|0)>0){i=0;do{b=h+(i<<4)|0;W=(c[e+20>>2]|0)+(i<<4)|0;c[b>>2]=c[W>>2];c[b+4>>2]=c[W+4>>2];c[b+8>>2]=c[W+8>>2];c[b+12>>2]=c[W+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[e+20>>2]|0;if(i|0){if(a[e+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=h;c[e+16>>2]=r;i=e+20|0}else i=e+20|0;h=k;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[Z>>2];c[b+4>>2]=c[Z+4>>2];c[b+8>>2]=c[Z+8>>2];c[b+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(r|0))}c[e+12>>2]=r;c[e+28>>2]=N;c[e+32>>2]=N<<2;p=c[e+40>>2]|0;if((N<<2|0)>(p|0)){d:do if((c[e+44>>2]|0)<(N<<2|0)){if(!(N<<2)){h=0;j=p}else{c[7182]=(c[7182]|0)+1;h=xb((N<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+40>>2]|0}k=c[e+48>>2]|0;do if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}else{if(k|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=N<<2;break d}while(0);if(a[e+52>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=N<<2}else h=c[e+48>>2]|0;while(0);mk(h+(p<<2)|0,0,(N<<2)-p<<2|0)|0}c[e+40>>2]=N<<2;Bh(c[e+20>>2]|0,L|0,r<<4|0)|0;if(!N)break;k=0;h=c[e+48>>2]|0;i=f;while(1){c[h>>2]=3;if(!(c[d>>2]&2)){c[h+4>>2]=c[i>>2];j=i+8|0}else{c[h+4>>2]=c[i+8>>2];j=i}c[h+8>>2]=c[i+4>>2];c[h+12>>2]=c[j>>2];k=k+1|0;if((k|0)==(N|0))break;else{h=h+16|0;i=i+12|0}}}else{a[e>>0]=0;c[e+4>>2]=r;k=c[e+12>>2]|0;if((k|0)<(r|0)){if((c[e+16>>2]|0)<(r|0)){if(!r){h=0;j=k}else{c[7182]=(c[7182]|0)+1;h=xb((r<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+12>>2]|0}if((j|0)>0){i=0;do{b=h+(i<<4)|0;W=(c[e+20>>2]|0)+(i<<4)|0;c[b>>2]=c[W>>2];c[b+4>>2]=c[W+4>>2];c[b+8>>2]=c[W+8>>2];c[b+12>>2]=c[W+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[e+20>>2]|0;if(i|0){if(a[e+24>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=h;c[e+16>>2]=r;i=e+20|0}else i=e+20|0;h=k;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[Z>>2];c[b+4>>2]=c[Z+4>>2];c[b+8>>2]=c[Z+8>>2];c[b+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(r|0))}c[e+12>>2]=r;c[e+28>>2]=N;c[e+32>>2]=N*3;p=c[e+40>>2]|0;if((p|0)<(N*3|0)){e:do if((c[e+44>>2]|0)<(N*3|0)){if(!N){h=0;j=p}else{c[7182]=(c[7182]|0)+1;h=xb((N*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+40>>2]|0}k=c[e+48>>2]|0;do if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}else{if(k|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=N*3;break e}while(0);if(a[e+52>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=N*3}else h=c[e+48>>2]|0;while(0);mk(h+(p<<2)|0,0,(N*12|0)-(p<<2)|0)|0}c[e+40>>2]=N*3;Bh(c[e+20>>2]|0,L|0,r<<4|0)|0;if(!(c[d>>2]&2)){Bh(c[e+48>>2]|0,K|0,N*12|0)|0;break}if(!N)break;j=0;h=c[e+48>>2]|0;i=f;while(1){c[h>>2]=c[i+8>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i>>2];j=j+1|0;if((j|0)==(N|0))break;else{h=h+12|0;i=i+12|0}}}while(0);do if(O){if(!f){f=0;break}c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);f=0}while(0);if((M|0)==0|(L|0)==0){h=0;break}c[7183]=(c[7183]|0)+1;Hc(c[L+-4>>2]|0);h=0;break}}}h=1;f=0}while(0);if(!((Y|0)==0|(X|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[X+-4>>2]|0)}if(!f){sa=Z;return h|0}c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0);sa=Z;return h|0}function pb(b){b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;U=sa;sa=sa+176|0;rb(b);if(!(Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0)){sa=U;return}if((c[b+328>>2]|0)<=0){sa=U;return}S=U+96+32|0;T=U+96+52|0;L=0;do{O=c[(c[b+336>>2]|0)+(L<<2)>>2]|0;if(Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0?(K=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Fa[c[(c[K>>2]|0)+48>>2]&127](K)|0)&1|0):0){e=c[b+72>>2]|0;if(!(a[O+473>>0]|0))K=e;else{c[U+80>>2]=c[O+520>>2];c[U+80+4>>2]=c[O+520+4>>2];c[U+80+8>>2]=c[O+520+8>>2];c[U+80+12>>2]=c[O+520+12>>2];i=+g[O+584>>2];j=+g[O+536>>2];k=+g[O+600>>2];q=+g[O+540>>2];r=+g[O+616>>2];s=+g[O+544>>2];t=+g[O+588>>2];u=+g[O+604>>2];v=+g[O+620>>2];w=+g[O+592>>2];y=+g[O+608>>2];z=+g[O+624>>2];A=+g[O+552>>2];B=+g[O+556>>2];C=+g[O+560>>2];D=+g[O+568>>2];E=+g[O+572>>2];F=+g[O+576>>2];ea=i*j+k*q+r*s+(j*t+q*u+s*v)*0.0+(j*w+q*y+s*z)*0.0;ca=(w*A+y*B+z*C)*0.0+(i*A+k*B+r*C+(t*A+u*B+v*C)*0.0);ba=(w*D+y*E+z*F)*0.0+(i*D+k*E+r*F+(t*D+u*E+v*F)*0.0);da=1.0/+x(+(ea*ea+ca*ca+ba*ba));aa=(i*j+k*q+r*s)*0.0+(j*t+q*u+s*v)+(j*w+q*y+s*z)*0.0;_=(w*A+y*B+z*C)*0.0+(t*A+u*B+v*C+(i*A+k*B+r*C)*0.0);Z=(w*D+y*E+z*F)*0.0+(t*D+u*E+v*F+(i*D+k*E+r*F)*0.0);$=1.0/+x(+(aa*aa+_*_+Z*Z));Y=(i*j+k*q+r*s)*0.0+(j*t+q*u+s*v)*0.0+(j*w+q*y+s*z);W=w*A+y*B+z*C+((i*A+k*B+r*C)*0.0+(t*A+u*B+v*C)*0.0);V=w*D+y*E+z*F+((i*D+k*E+r*F)*0.0+(t*D+u*E+v*F)*0.0);X=1.0/+x(+(Y*Y+W*W+V*V));K=c[(c[e>>2]|0)+8>>2]|0;ca=+g[U+80+4>>2]+ca*da*10.0;ba=+g[U+80+8>>2]+ba*da*10.0;g[U+160>>2]=+g[U+80>>2]+ea*da*10.0;g[U+160+4>>2]=ca;g[U+160+8>>2]=ba;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;ab[K&127](e,U+80|0,U+160|0,U+96|0);K=c[(c[e>>2]|0)+8>>2]|0;_=_*$*10.0+ +g[U+80+4>>2];Z=Z*$*10.0+ +g[U+80+8>>2];g[U+160>>2]=aa*$*10.0+ +g[U+80>>2];g[U+160+4>>2]=_;g[U+160+8>>2]=Z;g[U+160+12>>2]=0.0;c[U+96>>2]=0;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;ab[K&127](e,U+80|0,U+160|0,U+96|0);K=c[(c[e>>2]|0)+8>>2]|0;W=W*X*10.0+ +g[U+80+4>>2];V=V*X*10.0+ +g[U+80+8>>2];g[U+160>>2]=Y*X*10.0+ +g[U+80>>2];g[U+160+4>>2]=W;g[U+160+8>>2]=V;g[U+160+12>>2]=0.0;c[U+96>>2]=0;c[U+96+4>>2]=0;c[U+96+8>>2]=1065353216;g[U+96+12>>2]=0.0;ab[K&127](e,U+80|0,U+160|0,U+96|0);if((c[O+484>>2]|0)>0){d=0;do{K=c[O+492>>2]|0;aa=+g[K+(d<<4)>>2];ba=+g[K+(d<<4)+4>>2];ea=+g[K+(d<<4)+8>>2];ca=+g[U+80>>2]+((i*j+k*q+r*s)*aa+(j*t+q*u+s*v)*ba+(j*w+q*y+s*z)*ea);da=+g[U+80+4>>2]+((i*A+k*B+r*C)*aa+(t*A+u*B+v*C)*ba+(w*A+y*B+z*C)*ea);ea=(i*D+k*E+r*F)*aa+(t*D+u*E+v*F)*ba+(w*D+y*E+z*F)*ea+ +g[U+80+8>>2];c[U+64>>2]=1065353216;c[U+64+4>>2]=0;c[U+64+8>>2]=1065353216;g[U+64+12>>2]=0.0;K=c[(c[e>>2]|0)+8>>2]|0;g[U+160>>2]=ca+-.10000000149011612;g[U+160+4>>2]=da;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+.10000000149011612;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[K&127](e,U+160|0,U+96|0,U+64|0);K=c[(c[e>>2]|0)+8>>2]|0;g[U+160>>2]=ca;g[U+160+4>>2]=da+-.10000000149011612;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+.10000000149011612;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[K&127](e,U+160|0,U+96|0,U+64|0);K=c[(c[e>>2]|0)+8>>2]|0;g[U+160>>2]=ca;g[U+160+4>>2]=da;g[U+160+8>>2]=ea+-.10000000149011612;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+.10000000149011612;g[U+96+12>>2]=0.0;ab[K&127](e,U+160|0,U+96|0,U+64|0);d=d+1|0}while((d|0)<(c[O+484>>2]|0))}K=c[b+72>>2]|0}J=c[b+344>>2]|0;c[U+80>>2]=0;c[U+80+4>>2]=0;c[U+80+8>>2]=0;c[U+80+12>>2]=0;c[U+64>>2]=1065353216;c[U+64+4>>2]=1065353216;c[U+64+8>>2]=1065353216;g[U+64+12>>2]=0.0;c[U+48>>2]=1065353216;c[U+48+4>>2]=0;c[U+48+8>>2]=0;g[U+48+12>>2]=0.0;if(!(J&256)){if(J&1|0?(P=c[O+712>>2]|0,(P|0)>0):0){f=0;d=P;do{e=c[O+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[(c[K>>2]|0)+8>>2]|0;I=e+(f*104|0)+8|0;G=e+(f*104|0)+12|0;o=c[G>>2]|0;H=e+(f*104|0)+16|0;p=c[H>>2]|0;g[U+160>>2]=+g[I>>2]+-.10000000149011612;c[U+160+4>>2]=o;c[U+160+8>>2]=p;g[U+160+12>>2]=0.0;da=+g[G>>2]+0.0;ea=+g[H>>2]+0.0;g[U+96>>2]=+g[I>>2]+.10000000149011612;g[U+96+4>>2]=da;g[U+96+8>>2]=ea;g[U+96+12>>2]=0.0;c[U+32>>2]=1065353216;c[U+32+4>>2]=0;c[U+32+8>>2]=0;g[U+32+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ea=+g[G>>2]+-.10000000149011612;p=c[H>>2]|0;c[U+160>>2]=c[I>>2];g[U+160+4>>2]=ea;c[U+160+8>>2]=p;g[U+160+12>>2]=0.0;ea=+g[G>>2]+.10000000149011612;da=+g[H>>2]+0.0;g[U+96>>2]=+g[I>>2]+0.0;g[U+96+4>>2]=ea;g[U+96+8>>2]=da;g[U+96+12>>2]=0.0;c[U+32>>2]=0;c[U+32+4>>2]=1065353216;c[U+32+8>>2]=0;g[U+32+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;p=c[G>>2]|0;da=+g[H>>2]+-.10000000149011612;c[U+160>>2]=c[I>>2];c[U+160+4>>2]=p;g[U+160+8>>2]=da;g[U+160+12>>2]=0.0;da=+g[G>>2]+0.0;ea=+g[H>>2]+.10000000149011612;g[U+96>>2]=+g[I>>2]+0.0;g[U+96+4>>2]=da;g[U+96+8>>2]=ea;g[U+96+12>>2]=0.0;c[U+32>>2]=0;c[U+32+4>>2]=0;c[U+32+8>>2]=1065353216;g[U+32+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[O+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(J&2|0?(Q=c[O+732>>2]|0,(Q|0)>0):0){f=0;d=Q;do{e=c[O+740>>2]|0;if(c[(c[e+(f*52|0)+4>>2]|0)+16>>2]&1){ab[c[(c[K>>2]|0)+8>>2]&127](K,(c[e+(f*52|0)+8>>2]|0)+8|0,(c[e+(f*52|0)+12>>2]|0)+8|0,U+80|0);d=c[O+732>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(J&16|0?(R=c[O+712>>2]|0,(R|0)>0):0){f=0;d=R;do{e=c[O+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){ca=+g[e+(f*104|0)+72>>2]*.5;ea=+g[e+(f*104|0)+76>>2]*.5;da=+g[e+(f*104|0)+80>>2]*.5;I=c[(c[K>>2]|0)+8>>2]|0;d=e+(f*104|0)+8|0;G=e+(f*104|0)+12|0;aa=ea+ +g[G>>2];H=e+(f*104|0)+16|0;ba=da+ +g[H>>2];g[U+160>>2]=ca+ +g[d>>2];g[U+160+4>>2]=aa;g[U+160+8>>2]=ba;g[U+160+12>>2]=0.0;ab[I&127](K,d,U+160|0,U+64|0);I=c[(c[K>>2]|0)+8>>2]|0;ea=+g[G>>2]-ea;da=+g[H>>2]-da;g[U+160>>2]=+g[d>>2]-ca;g[U+160+4>>2]=ea;g[U+160+8>>2]=da;g[U+160+12>>2]=0.0;da=+g[U+64+4>>2]*.5;ea=+g[U+64+8>>2]*.5;g[U+96>>2]=+g[U+64>>2]*.5;g[U+96+4>>2]=da;g[U+96+8>>2]=ea;g[U+96+12>>2]=0.0;ab[I&127](K,d,U+160|0,U+96|0);d=c[O+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(J&32|0){if((a[26696]|0)==0?mz(26696)|0:0){c[6092]=1065353216;c[6093]=0;c[6094]=0;c[6095]=0;c[6096]=0;c[6097]=1065353216;c[6098]=0;c[6099]=0;c[6100]=0;c[6101]=0;c[6102]=1065353216;g[6103]=0.0}if((c[O+812>>2]|0)>0){d=0;do{I=c[O+820>>2]|0;G=c[I+(d*104|0)+24>>2]|0;A=+g[G+8>>2];H=I+(d*104|0)+4|0;B=+g[H>>2];C=+g[G+12>>2];p=I+(d*104|0)+8|0;D=+g[p>>2];V=+g[G+16>>2];G=I+(d*104|0)+12|0;W=+g[G>>2];X=+g[I+(d*104|0)+20>>2]+(A*B+C*D+V*W);g[U+160>>2]=A-B*X;g[U+160+4>>2]=C-D*X;g[U+160+8>>2]=V-W*X;g[U+160+12>>2]=0.0;Y=+g[H>>2];da=+g[p>>2];E=+g[G>>2];I=Y>2];Z=+g[24368+(I<<4)+4>>2];ba=+g[24368+(I<<4)>>2];$=1.0/+x(+((Y*Z-da*ba)*(Y*Z-da*ba)+((da*F-E*Z)*(da*F-E*Z)+(E*ba-Y*F)*(E*ba-Y*F))));_=E*(E*ba-Y*F)*$-da*(Y*Z-da*ba)*$;aa=Y*(Y*Z-da*ba)*$-E*(da*F-E*Z)*$;ca=da*(da*F-E*Z)*$-Y*(E*ba-Y*F)*$;ea=1.0/+x(+(ca*ca+(_*_+aa*aa)));I=c[(c[K>>2]|0)+8>>2]|0;g[U+96>>2]=A-B*X-(da*F-E*Z)*$*.5;g[U+96+4>>2]=C-D*X-(E*ba-Y*F)*$*.5;g[U+96+8>>2]=V-W*X-(Y*Z-da*ba)*$*.5;g[U+96+12>>2]=0.0;g[U+32>>2]=A-B*X+(da*F-E*Z)*$*.5;g[U+32+4>>2]=C-D*X+(E*ba-Y*F)*$*.5;g[U+32+8>>2]=V-W*X+(Y*Z-da*ba)*$*.5;g[U+32+12>>2]=0.0;ab[I&127](K,U+96|0,U+32|0,U+48|0);I=c[(c[K>>2]|0)+8>>2]|0;$=+g[U+160>>2];ba=+g[U+160+4>>2];da=+g[U+160+8>>2];g[U+96>>2]=$-_*ea*.5;g[U+96+4>>2]=ba-aa*ea*.5;g[U+96+8>>2]=da-ca*ea*.5;g[U+96+12>>2]=0.0;g[U+32>>2]=_*ea*.5+$;g[U+32+4>>2]=aa*ea*.5+ba;g[U+32+8>>2]=ca*ea*.5+da;g[U+32+12>>2]=0.0;ab[I&127](K,U+96|0,U+32|0,U+48|0);I=c[(c[K>>2]|0)+8>>2]|0;da=+g[p>>2]*.5*3.0+ +g[U+160+4>>2];ea=+g[G>>2]*.5*3.0+ +g[U+160+8>>2];g[U+96>>2]=+g[H>>2]*.5*3.0+ +g[U+160>>2];g[U+96+4>>2]=da;g[U+96+8>>2]=ea;g[U+96+12>>2]=0.0;c[U+32>>2]=1065353216;c[U+32+4>>2]=1065353216;c[U+32+8>>2]=0;g[U+32+12>>2]=0.0;ab[I&127](K,U+160|0,U+96|0,U+32|0);d=d+1|0}while((d|0)<(c[O+812>>2]|0))}}if(J&4|0?(c[U+160>>2]=0,c[U+160+4>>2]=1060320051,c[U+160+8>>2]=0,g[U+160+12>>2]=0.0,M=c[O+752>>2]|0,(M|0)>0):0){f=0;d=M;do{e=c[O+760>>2]|0;if(c[(c[e+(f*44|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*44|0)+8>>2]|0;Y=+g[d+8>>2];$=+g[d+12>>2];ca=+g[d+16>>2];d=c[e+(f*44|0)+12>>2]|0;Z=+g[d+8>>2];aa=+g[d+12>>2];da=+g[d+16>>2];d=c[e+(f*44|0)+16>>2]|0;_=+g[d+8>>2];ba=+g[d+12>>2];ea=+g[d+16>>2];d=c[(c[K>>2]|0)+28>>2]|0;g[U+96>>2]=(Y+Z+_)*.3333333432674408+(Y-(Y+Z+_)*.3333333432674408)*.800000011920929;g[U+96+4>>2]=($+aa+ba)*.3333333432674408+($-($+aa+ba)*.3333333432674408)*.800000011920929;g[U+96+8>>2]=(ca+da+ea)*.3333333432674408+(ca-(ca+da+ea)*.3333333432674408)*.800000011920929;g[U+96+12>>2]=0.0;g[U+32>>2]=(Y+Z+_)*.3333333432674408+(Z-(Y+Z+_)*.3333333432674408)*.800000011920929;g[U+32+4>>2]=($+aa+ba)*.3333333432674408+(aa-($+aa+ba)*.3333333432674408)*.800000011920929;g[U+32+8>>2]=(ca+da+ea)*.3333333432674408+(da-(ca+da+ea)*.3333333432674408)*.800000011920929;g[U+32+12>>2]=0.0;g[U+16>>2]=(Y+Z+_)*.3333333432674408+(_-(Y+Z+_)*.3333333432674408)*.800000011920929;g[U+16+4>>2]=($+aa+ba)*.3333333432674408+(ba-($+aa+ba)*.3333333432674408)*.800000011920929;g[U+16+8>>2]=(ca+da+ea)*.3333333432674408+(ea-(ca+da+ea)*.3333333432674408)*.800000011920929;g[U+16+12>>2]=0.0;fb[d&1](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[O+752>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(J&8|0?(c[U+160>>2]=1050253722,c[U+160+4>>2]=1050253722,c[U+160+8>>2]=1060320051,g[U+160+12>>2]=0.0,N=c[O+772>>2]|0,(N|0)>0):0){f=0;d=N;do{e=c[O+780>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*104|0)+8>>2]|0;w=+g[d+8>>2];A=+g[d+12>>2];D=+g[d+16>>2];d=c[e+(f*104|0)+12>>2]|0;y=+g[d+8>>2];B=+g[d+12>>2];E=+g[d+16>>2];d=c[e+(f*104|0)+16>>2]|0;z=+g[d+8>>2];C=+g[d+12>>2];F=+g[d+16>>2];d=c[e+(f*104|0)+20>>2]|0;ca=+g[d+8>>2];da=+g[d+12>>2];ea=+g[d+16>>2];d=c[(c[K>>2]|0)+28>>2]|0;$=(w+y+z+ca)*.25+(w-(w+y+z+ca)*.25)*.800000011920929;aa=(A+B+C+da)*.25+(A-(A+B+C+da)*.25)*.800000011920929;ba=(D+E+F+ea)*.25+(D-(D+E+F+ea)*.25)*.800000011920929;g[U+96>>2]=$;g[U+96+4>>2]=aa;g[U+96+8>>2]=ba;g[U+96+12>>2]=0.0;V=(w+y+z+ca)*.25+(y-(w+y+z+ca)*.25)*.800000011920929;W=(A+B+C+da)*.25+(B-(A+B+C+da)*.25)*.800000011920929;X=(D+E+F+ea)*.25+(E-(D+E+F+ea)*.25)*.800000011920929;g[U+32>>2]=V;g[U+32+4>>2]=W;g[U+32+8>>2]=X;g[U+32+12>>2]=0.0;Y=(w+y+z+ca)*.25+(z-(w+y+z+ca)*.25)*.800000011920929;Z=(A+B+C+da)*.25+(C-(A+B+C+da)*.25)*.800000011920929;_=(D+E+F+ea)*.25+(F-(D+E+F+ea)*.25)*.800000011920929;g[U+16>>2]=Y;g[U+16+4>>2]=Z;g[U+16+8>>2]=_;g[U+16+12>>2]=0.0;fb[d&1](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;g[U+96>>2]=$;g[U+96+4>>2]=aa;g[U+96+8>>2]=ba;g[U+96+12>>2]=0.0;g[U+32>>2]=V;g[U+32+4>>2]=W;g[U+32+8>>2]=X;g[U+32+12>>2]=0.0;ca=(w+y+z+ca)*.25+(ca-(w+y+z+ca)*.25)*.800000011920929;da=(A+B+C+da)*.25+(da-(A+B+C+da)*.25)*.800000011920929;ea=(D+E+F+ea)*.25+(ea-(D+E+F+ea)*.25)*.800000011920929;g[U+16>>2]=ca;g[U+16+4>>2]=da;g[U+16+8>>2]=ea;g[U+16+12>>2]=0.0;fb[d&1](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;g[U+96>>2]=V;g[U+96+4>>2]=W;g[U+96+8>>2]=X;g[U+96+12>>2]=0.0;g[U+32>>2]=Y;g[U+32+4>>2]=Z;g[U+32+8>>2]=_;g[U+32+12>>2]=0.0;g[U+16>>2]=ca;g[U+16+4>>2]=da;g[U+16+8>>2]=ea;g[U+16+12>>2]=0.0;fb[d&1](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;g[U+96>>2]=Y;g[U+96+4>>2]=Z;g[U+96+8>>2]=_;g[U+96+12>>2]=0.0;g[U+32>>2]=$;g[U+32+4>>2]=aa;g[U+32+8>>2]=ba;g[U+32+12>>2]=0.0;g[U+16>>2]=ca;g[U+16+4>>2]=da;g[U+16+8>>2]=ea;g[U+16+12>>2]=0.0;fb[d&1](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[O+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}}else{lI();d=c[O+1112>>2]|0;if((d|0)>0){I=0;do{if(a[(c[(c[O+1120>>2]|0)+(I<<2)>>2]|0)+377>>0]|0){ba=+(Kq()|0)*4.656612873077393e-10;ca=+(Kq()|0)*4.656612873077393e-10;da=+(Kq()|0)*4.656612873077393e-10;ea=1.0/+x(+(da*da+(ba*ba+ca*ca)));g[U+160>>2]=ba*ea*.75;g[U+160+4>>2]=ca*ea*.75;g[U+160+8>>2]=da*ea*.75;g[U+160+12>>2]=0.0;f=c[(c[(c[O+1120>>2]|0)+(I<<2)>>2]|0)+24>>2]|0;if((f|0)>0){c[7182]=(c[7182]|0)+1;d=xb((f<<4|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=0;do{H=e+(d<<4)|0;c[H>>2]=c[U+96>>2];c[H+4>>2]=c[U+96+4>>2];c[H+8>>2]=c[U+96+8>>2];c[H+12>>2]=c[U+96+12>>2];d=d+1|0}while((d|0)!=(f|0));d=0;do{G=(c[(c[(c[(c[O+1120>>2]|0)+(I<<2)>>2]|0)+32>>2]|0)+(d<<2)>>2]|0)+8|0;H=e+(d<<4)|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];d=d+1|0}while((d|0)!=(f|0));H=e;G=e}else{H=0;G=0}a[U+96+16>>0]=1;c[U+96+12>>2]=0;c[U+96+4>>2]=0;c[U+96+8>>2]=0;a[U+96+36>>0]=1;c[S>>2]=0;c[U+96+24>>2]=0;c[U+96+28>>2]=0;a[U+96+56>>0]=1;c[T>>2]=0;c[U+96+44>>2]=0;c[U+96+48>>2]=0;zb(U+96|0,G,f);o=c[U+96+44>>2]|0;if((o|0)>0){m=c[S>>2]|0;l=0;do{p=c[(c[T>>2]|0)+(l<<2)>>2]|0;e=c[m+(p*12|0)+4>>2]|0;d=m+(p*12|0)+(e*12|0)+((c[m+(p*12|0)+(e*12|0)>>2]|0)*12|0)|0;if((d|0)!=(m+(p*12|0)|0)){n=c[U+96+12>>2]|0;e=c[m+(p*12|0)+(e*12|0)+8>>2]|0;f=c[m+(p*12|0)+8>>2]|0;while(1){h=c[d+8>>2]|0;fb[c[(c[K>>2]|0)+28>>2]&1](K,n+(e<<4)|0,n+(f<<4)|0,n+(h<<4)|0,U+160|0,1.0);e=d+((c[d+4>>2]|0)*12|0)|0;d=e+((c[e>>2]|0)*12|0)|0;if((d|0)==(m+(p*12|0)|0))break;else{e=f;f=h}}}l=l+1|0}while((l|0)<(o|0))}d=c[T>>2]|0;if(d|0){if(a[U+96+56>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[T>>2]=0}a[U+96+56>>0]=1;c[T>>2]=0;c[U+96+44>>2]=0;c[U+96+48>>2]=0;d=c[S>>2]|0;if(d|0){if(a[U+96+36>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[S>>2]=0}a[U+96+36>>0]=1;c[S>>2]=0;c[U+96+24>>2]=0;c[U+96+28>>2]=0;d=c[U+96+12>>2]|0;if(d|0){if(a[U+96+16>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[d+-4>>2]|0)}c[U+96+12>>2]=0}if(!((H|0)==0|(G|0)==0)){c[7183]=(c[7183]|0)+1;Hc(c[G+-4>>2]|0)}d=c[O+1112>>2]|0}I=I+1|0}while((I|0)<(d|0))}}if(J&64|0){if((c[O+792>>2]|0)>0){d=0;do{I=c[O+800>>2]|0;G=c[I+(d*96|0)+20>>2]|0;aa=+g[I+(d*96|0)+4>>2];ba=+g[I+(d*96|0)+8>>2];ca=+g[I+(d*96|0)+12>>2];da=aa*+g[G+20>>2]+ba*+g[G+24>>2]+ca*+g[G+28>>2]+ +g[G+56>>2];ea=aa*+g[G+36>>2]+ba*+g[G+40>>2]+ca*+g[G+44>>2]+ +g[G+60>>2];g[U+32>>2]=aa*+g[G+4>>2]+ba*+g[G+8>>2]+ca*+g[G+12>>2]+ +g[G+52>>2];g[U+32+4>>2]=da;g[U+32+8>>2]=ea;g[U+32+12>>2]=0.0;I=I+(d*96|0)|0;G=c[I>>2]|0;c[U+16>>2]=1065353216;c[U+16+4>>2]=0;c[U+16+8>>2]=0;g[U+16+12>>2]=0.0;H=c[(c[K>>2]|0)+8>>2]|0;ea=+g[G+8>>2];da=+g[G+12>>2];ca=+g[G+16>>2];g[U+160>>2]=ea+-.25;g[U+160+4>>2]=da;g[U+160+8>>2]=ca;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+.25;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ca+0.0;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ca=+g[G+8>>2];da=+g[G+12>>2];ea=+g[G+16>>2];g[U+160>>2]=ca;g[U+160+4>>2]=da+-.25;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+.25;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ea=+g[G+8>>2];da=+g[G+12>>2];ca=+g[G+16>>2];g[U+160>>2]=ea;g[U+160+4>>2]=da;g[U+160+8>>2]=ca+-.25;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ca+.25;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;g[U+16+12>>2]=0.0;H=c[(c[K>>2]|0)+8>>2]|0;ca=+g[U+32>>2];da=+g[U+32+4>>2];ea=+g[U+32+8>>2];g[U+160>>2]=ca+-.25;g[U+160+4>>2]=da;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+.25;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ea=+g[U+32>>2];da=+g[U+32+4>>2];ca=+g[U+32+8>>2];g[U+160>>2]=ea;g[U+160+4>>2]=da+-.25;g[U+160+8>>2]=ca;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+0.0;g[U+96+4>>2]=da+.25;g[U+96+8>>2]=ca+0.0;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ca=+g[U+32>>2];da=+g[U+32+4>>2];ea=+g[U+32+8>>2];g[U+160>>2]=ca;g[U+160+4>>2]=da;g[U+160+8>>2]=ea+-.25;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+.25;g[U+96+12>>2]=0.0;ab[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;I=(c[I>>2]|0)+8|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;ab[H&127](K,I,U+32|0,U+160|0);d=d+1|0}while((d|0)<(c[O+792>>2]|0))}d=c[O+712>>2]|0;if((d|0)>0){f=0;do{e=c[O+720>>2]|0;if((c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[e+(f*104|0)+88>>2]<=0.0:0){c[U+32>>2]=1065353216;c[U+32+4>>2]=0;c[U+32+8>>2]=0;g[U+32+12>>2]=0.0;d=c[(c[K>>2]|0)+8>>2]|0;G=e+(f*104|0)+8|0;ca=+g[G>>2];H=e+(f*104|0)+12|0;da=+g[H>>2];I=e+(f*104|0)+16|0;ea=+g[I>>2];g[U+160>>2]=ca+-.25;g[U+160+4>>2]=da;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+.25;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ea=+g[G>>2];da=+g[H>>2];ca=+g[I>>2];g[U+160>>2]=ea;g[U+160+4>>2]=da+-.25;g[U+160+8>>2]=ca;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+0.0;g[U+96+4>>2]=da+.25;g[U+96+8>>2]=ca+0.0;g[U+96+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ca=+g[G>>2];da=+g[H>>2];ea=+g[I>>2];g[U+160>>2]=ca;g[U+160+4>>2]=da;g[U+160+8>>2]=ea+-.25;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+.25;g[U+96+12>>2]=0.0;ab[d&127](K,U+160|0,U+96|0,U+32|0);d=c[O+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}}if(J&128|0?(c[O+692>>2]|0)>0:0){e=0;do{f=c[O+700>>2]|0;h=f+(e*60|0)+8|0;c[U+160>>2]=c[h>>2];c[U+160+4>>2]=c[h+4>>2];c[U+160+8>>2]=c[h+8>>2];c[U+160+12>>2]=c[h+12>>2];h=c[f+(e*60|0)+24>>2]|0;if((h|0)>0){d=0;i=+g[U+160>>2];j=+g[U+160+4>>2];k=+g[U+160+8>>2];do{I=c[f+(e*60|0)+28+(d<<2)>>2]|0;ea=+g[f+(e*60|0)+44+(d<<2)>>2];i=+g[I+8>>2]*ea+i;j=ea*+g[I+12>>2]+j;k=ea*+g[I+16>>2]+k;g[U+160+8>>2]=k;d=d+1|0}while((d|0)!=(h|0));g[U+160>>2]=i;g[U+160+4>>2]=j}Za[c[(c[K>>2]|0)+40>>2]&127](K,U+160|0,c[f+(e*60|0)+4>>2]|0);e=e+1|0}while((e|0)<(c[O+692>>2]|0))}if(J&512|0){I=c[O+928>>2]|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=0;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=1065353216;g[U+96+12>>2]=0.0;Xe(K,I,0,U+160|0,U+96|0)}if(J&1024|0){I=c[O+988>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;Xe(K,I,0,U+160|0,U+96|0)}if(J&2048|0){I=c[O+1048>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;Xe(K,I,0,U+160|0,U+96|0)}a:do if(J&4096|0?(c[O+852>>2]|0)>0:0){d=0;while(1){e=c[(c[O+860>>2]|0)+(d<<2)>>2]|0;switch(Fa[c[(c[e>>2]|0)+20>>2]&127](e)|0){case 0:{J=Jh(e+4|0)|0;ea=+g[e+28>>2];da=+g[e+32>>2];ca=+g[e+36>>2];ba=ea*+g[J+16>>2]+da*+g[J+20>>2]+ca*+g[J+24>>2]+ +g[J+52>>2];aa=ea*+g[J+32>>2]+da*+g[J+36>>2]+ca*+g[J+40>>2]+ +g[J+56>>2];g[U+32>>2]=ea*+g[J>>2]+da*+g[J+4>>2]+ca*+g[J+8>>2]+ +g[J+48>>2];g[U+32+4>>2]=ba;g[U+32+8>>2]=aa;g[U+32+12>>2]=0.0;J=Jh(e+16|0)|0;aa=+g[e+44>>2];ba=+g[e+48>>2];ca=+g[e+52>>2];da=aa*+g[J+16>>2]+ba*+g[J+20>>2]+ca*+g[J+24>>2]+ +g[J+52>>2];ea=aa*+g[J+32>>2]+ba*+g[J+36>>2]+ca*+g[J+40>>2]+ +g[J+56>>2];g[U+16>>2]=aa*+g[J>>2]+ba*+g[J+4>>2]+ca*+g[J+8>>2]+ +g[J+48>>2];g[U+16+4>>2]=da;g[U+16+8>>2]=ea;g[U+16+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;I=(Jh(e+4|0)|0)+48|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;g[U+160+12>>2]=0.0;ab[J&127](K,I,U+32|0,U+160|0);I=c[(c[K>>2]|0)+8>>2]|0;J=(Jh(e+16|0)|0)+48|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;ab[I&127](K,J,U+16|0,U+160|0);c[U>>2]=1065353216;c[U+4>>2]=1065353216;c[U+8>>2]=0;g[U+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;ea=+g[U+32>>2];da=+g[U+32+4>>2];ca=+g[U+32+8>>2];g[U+160>>2]=ea+-.25;g[U+160+4>>2]=da;g[U+160+8>>2]=ca;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+.25;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ca+0.0;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ca=+g[U+32>>2];da=+g[U+32+4>>2];ea=+g[U+32+8>>2];g[U+160>>2]=ca;g[U+160+4>>2]=da+-.25;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+.25;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ea=+g[U+32>>2];da=+g[U+32+4>>2];ca=+g[U+32+8>>2];g[U+160>>2]=ea;g[U+160+4>>2]=da;g[U+160+8>>2]=ca+-.25;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ca+.25;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);c[U>>2]=0;c[U+4>>2]=1065353216;c[U+8>>2]=1065353216;g[U+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;ca=+g[U+16>>2];da=+g[U+16+4>>2];ea=+g[U+16+8>>2];g[U+160>>2]=ca+-.25;g[U+160+4>>2]=da;g[U+160+8>>2]=ea;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+.25;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+0.0;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ea=+g[U+16>>2];da=+g[U+16+4>>2];ca=+g[U+16+8>>2];g[U+160>>2]=ea;g[U+160+4>>2]=da+-.25;g[U+160+8>>2]=ca;g[U+160+12>>2]=0.0;g[U+96>>2]=ea+0.0;g[U+96+4>>2]=da+.25;g[U+96+8>>2]=ca+0.0;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ca=+g[U+16>>2];da=+g[U+16+4>>2];ea=+g[U+16+8>>2];g[U+160>>2]=ca;g[U+160+4>>2]=da;g[U+160+8>>2]=ea+-.25;g[U+160+12>>2]=0.0;g[U+96>>2]=ca+0.0;g[U+96+4>>2]=da+0.0;g[U+96+8>>2]=ea+.25;g[U+96+12>>2]=0.0;ab[J&127](K,U+160|0,U+96|0,U);break}case 1:{J=(Jh(e+4|0)|0)+48|0;c[U+160>>2]=c[J>>2];c[U+160+4>>2]=c[J+4>>2];c[U+160+8>>2]=c[J+8>>2];c[U+160+12>>2]=c[J+12>>2];J=(Jh(e+16|0)|0)+48|0;c[U+96>>2]=c[J>>2];c[U+96+4>>2]=c[J+4>>2];c[U+96+8>>2]=c[J+8>>2];c[U+96+12>>2]=c[J+12>>2];J=Jh(e+4|0)|0;_=+g[e+28>>2];Z=+g[e+32>>2];ba=+g[e+36>>2];$=+g[J>>2]*_+ +g[J+4>>2]*Z+ +g[J+8>>2]*ba;aa=_*+g[J+16>>2]+Z*+g[J+20>>2]+ba*+g[J+24>>2];ba=_*+g[J+32>>2]+Z*+g[J+36>>2]+ba*+g[J+40>>2];J=Jh(e+16|0)|0;Z=+g[e+44>>2];_=+g[e+48>>2];ea=+g[e+52>>2];ca=+g[J>>2]*Z+ +g[J+4>>2]*_+ +g[J+8>>2]*ea;da=Z*+g[J+16>>2]+_*+g[J+20>>2]+ea*+g[J+24>>2];ea=Z*+g[J+32>>2]+_*+g[J+36>>2]+ea*+g[J+40>>2];J=c[(c[K>>2]|0)+8>>2]|0;_=aa*10.0+ +g[U+160+4>>2];Z=ba*10.0+ +g[U+160+8>>2];g[U+32>>2]=$*10.0+ +g[U+160>>2];g[U+32+4>>2]=_;g[U+32+8>>2]=Z;g[U+32+12>>2]=0.0;c[U+16>>2]=1065353216;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;g[U+16+12>>2]=0.0;ab[J&127](K,U+160|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;Z=da*10.0+ +g[U+160+4>>2];_=ea*10.0+ +g[U+160+8>>2];g[U+32>>2]=ca*10.0+ +g[U+160>>2];g[U+32+4>>2]=Z;g[U+32+8>>2]=_;g[U+32+12>>2]=0.0;c[U+16>>2]=1065353216;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;g[U+16+12>>2]=0.0;ab[J&127](K,U+160|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;aa=aa*10.0+ +g[U+96+4>>2];ba=ba*10.0+ +g[U+96+8>>2];g[U+32>>2]=$*10.0+ +g[U+96>>2];g[U+32+4>>2]=aa;g[U+32+8>>2]=ba;g[U+32+12>>2]=0.0;c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=1065353216;g[U+16+12>>2]=0.0;ab[J&127](K,U+96|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;da=da*10.0+ +g[U+96+4>>2];ea=ea*10.0+ +g[U+96+8>>2];g[U+32>>2]=ca*10.0+ +g[U+96>>2];g[U+32+4>>2]=da;g[U+32+8>>2]=ea;g[U+32+12>>2]=0.0;c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=1065353216;g[U+16+12>>2]=0.0;ab[J&127](K,U+96|0,U+32|0,U+16|0);break}default:{}}d=d+1|0;if((d|0)>=(c[O+852>>2]|0))break a}}while(0)}d=c[b+72>>2]|0;if(d|0?(Fa[c[(c[d>>2]|0)+48>>2]&127](d)|0)&2|0:0){if(a[b+348>>0]|0){J=c[b+72>>2]|0;K=c[O+928>>2]|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=0;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=1065353216;g[U+96+12>>2]=0.0;Xe(J,K,0,U+160|0,U+96|0)}if(a[b+349>>0]|0){J=c[b+72>>2]|0;K=c[O+988>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;Xe(J,K,0,U+160|0,U+96|0)}if(a[b+350>>0]|0){K=c[b+72>>2]|0;O=c[O+1048>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;g[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;g[U+96+12>>2]=0.0;Xe(K,O,0,U+160|0,U+96|0)}}L=L+1|0}while((L|0)<(c[b+328>>2]|0));sa=U;return}function qb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0;ca=sa;sa=sa+80|0;if((e|0)<=0){sa=ca;return}T=0;do{W=c[d+(T<<2)>>2]|0;X=c[W+740>>2]|0;Y=c[W+744>>2]|0;Z=Xc(b,X,+g[f+12>>2])|0;_=Xc(b,Y,+g[f+12>>2])|0;$=c[b+16>>2]|0;if(!(((((+g[$+(Z*244|0)+128>>2]==0.0?+g[$+(Z*244|0)+132>>2]==0.0:0)?+g[$+(Z*244|0)+136>>2]==0.0:0)?+g[$+(_*244|0)+128>>2]==0.0:0)?+g[$+(_*244|0)+132>>2]==0.0:0)?+g[$+(_*244|0)+136>>2]==0.0:0))ba=9;if((ba|0)==9?(ba=0,aa=c[W+748>>2]|0,(aa|0)>0):0){U=0;h=1;i=aa;do{R=W+4+(U*184|0)|0;n=W+4+(U*184|0)+80|0;if(+g[n>>2]<=+g[W+756>>2]){S=c[b+28>>2]|0;if((S|0)==(c[b+32>>2]|0)?(V=(S|0)==0?1:S<<1,(S|0)<(V|0)):0){if(!V){i=0;k=S}else{c[7182]=(c[7182]|0)+1;i=xb((V*152|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[b+28>>2]|0}if((k|0)>0){j=0;do{Bh(i+(j*152|0)|0,(c[b+36>>2]|0)+(j*152|0)|0,152)|0;j=j+1|0}while((j|0)!=(k|0))}j=c[b+36>>2]|0;if(j|0){if(a[b+40>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[j+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=V;i=c[b+28>>2]|0}else i=S;c[b+28>>2]=i+1;Q=c[b+36>>2]|0;o=(c[X+236>>2]&2|0)==0?0:X;p=(c[Y+236>>2]&2|0)==0?0:Y;c[Q+(S*152|0)+144>>2]=Z;c[Q+(S*152|0)+148>>2]=_;c[Q+(S*152|0)+132>>2]=R;A=+g[W+4+(U*184|0)+48>>2]-+g[X+52>>2];B=+g[W+4+(U*184|0)+52>>2]-+g[X+56>>2];z=+g[W+4+(U*184|0)+56>>2]-+g[X+60>>2];g[ca+64>>2]=A;g[ca+64+4>>2]=B;g[ca+64+8>>2]=z;g[ca+64+12>>2]=0.0;E=+g[W+4+(U*184|0)+32>>2]-+g[Y+52>>2];F=+g[W+4+(U*184|0)+36>>2]-+g[Y+56>>2];D=+g[W+4+(U*184|0)+40>>2]-+g[Y+60>>2];g[ca+48>>2]=E;g[ca+48+4>>2]=F;g[ca+48+8>>2]=D;g[ca+48+12>>2]=0.0;if(!(c[$+(Z*244|0)+240>>2]|0)){m=0.0;r=0.0;t=0.0}else{M=+g[$+(Z*244|0)+192>>2]+ +g[$+(Z*244|0)+224>>2];t=+g[$+(Z*244|0)+196>>2]+ +g[$+(Z*244|0)+228>>2];r=+g[$+(Z*244|0)+200>>2]+ +g[$+(Z*244|0)+232>>2];m=+g[$+(Z*244|0)+176>>2]+ +g[$+(Z*244|0)+208>>2]+(z*t-B*r);r=+g[$+(Z*244|0)+180>>2]+ +g[$+(Z*244|0)+212>>2]+(A*r-z*M);t=+g[$+(Z*244|0)+184>>2]+ +g[$+(Z*244|0)+216>>2]+(B*M-A*t)}if(!(c[$+(_*244|0)+240>>2]|0)){l=0.0;q=0.0;s=0.0}else{M=+g[$+(_*244|0)+192>>2]+ +g[$+(_*244|0)+224>>2];s=+g[$+(_*244|0)+196>>2]+ +g[$+(_*244|0)+228>>2];q=+g[$+(_*244|0)+200>>2]+ +g[$+(_*244|0)+232>>2];l=+g[$+(_*244|0)+176>>2]+ +g[$+(_*244|0)+208>>2]+(D*s-F*q);q=+g[$+(_*244|0)+180>>2]+ +g[$+(_*244|0)+212>>2]+(E*q-D*M);s=+g[$+(_*244|0)+184>>2]+ +g[$+(_*244|0)+216>>2]+(F*M-E*s)}M=m-l;L=r-q;H=t-s;N=W+4+(U*184|0)+64|0;I=+g[N>>2];O=W+4+(U*184|0)+68|0;J=+g[O>>2];P=W+4+(U*184|0)+72|0;K=+g[P>>2];k=c[b+16>>2]|0;i=c[k+(Z*244|0)+240>>2]|0;j=c[k+(_*244|0)+240>>2]|0;if(i|0){l=((B*K-z*J)*+g[i+264>>2]+(z*I-K*A)*+g[i+268>>2]+(J*A-B*I)*+g[i+272>>2])*+g[i+544>>2];m=((B*K-z*J)*+g[i+280>>2]+(z*I-K*A)*+g[i+284>>2]+(J*A-B*I)*+g[i+288>>2])*+g[i+548>>2];q=((B*K-z*J)*+g[i+296>>2]+(z*I-K*A)*+g[i+300>>2]+(J*A-B*I)*+g[i+304>>2])*+g[i+552>>2]}else{l=0.0;m=0.0;q=0.0}g[Q+(S*152|0)+64>>2]=l;g[Q+(S*152|0)+68>>2]=m;g[Q+(S*152|0)+72>>2]=q;g[Q+(S*152|0)+76>>2]=0.0;u=+g[P>>2];v=+g[O>>2];y=+g[N>>2];if(j|0){r=(+g[j+264>>2]*-(F*u-D*v)+ +g[j+268>>2]*-(D*y-u*E)+ +g[j+272>>2]*-(v*E-F*y))*+g[j+544>>2];s=(+g[j+280>>2]*-(F*u-D*v)+ +g[j+284>>2]*-(D*y-u*E)+ +g[j+288>>2]*-(v*E-F*y))*+g[j+548>>2];t=(+g[j+296>>2]*-(F*u-D*v)+ +g[j+300>>2]*-(D*y-u*E)+ +g[j+304>>2]*-(v*E-F*y))*+g[j+552>>2]}else{r=0.0;s=0.0;t=0.0}g[Q+(S*152|0)+80>>2]=r;g[Q+(S*152|0)+84>>2]=s;g[Q+(S*152|0)+88>>2]=t;g[Q+(S*152|0)+92>>2]=0.0;if(i|0)m=+g[i+344>>2]+((m*z-q*B)*+g[N>>2]+(q*A-z*l)*+g[O>>2]+(B*l-m*A)*+g[P>>2]);else m=0.0;if(j|0){G=-r;l=-s;t=-t;l=+g[j+344>>2]+((D*l-F*t)*+g[N>>2]+(E*t-D*G)*+g[O>>2]+(F*G-E*l)*+g[P>>2])}else l=0.0;g[Q+(S*152|0)+108>>2]=1.0/(m+l);if(i|0){c[Q+(S*152|0)+16>>2]=c[N>>2];c[Q+(S*152|0)+16+4>>2]=c[N+4>>2];c[Q+(S*152|0)+16+8>>2]=c[N+8>>2];c[Q+(S*152|0)+16+12>>2]=c[N+12>>2];g[Q+(S*152|0)>>2]=B*K-z*J;g[Q+(S*152|0)+4>>2]=z*I-K*A;g[Q+(S*152|0)+8>>2]=J*A-B*I;g[Q+(S*152|0)+12>>2]=0.0}else{c[Q+(S*152|0)>>2]=0;c[Q+(S*152|0)+4>>2]=0;c[Q+(S*152|0)+8>>2]=0;c[Q+(S*152|0)+12>>2]=0;c[Q+(S*152|0)+16>>2]=0;c[Q+(S*152|0)+20>>2]=0;c[Q+(S*152|0)+24>>2]=0;c[Q+(S*152|0)+28>>2]=0}if(j|0){t=-+g[O>>2];G=-+g[P>>2];g[Q+(S*152|0)+48>>2]=-+g[N>>2];g[Q+(S*152|0)+52>>2]=t;g[Q+(S*152|0)+56>>2]=G;g[Q+(S*152|0)+60>>2]=0.0;g[Q+(S*152|0)+32>>2]=-(F*u-D*v);g[Q+(S*152|0)+36>>2]=-(D*y-u*E);g[Q+(S*152|0)+40>>2]=-(v*E-F*y);g[Q+(S*152|0)+44>>2]=0.0}else{c[Q+(S*152|0)+32>>2]=0;c[Q+(S*152|0)+32+4>>2]=0;c[Q+(S*152|0)+32+8>>2]=0;c[Q+(S*152|0)+32+12>>2]=0;c[Q+(S*152|0)+32+16>>2]=0;c[Q+(S*152|0)+32+20>>2]=0;c[Q+(S*152|0)+32+24>>2]=0;c[Q+(S*152|0)+32+28>>2]=0}G=+g[n>>2]+ +g[f+56>>2];if(i|0){r=+g[i+332>>2];s=+g[i+336>>2];y=+g[i+328>>2];t=r*z-s*B+ +g[i+312>>2];s=+g[i+316>>2]+(s*A-z*y);r=B*y-r*A+ +g[i+320>>2]}else{t=0.0;s=0.0;r=0.0}if(j|0){l=+g[j+332>>2];m=+g[j+336>>2];B=+g[j+328>>2];q=l*D-m*F+ +g[j+312>>2];m=+g[j+316>>2]+(m*E-D*B);l=F*B-l*E+ +g[j+320>>2]}else{q=0.0;m=0.0;l=0.0}D=(t-q)*+g[N>>2]+(s-m)*+g[O>>2]+(r-l)*+g[P>>2];c[Q+(S*152|0)+104>>2]=c[W+4+(U*184|0)+84>>2];D=D*+g[W+4+(U*184|0)+92>>2];D=D>=-0.0?0.0:-D;do if(!(c[f+64>>2]&4))g[Q+(S*152|0)+100>>2]=0.0;else{l=+g[W+4+(U*184|0)+120>>2]*+g[f+60>>2];g[Q+(S*152|0)+100>>2]=l;do if(i|0){if(!(c[k+(Z*244|0)+240>>2]|0))break;F=l*+g[Q+(S*152|0)+20>>2]*+g[k+(Z*244|0)+132>>2]*+g[i+352>>2]*+g[k+(Z*244|0)+116>>2];E=l*+g[Q+(S*152|0)+24>>2]*+g[k+(Z*244|0)+136>>2]*+g[i+356>>2]*+g[k+(Z*244|0)+120>>2];g[k+(Z*244|0)+64>>2]=+g[k+(Z*244|0)+112>>2]*l*+g[Q+(S*152|0)+16>>2]*+g[k+(Z*244|0)+128>>2]*+g[i+348>>2]+ +g[k+(Z*244|0)+64>>2];g[k+(Z*244|0)+68>>2]=F+ +g[k+(Z*244|0)+68>>2];g[k+(Z*244|0)+72>>2]=E+ +g[k+(Z*244|0)+72>>2];E=l*+g[k+(Z*244|0)+100>>2]*+g[Q+(S*152|0)+68>>2];F=l*+g[k+(Z*244|0)+104>>2]*+g[Q+(S*152|0)+72>>2];g[k+(Z*244|0)+80>>2]=l*+g[k+(Z*244|0)+96>>2]*+g[Q+(S*152|0)+64>>2]+ +g[k+(Z*244|0)+80>>2];g[k+(Z*244|0)+84>>2]=E+ +g[k+(Z*244|0)+84>>2];g[k+(Z*244|0)+88>>2]=F+ +g[k+(Z*244|0)+88>>2]}while(0);if(!j)break;l=+g[Q+(S*152|0)+100>>2];if(!(c[k+(_*244|0)+240>>2]|0))break;F=+g[Q+(S*152|0)+88>>2];E=+g[Q+(S*152|0)+84>>2];B=+g[Q+(S*152|0)+80>>2];z=l*+g[Q+(S*152|0)+52>>2]*+g[k+(_*244|0)+132>>2]*+g[j+352>>2]*+g[k+(_*244|0)+116>>2];A=l*+g[Q+(S*152|0)+56>>2]*+g[k+(_*244|0)+136>>2]*+g[j+356>>2]*+g[k+(_*244|0)+120>>2];g[k+(_*244|0)+64>>2]=+g[k+(_*244|0)+112>>2]*l*+g[Q+(S*152|0)+48>>2]*+g[k+(_*244|0)+128>>2]*+g[j+348>>2]+ +g[k+(_*244|0)+64>>2];g[k+(_*244|0)+68>>2]=z+ +g[k+(_*244|0)+68>>2];g[k+(_*244|0)+72>>2]=A+ +g[k+(_*244|0)+72>>2];E=E*+g[k+(_*244|0)+100>>2]*-l;F=F*+g[k+(_*244|0)+104>>2]*-l;g[k+(_*244|0)+80>>2]=+g[k+(_*244|0)+80>>2]-B*+g[k+(_*244|0)+96>>2]*-l;g[k+(_*244|0)+84>>2]=+g[k+(_*244|0)+84>>2]-E;g[k+(_*244|0)+88>>2]=+g[k+(_*244|0)+88>>2]-F}while(0);g[Q+(S*152|0)+96>>2]=0.0;if(!(c[k+(Z*244|0)+240>>2]|0)){l=0.0;m=0.0;q=0.0;r=0.0;s=0.0;t=0.0}else{l=+g[k+(Z*244|0)+208>>2];m=+g[k+(Z*244|0)+212>>2];q=+g[k+(Z*244|0)+216>>2];r=+g[k+(Z*244|0)+224>>2];s=+g[k+(Z*244|0)+228>>2];t=+g[k+(Z*244|0)+232>>2]}if(!(c[k+(_*244|0)+240>>2]|0)){u=0.0;v=0.0;y=0.0;z=0.0;A=0.0;B=0.0}else{u=+g[k+(_*244|0)+208>>2];v=+g[k+(_*244|0)+212>>2];y=+g[k+(_*244|0)+216>>2];z=+g[k+(_*244|0)+224>>2];A=+g[k+(_*244|0)+228>>2];B=+g[k+(_*244|0)+232>>2]}l=D-((l+ +g[k+(Z*244|0)+176>>2])*+g[Q+(S*152|0)+16>>2]+(m+ +g[k+(Z*244|0)+180>>2])*+g[Q+(S*152|0)+20>>2]+(q+ +g[k+(Z*244|0)+184>>2])*+g[Q+(S*152|0)+24>>2]+((r+ +g[k+(Z*244|0)+192>>2])*+g[Q+(S*152|0)>>2]+(s+ +g[k+(Z*244|0)+196>>2])*+g[Q+(S*152|0)+4>>2]+(t+ +g[k+(Z*244|0)+200>>2])*+g[Q+(S*152|0)+8>>2])+((u+ +g[k+(_*244|0)+176>>2])*+g[Q+(S*152|0)+48>>2]+(v+ +g[k+(_*244|0)+180>>2])*+g[Q+(S*152|0)+52>>2]+(y+ +g[k+(_*244|0)+184>>2])*+g[Q+(S*152|0)+56>>2]+((z+ +g[k+(_*244|0)+192>>2])*+g[Q+(S*152|0)+32>>2]+(A+ +g[k+(_*244|0)+196>>2])*+g[Q+(S*152|0)+36>>2]+(B+ +g[k+(_*244|0)+200>>2])*+g[Q+(S*152|0)+40>>2])));i=(c[f+44>>2]|0)==0;if(G>0.0){l=l-G/+g[f+12>>2];m=0.0}else m=-(G*(i|G>+g[f+48>>2]?+g[f+32>>2]:+g[f+36>>2]))/+g[f+12>>2];E=+g[Q+(S*152|0)+108>>2];F=m*E;E=l*E;C=i|G>+g[f+48>>2];g[Q+(S*152|0)+112>>2]=C?F+E:E;g[Q+(S*152|0)+128>>2]=C?0.0:F;g[Q+(S*152|0)+116>>2]=0.0;g[Q+(S*152|0)+120>>2]=0.0;g[Q+(S*152|0)+124>>2]=1.0e10;c[Q+(S*152|0)+140>>2]=c[b+68>>2];if(!o){m=0.0;t=0.0;u=0.0}else{m=+g[o+328>>2];t=+g[o+332>>2];u=+g[o+336>>2]}if(!p){l=0.0;q=0.0;r=0.0}else{l=+g[p+328>>2];q=+g[p+332>>2];r=+g[p+336>>2]}s=l-m;m=q-t;r=r-u;g[ca+32>>2]=s;g[ca+32+4>>2]=m;g[ca+32+8>>2]=r;g[ca+32+12>>2]=0.0;do if((h|0)>0?+g[W+4+(U*184|0)+88>>2]>0.0:0){h=h+-1|0;l=+x(+(s*s+m*m+r*r));if(l>+g[f+80>>2]){g[ca+32>>2]=s*(1.0/l);g[ca+32+4>>2]=m*(1.0/l);g[ca+32+8>>2]=r*(1.0/l);if(!(c[X+180>>2]&2)){q=s*(1.0/l);m=m*(1.0/l);l=r*(1.0/l)}else{u=+g[X+4>>2];y=+g[X+20>>2];B=+g[X+36>>2];v=+g[X+8>>2];z=+g[X+24>>2];E=+g[X+40>>2];q=+g[X+12>>2];A=+g[X+28>>2];G=+g[X+44>>2];D=(s*(1.0/l)*u+m*(1.0/l)*y+r*(1.0/l)*B)*+g[X+164>>2];F=(s*(1.0/l)*v+m*(1.0/l)*z+r*(1.0/l)*E)*+g[X+168>>2];l=(s*(1.0/l)*q+m*(1.0/l)*A+r*(1.0/l)*G)*+g[X+172>>2];g[ca+32>>2]=u*D+v*F+q*l;g[ca+32+4>>2]=y*D+z*F+A*l;g[ca+32+8>>2]=B*D+E*F+G*l;g[ca+32+12>>2]=0.0;q=u*D+v*F+q*l;m=y*D+z*F+A*l;l=B*D+E*F+G*l}if(c[Y+180>>2]&2){t=+g[Y+4>>2];y=+g[Y+20>>2];B=+g[Y+36>>2];u=+g[Y+8>>2];z=+g[Y+24>>2];E=+g[Y+40>>2];v=+g[Y+12>>2];A=+g[Y+28>>2];G=+g[Y+44>>2];D=(t*q+y*m+B*l)*+g[Y+164>>2];F=(q*u+m*z+l*E)*+g[Y+168>>2];l=(q*v+m*A+l*G)*+g[Y+172>>2];g[ca+32>>2]=t*D+u*F+v*l;g[ca+32+4>>2]=y*D+z*F+A*l;g[ca+32+8>>2]=B*D+E*F+G*l;g[ca+32+12>>2]=0.0;q=t*D+u*F+v*l;m=y*D+z*F+A*l;l=B*D+E*F+G*l}if(!(+x(+(q*q+m*m+l*l))>.001))break;Oc(b,ca+32|0,Z,_,S,R);break}Oc(b,N,Z,_,S,R);l=+g[P>>2];if(+w(+l)>.7071067690849304){G=+g[O>>2];m=1.0/+x(+(l*l+G*G));g[ca+16>>2]=0.0;g[ca+16+4>>2]=-(l*m);g[ca+16+8>>2]=G*m;g[ca>>2]=(l*l+G*G)*m;F=+g[N>>2];g[ca+4>>2]=-(F*G*m);u=F*-(l*m);r=-(l*m);s=G*m;q=(l*l+G*G)*m;m=-(F*G*m);l=0.0}else{q=+g[N>>2];F=+g[O>>2];G=1.0/+x(+(q*q+F*F));g[ca+16>>2]=-(F*G);g[ca+16+4>>2]=q*G;g[ca+16+8>>2]=0.0;g[ca>>2]=-(l*q*G);g[ca+4>>2]=l*-(F*G);u=(q*q+F*F)*G;r=q*G;s=0.0;q=-(l*q*G);m=l*-(F*G);l=-(F*G)}g[ca+8>>2]=u;j=(c[X+180>>2]&2|0)==0;if(!j){da=+g[X+4>>2];y=+g[X+20>>2];B=+g[X+36>>2];t=+g[X+8>>2];z=+g[X+24>>2];E=+g[X+40>>2];v=+g[X+12>>2];A=+g[X+28>>2];G=+g[X+44>>2];D=(da*l+y*r+B*s)*+g[X+164>>2];F=(l*t+r*z+s*E)*+g[X+168>>2];s=(l*v+r*A+s*G)*+g[X+172>>2];g[ca+16>>2]=da*D+t*F+v*s;g[ca+16+4>>2]=y*D+z*F+A*s;g[ca+16+8>>2]=B*D+E*F+G*s;g[ca+16+12>>2]=0.0;l=da*D+t*F+v*s;r=y*D+z*F+A*s;s=B*D+E*F+G*s}i=(c[Y+180>>2]&2|0)==0;if(i)t=l;else{v=+g[Y+4>>2];z=+g[Y+20>>2];D=+g[Y+36>>2];y=+g[Y+8>>2];A=+g[Y+24>>2];F=+g[Y+40>>2];t=+g[Y+12>>2];B=+g[Y+28>>2];da=+g[Y+44>>2];E=(v*l+z*r+D*s)*+g[Y+164>>2];G=(l*y+r*A+s*F)*+g[Y+168>>2];s=(l*t+r*B+s*da)*+g[Y+172>>2];g[ca+16>>2]=v*E+y*G+t*s;g[ca+16+4>>2]=z*E+A*G+B*s;g[ca+16+8>>2]=D*E+F*G+da*s;g[ca+16+12>>2]=0.0;t=v*E+y*G+t*s;r=z*E+A*G+B*s;s=D*E+F*G+da*s}if(j)l=u;else{ea=+g[X+4>>2];z=+g[X+20>>2];D=+g[X+36>>2];v=+g[X+8>>2];A=+g[X+24>>2];F=+g[X+40>>2];y=+g[X+12>>2];B=+g[X+28>>2];da=+g[X+44>>2];E=(ea*q+z*m+u*D)*+g[X+164>>2];G=(q*v+m*A+u*F)*+g[X+168>>2];l=(q*y+m*B+u*da)*+g[X+172>>2];g[ca>>2]=ea*E+v*G+y*l;g[ca+4>>2]=z*E+A*G+B*l;g[ca+8>>2]=D*E+F*G+da*l;g[ca+12>>2]=0.0;q=ea*E+v*G+y*l;m=z*E+A*G+B*l;l=D*E+F*G+da*l}if(!i){v=+g[Y+4>>2];A=+g[Y+20>>2];E=+g[Y+36>>2];y=+g[Y+8>>2];B=+g[Y+24>>2];G=+g[Y+40>>2];z=+g[Y+12>>2];D=+g[Y+28>>2];ea=+g[Y+44>>2];F=(v*q+A*m+E*l)*+g[Y+164>>2];da=(q*y+m*B+l*G)*+g[Y+168>>2];l=(q*z+m*D+l*ea)*+g[Y+172>>2];g[ca>>2]=v*F+y*da+z*l;g[ca+4>>2]=A*F+B*da+D*l;g[ca+8>>2]=E*F+G*da+ea*l;g[ca+12>>2]=0.0;q=v*F+y*da+z*l;m=A*F+B*da+D*l;l=E*F+G*da+ea*l}if(+x(+(t*t+r*r+s*s))>.001)Oc(b,ca+16|0,Z,_,S,R);if(+x(+(q*q+m*m+l*l))>.001)Oc(b,ca,Z,_,S,R)}while(0);do if(!(c[f+64>>2]&32))ba=93;else{if(!(a[W+4+(U*184|0)+116>>0]|0)){ba=93;break}qc(b,W+4+(U*184|0)+152|0,Z,_,S,R,ca+64|0,ca+48|0,1.0,+g[W+4+(U*184|0)+132>>2],+g[W+4+(U*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;qc(b,W+4+(U*184|0)+168|0,Z,_,S,R,ca+64|0,ca+48|0,1.0,+g[W+4+(U*184|0)+136>>2],+g[W+4+(U*184|0)+144>>2])}while(0);do if((ba|0)==93){ba=0;l=+g[N>>2];v=+g[O>>2];u=+g[P>>2];m=M-(M*I+L*J+H*K)*l;s=L-(M*I+L*J+H*K)*v;r=H-(M*I+L*J+H*K)*u;C=W+4+(U*184|0)+152|0;g[W+4+(U*184|0)+152>>2]=m;i=W+4+(U*184|0)+156|0;g[i>>2]=s;o=W+4+(U*184|0)+160|0;g[o>>2]=r;p=W+4+(U*184|0)+164|0;g[p>>2]=0.0;if((c[f+64>>2]&64|0)==0?m*m+s*s+r*r>1.1920928955078125e-07:0){l=1.0/+x(+(m*m+s*s+r*r));g[C>>2]=m*l;g[i>>2]=s*l;g[o>>2]=r*l;if(!(c[X+180>>2]&1)){q=m*l;m=s*l;l=r*l}else{F=+g[X+4>>2];H=+g[X+20>>2];K=+g[X+36>>2];G=+g[X+8>>2];I=+g[X+24>>2];M=+g[X+40>>2];q=+g[X+12>>2];J=+g[X+28>>2];ea=+g[X+44>>2];L=(m*l*F+s*l*H+r*l*K)*+g[X+164>>2];da=(m*l*G+s*l*I+r*l*M)*+g[X+168>>2];l=(m*l*q+s*l*J+r*l*ea)*+g[X+172>>2];g[C>>2]=F*L+G*da+q*l;g[i>>2]=H*L+I*da+J*l;g[o>>2]=K*L+M*da+ea*l;g[p>>2]=0.0;q=F*L+G*da+q*l;m=H*L+I*da+J*l;l=K*L+M*da+ea*l}if(c[Y+180>>2]&1|0){D=+g[Y+4>>2];G=+g[Y+20>>2];J=+g[Y+36>>2];E=+g[Y+8>>2];H=+g[Y+24>>2];L=+g[Y+40>>2];F=+g[Y+12>>2];I=+g[Y+28>>2];da=+g[Y+44>>2];K=(D*q+G*m+J*l)*+g[Y+164>>2];M=(q*E+m*H+l*L)*+g[Y+168>>2];ea=(q*F+m*I+l*da)*+g[Y+172>>2];g[C>>2]=D*K+E*M+F*ea;g[i>>2]=G*K+H*M+I*ea;g[o>>2]=J*K+L*M+da*ea;g[p>>2]=0.0}qc(b,C,Z,_,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;da=+g[i>>2];q=+g[P>>2];K=+g[o>>2];L=+g[O>>2];ea=+g[N>>2];M=+g[C>>2];n=W+4+(U*184|0)+168|0;g[W+4+(U*184|0)+168>>2]=da*q-K*L;i=W+4+(U*184|0)+172|0;j=W+4+(U*184|0)+176|0;k=W+4+(U*184|0)+180|0;g[k>>2]=0.0;m=1.0/+x(+((da*q-K*L)*(da*q-K*L)+(K*ea-q*M)*(K*ea-q*M)+(L*M-da*ea)*(L*M-da*ea)));l=(da*q-K*L)*m;g[n>>2]=l;q=(K*ea-q*M)*m;g[i>>2]=q;m=(L*M-da*ea)*m;g[j>>2]=m;if(c[X+180>>2]&1){E=+g[X+4>>2];H=+g[X+20>>2];K=+g[X+36>>2];F=+g[X+8>>2];I=+g[X+24>>2];M=+g[X+40>>2];G=+g[X+12>>2];J=+g[X+28>>2];ea=+g[X+44>>2];L=(l*E+q*H+m*K)*+g[X+164>>2];da=(l*F+q*I+m*M)*+g[X+168>>2];m=(l*G+q*J+m*ea)*+g[X+172>>2];g[n>>2]=E*L+F*da+G*m;g[i>>2]=H*L+I*da+J*m;g[j>>2]=K*L+M*da+ea*m;g[k>>2]=0.0;l=E*L+F*da+G*m;q=H*L+I*da+J*m;m=K*L+M*da+ea*m}if(c[Y+180>>2]&1|0){D=+g[Y+4>>2];G=+g[Y+20>>2];J=+g[Y+36>>2];E=+g[Y+8>>2];H=+g[Y+24>>2];L=+g[Y+40>>2];F=+g[Y+12>>2];I=+g[Y+28>>2];da=+g[Y+44>>2];K=(D*l+G*q+J*m)*+g[Y+164>>2];M=(l*E+q*H+m*L)*+g[Y+168>>2];ea=(l*F+q*I+m*da)*+g[Y+172>>2];g[n>>2]=D*K+E*M+F*ea;g[i>>2]=G*K+H*M+I*ea;g[j>>2]=J*K+L*M+da*ea;g[k>>2]=0.0}qc(b,n,Z,_,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);break}n=W+4+(U*184|0)+168|0;if(+w(+u)>.7071067690849304){ea=1.0/+x(+(v*v+u*u));g[C>>2]=0.0;g[i>>2]=-(u*ea);g[o>>2]=v*ea;s=-(l*v*ea);t=l*-(u*ea);r=(v*v+u*u)*ea;q=0.0;m=-(u*ea);l=v*ea}else{m=1.0/+x(+(l*l+v*v));g[C>>2]=-(v*m);g[i>>2]=l*m;g[o>>2]=0.0;s=u*-(v*m);t=(l*l+v*v)*m;r=-(u*l*m);q=-(v*m);m=l*m;l=0.0}g[n>>2]=r;k=W+4+(U*184|0)+172|0;g[k>>2]=s;j=W+4+(U*184|0)+176|0;g[j>>2]=t;if(c[X+180>>2]&1){E=+g[X+4>>2];H=+g[X+20>>2];K=+g[X+36>>2];F=+g[X+8>>2];I=+g[X+24>>2];M=+g[X+40>>2];G=+g[X+12>>2];J=+g[X+28>>2];ea=+g[X+44>>2];L=(E*q+H*m+K*l)*+g[X+164>>2];da=(q*F+m*I+l*M)*+g[X+168>>2];l=(q*G+m*J+l*ea)*+g[X+172>>2];g[C>>2]=E*L+F*da+G*l;g[i>>2]=H*L+I*da+J*l;g[o>>2]=K*L+M*da+ea*l;g[p>>2]=0.0;q=E*L+F*da+G*l;m=H*L+I*da+J*l;l=K*L+M*da+ea*l}if(c[Y+180>>2]&1|0){D=+g[Y+4>>2];G=+g[Y+20>>2];J=+g[Y+36>>2];E=+g[Y+8>>2];H=+g[Y+24>>2];L=+g[Y+40>>2];F=+g[Y+12>>2];I=+g[Y+28>>2];da=+g[Y+44>>2];K=(D*q+G*m+J*l)*+g[Y+164>>2];M=(q*E+m*H+l*L)*+g[Y+168>>2];ea=(q*F+m*I+l*da)*+g[Y+172>>2];g[C>>2]=D*K+E*M+F*ea;g[i>>2]=G*K+H*M+I*ea;g[o>>2]=J*K+L*M+da*ea;g[p>>2]=0.0}qc(b,C,Z,_,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0;if(i&16){if(c[X+180>>2]&1|0){D=+g[X+4>>2];A=+g[n>>2];G=+g[X+20>>2];B=+g[k>>2];J=+g[X+36>>2];ea=+g[j>>2];E=+g[X+8>>2];H=+g[X+24>>2];L=+g[X+40>>2];F=+g[X+12>>2];I=+g[X+28>>2];da=+g[X+44>>2];K=(D*A+G*B+J*ea)*+g[X+164>>2];M=(A*E+B*H+ea*L)*+g[X+168>>2];ea=(A*F+B*I+ea*da)*+g[X+172>>2];g[n>>2]=D*K+E*M+F*ea;g[k>>2]=G*K+H*M+I*ea;g[j>>2]=J*K+L*M+da*ea;g[W+4+(U*184|0)+180>>2]=0.0}if(c[Y+180>>2]&1|0){D=+g[Y+4>>2];A=+g[n>>2];G=+g[Y+20>>2];B=+g[k>>2];J=+g[Y+36>>2];ea=+g[j>>2];E=+g[Y+8>>2];H=+g[Y+24>>2];L=+g[Y+40>>2];F=+g[Y+12>>2];I=+g[Y+28>>2];da=+g[Y+44>>2];K=(D*A+G*B+J*ea)*+g[Y+164>>2];M=(A*E+B*H+ea*L)*+g[Y+168>>2];ea=(A*F+B*I+ea*da)*+g[Y+172>>2];g[n>>2]=D*K+E*M+F*ea;g[k>>2]=G*K+H*M+I*ea;g[j>>2]=J*K+L*M+da*ea;g[W+4+(U*184|0)+180>>2]=0.0}qc(b,n,Z,_,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0}if((i&80|0)!=80)break;a[W+4+(U*184|0)+116>>0]=1}while(0);n=c[b+16>>2]|0;o=c[n+(Z*244|0)+240>>2]|0;p=c[n+(_*244|0)+240>>2]|0;j=c[Q+(S*152|0)+140>>2]|0;k=c[b+76>>2]|0;i=c[f+64>>2]|0;do if(!(i&4))g[k+(j*152|0)+100>>2]=0.0;else{l=+g[W+4+(U*184|0)+124>>2]*+g[f+60>>2];g[k+(j*152|0)+100>>2]=l;if(o|0){M=+g[o+344>>2];ea=l*M*+g[k+(j*152|0)+20>>2]*+g[o+352>>2]*+g[n+(Z*244|0)+116>>2];da=l*M*+g[k+(j*152|0)+24>>2]*+g[o+356>>2]*+g[n+(Z*244|0)+120>>2];g[n+(Z*244|0)+64>>2]=l*M*+g[k+(j*152|0)+16>>2]*+g[o+348>>2]*+g[n+(Z*244|0)+112>>2]+ +g[n+(Z*244|0)+64>>2];g[n+(Z*244|0)+68>>2]=ea+ +g[n+(Z*244|0)+68>>2];g[n+(Z*244|0)+72>>2]=da+ +g[n+(Z*244|0)+72>>2];da=l*+g[n+(Z*244|0)+100>>2]*+g[k+(j*152|0)+68>>2];ea=l*+g[n+(Z*244|0)+104>>2]*+g[k+(j*152|0)+72>>2];g[n+(Z*244|0)+80>>2]=l*+g[n+(Z*244|0)+96>>2]*+g[k+(j*152|0)+64>>2]+ +g[n+(Z*244|0)+80>>2];g[n+(Z*244|0)+84>>2]=da+ +g[n+(Z*244|0)+84>>2];g[n+(Z*244|0)+88>>2]=ea+ +g[n+(Z*244|0)+88>>2]}if(!p)break;I=+g[p+344>>2];L=+g[k+(j*152|0)+80>>2];da=+g[k+(j*152|0)+84>>2];ea=+g[k+(j*152|0)+88>>2];M=+g[k+(j*152|0)+100>>2];J=+g[k+(j*152|0)+52>>2]*I*+g[p+352>>2]*M*+g[n+(_*244|0)+116>>2];K=+g[k+(j*152|0)+56>>2]*I*+g[p+356>>2]*M*+g[n+(_*244|0)+120>>2];g[n+(_*244|0)+64>>2]=+g[k+(j*152|0)+48>>2]*I*+g[p+348>>2]*M*+g[n+(_*244|0)+112>>2]+ +g[n+(_*244|0)+64>>2];g[n+(_*244|0)+68>>2]=J+ +g[n+(_*244|0)+68>>2];g[n+(_*244|0)+72>>2]=K+ +g[n+(_*244|0)+72>>2];da=da*+g[n+(_*244|0)+100>>2]*-M;ea=ea*+g[n+(_*244|0)+104>>2]*-M;g[n+(_*244|0)+80>>2]=+g[n+(_*244|0)+80>>2]-L*+g[n+(_*244|0)+96>>2]*-M;g[n+(_*244|0)+84>>2]=+g[n+(_*244|0)+84>>2]-da;g[n+(_*244|0)+88>>2]=+g[n+(_*244|0)+88>>2]-ea}while(0);do if(i&16|0){if(!(i&4)){g[k+((j+1|0)*152|0)+100>>2]=0.0;break}l=+g[W+4+(U*184|0)+128>>2]*+g[f+60>>2];g[k+((j+1|0)*152|0)+100>>2]=l;if(o|0){M=+g[o+344>>2];ea=l*M*+g[k+((j+1|0)*152|0)+20>>2]*+g[n+(Z*244|0)+116>>2];da=l*M*+g[k+((j+1|0)*152|0)+24>>2]*+g[n+(Z*244|0)+120>>2];g[n+(Z*244|0)+64>>2]=l*M*+g[k+((j+1|0)*152|0)+16>>2]*+g[n+(Z*244|0)+112>>2]+ +g[n+(Z*244|0)+64>>2];g[n+(Z*244|0)+68>>2]=ea+ +g[n+(Z*244|0)+68>>2];g[n+(Z*244|0)+72>>2]=da+ +g[n+(Z*244|0)+72>>2];da=l*+g[n+(Z*244|0)+100>>2]*+g[k+((j+1|0)*152|0)+68>>2];ea=l*+g[n+(Z*244|0)+104>>2]*+g[k+((j+1|0)*152|0)+72>>2];g[n+(Z*244|0)+80>>2]=l*+g[n+(Z*244|0)+96>>2]*+g[k+((j+1|0)*152|0)+64>>2]+ +g[n+(Z*244|0)+80>>2];g[n+(Z*244|0)+84>>2]=da+ +g[n+(Z*244|0)+84>>2];g[n+(Z*244|0)+88>>2]=ea+ +g[n+(Z*244|0)+88>>2]}if(!p)break;I=+g[p+344>>2];L=+g[k+((j+1|0)*152|0)+80>>2];da=+g[k+((j+1|0)*152|0)+84>>2];ea=+g[k+((j+1|0)*152|0)+88>>2];M=+g[k+((j+1|0)*152|0)+100>>2];J=+g[k+((j+1|0)*152|0)+52>>2]*I*M*+g[n+(_*244|0)+116>>2];K=+g[k+((j+1|0)*152|0)+56>>2]*I*M*+g[n+(_*244|0)+120>>2];g[n+(_*244|0)+64>>2]=+g[k+((j+1|0)*152|0)+48>>2]*I*M*+g[n+(_*244|0)+112>>2]+ +g[n+(_*244|0)+64>>2];g[n+(_*244|0)+68>>2]=J+ +g[n+(_*244|0)+68>>2];g[n+(_*244|0)+72>>2]=K+ +g[n+(_*244|0)+72>>2];da=da*+g[n+(_*244|0)+100>>2]*-M;ea=ea*+g[n+(_*244|0)+104>>2]*-M;g[n+(_*244|0)+80>>2]=+g[n+(_*244|0)+80>>2]-L*+g[n+(_*244|0)+96>>2]*-M;g[n+(_*244|0)+84>>2]=+g[n+(_*244|0)+84>>2]-da;g[n+(_*244|0)+88>>2]=+g[n+(_*244|0)+88>>2]-ea}while(0);i=c[W+748>>2]|0}U=U+1|0}while((U|0)<(i|0))}T=T+1|0}while((T|0)!=(e|0));sa=ca;return}function rb(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0,ma=0;Z=sa;sa=sa+176|0;Ki(16605);qd(b);if((Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0?(X=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Fa[c[(c[X>>2]|0)+48>>2]&127](X)|0)&6144|0):0)?(d=Fa[c[(c[b>>2]|0)+104>>2]&127](b)|0,(d|0)>0):0){Q=Z+112+44|0;L=Z+112+4|0;N=Z+112+8|0;O=Z+112+16|0;P=Z+112+20|0;G=Z+112+24|0;H=Z+112+32|0;I=Z+112+36|0;J=Z+112+40|0;F=Z+112+48|0;K=Z+112+52|0;M=Z+112+56|0;R=Z+112+16|0;S=Z+112+32|0;T=Z+112+48|0;U=Z+112+16|0;V=Z+112+32|0;W=Z+112+48|0;X=Z+112+48|0;do{D=d;d=d+-1|0;o=Ha[c[(c[b>>2]|0)+108>>2]&31](b,d)|0;e=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;e=((Fa[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2048|0)!=0;n=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=((Fa[c[(c[n>>2]|0)+48>>2]&127](n)|0)&4096|0)!=0;E=+g[o+40>>2];a:do if(!(E<=0.0))switch(c[o+4>>2]|0){case 3:{c[Z+112>>2]=1065353216;c[Z+112+4>>2]=0;c[Z+112+4+4>>2]=0;c[Z+112+4+8>>2]=0;c[Z+112+4+12>>2]=0;c[Z+112+20>>2]=1065353216;c[Z+112+24>>2]=0;c[Z+112+24+4>>2]=0;c[Z+112+24+8>>2]=0;c[Z+112+24+12>>2]=0;c[Z+112+40>>2]=1065353216;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;C=+g[o+300>>2];B=+g[o+304>>2];y=+g[o+308>>2];n=c[o+28>>2]|0;x=C*+g[n+20>>2]+B*+g[n+24>>2]+y*+g[n+28>>2]+ +g[n+56>>2];w=C*+g[n+36>>2]+B*+g[n+40>>2]+y*+g[n+44>>2]+ +g[n+60>>2];g[Z+112+48>>2]=C*+g[n+4>>2]+B*+g[n+8>>2]+y*+g[n+12>>2]+ +g[n+52>>2];g[Z+112+52>>2]=x;g[Z+112+56>>2]=w;g[Z+112+60>>2]=0.0;n=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[n>>2]|0)+56>>2]&7](n,Z+112|0,E);w=+g[o+316>>2];x=+g[o+320>>2];y=+g[o+324>>2];o=c[o+32>>2]|0;B=w*+g[o+20>>2]+x*+g[o+24>>2]+y*+g[o+28>>2]+ +g[o+56>>2];C=w*+g[o+36>>2]+x*+g[o+40>>2]+y*+g[o+44>>2]+ +g[o+60>>2];g[Z+112+48>>2]=w*+g[o+4>>2]+x*+g[o+8>>2]+y*+g[o+12>>2]+ +g[o+52>>2];g[Z+112+52>>2]=B;g[Z+112+56>>2]=C;g[Z+112+60>>2]=0.0;if(e){o=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[o>>2]|0)+56>>2]&7](o,Z+112|0,E)}break a}case 4:{m=c[o+28>>2]|0;f=+g[o+552>>2];da=+g[m+4>>2];h=+g[o+552+16>>2];ca=+g[m+8>>2];i=+g[o+552+32>>2];ba=+g[m+12>>2];p=+g[o+552+4>>2];q=+g[o+552+20>>2];r=+g[o+552+36>>2];s=+g[o+552+8>>2];u=+g[o+552+24>>2];w=+g[o+552+40>>2];aa=+g[m+20>>2];$=+g[m+24>>2];_=+g[m+28>>2];t=+g[m+36>>2];v=+g[m+40>>2];x=+g[m+44>>2];fa=+g[o+552+48>>2];ea=+g[o+552+52>>2];C=+g[o+552+56>>2];y=+g[m+52>>2]+(da*fa+ca*ea+ba*C);B=aa*fa+$*ea+_*C+ +g[m+56>>2];C=t*fa+v*ea+x*C+ +g[m+60>>2];g[Z+112>>2]=f*da+h*ca+i*ba;g[Z+112+4>>2]=da*p+ca*q+ba*r;g[Z+112+8>>2]=da*s+ca*u+ba*w;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=f*aa+h*$+i*_;g[Z+112+20>>2]=p*aa+q*$+r*_;g[Z+112+24>>2]=s*aa+u*$+w*_;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=f*t+h*v+i*x;g[Z+112+36>>2]=p*t+q*v+r*x;g[Z+112+40>>2]=s*t+u*v+w*x;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=y;g[Z+112+52>>2]=B;g[Z+112+56>>2]=C;g[Z+112+60>>2]=0.0;if(e){m=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[m>>2]|0)+56>>2]&7](m,Z+112|0,E);m=c[o+32>>2]|0;u=+g[o+616>>2];i=+g[m+4>>2];v=+g[o+616+16>>2];p=+g[m+8>>2];w=+g[o+616+32>>2];q=+g[m+12>>2];x=+g[o+616+4>>2];y=+g[o+616+20>>2];B=+g[o+616+36>>2];C=+g[o+616+8>>2];$=+g[o+616+24>>2];ba=+g[o+616+40>>2];r=+g[m+20>>2];s=+g[m+24>>2];t=+g[m+28>>2];_=+g[m+36>>2];aa=+g[m+40>>2];ca=+g[m+44>>2];f=+g[o+616+48>>2];h=+g[o+616+52>>2];fa=+g[o+616+56>>2];da=+g[m+52>>2]+(i*f+p*h+q*fa);ea=r*f+s*h+t*fa+ +g[m+56>>2];fa=_*f+aa*h+ca*fa+ +g[m+60>>2];g[Z+112>>2]=u*i+v*p+w*q;g[Z+112+4>>2]=i*x+p*y+q*B;g[Z+112+8>>2]=i*C+p*$+q*ba;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=u*r+v*s+w*t;g[Z+112+20>>2]=x*r+y*s+B*t;g[Z+112+24>>2]=C*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=u*_+v*aa+w*ca;g[Z+112+36>>2]=x*_+y*aa+B*ca;g[Z+112+40>>2]=C*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=da;g[Z+112+52>>2]=ea;g[Z+112+56>>2]=fa;g[Z+112+60>>2]=0.0;m=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[m>>2]|0)+56>>2]&7](m,Z+112|0,E)}else{m=c[o+32>>2]|0;u=+g[o+616>>2];i=+g[m+4>>2];v=+g[o+616+16>>2];p=+g[m+8>>2];w=+g[o+616+32>>2];q=+g[m+12>>2];x=+g[o+616+4>>2];y=+g[o+616+20>>2];B=+g[o+616+36>>2];C=+g[o+616+8>>2];$=+g[o+616+24>>2];ba=+g[o+616+40>>2];r=+g[m+20>>2];s=+g[m+24>>2];t=+g[m+28>>2];_=+g[m+36>>2];aa=+g[m+40>>2];ca=+g[m+44>>2];f=+g[o+616+48>>2];h=+g[o+616+52>>2];fa=+g[o+616+56>>2];da=+g[m+52>>2]+(i*f+p*h+q*fa);ea=r*f+s*h+t*fa+ +g[m+56>>2];fa=_*f+aa*h+ca*fa+ +g[m+60>>2];g[Z+112>>2]=u*i+v*p+w*q;g[Z+112+4>>2]=i*x+p*y+q*B;g[Z+112+8>>2]=i*C+p*$+q*ba;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=u*r+v*s+w*t;g[Z+112+20>>2]=x*r+y*s+B*t;g[Z+112+24>>2]=C*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=u*_+v*aa+w*ca;g[Z+112+36>>2]=x*_+y*aa+B*ca;g[Z+112+40>>2]=C*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=da;g[Z+112+52>>2]=ea;g[Z+112+56>>2]=fa;g[Z+112+60>>2]=0.0}i=+g[o+688>>2];f=+g[o+688+4>>2];if(!((i-f)%6.2831854820251465<-3.1415927410125732))if((i-f)%6.2831854820251465>3.1415927410125732)h=(i-f)%6.2831854820251465+-6.2831854820251465;else h=(i-f)%6.2831854820251465;else h=(i-f)%6.2831854820251465+6.2831854820251465;if(!((i+f)%6.2831854820251465<-3.1415927410125732))if((i+f)%6.2831854820251465>3.1415927410125732)f=(i+f)%6.2831854820251465+-6.2831854820251465;else f=(i+f)%6.2831854820251465;else f=(i+f)%6.2831854820251465+6.2831854820251465;if(!(h==f)?(Y=h>f,n):0){c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];g[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];g[Z+80+12>>2]=0.0;o=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+60>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;db[n&1](o,Z+112+48|0,Z+96|0,Z+80|0,E,E,Y?0.0:h,Y?6.2831854820251465:f,Z+64|0,Y^1,10.0)}break a}case 5:{m=c[o+28>>2]|0;u=+g[o+300>>2];i=+g[m+4>>2];v=+g[o+300+16>>2];p=+g[m+8>>2];w=+g[o+300+32>>2];q=+g[m+12>>2];x=+g[o+300+4>>2];y=+g[o+300+20>>2];B=+g[o+300+36>>2];C=+g[o+300+8>>2];$=+g[o+300+24>>2];ba=+g[o+300+40>>2];r=+g[m+20>>2];s=+g[m+24>>2];t=+g[m+28>>2];_=+g[m+36>>2];aa=+g[m+40>>2];ca=+g[m+44>>2];f=+g[o+300+48>>2];h=+g[o+300+52>>2];fa=+g[o+300+56>>2];da=+g[m+52>>2]+(i*f+p*h+q*fa);ea=r*f+s*h+t*fa+ +g[m+56>>2];fa=_*f+aa*h+ca*fa+ +g[m+60>>2];g[Z+112>>2]=u*i+v*p+w*q;g[L>>2]=i*x+p*y+q*B;g[N>>2]=i*C+p*$+q*ba;g[Z+112+12>>2]=0.0;g[O>>2]=u*r+v*s+w*t;g[P>>2]=x*r+y*s+B*t;g[G>>2]=C*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[H>>2]=u*_+v*aa+w*ca;g[I>>2]=x*_+y*aa+B*ca;g[J>>2]=C*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[F>>2]=da;g[K>>2]=ea;g[M>>2]=fa;g[Z+112+60>>2]=0.0;if(e){m=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[m>>2]|0)+56>>2]&7](m,Z+112|0,E);m=c[o+32>>2]|0;u=+g[o+364>>2];i=+g[m+4>>2];v=+g[o+364+16>>2];p=+g[m+8>>2];w=+g[o+364+32>>2];q=+g[m+12>>2];x=+g[o+364+4>>2];y=+g[o+364+20>>2];B=+g[o+364+36>>2];C=+g[o+364+8>>2];$=+g[o+364+24>>2];ba=+g[o+364+40>>2];r=+g[m+20>>2];s=+g[m+24>>2];t=+g[m+28>>2];_=+g[m+36>>2];aa=+g[m+40>>2];ca=+g[m+44>>2];f=+g[o+364+48>>2];h=+g[o+364+52>>2];fa=+g[o+364+56>>2];da=+g[m+52>>2]+(i*f+p*h+q*fa);ea=r*f+s*h+t*fa+ +g[m+56>>2];fa=_*f+aa*h+ca*fa+ +g[m+60>>2];g[Z+112>>2]=u*i+v*p+w*q;g[L>>2]=i*x+p*y+q*B;g[N>>2]=i*C+p*$+q*ba;g[Z+112+12>>2]=0.0;g[O>>2]=u*r+v*s+w*t;g[P>>2]=x*r+y*s+B*t;g[G>>2]=C*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[H>>2]=u*_+v*aa+w*ca;g[I>>2]=x*_+y*aa+B*ca;g[J>>2]=C*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[F>>2]=da;g[K>>2]=ea;g[M>>2]=fa;g[Z+112+60>>2]=0.0;m=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[m>>2]|0)+56>>2]&7](m,Z+112|0,E)}else{m=c[o+32>>2]|0;u=+g[o+364>>2];i=+g[m+4>>2];v=+g[o+364+16>>2];p=+g[m+8>>2];w=+g[o+364+32>>2];q=+g[m+12>>2];x=+g[o+364+4>>2];y=+g[o+364+20>>2];B=+g[o+364+36>>2];C=+g[o+364+8>>2];$=+g[o+364+24>>2];ba=+g[o+364+40>>2];r=+g[m+20>>2];s=+g[m+24>>2];t=+g[m+28>>2];_=+g[m+36>>2];aa=+g[m+40>>2];ca=+g[m+44>>2];f=+g[o+364+48>>2];h=+g[o+364+52>>2];fa=+g[o+364+56>>2];da=+g[m+52>>2]+(i*f+p*h+q*fa);ea=r*f+s*h+t*fa+ +g[m+56>>2];fa=_*f+aa*h+ca*fa+ +g[m+60>>2];g[Z+112>>2]=u*i+v*p+w*q;g[L>>2]=i*x+p*y+q*B;g[N>>2]=i*C+p*$+q*ba;g[Z+112+12>>2]=0.0;g[O>>2]=u*r+v*s+w*t;g[P>>2]=x*r+y*s+B*t;g[G>>2]=C*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[H>>2]=u*_+v*aa+w*ca;g[I>>2]=x*_+y*aa+B*ca;g[J>>2]=C*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[F>>2]=da;g[K>>2]=ea;g[M>>2]=fa;g[Z+112+60>>2]=0.0}if(n){Xj(Z+96|0,o,6.0868353843688965,E);ba=+g[Z+96>>2];ca=+g[Z+96+4>>2];da=+g[Z+96+8>>2];ea=ba*+g[O>>2]+ca*+g[P>>2]+da*+g[G>>2]+ +g[K>>2];fa=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[M>>2];g[Z+96>>2]=ba*+g[Z+112>>2]+ca*+g[L>>2]+da*+g[N>>2]+ +g[F>>2];g[Z+96+4>>2]=ea;g[Z+96+8>>2]=fa;g[Z+96+12>>2]=0.0;e=0;do{Xj(Z+80|0,o,+(e|0)*6.283185005187988*.03125,E);ba=+g[Z+80>>2];ca=+g[Z+80+4>>2];da=+g[Z+80+8>>2];ea=ba*+g[O>>2]+ca*+g[P>>2]+da*+g[G>>2]+ +g[K>>2];fa=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[M>>2];g[Z+80>>2]=ba*+g[Z+112>>2]+ca*+g[L>>2]+da*+g[N>>2]+ +g[F>>2];g[Z+80+4>>2]=ea;g[Z+80+8>>2]=fa;g[Z+80+12>>2]=0.0;n=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;m=c[(c[n>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;ab[m&127](n,Z+96|0,Z+80|0,Z+64|0);if(!(e&3)){n=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;m=c[(c[n>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;ab[m&127](n,X,Z+80|0,Z+64|0)}c[Z+96>>2]=c[Z+80>>2];c[Z+96+4>>2]=c[Z+80+4>>2];c[Z+96+8>>2]=c[Z+80+8>>2];c[Z+96+12>>2]=c[Z+80+12>>2];e=e+1|0}while((e|0)!=32);B=+g[o+452>>2];C=+g[o+512>>2];e=c[o+32>>2]|0;if(+g[e+344>>2]>0.0){ba=+g[o+364>>2];ca=+g[e+4>>2];da=+g[o+364+16>>2];ea=+g[e+8>>2];fa=+g[o+364+32>>2];w=+g[e+12>>2];$=+g[o+364+4>>2];aa=+g[o+364+20>>2];v=+g[o+364+36>>2];ga=+g[o+364+8>>2];_=+g[o+364+24>>2];u=+g[o+364+40>>2];ia=+g[e+20>>2];ha=+g[e+24>>2];t=+g[e+28>>2];s=+g[e+36>>2];r=+g[e+40>>2];q=+g[e+44>>2];i=+g[o+364+48>>2];f=+g[o+364+52>>2];h=+g[o+364+56>>2];x=ia*i+ha*f+t*h;y=ca*i+ea*f+w*h;f=s*i+r*f;h=q*h;i=ga*s+_*r+u*q;p=$*s+aa*r+v*q;q=ba*s+da*r+fa*q;r=ga*ia+_*ha+u*t;s=$*ia+aa*ha+v*t;t=ba*ia+da*ha+fa*t;u=ca*ga+ea*_+w*u;v=ca*$+ea*aa+w*v;w=ba*ca+da*ea+fa*w}else{e=c[o+28>>2]|0;ea=+g[o+300>>2];fa=+g[e+4>>2];ga=+g[o+300+16>>2];ha=+g[e+8>>2];ia=+g[o+300+32>>2];w=+g[e+12>>2];ca=+g[o+300+4>>2];da=+g[o+300+20>>2];v=+g[o+300+36>>2];aa=+g[o+300+8>>2];ba=+g[o+300+24>>2];u=+g[o+300+40>>2];_=+g[e+20>>2];$=+g[e+24>>2];t=+g[e+28>>2];s=+g[e+36>>2];r=+g[e+40>>2];q=+g[e+44>>2];i=+g[o+300+48>>2];f=+g[o+300+52>>2];h=+g[o+300+56>>2];x=_*i+$*f+t*h;y=fa*i+ha*f+w*h;f=s*i+r*f;h=q*h;i=aa*s+ba*r+u*q;p=ca*s+da*r+v*q;q=ea*s+ga*r+ia*q;r=aa*_+ba*$+u*t;s=ca*_+da*$+v*t;t=ea*_+ga*$+ia*t;u=fa*aa+ha*ba+w*u;v=fa*ca+ha*da+w*v;w=ea*fa+ga*ha+ia*w}ga=+g[e+52>>2]+y;ha=x+ +g[e+56>>2];ia=f+h+ +g[e+60>>2];g[Z+112>>2]=w;g[L>>2]=v;g[N>>2]=u;g[Z+112+12>>2]=0.0;g[O>>2]=t;g[P>>2]=s;g[G>>2]=r;g[Z+112+28>>2]=0.0;g[H>>2]=q;g[I>>2]=p;g[J>>2]=i;g[Z+112+44>>2]=0.0;g[F>>2]=ga;g[K>>2]=ha;g[M>>2]=ia;g[Z+112+60>>2]=0.0;c[Z+80>>2]=c[X>>2];c[Z+80+4>>2]=c[X+4>>2];c[Z+80+8>>2]=c[X+8>>2];c[Z+80+12>>2]=c[X+12>>2];g[Z+64>>2]=w;g[Z+64+4>>2]=t;g[Z+64+8>>2]=q;g[Z+64+12>>2]=0.0;g[Z+48>>2]=v;g[Z+48+4>>2]=s;g[Z+48+8>>2]=p;g[Z+48+12>>2]=0.0;o=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;db[n&1](o,Z+80|0,Z+64|0,Z+48|0,E,E,-C-B,B-C,Z+32|0,1,10.0)}break a}case 6:case 9:{c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];k=o+1064+16|0;c[R>>2]=c[k>>2];c[R+4>>2]=c[k+4>>2];c[R+8>>2]=c[k+8>>2];c[R+12>>2]=c[k+12>>2];l=o+1064+32|0;c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];m=o+1064+48|0;c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];if(e){e=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[e>>2]|0)+56>>2]&7](e,Z+112|0,E);c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[R>>2]=c[o+1128+16>>2];c[R+4>>2]=c[o+1128+16+4>>2];c[R+8>>2]=c[o+1128+16+8>>2];c[R+12>>2]=c[o+1128+16+12>>2];c[S>>2]=c[o+1128+32>>2];c[S+4>>2]=c[o+1128+32+4>>2];c[S+8>>2]=c[o+1128+32+8>>2];c[S+12>>2]=c[o+1128+32+12>>2];c[T>>2]=c[o+1128+48>>2];c[T+4>>2]=c[o+1128+48+4>>2];c[T+8>>2]=c[o+1128+48+8>>2];c[T+12>>2]=c[o+1128+48+12>>2];e=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[e>>2]|0)+56>>2]&7](e,Z+112|0,E)}else{c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[R>>2]=c[o+1128+16>>2];c[R+4>>2]=c[o+1128+16+4>>2];c[R+8>>2]=c[o+1128+16+8>>2];c[R+12>>2]=c[o+1128+16+12>>2];c[S>>2]=c[o+1128+32>>2];c[S+4>>2]=c[o+1128+32+4>>2];c[S+8>>2]=c[o+1128+32+8>>2];c[S+12>>2]=c[o+1128+32+12>>2];c[T>>2]=c[o+1128+48>>2];c[T+4>>2]=c[o+1128+48+4>>2];c[T+8>>2]=c[o+1128+48+8>>2];c[T+12>>2]=c[o+1128+48+12>>2]}if(n){c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];c[R>>2]=c[k>>2];c[R+4>>2]=c[k+4>>2];c[R+8>>2]=c[k+8>>2];c[R+12>>2]=c[k+12>>2];c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];e=o+1128+48|0;c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];g[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];g[Z+80+12>>2]=0.0;ea=+g[o+932>>2];f=+g[o+932+4>>2];ha=+g[o+996>>2];ga=+g[o+996+4>>2];ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[ja>>2]|0)+64>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;cb[n&1](ja,e,Z+96|0,Z+80|0,E*.8999999761581421,ea,f,ha,ga,Z+64|0,10.0,1);ja=c[Z+112+20>>2]|0;n=c[Z+112+36>>2]|0;c[Z+80>>2]=c[Z+112+4>>2];c[Z+80+4>>2]=ja;c[Z+80+8>>2]=n;g[Z+80+12>>2]=0.0;ga=+g[o+1196>>2];ha=+g[o+1200>>2];f=+z(+ga);ga=+A(+ga);ea=+z(+ha);ha=+A(+ha);fa=+g[Z+80>>2];ia=+g[Z+80+4>>2];h=+g[Z+80+8>>2];g[Z+64>>2]=f*ea*fa+f*ha*ia-ga*h;g[Z+64+4>>2]=ea*ia-ha*fa;g[Z+64+8>>2]=ga*ea*fa+ga*ha*ia+f*h;c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[R>>2]=c[o+1128+16>>2];c[R+4>>2]=c[o+1128+16+4>>2];c[R+8>>2]=c[o+1128+16+8>>2];c[R+12>>2]=c[o+1128+16+12>>2];c[S>>2]=c[o+1128+32>>2];c[S+4>>2]=c[o+1128+32+4>>2];c[S+8>>2]=c[o+1128+32+8>>2];c[S+12>>2]=c[o+1128+32+12>>2];c[T>>2]=c[e>>2];c[T+4>>2]=c[e+4>>2];c[T+8>>2]=c[e+8>>2];c[T+12>>2]=c[e+12>>2];h=-+g[Z+112+16>>2];f=-+g[Z+112+32>>2];g[Z+48>>2]=-+g[Z+112>>2];g[Z+48+4>>2]=h;g[Z+48+8>>2]=f;g[Z+48+12>>2]=0.0;f=+g[o+868>>2];h=+g[o+868+4>>2];if(!(f>h)){if(f>2]|0)+20>>2]&127](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;db[n&1](ja,e,Z+48|0,Z+64|0,E,E,f,h,Z+32|0,1,10.0)}}else{ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;db[n&1](ja,e,Z+48|0,Z+64|0,E,E,-3.1415927410125732,3.1415927410125732,Z+32|0,0,10.0)}c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];c[R>>2]=c[k>>2];c[R+4>>2]=c[k+4>>2];c[R+8>>2]=c[k+8>>2];c[R+12>>2]=c[k+12>>2];c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];c[Z+32>>2]=c[o+680>>2];c[Z+32+4>>2]=c[o+680+4>>2];c[Z+32+8>>2]=c[o+680+8>>2];c[Z+32+12>>2]=c[o+680+12>>2];c[Z+16>>2]=c[o+680+16>>2];c[Z+16+4>>2]=c[o+680+16+4>>2];c[Z+16+8>>2]=c[o+680+16+8>>2];c[Z+16+12>>2]=c[o+680+16+12>>2];ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[ja>>2]|0)+72>>2]|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;eb[o&31](ja,Z+32|0,Z+16|0,Z+112|0,Z)}break a}case 7:{c[Z+112>>2]=c[o+824>>2];c[Z+112+4>>2]=c[o+824+4>>2];c[Z+112+8>>2]=c[o+824+8>>2];c[Z+112+12>>2]=c[o+824+12>>2];c[U>>2]=c[o+824+16>>2];c[U+4>>2]=c[o+824+16+4>>2];c[U+8>>2]=c[o+824+16+8>>2];c[U+12>>2]=c[o+824+16+12>>2];c[V>>2]=c[o+824+32>>2];c[V+4>>2]=c[o+824+32+4>>2];c[V+8>>2]=c[o+824+32+8>>2];c[V+12>>2]=c[o+824+32+12>>2];c[W>>2]=c[o+824+48>>2];c[W+4>>2]=c[o+824+48+4>>2];c[W+8>>2]=c[o+824+48+8>>2];c[W+12>>2]=c[o+824+48+12>>2];if(e){ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[ja>>2]|0)+56>>2]&7](ja,Z+112|0,E);c[Z+112>>2]=c[o+888>>2];c[Z+112+4>>2]=c[o+888+4>>2];c[Z+112+8>>2]=c[o+888+8>>2];c[Z+112+12>>2]=c[o+888+12>>2];c[U>>2]=c[o+888+16>>2];c[U+4>>2]=c[o+888+16+4>>2];c[U+8>>2]=c[o+888+16+8>>2];c[U+12>>2]=c[o+888+16+12>>2];c[V>>2]=c[o+888+32>>2];c[V+4>>2]=c[o+888+32+4>>2];c[V+8>>2]=c[o+888+32+8>>2];c[V+12>>2]=c[o+888+32+12>>2];c[W>>2]=c[o+888+48>>2];c[W+4>>2]=c[o+888+48+4>>2];c[W+8>>2]=c[o+888+48+8>>2];c[W+12>>2]=c[o+888+48+12>>2];ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;Wa[c[(c[ja>>2]|0)+56>>2]&7](ja,Z+112|0,E)}else{c[Z+112>>2]=c[o+888>>2];c[Z+112+4>>2]=c[o+888+4>>2];c[Z+112+8>>2]=c[o+888+8>>2];c[Z+112+12>>2]=c[o+888+12>>2];c[U>>2]=c[o+888+16>>2];c[U+4>>2]=c[o+888+16+4>>2];c[U+8>>2]=c[o+888+16+8>>2];c[U+12>>2]=c[o+888+16+12>>2];c[V>>2]=c[o+888+32>>2];c[V+4>>2]=c[o+888+32+4>>2];c[V+8>>2]=c[o+888+32+8>>2];c[V+12>>2]=c[o+888+32+12>>2];c[W>>2]=c[o+888+48>>2];c[W+4>>2]=c[o+888+48+4>>2];c[W+8>>2]=c[o+888+48+8>>2];c[W+12>>2]=c[o+888+48+12>>2]}if(n){ka=(a[o+180>>0]|0)==0?o+888|0:o+824|0;e=c[ka>>2]|0;m=c[ka+4>>2]|0;k=c[ka+16>>2]|0;n=c[ka+20>>2]|0;l=c[ka+32>>2]|0;ja=c[ka+36>>2]|0;B=+g[ka+48>>2];aa=+g[ka+52>>2];ea=+g[ka+56>>2];ia=+g[o+184>>2];$=(c[j>>2]=e,+g[j>>2]);_=(c[j>>2]=m,+g[j>>2])*0.0;C=+g[ka+8>>2]*0.0;da=(c[j>>2]=k,+g[j>>2]);ca=(c[j>>2]=n,+g[j>>2])*0.0;ba=+g[ka+24>>2]*0.0;ha=(c[j>>2]=l,+g[j>>2]);ga=(c[j>>2]=ja,+g[j>>2])*0.0;fa=+g[ka+40>>2]*0.0;g[Z+96>>2]=B+(C+(_+ia*$));g[Z+96+4>>2]=aa+(ba+(ca+ia*da));g[Z+96+8>>2]=ea+(fa+(ga+ia*ha));g[Z+96+12>>2]=0.0;ia=+g[o+188>>2];g[Z+80>>2]=B+(C+(_+ia*$));g[Z+80+4>>2]=aa+(ba+(ca+ia*da));g[Z+80+8>>2]=ea+(fa+(ga+ia*ha));g[Z+80+12>>2]=0.0;ka=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;ma=c[(c[ka>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;ab[ma&127](ka,Z+96|0,Z+80|0,Z+64|0);c[Z+64>>2]=e;c[Z+64+4>>2]=k;c[Z+64+8>>2]=l;g[Z+64+12>>2]=0.0;c[Z+48>>2]=m;c[Z+48+4>>2]=n;c[Z+48+8>>2]=ja;g[Z+48+12>>2]=0.0;ha=+g[o+192>>2];ia=+g[o+196>>2];ja=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;db[n&1](ja,o+888+48|0,Z+64|0,Z+48|0,E,E,ha,ia,Z+32|0,1,10.0)}break a}default:break a}while(0)}while((D|0)>1)}if((((Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0?(ma=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Fa[c[(c[ma>>2]|0)+48>>2]&127](ma)|0)&16387|0):0)?Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0:0)?(ma=Fa[c[(c[b>>2]|0)+20>>2]&127](b)|0,Fa[c[(c[ma>>2]|0)+48>>2]&127](ma)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{ma=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Va[c[(c[ma>>2]|0)+12>>2]&127](ma,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[3084]|0;ma=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=ma;if(ma|0){sa=Z;return}do if(c[d+4>>2]|0){la(Z+112|0,0)|0;ma=c[7181]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[Z+112+4>>2]|0)-(c[ma+4>>2]|0)+(((c[Z+112>>2]|0)-(c[ma>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3084]|0;break}else{sa=Z;return}}while(0);c[3084]=c[d+20>>2];sa=Z;return}function sb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;ve(b,e,f)|0;F=c[b+872>>2]|0;c[e+292>>2]=F;if(F){F=Ha[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=F;if(F|0){j=c[e+292>>2]|0;m=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[m+8>>2]|0;h=0;while(1){k=c[(c[b+880>>2]|0)+(h<<2)>>2]|0;if(!k){i=0;l=0}else{i=k;l=Ha[c[(c[f>>2]|0)+28>>2]&31](f,k)|0}c[g>>2]=l;if(!(Ha[c[(c[f>>2]|0)+24>>2]&31](f,i)|0)){F=Ja[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;E=c[F+8>>2]|0;c[E+12>>2]=c[k+16>>2];c[E+4>>2]=c[k+8>>2];c[E>>2]=c[k+4>>2];c[E+8>>2]=c[k+12>>2];eb[c[(c[f>>2]|0)+20>>2]&31](f,F,15001,1414349395,i)}h=h+1|0;if((h|0)>=(j|0)){g=f;break}else g=g+4|0}}else g=f;eb[c[(c[g>>2]|0)+20>>2]&31](f,m,15001,1497453121,b+868|0)}}else c[e+260>>2]=0;F=c[b+712>>2]|0;c[e+296>>2]=F;if(F){F=Ha[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=F;if(!F){x=0;h=0;i=0;j=0;k=0}else{E=c[e+296>>2]|0;F=Ja[c[(c[f>>2]|0)+16>>2]&63](f,100,E)|0;if((E|0)>0){C=0;D=c[F+8>>2]|0;p=0;t=0;u=0;g=0;h=0;q=0;y=0;w=0;i=0;r=0;j=0;k=0;B=0;x=0;while(1){m=c[b+720>>2]|0;c[D+52>>2]=c[m+(C*104|0)+56>>2];c[D+56>>2]=c[m+(C*104|0)+60>>2];c[D+60>>2]=c[m+(C*104|0)+64>>2];c[D+64>>2]=c[m+(C*104|0)+68>>2];c[D+88>>2]=c[m+(C*104|0)+92>>2];l=a[m+(C*104|0)+100>>0]<<7&255;c[D+92>>2]=(7?l<<24>>24>>7:l<<24>>24)<<24>>24;c[D+84>>2]=c[m+(C*104|0)+88>>2];l=c[m+(C*104|0)+4>>2]|0;if(!l)l=0;else{l=Ha[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+720>>2]|0}c[D>>2]=l;o=m+(C*104|0)|0;c[D+68>>2]=c[m+(C*104|0)+72>>2];c[D+72>>2]=c[m+(C*104|0)+76>>2];c[D+76>>2]=c[m+(C*104|0)+80>>2];c[D+80>>2]=c[m+(C*104|0)+84>>2];c[D+4>>2]=c[m+(C*104|0)+8>>2];c[D+8>>2]=c[m+(C*104|0)+12>>2];c[D+12>>2]=c[m+(C*104|0)+16>>2];c[D+16>>2]=c[m+(C*104|0)+20>>2];c[D+20>>2]=c[m+(C*104|0)+24>>2];c[D+24>>2]=c[m+(C*104|0)+28>>2];c[D+28>>2]=c[m+(C*104|0)+32>>2];c[D+32>>2]=c[m+(C*104|0)+36>>2];c[D+36>>2]=c[m+(C*104|0)+40>>2];c[D+40>>2]=c[m+(C*104|0)+44>>2];c[D+44>>2]=c[m+(C*104|0)+48>>2];c[D+48>>2]=c[m+(C*104|0)+52>>2];v=((10?o+~(o<<15)>>10:o+~(o<<15)|0)^o+~(o<<15))*9|0;v=(6?v>>6:v)^v;v=(16?v+~(v<<11)>>16:v+~(v<<11)|0)^v+~(v<<11);s=v&j+-1;a:do if(s>>>0>>0?(G=c[h+(s<<2)>>2]|0,(G|0)!=-1):0){l=G;while(1){if((c[g+(l<<3)>>2]|0)==(o|0))break;l=c[i+(l<<2)>>2]|0;if((l|0)==-1){J=27;break a}}c[k+(l<<2)>>2]=C;s=u;o=y;m=w;n=B;l=x}else J=27;while(0);if((J|0)==27){J=0;do if((r|0)==(j|0)){m=(j|0)==0?1:j<<1;if((j|0)<(m|0)){if((m|0)!=0?(c[7182]=(c[7182]|0)+1,H=xb((m<<2|3)+16|0)|0,(H|0)!=0):0){c[(H+4+15&-16)+-4>>2]=H;n=H+4+15&-16}else n=0;if((j|0)<=0){if(!k){A=m;k=n;l=j;break}}else{l=0;do{c[n+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0);A=m;k=n;l=j}else{A=j;l=j}}else{A=j;l=r}while(0);c[k+(l<<2)>>2]=C;z=r+1|0;do if((t|0)==(u|0)){m=(t|0)==0?1:t<<1;if((t|0)<(m|0)){if((m|0)!=0?(c[7182]=(c[7182]|0)+1,I=xb((m<<3|3)+16|0)|0,(I|0)!=0):0){c[(I+4+15&-16)+-4>>2]=I;n=I+4+15&-16}else n=0;if((t|0)<=0){if(!g){u=m;g=n;break}}else{l=0;do{L=g+(l<<3)|0;K=c[L+4>>2]|0;u=n+(l<<3)|0;c[u>>2]=c[L>>2];c[u+4>>2]=K;l=l+1|0}while((l|0)!=(t|0))}c[7183]=(c[7183]|0)+1;Hc(c[g+-4>>2]|0);u=m;g=n}else u=t}while(0);c[g+(t<<3)>>2]=o;t=t+1|0;if((j|0)<(A|0)){if((q|0)<(A|0)){do if((p|0)<(A|0)){do if(!A)l=0;else{c[7182]=(c[7182]|0)+1;j=xb((A<<2|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((q|0)<=0){if(!h){p=A;h=l;s=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[h+(j<<2)>>2];j=j+1|0}while((j|0)!=(q|0))}c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);p=A;h=l;s=l}else s=x;while(0);o=A<<2;mk(h+(q<<2)|0,0,o-(q<<2)|0)|0;if((y|0)<(A|0)){do if((w|0)<(A|0)){do if(!A)l=0;else{c[7182]=(c[7182]|0)+1;j=xb((o|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((y|0)<=0){if(!i){m=A;i=l;j=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(y|0))}c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0);m=A;i=l;j=l}else{m=w;j=B}while(0);mk(i+(y<<2)|0,0,o-(y<<2)|0)|0;n=j}else{m=w;n=B}if((A|0)>0){mk(s|0,-1,o|0)|0;mk(n|0,-1,o|0)|0}if((q|0)>0){l=A+-1|0;j=0;do{L=c[g+(j<<3)>>2]|0;L=((10?L+~(L<<15)>>10:L+~(L<<15)|0)^L+~(L<<15))*9|0;L=(6?L>>6:L)^L;L=h+((((16?L+~(L<<11)>>16:L+~(L<<11)|0)^L+~(L<<11))&l)<<2)|0;c[i+(j<<2)>>2]=c[L>>2];c[L>>2]=j;j=j+1|0}while((j|0)!=(q|0));l=A;o=A;j=s}else{l=A;o=A;j=s}}else{l=q;o=y;m=w;n=B;j=x}s=v&A+-1;q=l;l=j}else{o=y;m=w;n=B;l=x}s=h+(s<<2)|0;c[i+(r<<2)>>2]=c[s>>2];c[s>>2]=r;s=u;r=z;j=A}C=C+1|0;if((C|0)>=(E|0))break;else{D=D+100|0;u=s;y=o;w=m;B=n;x=l}}}else{g=0;h=0;i=0;j=0;k=0}eb[c[(c[f>>2]|0)+20>>2]&31](f,F,15022,1145979475,b+708|0);x=g}}else{c[e+264>>2]=0;x=0;h=0;i=0;j=0;k=0}L=c[b+732>>2]|0;c[e+300>>2]=L;if(L){L=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=L;if(L|0){p=c[e+300>>2]|0;q=Ja[c[(c[f>>2]|0)+16>>2]&63](f,20,p)|0;if((p|0)>0){m=c[b+740>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){l=a[m+(o*52|0)+20>>0]<<7&255;c[n+16>>2]=(7?l<<24>>24>>7:l<<24>>24)<<24>>24;l=c[m+(o*52|0)+4>>2]|0;if(!l)l=0;else{l=Ha[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+740>>2]|0;g=m}c[n>>2]=l;l=c[m+(o*52|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+4>>2]=l;l=c[m+(o*52|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+8>>2]=l;c[n+12>>2]=c[m+(o*52|0)+16>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+20|0}}else g=c[b+740>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,q,15039,1497453121,g)}}else c[e+268>>2]=0;L=c[b+752>>2]|0;c[e+304>>2]=L;if(L){L=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=L;if(L|0){p=c[e+304>>2]|0;q=Ja[c[(c[f>>2]|0)+16>>2]&63](f,36,p)|0;if((p|0)>0){m=c[b+760>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){l=c[m+(o*44|0)+4>>2]|0;if(!l)l=0;else{l=Ha[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+760>>2]|0;g=m}c[n+16>>2]=l;c[n>>2]=c[m+(o*44|0)+20>>2];c[n+4>>2]=c[m+(o*44|0)+24>>2];c[n+8>>2]=c[m+(o*44|0)+28>>2];c[n+12>>2]=c[m+(o*44|0)+32>>2];l=c[m+(o*44|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+20>>2]=l;l=c[m+(o*44|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+24>>2]=l;l=c[m+(o*44|0)+16>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+28>>2]=l;c[n+32>>2]=c[m+(o*44|0)+36>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+36|0}}else g=c[b+760>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,q,15056,1497453121,g)}}else c[e+272>>2]=0;L=c[b+772>>2]|0;c[e+308>>2]=L;if(L){L=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=L;if(L|0){p=c[e+308>>2]|0;q=Ja[c[(c[f>>2]|0)+16>>2]&63](f,100,p)|0;if((p|0)>0){m=c[b+780>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){c[n>>2]=c[m+(o*104|0)+32>>2];c[n+4>>2]=c[m+(o*104|0)+36>>2];c[n+8>>2]=c[m+(o*104|0)+40>>2];c[n+12>>2]=c[m+(o*104|0)+44>>2];l=c[m+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+68>>2]=l;c[n+16>>2]=c[m+(o*104|0)+48>>2];c[n+20>>2]=c[m+(o*104|0)+52>>2];c[n+24>>2]=c[m+(o*104|0)+56>>2];c[n+28>>2]=c[m+(o*104|0)+60>>2];l=c[m+116>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+72>>2]=l;c[n+32>>2]=c[m+(o*104|0)+64>>2];c[n+36>>2]=c[m+(o*104|0)+68>>2];c[n+40>>2]=c[m+(o*104|0)+72>>2];c[n+44>>2]=c[m+(o*104|0)+76>>2];l=c[m+224>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+76>>2]=l;c[n+48>>2]=c[m+(o*104|0)+80>>2];c[n+52>>2]=c[m+(o*104|0)+84>>2];c[n+56>>2]=c[m+(o*104|0)+88>>2];c[n+60>>2]=c[m+(o*104|0)+92>>2];l=c[m+332>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+80>>2]=l;c[n+88>>2]=c[m+(o*104|0)+96>>2];c[n+92>>2]=c[m+(o*104|0)+100>>2];l=c[m+(o*104|0)+4>>2]|0;if(!l)l=0;else{l=Ha[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+780>>2]|0;g=m}c[n+64>>2]=l;c[n+84>>2]=c[m+(o*104|0)+24>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+100|0}}else g=c[b+780>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,q,15073,1497453121,g)}}else c[e+276>>2]=0;L=c[b+792>>2]|0;c[e+312>>2]=L;if(L){L=Ha[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=L;if(!L)w=f;else{o=c[e+312>>2]|0;p=Ja[c[(c[f>>2]|0)+16>>2]&63](f,92,o)|0;if((o|0)>0){m=c[p+8>>2]|0;n=0;while(1){l=c[b+800>>2]|0;c[m>>2]=c[l+(n*96|0)+28>>2];c[m+4>>2]=c[l+(n*96|0)+32>>2];c[m+8>>2]=c[l+(n*96|0)+36>>2];c[m+12>>2]=c[l+(n*96|0)+40>>2];c[m+16>>2]=c[l+(n*96|0)+44>>2];c[m+20>>2]=c[l+(n*96|0)+48>>2];c[m+24>>2]=c[l+(n*96|0)+52>>2];c[m+28>>2]=c[l+(n*96|0)+56>>2];c[m+32>>2]=c[l+(n*96|0)+60>>2];c[m+36>>2]=c[l+(n*96|0)+64>>2];c[m+40>>2]=c[l+(n*96|0)+68>>2];c[m+44>>2]=c[l+(n*96|0)+72>>2];c[m+48>>2]=c[l+(n*96|0)+76>>2];c[m+52>>2]=c[l+(n*96|0)+80>>2];c[m+56>>2]=c[l+(n*96|0)+84>>2];c[m+60>>2]=c[l+(n*96|0)+88>>2];c[m+88>>2]=c[l+(n*96|0)+92>>2];c[m+64>>2]=c[l+(n*96|0)+4>>2];c[m+68>>2]=c[l+(n*96|0)+8>>2];c[m+72>>2]=c[l+(n*96|0)+12>>2];c[m+76>>2]=c[l+(n*96|0)+16>>2];g=c[l+(n*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[l+(n*96|0)+20>>2]|0;if(!g)g=0;else g=Ha[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;n=n+1|0;if((n|0)>=(o|0))break;else m=m+92|0}}eb[c[(c[f>>2]|0)+20>>2]&31](f,p,15091,1497453121,c[b+800>>2]|0);w=f}}else{c[e+280>>2]=0;w=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];q=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=q;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,b+472|0)|0;q=Ja[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;p=c[q+8>>2]|0;c[p+96>>2]=c[b+632>>2];c[p+100>>2]=c[b+636>>2];c[p+104>>2]=c[b+640>>2];c[p+108>>2]=c[b+644>>2];c[p+112>>2]=c[b+648>>2];c[p+116>>2]=c[b+652>>2];c[p+120>>2]=c[b+656>>2];c[p+124>>2]=c[b+660>>2];c[p+128>>2]=c[b+664>>2];c[p+132>>2]=c[b+668>>2];c[p+136>>2]=c[b+672>>2];c[p+140>>2]=c[b+676>>2];c[p+180>>2]=d[b+473>>0];c[p+176>>2]=d[b+472>>0];c[p+144>>2]=c[b+520>>2];c[p+148>>2]=c[b+524>>2];c[p+152>>2]=c[b+528>>2];c[p+156>>2]=c[b+532>>2];L=c[b+484>>2]|0;c[p+168>>2]=L;if(L){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;n=c[p+168>>2]|0;c[p+160>>2]=L;if(n|0){o=Ja[c[(c[f>>2]|0)+16>>2]&63](f,16,n)|0;if((n|0)>0){g=c[b+492>>2]|0;l=c[o+8>>2]|0;m=0;while(1){c[l>>2]=c[g+(m<<4)>>2];c[l+4>>2]=c[g+(m<<4)+4>>2];c[l+8>>2]=c[g+(m<<4)+8>>2];c[l+12>>2]=c[g+(m<<4)+12>>2];m=m+1|0;if((m|0)==(n|0))break;else l=l+16|0}}else g=c[b+492>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,o,23625,1497453121,g)}}else c[p+160>>2]=0;c[p+184>>2]=c[b+476>>2];c[p>>2]=c[b+536>>2];c[p+4>>2]=c[b+540>>2];c[p+8>>2]=c[b+544>>2];c[p+12>>2]=c[b+548>>2];c[p+16>>2]=c[b+552>>2];c[p+20>>2]=c[b+556>>2];c[p+24>>2]=c[b+560>>2];c[p+28>>2]=c[b+564>>2];c[p+32>>2]=c[b+568>>2];c[p+36>>2]=c[b+572>>2];c[p+40>>2]=c[b+576>>2];c[p+44>>2]=c[b+580>>2];c[p+48>>2]=c[b+584>>2];c[p+52>>2]=c[b+588>>2];c[p+56>>2]=c[b+592>>2];c[p+60>>2]=c[b+596>>2];c[p+64>>2]=c[b+600>>2];c[p+68>>2]=c[b+604>>2];c[p+72>>2]=c[b+608>>2];c[p+76>>2]=c[b+612>>2];c[p+80>>2]=c[b+616>>2];c[p+84>>2]=c[b+620>>2];c[p+88>>2]=c[b+624>>2];c[p+92>>2]=c[b+628>>2];L=c[b+504>>2]|0;c[p+172>>2]=L;if(L){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;n=c[p+172>>2]|0;c[p+164>>2]=L;if(n|0){o=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,n)|0;if((n|0)>0){g=c[b+512>>2]|0;l=0;m=c[o+8>>2]|0;while(1){c[m>>2]=c[g+(l<<2)>>2];l=l+1|0;if((l|0)==(n|0))break;else m=m+4|0}}else g=c[b+512>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,o,15111,1497453121,g)}}else c[p+164>>2]=0;eb[c[(c[f>>2]|0)+20>>2]&31](f,q,15117,1497453121,b+472|0);L=c[b+1112>>2]|0;c[e+316>>2]=L;if(L){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;u=c[e+316>>2]|0;c[e+284>>2]=L;if(u|0){v=Ja[c[(c[f>>2]|0)+16>>2]&63](f,348,u)|0;if((u|0)>0){t=j+-1|0;r=0;s=c[v+8>>2]|0;while(1){j=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;L=s+320|0;c[L>>2]=c[j+360>>2];c[s+256>>2]=c[j+332>>2];c[s+260>>2]=c[j+336>>2];c[s+264>>2]=c[j+340>>2];c[s+268>>2]=c[j+344>>2];c[s+344>>2]=c[j+380>>2];c[s+340>>2]=d[j+377>>0];c[s+160>>2]=c[j+228>>2];c[s+164>>2]=c[j+232>>2];c[s+168>>2]=c[j+236>>2];c[s+172>>2]=c[j+240>>2];c[s+336>>2]=d[j+376>>0];c[s+208>>2]=c[j+276>>2];c[s+212>>2]=c[j+280>>2];c[s+216>>2]=c[j+284>>2];c[s+220>>2]=c[j+288>>2];c[s+224>>2]=c[j+292>>2];c[s+228>>2]=c[j+296>>2];c[s+232>>2]=c[j+300>>2];c[s+236>>2]=c[j+304>>2];c[s>>2]=c[j+60>>2];c[s+4>>2]=c[j+64>>2];c[s+8>>2]=c[j+68>>2];c[s+12>>2]=c[j+72>>2];c[s+16>>2]=c[j+76>>2];c[s+20>>2]=c[j+80>>2];c[s+24>>2]=c[j+84>>2];c[s+28>>2]=c[j+88>>2];c[s+32>>2]=c[j+92>>2];c[s+36>>2]=c[j+96>>2];c[s+40>>2]=c[j+100>>2];c[s+44>>2]=c[j+104>>2];c[s+48>>2]=c[j+108>>2];c[s+52>>2]=c[j+112>>2];c[s+56>>2]=c[j+116>>2];c[s+60>>2]=c[j+120>>2];c[s+296>>2]=c[j+124>>2];c[s+300>>2]=c[j+128>>2];c[s+112>>2]=c[j+180>>2];c[s+116>>2]=c[j+184>>2];c[s+120>>2]=c[j+188>>2];c[s+124>>2]=c[j+192>>2];c[s+128>>2]=c[j+196>>2];c[s+132>>2]=c[j+200>>2];c[s+136>>2]=c[j+204>>2];c[s+140>>2]=c[j+208>>2];c[s+144>>2]=c[j+212>>2];c[s+148>>2]=c[j+216>>2];c[s+152>>2]=c[j+220>>2];c[s+156>>2]=c[j+224>>2];g=s+316|0;c[g>>2]=c[j+356>>2];c[s+64>>2]=c[j+132>>2];c[s+68>>2]=c[j+136>>2];c[s+72>>2]=c[j+140>>2];c[s+76>>2]=c[j+144>>2];c[s+80>>2]=c[j+148>>2];c[s+84>>2]=c[j+152>>2];c[s+88>>2]=c[j+156>>2];c[s+92>>2]=c[j+160>>2];c[s+96>>2]=c[j+164>>2];c[s+100>>2]=c[j+168>>2];c[s+104>>2]=c[j+172>>2];c[s+108>>2]=c[j+176>>2];c[s+240>>2]=c[j+316>>2];c[s+244>>2]=c[j+320>>2];c[s+248>>2]=c[j+324>>2];c[s+252>>2]=c[j+328>>2];c[s+324>>2]=c[j+364>>2];c[s+328>>2]=c[j+368>>2];c[s+312>>2]=c[j+352>>2];c[g>>2]=c[j+356>>2];c[L>>2]=c[j+360>>2];c[s+332>>2]=c[j+372>>2];L=c[j+44>>2]|0;g=s+284|0;c[g>>2]=L;p=s+292|0;c[p>>2]=c[j+4>>2];q=s+288|0;c[q>>2]=c[j+24>>2];c[s+304>>2]=c[j+308>>2];c[s+176>>2]=c[j+244>>2];c[s+180>>2]=c[j+248>>2];c[s+184>>2]=c[j+252>>2];c[s+188>>2]=c[j+256>>2];c[s+192>>2]=c[j+260>>2];c[s+196>>2]=c[j+264>>2];c[s+200>>2]=c[j+268>>2];c[s+204>>2]=c[j+272>>2];c[s+308>>2]=c[j+312>>2];if(L){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[j+52>>2]|0)|0;c[s+272>>2]=L;if(L|0){m=c[g>>2]|0;o=Ja[c[(c[f>>2]|0)+16>>2]&63](f,16,m)|0;if((m|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;n=c[g>>2]|0;j=0;l=c[o+8>>2]|0;while(1){c[l>>2]=c[n+(j<<4)>>2];c[l+4>>2]=c[n+(j<<4)+4>>2];c[l+8>>2]=c[n+(j<<4)+8>>2];c[l+12>>2]=c[n+(j<<4)+12>>2];j=j+1|0;if((j|0)==(m|0))break;else l=l+16|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,o,23625,1497453121,c[g>>2]|0)}}else c[s+272>>2]=0;if(c[p>>2]|0){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12>>2]|0)|0;c[s+280>>2]=L;if(L|0){m=c[p>>2]|0;o=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,m)|0;if((m|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;n=c[g>>2]|0;j=0;l=c[o+8>>2]|0;while(1){c[l>>2]=c[n+(j<<2)>>2];j=j+1|0;if((j|0)==(m|0))break;else l=l+4|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,o,15111,1497453121,c[g>>2]|0)}}else c[s+280>>2]=0;if(c[q>>2]|0){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+20|0)|0;c[s+276>>2]=L;if(L|0){p=c[p>>2]|0;q=Ja[c[(c[f>>2]|0)+16>>2]&63](f,4,p)|0;if((p|0)>0){g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;o=c[g+32>>2]|0;m=0;n=c[q+8>>2]|0;while(1){l=c[o+(m<<2)>>2]|0;j=((10?~(l<<15)+l>>10:~(l<<15)+l|0)^~(l<<15)+l)*9|0;j=(6?j>>6:j)^j;j=c[h+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&t)<<2)>>2]|0;if((c[x+(j<<3)>>2]|0)!=(l|0))do j=c[i+(j<<2)>>2]|0;while((c[x+(j<<3)>>2]|0)!=(l|0));c[n>>2]=c[k+(j<<2)>>2];m=m+1|0;if((m|0)==(p|0))break;else n=n+4|0}}else g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;eb[c[(c[f>>2]|0)+20>>2]&31](f,q,15154,1497453121,g+20|0)}}else c[s+276>>2]=0;r=r+1|0;if((r|0)>=(u|0))break;else s=s+348|0}}eb[c[(c[f>>2]|0)+20>>2]&31](f,v,15134,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;L=c[b+852>>2]|0;c[e+320>>2]=L;if(L){L=Ha[c[(c[w>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=L;if(L|0){n=c[b+852>>2]|0;o=Ja[c[(c[f>>2]|0)+16>>2]&63](f,104,n)|0;if((n|0)>0){l=0;m=c[o+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0;c[m+96>>2]=Fa[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+860>>2]|0)+(l<<2)|0;L=c[g>>2]|0;c[m+8>>2]=c[L+28>>2];c[m+12>>2]=c[L+32>>2];c[m+16>>2]=c[L+36>>2];c[m+20>>2]=c[L+40>>2];c[m+24>>2]=c[L+44>>2];c[m+28>>2]=c[L+48>>2];c[m+32>>2]=c[L+52>>2];c[m+36>>2]=c[L+56>>2];c[m+40>>2]=c[L+60>>2];c[m+44>>2]=c[L+64>>2];c[m+48>>2]=c[L+68>>2];c[m+52>>2]=d[L+152>>0];L=m+56|0;c[m>>2]=0;p=m+4|0;c[p>>2]=0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;g=c[(c[g>>2]|0)+4>>2]|0;if(g|0){c[m+88>>2]=1;c[m>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,g)|0}g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0;j=c[g+12>>2]|0;if(j){c[m+88>>2]=3;c[m>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+8>>2]|0;if(j){c[m+88>>2]=2;c[m>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+16>>2]|0;if(j){c[m+92>>2]=1;c[p>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+24>>2]|0;if(j){c[m+92>>2]=3;c[p>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[m+92>>2]=2;c[p>>2]=Ha[c[(c[w>>2]|0)+28>>2]&31](f,g)|0}l=l+1|0;if((l|0)>=(n|0))break;else m=m+104|0}}eb[c[(c[f>>2]|0)+20>>2]&31](f,o,15158,1497453121,c[b+860>>2]|0)}}else c[e+288>>2]=0;if(x|0){c[7183]=(c[7183]|0)+1;Hc(c[x+-4>>2]|0)}if(k|0){c[7183]=(c[7183]|0)+1;Hc(c[k+-4>>2]|0)}if(i|0){c[7183]=(c[7183]|0)+1;Hc(c[i+-4>>2]|0)}if(!h)return 15178;c[7183]=(c[7183]|0)+1;Hc(c[h+-4>>2]|0);return 15178}function tb(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0;X=sa;sa=sa+240|0;e=c[b+24>>2]|0;if((e|0)<=0){sa=X;return}H=X+128+76|0;I=X+80+16|0;J=X+80+32|0;G=0;do{F=c[(c[b+32>>2]|0)+(G<<2)>>2]|0;switch(c[F+216>>2]|0){case 2:case 5:break;default:{if(a[F+924>>0]|0){a[F+924>>0]=0;f=c[F+732>>2]|0;if((f|0)>0){h=c[F+740>>2]|0;e=0;do{z=c[h+(e*52|0)+8>>2]|0;A=c[h+(e*52|0)+12>>2]|0;C=+g[z+8>>2]-+g[A+8>>2];D=+g[z+12>>2]-+g[A+12>>2];E=+g[z+16>>2]-+g[A+16>>2];E=+x(+(C*C+D*D+E*E));g[h+(e*52|0)+16>>2]=E;g[h+(e*52|0)+28>>2]=E*E;e=e+1|0}while((e|0)!=(f|0));e=0;do{g[h+(e*52|0)+24>>2]=(+g[(c[h+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[h+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[h+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0))}cf(F);e=c[F+988>>2]|0;if(e|0)Gm(F+988|0,e);e=c[F+992>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[F+992>>2]=0;c[F+996>>2]=-1;e=c[F+1020>>2]|0;if(e|0){if(a[F+1024>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[F+1020>>2]=0}a[F+1024>>0]=1;c[F+1020>>2]=0;c[F+1012>>2]=0;c[F+1016>>2]=0;c[F+1004>>2]=0;if(c[F+388>>2]&16|0){e=c[F+988>>2]|0;if(e|0)Gm(F+988|0,e);e=c[F+992>>2]|0;if(e|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[F+992>>2]=0;c[F+996>>2]=-1;e=c[F+1020>>2]|0;if(e|0){if(a[F+1024>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[e+-4>>2]|0)}c[F+1020>>2]=0}a[F+1024>>0]=1;c[F+1020>>2]=0;c[F+1012>>2]=0;c[F+1016>>2]=0;c[F+1004>>2]=0;if((c[F+752>>2]|0)>0){f=0;do{h=c[F+760>>2]|0;t=h+(f*44|0)|0;z=c[h+(f*44|0)+8>>2]|0;A=c[h+(f*44|0)+12>>2]|0;e=c[h+(f*44|0)+16>>2]|0;o=+g[z+8>>2];p=+g[z+12>>2];q=+g[z+16>>2];m=+g[z+20>>2];B=+g[A+8>>2];i=B>2];n=E>2];k=D>2];l=C>2];i=C>2];n=D>2];k=E>2];l=B>2]|0;if(!e){c[7182]=(c[7182]|0)+1;e=xb(63)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}y=e;z=y+44|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0))}else c[F+992>>2]=0;c[e+32>>2]=0;c[e+36>>2]=t;c[e+40>>2]=0;g[e>>2]=i;g[e+4>>2]=n;g[e+8>>2]=k;g[e+12>>2]=l;g[e+16>>2]=o;g[e+20>>2]=p;g[e+24>>2]=q;g[e+28>>2]=m;ue(F+988|0,c[F+988>>2]|0,e);c[F+1e3>>2]=(c[F+1e3>>2]|0)+1;c[h+(f*44|0)+40>>2]=e;f=f+1|0}while((f|0)<(c[F+752>>2]|0))}}}l=+g[F+368>>2]*d;g[F+452>>2]=l;g[F+456>>2]=1.0/l;g[F+460>>2]=l*3.0;f=c[F+192>>2]|0;l=+va[c[(c[f>>2]|0)+48>>2]&15](f);g[F+464>>2]=l;g[F+468>>2]=l*.25;f=c[F+684>>2]|0;l=+g[F+452>>2];i=+g[f+40>>2]*l;k=l*+g[f+44>>2];l=l*+g[f+48>>2];f=c[F+712>>2]|0;if((f|0)>0){h=c[F+720>>2]|0;e=0;do{if(+g[h+(e*104|0)+88>>2]>0.0){A=h+(e*104|0)+40|0;g[A>>2]=i+ +g[A>>2];A=h+(e*104|0)+44|0;g[A>>2]=k+ +g[A>>2];A=h+(e*104|0)+48|0;g[A>>2]=l+ +g[A>>2]}e=e+1|0}while((e|0)!=(f|0))}Ki(15356);n=+g[F+308>>2];o=+g[F+312>>2];t=+g[F+304>>2]>0.0?1:+g[F+300>>2]>0.0;y=c[F+712>>2]|0;if(n!=0.0|o>0.0){if((y|0)>0){f=c[F+720>>2]|0;k=+g[f+8>>2];l=+g[f+12>>2];m=+g[f+16>>2];f=c[F+752>>2]|0;if((f|0)>0){h=c[F+760>>2]|0;e=0;i=0.0;do{A=c[h+(e*44|0)+8>>2]|0;z=c[h+(e*44|0)+12>>2]|0;D=+g[z+8>>2]-k;u=+g[z+12>>2]-l;B=+g[z+16>>2]-m;z=c[h+(e*44|0)+16>>2]|0;C=+g[z+8>>2]-k;v=+g[z+12>>2]-l;E=+g[z+16>>2]-m;i=i+((+g[A+16>>2]-m)*(D*v-u*C)+((+g[A+8>>2]-k)*(u*E-B*v)+(+g[A+12>>2]-l)*(B*C-D*E)));e=e+1|0}while((e|0)!=(f|0))}else i=0.0;i=i/6.0}else i=0.0;k=n*(1.0/+w(+i));i=o*(+g[F+476>>2]-i)}else{i=0.0;k=0.0}if((y|0)>0)if(t){e=0;do{f=c[F+720>>2]|0;if(+g[f+(e*104|0)+88>>2]>0.0){Zd(F,F+1212|0,e);if(n!=0.0){C=k*+g[f+(e*104|0)+92>>2];D=C*+g[f+(e*104|0)+76>>2];E=C*+g[f+(e*104|0)+80>>2];A=f+(e*104|0)+56|0;g[A>>2]=+g[f+(e*104|0)+72>>2]*C+ +g[A>>2];A=f+(e*104|0)+60|0;g[A>>2]=D+ +g[A>>2];A=f+(e*104|0)+64|0;g[A>>2]=E+ +g[A>>2]}if(o>0.0){C=i*+g[f+(e*104|0)+92>>2];D=C*+g[f+(e*104|0)+76>>2];E=C*+g[f+(e*104|0)+80>>2];A=f+(e*104|0)+56|0;g[A>>2]=+g[f+(e*104|0)+72>>2]*C+ +g[A>>2];A=f+(e*104|0)+60|0;g[A>>2]=D+ +g[A>>2];A=f+(e*104|0)+64|0;g[A>>2]=E+ +g[A>>2]}}e=e+1|0}while((e|0)!=(y|0))}else{f=c[F+720>>2]|0;e=0;do{if(+g[f+(e*104|0)+88>>2]>0.0){if(n!=0.0){C=k*+g[f+(e*104|0)+92>>2];D=C*+g[f+(e*104|0)+76>>2];E=C*+g[f+(e*104|0)+80>>2];A=f+(e*104|0)+56|0;g[A>>2]=+g[f+(e*104|0)+72>>2]*C+ +g[A>>2];A=f+(e*104|0)+60|0;g[A>>2]=D+ +g[A>>2];A=f+(e*104|0)+64|0;g[A>>2]=E+ +g[A>>2]}if(o>0.0){C=i*+g[f+(e*104|0)+92>>2];D=C*+g[f+(e*104|0)+76>>2];E=C*+g[f+(e*104|0)+80>>2];A=f+(e*104|0)+56|0;g[A>>2]=+g[f+(e*104|0)+72>>2]*C+ +g[A>>2];A=f+(e*104|0)+60|0;g[A>>2]=D+ +g[A>>2];A=f+(e*104|0)+64|0;g[A>>2]=E+ +g[A>>2]}}e=e+1|0}while((e|0)!=(y|0))}f=c[F+752>>2]|0;if((f|0)>0){e=0;do{B=+g[F+452>>2];p=+g[F+304>>2];m=+g[F+300>>2];a:do if((p>0.0|m>0.0?(K=c[F+288>>2]|0,(K|0)>3):0)?(L=c[F+760>>2]|0,M=c[L+(e*44|0)+8>>2]|0,N=c[L+(e*44|0)+12>>2]|0,O=+g[M+40>>2],P=+g[M+44>>2],Q=+g[M+48>>2],R=c[L+(e*44|0)+16>>2]|0,S=c[c[F+684>>2]>>2]|0,T=(O+ +g[N+40>>2]+ +g[R+40>>2])*.3333333432674408-+g[F+1212>>2],U=(P+ +g[N+44>>2]+ +g[R+44>>2])*.3333333432674408-+g[F+1216>>2],V=(Q+ +g[N+48>>2]+ +g[R+48>>2])*.3333333432674408-+g[F+1220>>2],W=+x(+(T*T+U*U+V*V)),T*T+U*U+V*V>1.1920928955078125e-07):0){s=T*(1.0/W);u=U*(1.0/W);v=V*(1.0/W);o=+g[L+(e*44|0)+20>>2];q=+g[L+(e*44|0)+24>>2];r=+g[L+(e*44|0)+28>>2];switch(K|0){case 5:break;case 4:case 6:{i=T*o+U*q+V*r<0.0?-1.0:1.0;if(!(V*r*i+(T*o*i+U*q*i)>0.0))break a;n=-((T*T+U*U+V*V)*(V*r*i+(T*o*i+U*q*i))*+g[L+(e*44|0)+36>>2]*(c[j>>2]=S,+g[j>>2]));s=(s*m*n+(o*i*p*n+0.0))*.3333333432674408;q=(u*m*n+(q*i*p*n+0.0))*.3333333432674408;n=(v*m*n+(r*i*p*n+0.0))*.3333333432674408;o=1.0/+x(+(n*n+(s*s+q*q)));i=B*+g[M+88>>2];if(n*i*n*i+(s*i*s*i+q*i*q*i)>O*O+P*P+Q*Q){g[M+56>>2]=+g[M+56>>2]-1.0/i*s*o*(s*o*O+q*o*P+n*o*Q);g[M+60>>2]=+g[M+60>>2]-1.0/i*q*o*(s*o*O+q*o*P+n*o*Q);g[M+64>>2]=+g[M+64>>2]-1.0/i*n*o*(s*o*O+q*o*P+n*o*Q)}else{g[M+56>>2]=s+ +g[M+56>>2];g[M+60>>2]=q+ +g[M+60>>2];g[M+64>>2]=n+ +g[M+64>>2]}i=B*+g[N+88>>2];k=+g[N+40>>2];l=+g[N+44>>2];m=+g[N+48>>2];if(n*i*n*i+(s*i*s*i+q*i*q*i)>k*k+l*l+m*m){g[N+56>>2]=+g[N+56>>2]-1.0/i*s*o*(s*o*k+q*o*l+n*o*m);g[N+60>>2]=+g[N+60>>2]-1.0/i*q*o*(s*o*k+q*o*l+n*o*m);g[N+64>>2]=+g[N+64>>2]-1.0/i*n*o*(s*o*k+q*o*l+n*o*m)}else{g[N+56>>2]=s+ +g[N+56>>2];g[N+60>>2]=q+ +g[N+60>>2];g[N+64>>2]=n+ +g[N+64>>2]}i=B*+g[R+88>>2];k=+g[R+40>>2];l=+g[R+44>>2];m=+g[R+48>>2];if(n*i*n*i+(s*i*s*i+q*i*q*i)>k*k+l*l+m*m){g[R+56>>2]=+g[R+56>>2]-1.0/i*s*o*(s*o*k+q*o*l+n*o*m);g[R+60>>2]=+g[R+60>>2]-1.0/i*q*o*(s*o*k+q*o*l+n*o*m);g[R+64>>2]=+g[R+64>>2]-1.0/i*n*o*(s*o*k+q*o*l+n*o*m);break a}else{g[R+56>>2]=s+ +g[R+56>>2];g[R+60>>2]=q+ +g[R+60>>2];g[R+64>>2]=n+ +g[R+64>>2];break a}}default:break a}n=T*o+U*q+V*r<0.0?-1.0:1.0;i=v*r*n+(s*o*n+u*q*n);k=+g[L+(e*44|0)+36>>2]*.5;l=(c[j>>2]=S,+g[j>>2]);m=i*(T*T+U*U+V*V)*m*.5*l*k;if(i>0.0&i<.9847999811172485){C=+x(+(1.0-i*i))*p*.5*l*W*k;D=(v*(s*r*n-v*o*n)-u*(u*o*n-s*q*n))*C*.3333333432674408;E=(s*(u*o*n-s*q*n)-v*(v*q*n-u*r*n))*C*.3333333432674408;C=(u*(v*q*n-u*r*n)-s*(s*r*n-v*o*n))*C*.3333333432674408}else{D=0.0;E=0.0;C=0.0}i=+g[M+88>>2];if(i>0.0){i=v*m*-.3333333432674408*i*B*v*m*-.3333333432674408*i*B+(s*m*-.3333333432674408*i*B*s*m*-.3333333432674408*i*B+u*m*-.3333333432674408*i*B*u*m*-.3333333432674408*i*B);if(i>0.0?i>=O*O+P*P+Q*Q:0){i=+x(+(O*O+P*P+Q*Q))/+x(+i)*.800000011920929;l=s*m*-.3333333432674408*i;k=u*m*-.3333333432674408*i;i=v*m*-.3333333432674408*i}else{l=s*m*-.3333333432674408;k=u*m*-.3333333432674408;i=v*m*-.3333333432674408}v=k+ +g[M+60>>2];B=i+ +g[M+64>>2];g[M+56>>2]=D+(l+ +g[M+56>>2]);g[M+60>>2]=E+v;g[M+64>>2]=C+B}else{l=s*m*-.3333333432674408;k=u*m*-.3333333432674408;i=v*m*-.3333333432674408}m=+g[N+88>>2];if(m>0.0){n=+g[F+452>>2];q=l*m*n;r=k*m*n;m=i*m*n;n=+g[N+40>>2];o=+g[N+44>>2];p=+g[N+48>>2];if(m*m+(q*q+r*r)>0.0?m*m+(q*q+r*r)>=n*n+o*o+p*p:0){B=+x(+(n*n+o*o+p*p))/+x(+(m*m+(q*q+r*r)))*.800000011920929;l=l*B;k=k*B;i=i*B}v=k+ +g[N+60>>2];B=i+ +g[N+64>>2];g[N+56>>2]=D+(l+ +g[N+56>>2]);g[N+60>>2]=E+v;g[N+64>>2]=C+B}m=+g[R+88>>2];if(m>0.0){n=+g[F+452>>2];q=l*m*n;r=k*m*n;m=i*m*n;n=+g[R+40>>2];o=+g[R+44>>2];p=+g[R+48>>2];if(m*m+(q*q+r*r)>0.0?m*m+(q*q+r*r)>=n*n+o*o+p*p:0){B=+x(+(n*n+o*o+p*p))/+x(+(m*m+(q*q+r*r)))*.800000011920929;l=l*B;k=k*B;i=i*B}v=k+ +g[R+60>>2];B=i+ +g[R+64>>2];g[R+56>>2]=D+(l+ +g[R+56>>2]);g[R+60>>2]=E+v;g[R+64>>2]=C+B}}while(0);e=e+1|0}while((e|0)!=(f|0))}e=c[3084]|0;A=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=A;do if(!A){if(c[e+4>>2]|0){la(X+128|0,0)|0;A=c[7181]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[X+128+4>>2]|0)-(c[A+4>>2]|0)+(((c[X+128>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3084]|0}c[3084]=c[e+20>>2]}while(0);f=c[F+712>>2]|0;if((f|0)>0){e=0;do{z=c[F+720>>2]|0;y=z+(e*104|0)+8|0;A=z+(e*104|0)+24|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];A=z+(e*104|0)+56|0;D=+g[z+(e*104|0)+88>>2];E=+g[F+452>>2];B=+g[A>>2]*D*E;C=D*+g[z+(e*104|0)+60>>2]*E;D=E*D*+g[z+(e*104|0)+64>>2];E=+g[(c[F+684>>2]|0)+12>>2]/E;B=B>E?E:B;C=C>E?E:C;D=D>E?E:D;t=z+(e*104|0)+40|0;B=(B<-E?-E:B)+ +g[t>>2];g[t>>2]=B;t=z+(e*104|0)+44|0;C=(C<-E?-E:C)+ +g[t>>2];g[t>>2]=C;t=z+(e*104|0)+48|0;D=(D<-E?-E:D)+ +g[t>>2];g[t>>2]=D;E=+g[F+452>>2];g[y>>2]=B*E+ +g[y>>2];y=z+(e*104|0)+12|0;g[y>>2]=C*E+ +g[y>>2];z=z+(e*104|0)+16|0;g[z>>2]=D*E+ +g[z>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;e=e+1|0}while((e|0)!=(f|0))}Yb(F);e=c[F+928>>2]|0;if(e){A=c[F+192>>2]|0;C=+va[c[(c[A>>2]|0)+48>>2]&15](A);E=+g[e+4>>2]-C;D=+g[e+8>>2]-C;g[F+892>>2]=+g[e>>2]-C;g[F+896>>2]=E;g[F+900>>2]=D;g[F+904>>2]=0.0;D=C+ +g[e+20>>2];E=C+ +g[e+24>>2];g[F+908>>2]=C+ +g[e+16>>2];g[F+912>>2]=D;g[F+916>>2]=E;g[F+920>>2]=0.0;e=c[F+188>>2]|0;if(e|0){A=c[F+684>>2]|0;z=c[A+32>>2]|0;eb[c[(c[z>>2]|0)+16>>2]&31](z,e,F+892|0,F+908|0,c[A+36>>2]|0)}}else{c[F+892>>2]=0;c[F+892+4>>2]=0;c[F+892+8>>2]=0;c[F+892+12>>2]=0;c[F+892+16>>2]=0;c[F+892+20>>2]=0;c[F+892+24>>2]=0;c[F+892+28>>2]=0}f=c[F+712>>2]|0;if((f|0)>0){e=0;do{z=c[F+720>>2]|0;D=+g[F+464>>2];B=+g[z+(e*104|0)+8>>2];E=+g[z+(e*104|0)+12>>2];C=+g[z+(e*104|0)+16>>2];g[X>>2]=B-D;g[X+4>>2]=E-D;g[X+8>>2]=C-D;g[X+12>>2]=0.0;g[X+16>>2]=D+B;g[X+20>>2]=D+E;g[X+24>>2]=D+C;g[X+28>>2]=0.0;A=c[z+(e*104|0)+96>>2]|0;C=+g[F+460>>2];D=C*+g[z+(e*104|0)+44>>2];E=C*+g[z+(e*104|0)+48>>2];g[X+128>>2]=+g[z+(e*104|0)+40>>2]*C;g[X+128+4>>2]=D;g[X+128+8>>2]=E;g[X+128+12>>2]=0.0;Bg(F+928|0,A,X,X+128|0,+g[F+468>>2])|0;e=e+1|0}while((e|0)!=(f|0))}if(c[F+988>>2]|0?(c[F+752>>2]|0)>0:0){e=0;do{A=c[F+760>>2]|0;t=c[A+(e*44|0)+8>>2]|0;y=c[A+(e*44|0)+12>>2]|0;z=c[A+(e*44|0)+16>>2]|0;B=(+g[t+40>>2]+ +g[y+40>>2]+ +g[z+40>>2])*.3333333432674408;C=(+g[t+44>>2]+ +g[y+44>>2]+ +g[z+44>>2])*.3333333432674408;D=(+g[t+48>>2]+ +g[y+48>>2]+ +g[z+48>>2])*.3333333432674408;r=+g[F+464>>2];o=+g[t+8>>2];q=+g[t+12>>2];u=+g[t+16>>2];E=+g[t+20>>2];v=+g[y+8>>2];i=v>2];k=s>2];l=p>2];m=n>2];p=+g[z+12>>2];s=+g[z+16>>2];v=+g[z+20>>2];g[X>>2]=(n>2]=(p>2]=(s>2]=v>2]=r+(o>2]=r+(q>2]=r+(u>2]=E>2]|0;E=+g[F+460>>2];g[X+128>>2]=B*E;g[X+128+4>>2]=C*E;g[X+128+8>>2]=D*E;g[X+128+12>>2]=0.0;Bg(F+988|0,A,X,X+128|0,+g[F+468>>2])|0;e=e+1|0}while((e|0)<(c[F+752>>2]|0))}do if(a[F+473>>0]|0){A=c[F+712>>2]|0;if((A|0)>0){f=c[F+720>>2]|0;h=c[F+512>>2]|0;e=0;i=0.0;k=0.0;l=0.0;do{E=+g[h+(e<<2)>>2];i=i+ +g[f+(e*104|0)+8>>2]*E;k=k+E*+g[f+(e*104|0)+12>>2];l=l+E*+g[f+(e*104|0)+16>>2];e=e+1|0}while((e|0)!=(A|0))}else{i=0.0;k=0.0;l=0.0}g[F+520>>2]=i;g[F+524>>2]=k;g[F+528>>2]=l;g[F+532>>2]=0.0;y=X+128+4|0;z=y+44|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));g[X+128>>2]=1.1920928955078125e-07;g[X+128+20>>2]=2.384185791015625e-07;g[X+128+40>>2]=3.5762786865234375e-07;if((A|0)>0){f=c[F+512>>2]|0;h=c[F+720>>2]|0;t=c[F+492>>2]|0;e=0;m=1.1920928955078125e-07;n=0.0;o=0.0;p=0.0;q=2.384185791015625e-07;r=0.0;s=0.0;u=0.0;v=3.5762786865234375e-07;do{D=+g[f+(e<<2)>>2];Z=(+g[h+(e*104|0)+8>>2]-i)*D;Y=(+g[h+(e*104|0)+12>>2]-k)*D;D=D*(+g[h+(e*104|0)+16>>2]-l);B=+g[t+(e<<4)>>2];C=+g[t+(e<<4)+4>>2];E=+g[t+(e<<4)+8>>2];m=Z*B+m;n=Z*C+n;o=Z*E+o;p=Y*B+p;q=Y*C+q;r=Y*E+r;s=D*B+s;u=D*C+u;v=D*E+v;e=e+1|0}while((e|0)!=(A|0));g[X+128>>2]=m;g[X+128+4>>2]=n;g[X+128+8>>2]=o;g[X+128+16>>2]=p;g[X+128+20>>2]=q;g[X+128+24>>2]=r;g[X+128+32>>2]=s;g[X+128+36>>2]=u;g[X+128+40>>2]=v}if((a[26680]|0)==0?mz(26680)|0:0){g[6830]=9.999999747378752e-05;c[6831]=16}oc(X+128|0,X+80|0,X+32|0);c[F+536>>2]=c[X+80>>2];c[F+536+4>>2]=c[X+80+4>>2];c[F+536+8>>2]=c[X+80+8>>2];c[F+536+12>>2]=c[X+80+12>>2];c[F+552>>2]=c[I>>2];c[F+552+4>>2]=c[I+4>>2];c[F+552+8>>2]=c[I+8>>2];c[F+552+12>>2]=c[I+12>>2];c[F+568>>2]=c[J>>2];c[F+568+4>>2]=c[J+4>>2];c[F+568+8>>2]=c[J+8>>2];c[F+568+12>>2]=c[J+12>>2];ca=+g[X+80>>2];_=+g[I>>2];C=+g[J>>2];ba=+g[X+80+4>>2];u=+g[X+80+20>>2];E=+g[X+80+36>>2];aa=+g[X+80+8>>2];v=+g[X+80+24>>2];Z=+g[X+80+40>>2];n=+g[F+632>>2];m=+g[F+636>>2];l=+g[F+640>>2];ia=+g[F+648>>2];ha=+g[F+652>>2];o=+g[F+656>>2];D=+g[F+664>>2];Y=+g[F+668>>2];s=+g[F+672>>2];ga=+g[X+128>>2];fa=+g[X+128+16>>2];p=+g[X+128+32>>2];i=(ca*n+ba*m+aa*l)*ga+(_*n+u*m+v*l)*fa+(C*n+E*m+Z*l)*p;ea=+g[X+128+4>>2];da=+g[X+128+20>>2];q=+g[X+128+36>>2];k=(ca*n+ba*m+aa*l)*ea+(_*n+u*m+v*l)*da+(C*n+E*m+Z*l)*q;$=+g[X+128+8>>2];B=+g[X+128+24>>2];r=+g[X+128+40>>2];l=(ca*n+ba*m+aa*l)*$+(_*n+u*m+v*l)*B+(C*n+E*m+Z*l)*r;m=(ca*ia+ba*ha+aa*o)*ga+(_*ia+u*ha+v*o)*fa+(C*ia+E*ha+Z*o)*p;n=(ca*ia+ba*ha+aa*o)*ea+(_*ia+u*ha+v*o)*da+(C*ia+E*ha+Z*o)*q;o=(ca*ia+ba*ha+aa*o)*$+(_*ia+u*ha+v*o)*B+(C*ia+E*ha+Z*o)*r;p=ga*(ca*D+ba*Y+aa*s)+fa*(_*D+u*Y+v*s)+(C*D+E*Y+Z*s)*p;q=(ca*D+ba*Y+aa*s)*ea+(_*D+u*Y+v*s)*da+(C*D+E*Y+Z*s)*q;r=(ca*D+ba*Y+aa*s)*$+(_*D+u*Y+v*s)*B+(C*D+E*Y+Z*s)*r;g[F+584>>2]=i;g[F+588>>2]=k;g[F+592>>2]=l;g[F+596>>2]=0.0;g[F+600>>2]=m;g[F+604>>2]=n;g[F+608>>2]=o;g[F+612>>2]=0.0;g[F+616>>2]=p;g[F+620>>2]=q;g[F+624>>2]=r;g[F+628>>2]=0.0;s=+g[F+364>>2];if(s>1.0){ia=1.0/(l*(q*m-n*p)+(i*(n*r-o*q)+k*(o*p-r*m)))<1.0?1.0:s<1.0/(l*(q*m-n*p)+(i*(n*r-o*q)+k*(o*p-r*m)))?s:1.0/(l*(q*m-n*p)+(i*(n*r-o*q)+k*(o*p-r*m)));g[F+584>>2]=i*ia;g[F+588>>2]=k*ia;g[F+592>>2]=l*ia;g[F+596>>2]=0.0;g[F+600>>2]=m*ia;g[F+604>>2]=n*ia;g[F+608>>2]=o*ia;g[F+612>>2]=0.0;g[F+616>>2]=p*ia;g[F+620>>2]=q*ia;g[F+624>>2]=r*ia;g[F+628>>2]=0.0}if(a[F+473>>0]|0){if(!(+g[F+320>>2]>0.0))break;i=+g[F+536>>2];n=+g[F+540>>2];o=+g[F+544>>2];p=+g[F+552>>2];q=+g[F+556>>2];r=+g[F+560>>2];k=+g[F+568>>2];l=+g[F+572>>2];m=+g[F+576>>2];f=c[F+712>>2]|0;if((f|0)<=0)break;e=0;do{h=c[F+720>>2]|0;if(+g[h+(e*104|0)+88>>2]>0.0){y=c[F+492>>2]|0;da=+g[y+(e<<4)>>2];ea=+g[y+(e<<4)+4>>2];fa=+g[y+(e<<4)+8>>2];ca=+g[F+320>>2];y=h+(e*104|0)+8|0;ga=+g[y>>2];z=h+(e*104|0)+12|0;ha=+g[z>>2];A=h+(e*104|0)+16|0;ia=+g[A>>2];ha=ha+ca*(p*da+q*ea+r*fa+ +g[F+524>>2]-ha);ia=ia+ca*(k*da+l*ea+m*fa+ +g[F+528>>2]-ia);g[y>>2]=ga+ca*(+g[F+520>>2]+(i*da+n*ea+o*fa)-ga);g[z>>2]=ha;g[A>>2]=ia;g[h+(e*104|0)+20>>2]=0.0}e=e+1|0}while((e|0)!=(f|0))}}while(0);y=X+128|0;z=y+104|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));e=c[F+812>>2]|0;if((e|0)<0){if((c[F+816>>2]|0)<0){f=c[F+820>>2]|0;if(f|0){if(a[F+824>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[F+820>>2]=0}a[F+824>>0]=1;c[F+820>>2]=0;c[F+816>>2]=0}do{A=c[F+820>>2]|0;z=A+(e*104|0)|0;c[z>>2]=c[X+128>>2];c[z+4>>2]=c[X+128+4>>2];c[z+8>>2]=c[X+128+8>>2];c[z+12>>2]=c[X+128+12>>2];c[z+16>>2]=c[X+128+16>>2];c[z+20>>2]=c[X+128+20>>2];c[z+24>>2]=c[X+128+24>>2];z=A+(e*104|0)+28|0;c[z>>2]=c[X+128+28>>2];c[z+4>>2]=c[X+128+28+4>>2];c[z+8>>2]=c[X+128+28+8>>2];c[z+12>>2]=c[X+128+28+12>>2];z=A+(e*104|0)+44|0;c[z>>2]=c[X+128+44>>2];c[z+4>>2]=c[X+128+44+4>>2];c[z+8>>2]=c[X+128+44+8>>2];c[z+12>>2]=c[X+128+44+12>>2];z=A+(e*104|0)+60|0;c[z>>2]=c[X+128+60>>2];c[z+4>>2]=c[X+128+60+4>>2];c[z+8>>2]=c[X+128+60+8>>2];c[z+12>>2]=c[X+128+60+12>>2];A=A+(e*104|0)+76|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];c[A+16>>2]=c[H+16>>2];c[A+20>>2]=c[H+20>>2];c[A+24>>2]=c[H+24>>2];e=e+1|0}while((e|0)!=0)}c[F+812>>2]=0;y=X+128|0;z=y+56|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));e=c[F+832>>2]|0;if((e|0)<0){if((c[F+836>>2]|0)<0){f=c[F+840>>2]|0;if(f|0){if(a[F+844>>0]|0){c[7183]=(c[7183]|0)+1;Hc(c[f+-4>>2]|0)}c[F+840>>2]=0}a[F+844>>0]=1;c[F+840>>2]=0;c[F+836>>2]=0}do{y=(c[F+840>>2]|0)+(e*56|0)|0;f=X+128|0;z=y+56|0;do{c[y>>2]=c[f>>2];y=y+4|0;f=f+4|0}while((y|0)<(z|0));e=e+1|0}while((e|0)!=0)}c[F+832>>2]=0;uf(F+928|0,1);uf(F+988|0,1);uf(F+1048|0,1);e=c[b+24>>2]|0}}G=G+1|0}while((G|0)<(e|0));sa=X;return}function ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0;K=sa;sa=sa+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;sa=K;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;i=c[f+88>>2]|0;j=c[f+200>>2]|0;h=c[f+92>>2]|0;g=c[f+204>>2]|0;if((i|0)==(j|0)&(h|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=h;g=h-g|0;do if(g|i-j){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;I=(i-j|0)<0|(i-j|0)==0&(g|0)<0;c[e>>2]=I?f:f+112|0;c[e+4>>2]=I?f+112|0:f;if((g|0)<0|(i-j|0)<0&(g|0)==0){c[e+8>>2]=f;g=f;h=f+112|0;f=f+112|0;break}else{c[e+8>>2]=f+112;g=f;h=f+112|0;break}}else{h=(c[f+96>>2]|0)>(c[f+208>>2]|0);I=h?f+112|0:f;c[I>>2]=I;c[I+4>>2]=I;c[e>>2]=I;c[e+4>>2]=I;c[e+8>>2]=I;g=I;h=h?f:f+112|0;f=I}while(0);c[e+12>>2]=f;a=df(a,g,h)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;sa=K;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{m=((d-b|0)/2|0)+b|0;l=c[a+92>>2]|0;k=c[l+(m+-1<<2)>>2]|0;i=c[k+88>>2]|0;j=c[k+92>>2]|0;k=c[k+96>>2]|0;b:do if((m|0)<(d|0)){f=m;do{h=c[l+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(i|0))break b;if((c[h+92>>2]|0)!=(j|0))break b;if((c[h+96>>2]|0)!=(k|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=m;while(0);ub(a,b,m,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;ub(a,f,d,K+96|0);j=c[K+96+4>>2]|0;c:do if(j|0){z=c[e+4>>2]|0;if(!z){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;l=c[e+12>>2]|0;h=c[K+96+8>>2]|0;i=c[l+88>>2]|0;d:do if((i|0)==(c[h+88>>2]|0)?(g=c[l+92>>2]|0,(g|0)==(c[h+92>>2]|0)):0){k=c[h+4>>2]|0;if((k|0)==(h|0)){f=c[h+8>>2]|0;if(!f)f=i;else{h=c[f+12>>2]|0;f=c[h+88>>2]|0;g=c[h+92>>2]|0}k=h;j=f+1|0;d=l;m=c[h+96>>2]|0;f=l;b=h;break}i=c[h>>2]|0;c[k>>2]=i;c[i+4>>2]=k;if((h|0)==(c[K+96>>2]|0)){f=c[i+88>>2]|0;g=c[k+88>>2]|0;do if((f|0)<(g|0))f=i;else{if((f|0)==(g|0)?(c[i+92>>2]|0)<(c[k+92>>2]|0):0){f=i;break}f=k}while(0);c[K+96>>2]=f}if((h|0)==(j|0)){f=c[i+88>>2]|0;g=c[k+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[i+92>>2]|0)>(c[k+92>>2]|0):0)break;c[K+96+4>>2]=k;i=k;G=39;break d}while(0);c[K+96+4>>2]=i;G=39}else{i=j;G=39}}else{i=j;G=39}while(0);if((G|0)==39){x=c[e>>2]|0;y=c[K+96>>2]|0;d=z;j=0;b=0;v=1;w=0;n=i;while(1){h=c[n+88>>2]|0;m=c[d+88>>2]|0;g=J(h-m|0,v)|0;e:do if((g|0)<=0){if((g|0)<0){u=(w|0)!=0;k=d;f=n;l=c[d+92>>2]|0;t=c[n+92>>2]|0;while(1){q=c[(u?f+4|0:f)>>2]|0;r=(q|0)==(f|0);s=f+88|0;while(1){d=k+88|0;p=t-l|0;if(!r?(A=c[q+88>>2]|0,B=J(A-h|0,v)|0,C=c[q+92>>2]|0,D=C-t|0,(D|0)>-1):0){if(!B)break;if((B|0)<0?(J(D,g)|0)<=(J(B,p)|0):0)break}o=c[(u?k+4|0:k)>>2]|0;if((o|0)==(k|0))break e;F=c[o+88>>2]|0;m=J(F-(c[d>>2]|0)|0,v)|0;n=c[o+92>>2]|0;l=n-l|0;h=c[s>>2]|0;d=J(h-F|0,v)|0;if(!((l|0)>0&(d|0)<0))break e;if(m|0){if((m|0)>=0)break e;if((J(l,g)|0)>=(J(m,p)|0))break e}k=o;g=d;l=n}f=q;g=J(A-(c[d>>2]|0)|0,v)|0;t=C;h=A}}f=c[d+92>>2]|0;l=(w|0)!=0;g=c[(l?d:d+4|0)>>2]|0;f:do if((g|0)!=(d|0))if(l){h=d;k=f;while(1){if((c[g+88>>2]|0)!=(m|0)){k=h;break f}F=k;k=c[g+92>>2]|0;if((k|0)>(F|0)){k=h;break f}f=c[g>>2]|0;if((f|0)==(d|0)){k=g;break}else{h=g;g=f}}}else{h=d;k=f;while(1){if((c[g+88>>2]|0)!=(m|0)){k=h;break f}F=k;k=c[g+92>>2]|0;if((k|0)>(F|0)){k=h;break f}f=c[g+4>>2]|0;if((f|0)==(d|0)){k=g;break}else{h=g;g=f}}}else k=d;while(0);f=c[n+92>>2]|0;h=c[(l?n+4|0:n)>>2]|0;if((h|0)!=(n|0))if(l){g=f;f=n;while(1){if((c[h+88>>2]|0)!=(m|0))break e;F=g;g=c[h+92>>2]|0;if((g|0)<(F|0))break e;f=c[h+4>>2]|0;if((f|0)==(n|0)){f=h;break}else{F=h;h=f;f=F}}}else{g=f;f=n;while(1){if((c[h+88>>2]|0)!=(m|0))break e;F=g;g=c[h+92>>2]|0;if((g|0)<(F|0))break e;f=c[h>>2]|0;if((f|0)==(n|0)){f=h;break}else{F=h;h=f;f=F}}}else f=n}else{r=(w|0)!=0;h=d;f=n;q=c[n+92>>2]|0;while(1){o=f+88|0;k=h;h=c[h+92>>2]|0;while(1){p=q-h|0;l=c[(r?k:k+4|0)>>2]|0;if((l|0)==(k|0))break;d=c[l+88>>2]|0;m=J(d-(c[k+88>>2]|0)|0,v)|0;n=c[l+92>>2]|0;h=n-h|0;if((h|0)>=1)break;if(m|0){if((m|0)>=0)break;if((J(h,g)|0)>(J(m,p)|0))break}g=J((c[o>>2]|0)-d|0,v)|0;k=l;h=n}n=c[(r?f:f+4|0)>>2]|0;if((n|0)==(f|0))break e;l=c[n+88>>2]|0;d=J(l-(c[o>>2]|0)|0,v)|0;m=c[n+92>>2]|0;h=m-q|0;l=J(l-(c[k+88>>2]|0)|0,v)|0;if(!((h|0)<0&(l|0)>0))break e;if(d|0){if((d|0)>=0)break e;if((J(h,g)|0)>=(J(d,p)|0))break e}g=l;h=k;f=n;q=m}}while(0);g=(w|0)==0;b=g?f:b;j=g?k:j;n=g?y:f;d=g?x:k;w=w+1|0;if((w|0)==2)break;else v=g?-1:v}c[d+4>>2]=n;c[n>>2]=d;c[j>>2]=b;c[b+4>>2]=j;if((c[y+88>>2]|0)<(c[x+88>>2]|0))c[e>>2]=y;if((c[i+88>>2]|0)>=(c[z+88>>2]|0))c[e+4>>2]=i;c[e+12>>2]=c[K+96+12>>2];g=j;k=b;l=b+88|0;v=c[l>>2]|0;q=c[j+88>>2]|0;i=b+92|0;w=c[i>>2]|0;x=c[j+92>>2]|0;h=b+96|0;y=c[h>>2]|0;r=c[j+96>>2]|0;z=((w-x|0)<0)<<31>>31;A=0-(v-q)|0;B=lv(0,0,A|0,((A|0)<0)<<31>>31|0)|0;B=Vr(B|0,Q()|0,y-r|0,((y-r|0)<0)<<31>>31|0)|0;C=Q()|0;D=Vr(y-r|0,((y-r|0)<0)<<31>>31|0,w-x|0,z|0)|0;e=Q()|0;s=Vr(A|0,((A|0)<0)<<31>>31|0,v-q|0,((v-q|0)<0)<<31>>31|0)|0;F=Q()|0;E=Vr(w-x|0,z|0,w-x|0,z|0)|0;E=lv(s|0,F|0,E|0,Q()|0)|0;F=Q()|0;s=c[j+8>>2]|0;c[K+120>>2]=0;if(!s)s=0;else{t=lv(0,0,w-x|0,z|0)|0;u=Q()|0;p=s;f=0;do{n=c[p+12>>2]|0;d=c[n+88>>2]|0;m=c[n+92>>2]|0;n=c[n+96>>2]|0;M=Vr(m-x|0,((m-x|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;o=Q()|0;L=Vr(t|0,u|0,d-q|0,((d-q|0)<0)<<31>>31|0)|0;g:do if((M|0)==(L|0)&(o|0)==(Q()|0)?(L=Vr(B|0,C|0,d-q|0,((d-q|0)<0)<<31>>31|0)|0,o=Q()|0,M=Vr(D|0,e|0,m-x|0,((m-x|0)<0)<<31>>31|0)|0,o=xv(M|0,Q()|0,L|0,o|0)|0,L=Q()|0,M=Vr(E|0,F|0,n-r|0,((n-r|0)<0)<<31>>31|0)|0,M=xv(o|0,L|0,M|0,Q()|0)|0,L=Q()|0,(L|0)>0|(L|0)==0&M>>>0>0):0){do if(f|0){o=(c[f+4>>2]|0)==(p|0);if((c[f>>2]|0)!=(p|0))if(o)break;else break g;if(!o)break g;L=c[f+12>>2]|0;N=c[(c[p+8>>2]|0)+12>>2]|0;M=c[N+88>>2]|0;o=c[N+92>>2]|0;N=c[N+96>>2]|0;O=(c[L+96>>2]|0)-N|0;o=(J(n-N|0,(c[L+92>>2]|0)-o|0)|0)-(J(O,m-o|0)|0)|0;M=(J(O,d-M|0)|0)-(J(n-N|0,(c[L+88>>2]|0)-M|0)|0)|0;o=Vr(o|0,((o|0)<0)<<31>>31|0,w-x|0,z|0)|0;L=Q()|0;M=Vr(M|0,((M|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;M=xv(o|0,L|0,M|0,Q()|0)|0;L=Q()|0;if((L|0)>0|(L|0)==0&M>>>0>0)break g}while(0);f=p}while(0);p=c[p>>2]|0}while((p|0)!=(s|0));c[K+120>>2]=f;s=f}p=c[b+8>>2]|0;c[K+72>>2]=0;if(!p)f=0;else{q=lv(0,0,w-x|0,z|0)|0;r=Q()|0;o=p;f=0;do{n=c[o+12>>2]|0;d=c[n+88>>2]|0;m=c[n+92>>2]|0;n=c[n+96>>2]|0;M=Vr(m-w|0,((m-w|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;O=Q()|0;N=Vr(q|0,r|0,d-v|0,((d-v|0)<0)<<31>>31|0)|0;do if((M|0)==(N|0)&(O|0)==(Q()|0)?(N=Vr(B|0,C|0,d-v|0,((d-v|0)<0)<<31>>31|0)|0,M=Q()|0,O=Vr(D|0,e|0,m-w|0,((m-w|0)<0)<<31>>31|0)|0,M=xv(O|0,Q()|0,N|0,M|0)|0,N=Q()|0,O=Vr(E|0,F|0,n-y|0,((n-y|0)<0)<<31>>31|0)|0,O=xv(M|0,N|0,O|0,Q()|0)|0,N=Q()|0,(N|0)>0|(N|0)==0&O>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(N=c[f+12>>2]|0,L=c[(c[o+8>>2]|0)+12>>2]|0,O=c[L+88>>2]|0,M=c[L+92>>2]|0,L=c[L+96>>2]|0,u=(c[N+96>>2]|0)-L|0,M=(J(n-L|0,(c[N+92>>2]|0)-M|0)|0)-(J(u,m-M|0)|0)|0,O=(J(u,d-O|0)|0)-(J(n-L|0,(c[N+88>>2]|0)-O|0)|0)|0,M=Vr(M|0,((M|0)<0)<<31>>31|0,w-x|0,z|0)|0,N=Q()|0,O=Vr(O|0,((O|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0,O=xv(M|0,N|0,O|0,Q()|0)|0,N=Q()|0,!((N|0)>0|(N|0)==0&O>>>0>0)):0)break}f=o}while(0);o=c[o>>2]|0}while((o|0)!=(p|0));c[K+72>>2]=f}if((s|0)!=0|(f|0)!=0){yb(a,j,b,K+120|0,K+72|0);f=c[K+120>>2]|0;if(f){j=c[f+12>>2]|0;g=j}f=c[K+72>>2]|0;if(!f)f=j;else{b=c[f+12>>2]|0;k=b;l=b+88|0;h=b+96|0;i=b+92|0;f=j}}else f=j;j=c[l>>2]|0;d=g;m=(c[h>>2]|0)+1|0;g=c[i>>2]|0}D=0;e=0;h=0;v=0;E=1;A=0;B=0;i=0;y=0;z=j;x=d;u=b;t=f;while(1){O=c[t+88>>2]|0;F=(c[u+88>>2]|0)-O|0;N=c[t+92>>2]|0;w=(c[u+92>>2]|0)-N|0;C=c[t+96>>2]|0;r=(c[u+96>>2]|0)-C|0;c[K+120>>2]=F;c[K+120+4>>2]=w;c[K+120+8>>2]=r;c[K+120+12>>2]=-1;O=z-O|0;N=g-N|0;C=m-C|0;s=(J(N,r)|0)-(J(C,w)|0)|0;C=(J(C,F)|0)-(J(O,r)|0)|0;N=(J(O,w)|0)-(J(N,F)|0)|0;c[K+72>>2]=s;c[K+72+4>>2]=((s|0)<0)<<31>>31;c[K+72+8>>2]=C;c[K+72+8+4>>2]=((C|0)<0)<<31>>31;c[K+72+16>>2]=N;c[K+72+16+4>>2]=((N|0)<0)<<31>>31;O=Vr(N|0,((N|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;M=Q()|0;L=Vr(C|0,((C|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;L=lv(O|0,M|0,L|0,Q()|0)|0;M=Q()|0;r=Vr(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;O=Q()|0;N=Vr(N|0,((N|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;N=lv(r|0,O|0,N|0,Q()|0)|0;O=Q()|0;F=Vr(C|0,((C|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;C=Q()|0;w=Vr(s|0,((s|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;w=lv(F|0,C|0,w|0,Q()|0)|0;C=Q()|0;c[K+48>>2]=L;c[K+48+4>>2]=M;c[K+48+8>>2]=N;c[K+48+8+4>>2]=O;c[K+48+16>>2]=w;c[K+48+16+4>>2]=C;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;C=Ic(a,0,t,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;w=Ic(a,1,u,K+120|0,K+72|0,K+48|0,K)|0;do if((C|0)!=0|(w|0)!=0){j=C|0?-1:1;do if((C|0)!=0&(w|0)!=0){s=c[K+24+16>>2]|0;j=c[K+16>>2]|0;if((s|0)!=(j|0)){o=s-j|0;break}if(!s)o=0;else{O=c[K+24>>2]|0;q=c[K+24+4>>2]|0;d=c[K+8>>2]|0;M=c[K+8+4>>2]|0;l=Vr(d|0,0,O|0,0)|0;j=Q()|0;O=Vr(M|0,0,O|0,0)|0;N=Q()|0;d=Vr(d|0,0,q|0,0)|0;n=Q()|0;q=Vr(M|0,0,q|0,0)|0;M=Q()|0;d=xv(O|0,0,d|0,0)|0;O=Q()|0;M=xv(N|0,0,q|0,M|0)|0;n=xv(M|0,Q()|0,n|0,0)|0;O=xv(n|0,Q()|0,O|0,0)|0;n=Q()|0;j=xv(0,d|0,l|0,j|0)|0;l=Q()|0;d=xv(O|0,n|0,(l>>>0>>0|(l|0)==(d|0)&j>>>0<0)&1|0,0)|0;n=Q()|0;O=c[K+24+8>>2]|0;M=c[K+24+8+4>>2]|0;q=c[K>>2]|0;N=c[K+4>>2]|0;p=Vr(q|0,0,O|0,0)|0;o=Q()|0;O=Vr(N|0,0,O|0,0)|0;L=Q()|0;q=Vr(q|0,0,M|0,0)|0;r=Q()|0;M=Vr(N|0,0,M|0,0)|0;N=Q()|0;q=xv(O|0,0,q|0,0)|0;O=Q()|0;N=xv(L|0,0,M|0,N|0)|0;r=xv(N|0,Q()|0,r|0,0)|0;O=xv(r|0,Q()|0,O|0,0)|0;r=Q()|0;o=xv(0,q|0,p|0,o|0)|0;p=Q()|0;q=xv(O|0,r|0,(p>>>0>>0|(p|0)==(q|0)&o>>>0<0)&1|0,0)|0;r=Q()|0;if(n>>>0>>0|(n|0)==(r|0)&d>>>0>>0)j=-1;else j=n>>>0>r>>>0|(n|0)==(r|0)&d>>>0>q>>>0?1:l>>>0

>>0|(l|0)==(p|0)&j>>>0>>0?-1:(l>>>0>p>>>0|(l|0)==(p|0)&j>>>0>o>>>0)&1;o=J(j,s)|0}}else o=j;while(0);do if(!E)if((o|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){n=y;break}else{G=139;break}else if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){n=y;break}else{G=139;break}else G=139;while(0);if((G|0)==139){G=0;l=df(a,t,u)|0;if(!v)h=l;else c[v+4>>2]=l;c[l>>2]=v;j=c[l+8>>2]|0;if(!y)i=j;else c[y>>2]=j;c[j+4>>2]=y;v=l;n=j}c[K+116>>2]=C;c[K+112>>2]=w;if(!o){yb(a,x,k,K+116|0,K+112|0);j=c[K+112>>2]|0}else j=w;if((o|0)>-1&(j|0)!=0){d=(A|0)!=0;if(d?(H=c[A>>2]|0,(H|0)!=(w|0)):0){j=H;do{l=j;j=c[j>>2]|0;m=c[l+8>>2]|0;if((j|0)==(l|0))g=0;else{c[j+4>>2]=c[l+4>>2];c[c[l+4>>2]>>2]=j;g=j}c[(c[m+12>>2]|0)+8>>2]=g;g=c[m>>2]|0;if((g|0)==(m|0)){c[(c[l+12>>2]|0)+8>>2]=0;g=m+4|0}else{c[g+4>>2]=c[m+4>>2];c[c[m+4>>2]>>2]=g;c[(c[l+12>>2]|0)+8>>2]=g;g=m+4|0}c[l+4>>2]=0;c[l+4+4>>2]=0;c[l+4+8>>2]=0;c[l+4+12>>2]=0;c[l>>2]=c[a+56>>2];c[a+56>>2]=l;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(w|0))}do if(n)if(d){c[A>>2]=i;c[i+4>>2]=A;c[n>>2]=w;c[w+4>>2]=n;g=B;i=0;break}else{g=c[w+4>>2]|0;c[g>>2]=i;c[i+4>>2]=g;c[n>>2]=w;c[w+4>>2]=n;g=i;i=0;break}else g=d?B:w;while(0);O=k;k=c[K+112>>2]|0;s=c[k+8>>2]|0;q=g;A=0;k=c[k+12>>2]|0;j=c[O+88>>2]|0;m=c[O+96>>2]|0;g=c[O+92>>2]|0}else{s=A;q=B;A=n;j=z}if((o|0)<1&(c[K+116>>2]|0)!=0){d=(D|0)!=0;if(d?(I=c[D+4>>2]|0,(I|0)!=(C|0)):0){j=I;do{m=j+4|0;l=j;j=c[m>>2]|0;g=c[l>>2]|0;n=c[l+8>>2]|0;if((g|0)==(l|0))g=0;else{c[g+4>>2]=j;c[c[m>>2]>>2]=g}c[(c[n+12>>2]|0)+8>>2]=g;g=c[n>>2]|0;if((g|0)==(n|0)){c[(c[l+12>>2]|0)+8>>2]=0;g=n+4|0}else{c[g+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=g;c[(c[l+12>>2]|0)+8>>2]=g;g=n+4|0}c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[l>>2]=c[a+56>>2];c[a+56>>2]=l;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(C|0))}do if(v)if(d){c[h>>2]=D;c[D+4>>2]=h;c[C>>2]=v;c[v+4>>2]=C;g=e;h=0;break}else{g=c[C>>2]|0;c[h>>2]=g;c[g+4>>2]=h;c[C>>2]=v;c[v+4>>2]=C;g=h;h=0;break}else g=d?e:C;while(0);O=x;x=c[K+116>>2]|0;r=c[x+8>>2]|0;p=g;v=0;w=c[O+88>>2]|0;x=c[x+12>>2]|0;y=c[O+96>>2]|0;g=c[O+92>>2]|0}else{r=D;p=e;w=j;y=m}if((f|0)==(x|0)&(b|0)==(k|0)){if(r){o=r+4|0;j=c[o>>2]|0;if((j|0)!=(p|0))do{m=j+4|0;d=j;j=c[m>>2]|0;l=c[d>>2]|0;n=c[d+8>>2]|0;if((l|0)==(d|0))l=0;else{c[l+4>>2]=j;c[c[m>>2]>>2]=l}c[(c[n+12>>2]|0)+8>>2]=l;l=c[n>>2]|0;if((l|0)==(n|0)){c[(c[d+12>>2]|0)+8>>2]=0;l=n+4|0}else{c[l+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=l;c[(c[d+12>>2]|0)+8>>2]=l;l=n+4|0}c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(p|0));if(v|0){c[h>>2]=r;c[o>>2]=h;c[p>>2]=v;c[v+4>>2]=p}}else{c[h>>2]=v;c[v+4>>2]=h;c[x+8>>2]=v}if(!s){c[A>>2]=i;c[i+4>>2]=A;c[b+8>>2]=A;u=0;t=E;s=0;n=v;o=A;d=k;j=w;l=x;m=y;break}j=c[s>>2]|0;if((j|0)!=(q|0))do{d=j;j=c[j>>2]|0;m=c[d+8>>2]|0;if((j|0)==(d|0))l=0;else{c[j+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=j;l=j}c[(c[m+12>>2]|0)+8>>2]=l;l=c[m>>2]|0;if((l|0)==(m|0)){c[(c[d+12>>2]|0)+8>>2]=0;l=m+4|0}else{c[l+4>>2]=c[m+4>>2];c[c[m+4>>2]>>2]=l;c[(c[d+12>>2]|0)+8>>2]=l;l=m+4|0}c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(q|0));if(!A){u=0;t=E;n=v;o=0;d=k;j=w;l=x;m=y}else{c[s>>2]=i;c[i+4>>2]=s;c[A>>2]=q;c[q+4>>2]=A;u=0;t=E;n=v;o=A;d=k;j=w;l=x;m=y}}else{u=1;t=0;n=v;o=A;d=k;j=w;l=x;m=y}}else{r=df(a,t,u)|0;c[r>>2]=r;c[r+4>>2]=r;c[t+8>>2]=r;t=c[r+8>>2]|0;c[t>>2]=t;c[t+4>>2]=t;c[u+8>>2]=t;u=0;t=E;r=D;s=A;p=e;n=v;q=B;o=y;d=k;j=z;l=x}while(0);if(!u)break c;D=r;e=p;v=n;E=t;A=s;B=q;y=o;k=d;z=j;x=l;u=d;t=l}}while(0);sa=K;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;sa=K;return} // EMSCRIPTEN_END_FUNCS -var yb=[ey,ah,Vl,jg,op,_c,df,ag,Xf,oc,ld,Oc,de,le,Vc,Es,Fg,xc,$d,Fl,Bi,sf,ey,ey,ey,ey,ey,ey,ey,ey,ey,ey];var zb=[lB,wc,fd,jn,jy,ny,Uz,ny,Ok,gd,_f,Fe,ug,rk,hf,ad,rd,Qc,dy,ny,Wl,Wl,Wl,qj,lB,lB,lB,lB,lB,lB,lB,lB];var Ab=[sB,qB,aB,qB,Au,qB,aB,qB,aB,qB,aB,gp,lq,Wn,Tj,Ou,qB,aB,aB,aB,aB,Bd,yt,qB,aB,qB,aB,qB,Au,aB,aB,qB,Au,aB,aB,qB,aB,Ir,yr,lt,Ss,qB,aB,qB,aB,Op,hp,qk,ys,Ge,gl,pc,Yh,hg,En,bf,Ul,qB,aB,qB,aB,Uo,eo,Sg,Gs,tc,qB,aB,xk,Dw,lA,mt,Td,dn,mt,qB,mt,mt,Pe,mt,mt,ve,mt,Xc,lg,Nr,by,Ci,Gy,qB,aB,Xo,oo,Cr,aB,qB,aB,mA,nt,Ro,bo,Tl,zs,kp,pq,qB,aB,kf,Yv,aB,aB,aB,aB,aB,aB,aB,aB,aB,aB,zk,Qw,kq,Dp,fp,Yo,Rp,Kp,aB,qq,Jp,qB,aB,_j,Iy,ae,qB,aB,qB,eA,aB,aB,aB,aB,qB,aB,aB,aB,aB,aB,aB,aB,hq,wp,qB,aB,uq,Mp,aB,aB,aB,Wk,vw,aB,Lj,jv,aB,vm,$s,nj,Au,Au,Au,Au,sp,To,qB,aB,aB,aB,qB,Au,qB,aB,aB,qB,Au,hp,Jm,ym,Au,Au,Au,hp,aB,hp,$z,ft,aB,aB,Ez,Ys,Au,Au,Au,xi,et,Cj,Ws,qB,np,zq,Ws,yk,uw,aB,aB,dp,Hy,qB,aB,aB,aB,Ai,ft,aB,qB,aB,aB,aB,aB,aB,aB,qB,aB,qB,aB,iq,Ap,aB,aB,Ak,qx,wi,Us,ep,so,qB,aB,qB,qB,aB,qB,aB,aB,qB,pr];var Bb=[Hw];var Cb=[jB,Df,Tk,uz,pw,gw,uz,Xn,nl,uz,Br,Zn,Rc,me,Fp,uz,uz,uz,Gx,cw,wg,tg,Gh,ek,Pm,$j,jr,Ah,Vi,jp,wt,rt,ku,du,Tc,uz,rj,_r,Tn,Qp,ei,Og,fg,Ih,fs,qf,Eh,Gc,kl,vd,Yj,Hc,bj,uz,Jl,Ik,dl,Qk,Cv,Jk,ev,Dn,Kk,rj,Dj,rj,Hk,Gq,Hp,rj,tj,Gn,Aq,on,oe,An,Kl,os,ms,ns,Hh,$m,Um,Xg,hr,Up,il,or,ip,il,Ad,xd,Rq,il,or,uz,uz,Oh,Rh,Ag,Xm,uz,uz,uz,uu,cw,Bf,ud,fi,ps,Yr,Yr,uz,rj,uz,uz,jB,jB,jB,jB,jB,jB,jB,jB,jB,jB,jB,jB];var Db=[Ls,Yc,xh,Ls];var Eb=[oB,AA,DA,Oz,Ox,Ox,gz,xy,iA,_A,nq,tA,WA,Kz,pA,Lz,AA,fA,JA,_A,IA,IA,DA,dz,Ux,ay,qA,cA,_A,Zy,Lz,Cy,Nz,tz,lz,Bz,DA,Vu,kt,Cz,Dy,_s,yy,yy,gA,LA,Tz,YA,hA,TA,UA,RA,Kx,vA,hA,zA,Wz,BA,Lz,CA,Mz,mz,mz,AA,OA,hA,NA,MA,hx,sA,AA,AA,AA,$A,VA,PA,WA,VA,Nz,kz,rA,KA,hA,HA,GA,xy,dx,cz,Xy,Xy,gz,gz,Qz,AA,DA,gz,gz,Qz,Ox,AA,qy,qy,gz,zp,bB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB,oB];var Fb=[Yz,wk,Go,dj,Wm,pn,Yz,Yz];var Gb=[Rw];var Hb=[Xz];var Ib=[Ey,wn,_o,zo,ko,ao,ci,Cn,Rl,Pl,uo,sg,qo,lp,Tm,em,$l,_i,im,Zc,qt,iu,zf,Ey,Ey,Ey,Ey,Ey,Ey,Ey,Ey,Ey];var Jb=[FA,_g,bw,Ov,js,fk,fj,Zo,js,js,oj,Al,hm,Tr,Rj,FA];var Kb=[Vt,Pp];var Lb=[Ns];var Mb=[Jw,Ds,re,Ds,Ds,se,Ds,Ds,Uf,Af,Sr,Ds,Ds,Jw,Jw,Jw];var Nb=[QA,ee,yg,Gj,Cf,yf,QA,QA];var Ob=[dA,Rn,Si,uc,wo,El,ng,kh,si,zj,sn,ai,Sh,Ef,mf,wf,tn,tp,sk,Lf,xl,Jg,Hl,ki,vl,Ne,ul,Md,Gw,Gw,uf,ok,vg,Kg,vh,Km,Ql,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA,dA];var Pb=[zw];var Qb=[nw,ge,Ol,Im,Ep,Sn,cj,nw];var Rb=[oA,Th,Fx,Fx,en,oA,oA,oA];var Sb=[nB,Jo,Vz,gv,xz,Dz,yx,cq,bq,cq,nB,nB,nB,nB,nB,nB];var Tb=[tv,od,Ed,Xd];var Ub=[Ev,Ck,Bk,Ev];var Vb=[ly];var Wb=[bv,Yg];var Xb=[Jt,Qh];var Yb=[Vs,wm,wm,Vs];var Zb=[SA,tq,xq,sq,oz,oz,oz,nc,Pu,Pu,Qd,lm,gn,yu,Pn,Dr,Dl,oq,Wp,cl,Mi,mq,ro,SA,SA,SA,SA,SA,SA,SA,SA,SA];var _b=[aA,$i,Ij,Gi,ol,jo,mk,Sm,Bn,_h,Qm,Lm,xm,aA,aA,aA];var $b=[Bs,hj,cd,Bs];var ac=[ky,dt];var bc=[gt,Cc,Ti,gt];var cc=[ZA,Ut];var dc=[as];var ec=[Ww,uk,uk,Ww];var fc=[zy,dd];var gc=[jt,Cd,Tf,jt];var hc=[Sz,Wu,zc,fe,Ye,xr,Kj,De,Bm,fn,Sz,Sz,Sz,Sz,Sz,Sz];var ic=[xA,cy,Oi,He,xt,ui,fo,cy,Hj,Vj,Rr,cy,Rd,zd,cy,ql,dm,Xk,Zp,ij,vf,mi,cy,cy,Ui,qi,rf,hu,gu,zx,zx,zx,zx,Fd,ji,Dk,Gk,Hr,Jh,es,of,Ie,Ie,yh,ql,lk,yo,Kh,ql,ii,cy,sm,mo,Pk,mm,tk,jk,nn,hn,mn,Jn,Vn,jf,Yn,cy,cy,cy,cy,vp,Qo,So,Xl,Pj,ni,Io,zx,zx,zx,zx,Ni,Gd,gi,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA,xA];var jc=[tB,iB,gk,Vr];var kc=[EA,Dt,at,gr,rl,Jc,EA,EA];var lc=[_y,Cg];var mc=[vz,af,Pv,Fu,ut,Wf,Sc,Sf,Ur,Nk,Iq,vs,Sk,Mc,gf,Gr,Bh,Mf,qc,ws,Mm,Cl,Mo,cf,Sf,Pg,Ke,Or,ur,$f,Eg,Dh,Ur,vi,bm,Lo,Ch,ie,gm,Jj,xj,bp,mg,Vg,Vh,Li,bl,Pv,Wh,Qg,Hi,Pv,Pv,uj,Aj,tm,hl,vk,Hd,Ce,Di,Nc,Aj,Ml,Bl,Ll,nd,Mn,Fj,Mn,Nl,Rm,fm,nk,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz,vz];return{_emscripten_bind_btCylinderShape___destroy___0:Tt,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:_v,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:gs,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:Jv,_emscripten_bind_btCollisionObject_isActive_0:Gv,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:_x,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:to,_emscripten_bind_btCapsuleShapeX_getMargin_0:gv,_emscripten_bind_Node_set_m_n_1:nr,_emscripten_bind_btCompoundShape_getMargin_0:gv,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:cr,_emscripten_bind_btContactSolverInfo___destroy___0:Bx,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:Kv,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:Wz,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:wy,_emscripten_bind_btQuaternion_setX_1:By,_emscripten_bind_btCylinderShapeZ_getMargin_0:gv,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:Vz,_emscripten_bind_btQuaternion_setZ_1:hy,_emscripten_bind_btCollisionObject_getUserIndex_0:Ny,_emscripten_bind_btCapsuleShapeZ_getMargin_0:gv,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:iy,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:St,_emscripten_bind_btQuadWord_z_0:Zz,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Aw,_emscripten_bind_Material___destroy___0:Bx,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:Vz,_emscripten_bind_btSoftBody_rotate_1:Mj,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:lx,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:sx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:qu,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:Tt,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Ct,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:Wz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:Bw,_emscripten_bind_btCollisionDispatcher___destroy___0:Tt,_emscripten_bind_btRigidBody_applyCentralImpulse_1:co,_emscripten_bind_btConvexHullShape_getMargin_0:gv,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:Zt,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:Qs,_emscripten_bind_btRaycastVehicle_getNumWheels_0:qy,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:ls,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:hs,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:ku,_emscripten_bind_btDynamicsWorld_rayTest_3:Fs,_emscripten_bind_Config_set_kSR_SPLT_CL_1:ox,_emscripten_bind_btQuadWord_x_0:nA,_emscripten_bind_Config_get_diterations_0:Xy,_emscripten_bind_btCollisionObject_isKinematicObject_0:Tw,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:Wi,_emscripten_bind_ConvexResultCallback___destroy___0:Tt,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Lq,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Kq,_emscripten_bind_btSoftBody_isKinematicObject_0:Tw,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:Qz,_emscripten_bind_btGhostObject_isKinematicObject_0:Tw,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:dk,_emscripten_bind_btCapsuleShape___destroy___0:Tt,_emscripten_bind_btCollisionObject_activate_1:tr,_emscripten_bind_btCollisionObject_activate_0:Xr,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:Xt,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:At,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:jy,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:hk,_emscripten_bind_btVector3_setX_1:By,_emscripten_bind_btCollisionConfiguration___destroy___0:Tt,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Bu,_emscripten_bind_btHingeConstraint_enableFeedback_1:_v,_emscripten_bind_btSphereShape___destroy___0:Tt,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:fu,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:po,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:fr,_emscripten_bind_btVector3_setZ_1:hy,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:Tu,_emscripten_bind_btQuaternion_setValue_4:Lr,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:gw,_emscripten_bind_btSoftBody_transform_1:mv,_emscripten_bind_LocalShapeInfo___destroy___0:Bx,_emscripten_bind_btSoftBody_appendAnchor_4:_d,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:nA,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:Ky,_emscripten_bind_btQuadWord_setY_1:iy,_emscripten_bind_btRigidBody_setUserPointer_1:Pw,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:qv,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:Qz,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:ds,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Ph,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:fl,_emscripten_bind_btCylinderShape_setMargin_1:Bu,_emscripten_bind_btCollisionWorld___destroy___0:Tt,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:Ix,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:Oy,_emscripten_bind_btBoxShape_btBoxShape_1:Fh,_emscripten_bind_btPersistentManifold_getBody1_0:ry,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:gw,_emscripten_bind_RaycastInfo_set_m_isInContact_1:mw,_emscripten_bind_btKinematicCharacterController_setGravity_1:ny,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:Bo,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:Wo,_emscripten_bind_btQuaternion_setY_1:iy,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:du,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:Vx,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:fu,_emscripten_bind_tNodeArray_size_0:Oz,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btRigidBody_getUserIndex_0:Ny,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:qz,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:ou,_emscripten_bind_btSoftBody_appendFace_4:Ks,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:Yk,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:ll,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Nq,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:sv,_emscripten_bind_btBoxShape_getMargin_0:gv,_emscripten_bind_btPairCachingGhostObject___destroy___0:Rt,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Pw,_emscripten_bind_btPairCachingGhostObject_activate_0:Xr,_emscripten_bind_btPairCachingGhostObject_activate_1:tr,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:Bv,_emscripten_bind_btSoftBody_setUserPointer_1:Pw,_emscripten_bind_btDynamicsWorld_getDispatcher_0:xy,_emscripten_bind_btSoftBody_setMass_2:ss,_emscripten_bind_btConeShape_btConeShape_2:_l,_emscripten_bind_btDynamicsWorld___destroy___0:Tt,_emscripten_bind_Config_get_kCHR_0:zz,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:kw,_emscripten_bind_btDefaultMotionState___destroy___0:Tt,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:Oz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:fv,_emscripten_bind_btQuadWord_setW_1:jy,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:Uw,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:Em,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:Mw,_emscripten_bind_btRigidBody_setLinearFactor_1:un,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:Hu,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Qt,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:rx,_emscripten_bind_btWheelInfo_get_m_engineForce_0:my,_emscripten_bind_Config_get_kSR_SPLT_CL_0:Sy,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:st,_emscripten_bind_btPoint2PointConstraint___destroy___0:Tt,_emscripten_bind_btSoftBody_getUserPointer_0:Ny,_emscripten_bind_btCollisionShape_setMargin_1:Bu,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:ho,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:Rs,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:At,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:Lu,_emscripten_bind_Config_get_kVCF_0:_z,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:$x,_malloc:yc,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:ux,_emscripten_bind_btTransform_btTransform_2:um,_emscripten_bind_btTransform_btTransform_0:Do,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:Ny,_emscripten_bind_Config_set_kVC_1:Xx,_emscripten_bind_btVector3_op_sub_1:ar,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:ww,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:aw,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:xv,_emscripten_bind_btSoftBody_appendNode_2:id,_emscripten_bind_btCollisionObject_setActivationState_1:zt,_emscripten_bind_btPersistentManifold___destroy___0:Au,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:Zz,_emscripten_bind_btCylinderShapeZ___destroy___0:Tt,_emscripten_bind_btMatrix3x3___destroy___0:Bx,_emscripten_bind_ConvexResultCallback_hasHit_0:Wx,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:ct,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_Config_set_kPR_1:Yx,_emscripten_bind_btCollisionWorld_convexSweepTest_5:Wq,_emscripten_bind_btVector3_length_0:Zr,_emscripten_bind_btSoftBody_set_m_materials_1:Xi,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:fB,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:hr,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:ct,_emscripten_bind_btConstraintSetting_set_m_damping_1:iy,_emscripten_bind_btVehicleRaycaster___destroy___0:Tt,_emscripten_bind_btSoftBody_set_m_cfg_1:di,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Aw,_emscripten_bind_btConvexHullShape_setMargin_1:Bu,_emscripten_bind_btRigidBody_applyForce_2:_k,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:ct,_emscripten_bind_btConstraintSetting_set_m_tau_1:By,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:ct,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:nz,_emscripten_bind_btSoftBody_setCollisionFlags_1:yw,_emscripten_bind_btSphereShape_calculateLocalInertia_2:ct,_emscripten_bind_btSoftBody_appendMaterial_0:Yw,_emscripten_bind_btVector4_normalize_0:fq,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:el,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Bt,_emscripten_bind_btSoftBody_setTotalMass_2:oh,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:al,_emscripten_bind_btGhostObject_setFriction_1:Wt,_emscripten_bind_btCollisionWorld_rayTest_3:Fs,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:iw,_emscripten_bind_btCylinderShapeZ_setMargin_1:Bu,_emscripten_bind_btRigidBody_setFriction_1:Wt,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:_q,_emscripten_bind_btGhostObject_setWorldTransform_1:pl,_emscripten_bind_tMaterialArray_size_0:Oz,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:Lx,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Ft,_emscripten_bind_btConvexHullShape___destroy___0:Tt,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:Zx,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:yy,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:Hx,_emscripten_bind_btKinematicCharacterController_jump_0:Gu,_emscripten_bind_btCollisionObject_getUserPointer_0:Ny,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Er,_emscripten_bind_btSoftBody_generateClusters_1:Ru,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:eu,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:fu,_emscripten_bind_btRigidBody_upcast_1:uv,_emscripten_bind_btCollisionObject_getWorldTransform_0:Qz,_emscripten_bind_btVector4_setZ_1:hy,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Xq,___cxa_can_catch:eq,_emscripten_bind_btTransform_getBasis_0:uA,_emscripten_bind_btPairCachingGhostObject_setFriction_1:Wt,_emscripten_bind_Config_set_kSRHR_CL_1:Dx,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Uu,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:Zv,_emscripten_bind_ClosestRayResultCallback___destroy___0:Tt,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:lu,_emscripten_bind_btCylinderShapeX_setMargin_1:Bu,_emscripten_bind_btQuadWord_w_0:Vz,_emscripten_bind_Node___destroy___0:Bx,_emscripten_bind_btDynamicsWorld_contactTest_2:qn,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:qn,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:ct,_emscripten_bind_btTransform_setOrigin_1:kr,_emscripten_bind_btCompoundShape_getNumChildShapes_0:gz,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:Uv,_emscripten_bind_btGhostObject_btGhostObject_0:Ki,_emscripten_bind_tNodeArray___destroy___0:Ip,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:Rk,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:Cu,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:mr,_emscripten_bind_LocalConvexResult___destroy___0:Bx,_emscripten_bind_btVector3_dot_1:xs,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:Vz,_emscripten_bind_btVector4_op_add_1:br,_emscripten_bind_btWheelInfo___destroy___0:Bx,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:uy,_emscripten_bind_btTransform_setRotation_1:Xu,_emscripten_bind_Config_set_kSHR_1:ny,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:_v,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:rv,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:up,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:ap,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:hy,_emscripten_bind_btVector3_setY_1:iy,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:Po,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Ho,_emscripten_bind_btQuadWord_setX_1:By,_emscripten_bind_tMaterialArray___destroy___0:Ip,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:qh,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:$u,_emscripten_bind_Config_set_piterations_1:$w,_emscripten_bind_btOverlappingPairCache___destroy___0:Tt,_emscripten_bind_btRigidBody_setUserIndex_1:Pw,_emscripten_bind_Material_get_m_kAST_0:Zz,_emscripten_bind_btConstraintSetting___destroy___0:Bx,_emscripten_bind_RayResultCallback___destroy___0:Tt,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:uA,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:_z,_emscripten_bind_btPersistentManifold_getBody0_0:sy,_emscripten_bind_btConeShapeX_btConeShapeX_2:Zl,_emscripten_bind_btQuaternion_z_0:Zz,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:iw,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:_v,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:Sl,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:fu,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:_z,_emscripten_bind_btSoftBody_translate_1:jm,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:ew,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:pg,_emscripten_bind_btVector3_op_mul_1:Pr,_emscripten_bind_btConcaveShape___destroy___0:Tt,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:rg,_emscripten_bind_btQuaternion_x_0:nA,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:pf,_emscripten_bind_Config_set_timescale_1:wx,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:qr,_emscripten_bind_btConcaveShape_setLocalScaling_1:fu,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:qz,_emscripten_bind_btConeShapeX_setLocalScaling_1:fu,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:Yx,_emscripten_bind_btSoftBody_appendLink_4:Js,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:fu,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:Eq,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:iw,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:sv,_emscripten_bind_btSoftBody_getTotalMass_0:Vo,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:pt,_emscripten_bind_Config_get_kLF_0:Iz,_emscripten_bind_btGhostObject___destroy___0:Rt,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:Cs,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:bt,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:fw,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:rr,_emscripten_bind_btCollisionWorld_getBroadphase_0:yy,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Qr,_emscripten_bind_btQuaternion___destroy___0:Bx,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:ct,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:Gg,_emscripten_bind_Material_set_m_flags_1:nx,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:mh,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Lg,_emscripten_bind_Config_get_viterations_0:Vy,_emscripten_bind_btKinematicCharacterController_canJump_0:zu,_emscripten_bind_btSoftBodyArray_at_1:lv,_emscripten_bind_btVector4_length_0:Zr,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Pw,_emscripten_bind_btRigidBody_isActive_0:Gv,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Nj,_emscripten_bind_btMotionState_setWorldTransform_1:bu,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:xy,_emscripten_bind_btCylinderShape_setLocalScaling_1:fu,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Qz,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:ct,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:qz,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:eB,_emscripten_bind_btRigidBody_setCollisionShape_1:bu,_emscripten_bind_btSoftBody_appendTetra_5:Qf,_emscripten_bind_btConeShapeX___destroy___0:Tt,_emscripten_bind_btCollisionObject_getCollisionFlags_0:wy,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:Av,_emscripten_bind_btConeTwistConstraint_enableMotor_1:Rv,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Pq,_emscripten_bind_btSoftBody_checkLink_2:cm,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:bs,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Uj,_emscripten_bind_btVector3_normalize_0:fq,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Pt,_emscripten_bind_Config_set_kAHR_1:Sx,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:gv,_emscripten_bind_btBroadphaseInterface___destroy___0:Tt,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:Fs,_emscripten_bind_Config_get_kSRHR_CL_0:iz,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:Nu,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:fw,_emscripten_bind_btCompoundShape___destroy___0:Tt,_emscripten_bind_btHingeConstraint_setMotorTarget_2:kk,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:ov,_emscripten_bind_btCapsuleShapeX_setMargin_1:Bu,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Tt,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:tu,_emscripten_bind_btRigidBody_getCollisionFlags_0:wy,_emscripten_bind_btCollisionShape_setLocalScaling_1:fu,_emscripten_bind_Config_get_piterations_0:Wy,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Ly,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Am,_emscripten_bind_btRigidBody_setRollingFriction_1:Ht,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:zz,_emscripten_bind_btRigidBody_getUserPointer_0:Ny,_emscripten_bind_Config_get_kSHR_0:xz,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:ct,_emscripten_bind_btRigidBody_setMotionState_1:Fr,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:Zw,_emscripten_bind_btCollisionWorld_getDispatcher_0:xy,_emscripten_bind_btVector4_dot_1:xs,_emscripten_bind_btCollisionObject_setRollingFriction_1:Ht,_emscripten_bind_Config_set_kSK_SPLT_CL_1:px,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:rv,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:Cq,_i64Subtract:Is,_emscripten_bind_btCylinderShapeX_getMargin_0:gv,_emscripten_bind_btRigidBody_setDamping_2:Kn,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:Vw,_emscripten_bind_btGhostObject_setCollisionFlags_1:yw,_emscripten_bind_btMatrix3x3_getRotation_1:Yu,_emscripten_bind_btWheelInfo_set_m_engineForce_1:Aw,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:wu,_emscripten_bind_btPersistentManifold_getNumContacts_0:Jx,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:fu,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Ln,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:zv,_emscripten_bind_btCompoundShape_setLocalScaling_1:fu,_emscripten_bind_btOverlappingPairCallback___destroy___0:Tt,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:Wq,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:ct,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:iw,_emscripten_bind_btRigidBody_getCollisionShape_0:vy,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:fw,_emscripten_bind_btRigidBody_getLinearVelocity_0:sz,_emscripten_bind_btRigidBody_applyImpulse_2:cu,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:ct,_emscripten_bind_RaycastInfo_get_m_groundObject_0:Wy,_emscripten_bind_btRigidBody_setWorldTransform_1:pl,_emscripten_bind_btRigidBody_setAngularVelocity_1:Yp,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:pk,_emscripten_bind_Config_get_kDP_0:Zz,_emscripten_bind_btConvexShape_setLocalScaling_1:fu,_emscripten_bind_Config_get_collisions_0:Yy,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:ct,_emscripten_bind_btVector4_setX_1:By,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:oy,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:fw,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Lq,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:Zw,_emscripten_bind_RayResultCallback_hasHit_0:Px,_emscripten_bind_btSoftBody_isActive_0:Gv,_emscripten_bind_btRigidBody_applyLocalTorque_1:qm,_bitshift64Shl:is,_emscripten_bind_Config___destroy___0:Uk,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:_u,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:Zz,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Eu,_emscripten_bind_btQuaternion_normalize_0:Oo,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:qz,_emscripten_bind_btQuadWord_setZ_1:hy,_emscripten_bind_btConeShapeZ_setLocalScaling_1:fu,_emscripten_bind_Config_get_kPR_0:Gz,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Tt,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Tt,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:jy,_emscripten_bind_Material_set_m_kAST_1:hy,_emscripten_bind_btGhostObject_setRollingFriction_1:Ht,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:xp,_emscripten_bind_btRigidBody_getAngularVelocity_0:pz,_emscripten_bind_btCompoundShape_btCompoundShape_0:Tq,_emscripten_bind_btCompoundShape_btCompoundShape_1:Fq,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Ct,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:tl,_emscripten_bind_btSphereShape_getMargin_0:gv,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Ao,_emscripten_bind_btHingeConstraint_setAngularOnly_1:Wv,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:qn,_emscripten_bind_Config_get_kDG_0:Vz,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Ao,_emscripten_bind_Node_get_m_x_0:yA,_emscripten_bind_btSoftBodyArray_size_0:Oz,_emscripten_bind_ClosestRayResultCallback_hasHit_0:Px,_emscripten_bind_btCompoundShape_addChildShape_2:Ud,_emscripten_bind_btDispatcher___destroy___0:Tt,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:_z,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:By,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Tt,_emscripten_bind_btConvexShape___destroy___0:Tt,_memmove:Bp,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:fu,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:yw,_emscripten_bind_btSoftBody_getCollisionFlags_0:wy,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:dB,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:Ym,_emscripten_bind_btCollisionObject_setRestitution_1:Pt,_emscripten_bind_btRigidBody_applyCentralForce_1:Ko,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:dr,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:yz,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:gx,_emscripten_bind_btQuaternion_w_0:Vz,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:Ow,_emscripten_bind_btTransform_getRotation_0:Co,_emscripten_bind_Config_set_kSKHR_CL_1:Ex,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:vo,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:go,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:yA,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:xg,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:Gp,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:mp,_emscripten_bind_RaycastInfo___destroy___0:Bx,_emscripten_bind_btSoftBody_setWorldTransform_1:pl,_emscripten_bind_btBoxShape_setMargin_1:Bu,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:Mx,_emscripten_bind_btVector4_y_0:_z,_emscripten_bind_Config_get_kSK_SPLT_CL_0:Ty,_emscripten_bind_btTypedConstraint___destroy___0:Tt,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:yp,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:ho,_emscripten_bind_btConeTwistConstraint_setDamping_1:qw,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Mt,_emscripten_bind_Config_set_collisions_1:bx,_bitshift64Ashr:Mr,_emscripten_bind_btQuaternion_btQuaternion_4:Zm,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:yy,_emscripten_bind_btSoftBody_getCollisionShape_0:vy,_emscripten_bind_btSphereShape_btSphereShape_1:Fn,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:kx,_emscripten_bind_btQuaternion_y_0:_z,_emscripten_bind_btCollisionWorld_addCollisionObject_1:vt,_emscripten_bind_btCollisionWorld_addCollisionObject_2:Ps,_emscripten_bind_btCollisionWorld_addCollisionObject_3:gs,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:iv,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:fh,_emscripten_bind_RaycastInfo_get_m_isInContact_0:vx,_emscripten_bind_Config_set_kKHR_1:Qx,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Bu,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:Ow,_emscripten_bind_btCapsuleShape_setMargin_1:Bu,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:zn,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Dq,_emscripten_bind_btCollisionObject_setUserPointer_1:Pw,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Oj,_emscripten_bind_btActionInterface___destroy___0:Tt,_emscripten_bind_btSoftBody_generateClusters_2:mu,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:bu,_emscripten_bind_btCollisionWorld_contactTest_2:qn,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:Ox,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:Qy,_emscripten_bind_Config_get_kAHR_0:Az,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:Kz,_emscripten_bind_btVector4_setY_1:iy,_emscripten_bind_btCompoundShape_setMargin_1:Bu,_emscripten_bind_btGhostObject_setRestitution_1:Pt,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:vt,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:Nw,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:gs,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:Ps,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:io,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:xy,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:Tt,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:Uy,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:mx,_emscripten_bind_Config_get_kVC_0:Fz,_emscripten_bind_btVector4_op_mul_1:Pr,_emscripten_bind_btCylinderShape_btCylinderShape_1:rq,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:Sv,_emscripten_bind_Material_get_m_kVST_0:Vz,_emscripten_bind_Config_set_kVCF_1:iy,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:ls,_emscripten_bind_btGhostObject_getUserIndex_0:Ny,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:Qs,_emscripten_bind_btSoftBody_setRestitution_1:Pt,_emscripten_bind_btVector3___destroy___0:Au,_bitshift64Lshr:us,_emscripten_bind_btRigidBody_setAngularFactor_1:aq,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:ct,_emscripten_bind_btWheelInfo_set_m_steering_1:Kw,_emscripten_bind_btMotionState_getWorldTransform_1:Zt,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:jl,_emscripten_bind_Config_get_kMT_0:Hz,_emscripten_bind_btDynamicsWorld_getBroadphase_0:yy,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:Rx,_emscripten_bind_Config_get_timescale_0:az,_emscripten_bind_btVector3_x_0:nA,___cxa_is_pointer_type:Ku,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Fi,_emscripten_bind_btCollisionObject_getCollisionShape_0:vy,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:ti,_emscripten_bind_btManifoldPoint___destroy___0:Bx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:dv,_emscripten_bind_btVector3_z_0:Zz,_emscripten_bind_btGhostObject_setUserIndex_1:Pw,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:yl,_emscripten_bind_ClosestConvexResultCallback___destroy___0:Tt,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:Bx,_emscripten_bind_btCollisionObject_setFriction_1:Wt,_emscripten_bind_btQuadWord_y_0:_z,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Tt,_emscripten_bind_btRigidBody_setMassProps_2:ck,_emscripten_bind_btVector3_setValue_3:ks,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Aw,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:Hz,_emscripten_bind_btGhostObject_getCollisionFlags_0:wy,_emscripten_bind_btCapsuleShapeX___destroy___0:Tt,_emscripten_bind_Config_set_kDG_1:jy,_emscripten_bind_btRigidBody_setActivationState_1:zt,_emscripten_bind_btRigidBody_updateInertiaTensor_0:Xj,_emscripten_bind_btHingeConstraint_setLimit_4:Un,_emscripten_bind_btHingeConstraint_setLimit_5:Nn,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:Vk,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:Xw,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:Mv,_emscripten_bind_btConeShape_setLocalScaling_1:fu,_emscripten_bind_btSoftBody_scale_1:Xe,_emscripten_bind_Config_get_citerations_0:mz,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btGhostObject_getCollisionShape_0:vy,_emscripten_bind_Config_get_kSSHR_CL_0:hz,_emscripten_bind_btBoxShape___destroy___0:Tt,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:fx,_emscripten_bind_btPersistentManifold_getContactPoint_1:Vv,_emscripten_bind_btVector3_btVector3_0:sr,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:ct,_emscripten_bind_RaycastInfo_set_m_groundObject_1:$w,_emscripten_bind_btGhostObject_activate_1:tr,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Qq,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:Uy,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:jA,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:zm,_emscripten_bind_btSphereShape_setMargin_1:Bu,_emscripten_bind_btSoftBody_get_m_cfg_0:kA,_emscripten_bind_btCollisionObject_setUserIndex_1:Pw,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:vu,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:vq,_emscripten_bind_btDynamicsWorld_contactPairTest_3:Ar,_emscripten_bind_btCollisionWorld_getPairCache_0:Et,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:oi,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Jq,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:sw,_emscripten_bind_btRigidBody_getWorldTransform_0:Qz,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Om,_emscripten_bind_btGhostObject_forceActivationState_1:kw,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:ye,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:cn,_emscripten_bind_VoidPtr___destroy___0:Bx,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:wq,_emscripten_bind_btSoftBody_get_m_materials_0:Pz,_emscripten_bind_btVector4_op_sub_1:ar,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:fr,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:gw,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:ty,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:fw,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:tx,_emscripten_bind_Config_get_kDF_0:Jz,_emscripten_bind_btWheelInfo_get_m_steering_0:Ay,_emscripten_bind_btConstraintSetting_get_m_tau_0:nA,_emscripten_bind_btSliderConstraint___destroy___0:Tt,_emscripten_bind_btCollisionObject_setCollisionShape_1:bu,_emscripten_bind_btCollisionShape___destroy___0:Tt,_emscripten_bind_btMatrix3x3_getRow_1:qp,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:_z,_emscripten_bind_btTriangleMesh_addTriangle_4:yn,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:Ox,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:tw,_emscripten_bind_btSoftBody_getUserIndex_0:Ny,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:bu,_emscripten_bind_btKinematicCharacterController_warp_1:Nt,_emscripten_bind_btAxisSweep3___destroy___0:Tt,_emscripten_bind_btSoftBody_getWorldTransform_0:Qz,_emscripten_bind_btTriangleMesh___destroy___0:Tt,_emscripten_bind_btKinematicCharacterController_preStep_1:It,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:tt,_emscripten_bind_btRaycastVehicle_setBrake_2:Lt,_emscripten_bind_ConcreteContactResultCallback___destroy___0:Tt,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:hr,_emscripten_bind_btCollisionObject___destroy___0:Rt,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:hy,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:km,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:fu,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:Mu,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:Ms,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:By,_emscripten_bind_btVector3_btVector3_3:Tp,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:mr,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:yv,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:lo,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:Tx,_emscripten_bind_btCollisionShape_getMargin_0:gv,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:hy,_emscripten_bind_btRigidBody_isKinematicObject_0:Tw,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:wz,_emscripten_bind_btConeTwistConstraint___destroy___0:Tt,_emscripten_bind_btQuadWord___destroy___0:Bx,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:Ar,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:Uq,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:nu,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:$y,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:$y,_emscripten_bind_btSoftBody_setUserIndex_1:Pw,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btSoftBody_setCollisionShape_1:bu,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Ao,_emscripten_bind_btConstraintSolver___destroy___0:Tt,_emscripten_bind_btDbvtBroadphase___destroy___0:Tt,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:Fm,_emscripten_bind_btTypedConstraint_enableFeedback_1:_v,_emscripten_bind_btSoftBody_setRollingFriction_1:Ht,_emscripten_bind_btGhostObject_activate_0:Xr,_emscripten_bind_btCapsuleShape_setLocalScaling_1:fu,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:Nv,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Ao,_emscripten_bind_btSoftBody_btSoftBody_4:cp,_emscripten_bind_btSoftBody_activate_0:Xr,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:By,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:iy,_emscripten_bind_btVector3_op_add_1:br,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:aj,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Nw,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Mk,_emscripten_bind_btVector4___destroy___0:Au,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Tw,_emscripten_bind_btConstraintSetting_get_m_damping_0:_z,_emscripten_bind_tNodeArray_at_1:hw,_i64Add:Kt,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:vv,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:be,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Aw,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:am,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:kn,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:Zj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:Iv,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:Py,_emscripten_bind_btKinematicCharacterController_playerStep_2:Ts,_emscripten_bind_btDispatcherInfo___destroy___0:Bx,_emscripten_bind_btCapsuleShape_getMargin_0:gv,_emscripten_bind_btCylinderShape_getMargin_0:gv,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:fu,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:ct,_emscripten_bind_btVector4_setValue_4:Lr,_emscripten_bind_ContactResultCallback_addSingleResult_7:Dq,_emscripten_bind_btGhostObject_getWorldTransform_0:Qz,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Et,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:Qx,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:ct,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:nA,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Bu,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:gy,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:iy,_emscripten_bind_btBoxShape_calculateLocalInertia_2:ct,_emscripten_bind_btMotionState___destroy___0:Tt,_emscripten_bind_btCollisionObject_setCollisionFlags_1:yw,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:zt,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:bt,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Cs,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:gs,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:_v,_emscripten_bind_Config_set_kSSHR_CL_1:Cx,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Bt,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:rp,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:gv,_emscripten_bind_btSoftBodySolver___destroy___0:Tt,_emscripten_bind_Node_get_m_n_0:wA,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:pw,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:pl,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Hv,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:iw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:ak,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Ei,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:tx,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:Tt,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:iv,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:XA,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Du,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:Bx,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:_x,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:Zq,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Oq,_memcpy:_m,_emscripten_bind_Config_get_maxvolume_0:bz,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:ct,_emscripten_bind_btRigidBody___destroy___0:Rt,_emscripten_bind_btVector3_y_0:_z,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:lw,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:Gz,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:pp,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:$o,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:Oz,_emscripten_bind_Config_set_kDF_1:$x,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:Ng,_emscripten_bind_btSoftBody_activate_1:tr,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:Yl,_emscripten_bind_btGhostObject_setCollisionShape_1:bu,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:$x,_emscripten_bind_btQuaternion_setW_1:jy,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Ht,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Qt,_emscripten_bind_btGhostObject_isActive_0:Gv,_emscripten_bind_btVector4_z_0:Zz,_emscripten_bind_btCollisionObject_forceActivationState_1:kw,_emscripten_bind_btKinematicCharacterController_onGround_0:Vu,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:av,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btConeTwistConstraint_setLimit_2:jq,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:hv,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:nz,_emscripten_bind_Node_set_m_x_1:qr,_emscripten_bind_btSoftBody_setFriction_1:Wt,_emscripten_bind_btRigidBody_setSleepingThresholds_2:_t,_emscripten_bind_btSoftBody_upcast_1:Qv,_emscripten_bind_btCollisionObject_setWorldTransform_1:pl,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:Oz,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:Tv,_emscripten_bind_btStridingMeshInterface___destroy___0:Tt,_emscripten_bind_btSoftBody_setActivationState_1:zt,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:uA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:Ew,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:Ee,_emscripten_bind_btDispatcher_getNumManifolds_0:Uu,_emscripten_bind_btConvexShape_setMargin_1:Bu,_emscripten_bind_btSoftBody_get_m_nodes_0:bA,_emscripten_bind_btSoftBody___destroy___0:Rt,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:rx,_emscripten_bind_btRigidBody_activate_1:tr,_emscripten_bind_btRigidBody_activate_0:Xr,_emscripten_bind_btRaycastVehicle___destroy___0:Tt,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:fz,_emscripten_bind_btGhostObject_setActivationState_1:zt,_emscripten_bind_btSoftBodyArray___destroy___0:Ip,_emscripten_bind_Material_set_m_kLST_1:iy,_emscripten_bind_btCollisionWorld_contactPairTest_3:Ar,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:Lw,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:$v,_emscripten_bind_Config_get_kSS_SPLT_CL_0:Dz,_emscripten_bind_btCylinderShapeX___destroy___0:Tt,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:Jy,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:jA,_emscripten_bind_ContactResultCallback___destroy___0:Tt,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:pv,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Ao,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:rn,_emscripten_bind_btRigidBody_getMotionState_0:Fy,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:Ox,_emscripten_bind_btRigidBody_btRigidBody_1:zi,_emscripten_bind_btTriangleMeshShape___destroy___0:Tt,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:ot,_emscripten_bind_btDynamicsWorld_removeAction_1:du,_emscripten_bind_btRigidBody_applyTorque_1:No,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:Iw,_emscripten_bind_btTransform_setIdentity_0:vn,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:nA,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:$q,_emscripten_bind_btGhostObject_setUserPointer_1:Pw,_emscripten_bind_btKinematicCharacterController_getGravity_0:xz,_emscripten_enum_PHY_ScalarType_PHY_SHORT:gB,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:ku,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Dg,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:Ly,_emscripten_bind_btConeShape_calculateLocalInertia_2:ct,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:ct,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:hv,_llvm_bswap_i32:ow,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Ft,_emscripten_bind_btSphereShape_setLocalScaling_1:fu,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:nm,_emscripten_bind_btVector4_w_0:Vz,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:Ry,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Tt,_emscripten_bind_Config_set_citerations_1:cx,_emscripten_bind_btSoftBody_checkFace_3:Zk,_emscripten_bind_Config_get_kSKHR_CL_0:jz,_free:hd,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:wz,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:iy,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Ct,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:xo,_emscripten_bind_Config_set_diterations_1:ax,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Tt,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Mt,_emscripten_bind_btVector4_btVector4_4:Np,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:ds,_emscripten_bind_btVector4_x_0:nA,_emscripten_bind_Config_set_kDP_1:hy,_emscripten_bind_btGhostObject_getUserPointer_0:Ny,_emscripten_bind_btConvexHullShape_addPoint_1:Ju,_emscripten_bind_btConvexHullShape_addPoint_2:$t,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:Iz,_emscripten_bind_Config_set_kMT_1:Zx,_emscripten_bind_btTransform_getOrigin_0:jA,_emscripten_bind_Config_get_kKHR_0:yz,_emscripten_bind_Material_get_m_kLST_0:_z,_emscripten_bind_btHingeConstraint___destroy___0:Tt,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:Ny,_emscripten_bind_btSoftBody_set_m_nodes_1:sh,_emscripten_bind_Config_set_viterations_1:_w,_emscripten_bind_btConvexShape_calculateLocalInertia_2:ct,_memset:Qn,_emscripten_bind_btKinematicCharacterController___destroy___0:Tt,_emscripten_bind_btConvexHullShape_setLocalScaling_1:fu,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:Sq,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:vy,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:gq,_emscripten_bind_btTransform___destroy___0:Bx,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:xw,_emscripten_bind_btSoftBodyHelpers___destroy___0:Bx,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:cs,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:kr,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:Yt,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:nz,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:Ar,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:fw,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:zr,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:iw,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:fy,_emscripten_bind_btRigidBody_setLinearVelocity_1:_p,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:Hm,_emscripten_bind_Config_set_maxvolume_1:xx,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:Tt,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:ir,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:Vw,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:Fv,_emscripten_bind_btDynamicsWorld_addAction_1:ku,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:du,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:jy,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:hs,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:Tt,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:nv,_emscripten_bind_btQuaternion_setEulerZYX_3:Hn,_emscripten_bind_Config_set_kLF_1:_x,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:hB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:Su,_emscripten_bind_Config_set_kSS_SPLT_CL_1:dy,_emscripten_bind_btSoftBody_forceActivationState_1:kw,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:Xx,_emscripten_bind_Material_get_m_flags_0:gz,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:Sw,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Wx,_emscripten_bind_btCapsuleShapeZ___destroy___0:Tt,_emscripten_bind_btRaycastVehicle_getRigidBody_0:py,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:Ax,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:Ox,_emscripten_bind_btTriangleMesh_addTriangle_3:In,_emscripten_bind_btGhostObject_getOverlappingObject_1:Du,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Et,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:qz,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:fr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:Rs,_emscripten_bind_btCompoundShape_getChildShape_1:xu,_emscripten_bind_btRigidBody_setCollisionFlags_1:yw,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:Lv,_emscripten_bind_Config_set_kCHR_1:Rx,_emscripten_bind_btConeShape___destroy___0:Tt,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:Dm,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:sj,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:tf,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:Je,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:Jz,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:ir,_emscripten_bind_btRigidBody_forceActivationState_1:kw,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:Yq,_emscripten_bind_btManifoldPoint_getDistance_0:az,_emscripten_bind_btGhostPairCallback___destroy___0:Tt,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:rm,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:zz,_emscripten_bind_btSliderConstraint_enableFeedback_1:_v,_emscripten_bind_btRaycastVehicle_addWheel_7:ce,_emscripten_bind_btPairCachingGhostObject_isActive_0:Gv,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:pw,_emscripten_bind_btStaticPlaneShape___destroy___0:Tt,_emscripten_bind_btHingeConstraint_enableMotor_1:jw,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:pw,_emscripten_bind_btBoxShape_setLocalScaling_1:fu,_emscripten_bind_btConeShapeZ___destroy___0:Tt,_emscripten_bind_btDynamicsWorld_getPairCache_0:Et,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:Wq,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:Wq,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:ts,_emscripten_bind_btRigidBody_setRestitution_1:Pt,_emscripten_bind_btVector4_btVector4_0:sr,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:Fw,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Aw,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Mq,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Mq,_emscripten_bind_tMaterialArray_at_1:lv,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:Mw,_emscripten_bind_Material_set_m_kVST_1:jy,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:po,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:Zz,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:Fs,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:uA,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:Cw,_emscripten_bind_btConvexShape_getMargin_0:gv,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:_n,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:Zx,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:cr,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:Iz,__GLOBAL__sub_I_btQuickprof_cpp:Cm,runPostSets:Hs,stackAlloc:kv,stackSave:rB,stackRestore:kB,establishStackSpace:rz,setThrew:ex,setTempRet0:mB,getTempRet0:pB,dynCall_viiiii:Zs,dynCall_vid:Nx,dynCall_vi:Rz,dynCall_viiidii:rs,dynCall_vii:ix,dynCall_iiiiiiiiiii:Vp,dynCall_ii:My,dynCall_viidi:ru,dynCall_viddiii:As,dynCall_vidii:su,dynCall_iiiii:Gt,dynCall_vidi:wv,dynCall_diiiiiiii:er,dynCall_viiiiddddiid:$p,dynCall_diiiii:Os,dynCall_vidd:dw,dynCall_iiii:Iu,dynCall_viiiiid:qs,dynCall_viiiiii:$r,dynCall_iiid:Zu,dynCall_di:ez,dynCall_iiiiiii:Kr,dynCall_diiidii:Wr,dynCall_viidii:it,dynCall_viiiiiii:wr,dynCall_viiiiiiiii:Hq,dynCall_viiiiiiiiii:dq,dynCall_iii:rw,dynCall_diii:Qu,dynCall_diiiiiiiiii:Xp,dynCall_viiiid:ht,dynCall_diiiiiiiii:Bq,dynCall_did:jx,dynCall_viiiidddddidi:Lp,dynCall_diidii:Xs,dynCall_diiii:Ot,dynCall_iiiiiiiiii:yq,dynCall_viiid:pu,dynCall_viii:cv,dynCall_v:cB,dynCall_viid:Dv,dynCall_iidid:ju,dynCall_viiii:au}}) +var va=[II,ho,sG,Jz,cG,iG,zD,Tp,Sp,Tp,II,II,II,II,II,II];var wa=[kI,kw];var xa=[fD,Bj,Bj,fD];var ya=[bH,Vi,Cj,Kh,IE,pk,Gn,pj,cm,Qm,Xg,$l,Pl,Il,bH,bH];var za=[FA,Qj,Pj,FA];var Aa=[bF,cc];var Ba=[vC,hu,ud,hu,hu,vd,hu,hu,jf,Je,lt,hu,hu,vC,vC,vC];var Ca=[tw,wp];var Da=[kv,Bb,Xh,kv];var Ea=[nu,si,ac,nu];var Fa=[HI,QE,EH,KH,rF,bE,bE,GF,AE,$G,iI,ar,sH,fI,mI,kH,uG,EH,YG,SH,iI,PH,PH,KH,EF,hE,rE,nH,WG,iI,uG,wF,YE,wG,YF,LF,gG,KH,lz,hv,hG,ZE,Su,VD,VD,uH,VH,JG,hI,_G,cI,dI,aI,RD,wH,_G,DH,OG,HH,uG,JH,vG,MF,MF,EH,YH,_G,XH,WH,_C,pH,EH,EH,EH,jI,eI,ZH,fI,eI,wG,KF,oH,UH,_G,OH,NH,AE,OC,DF,uF,uF,GF,GF,oI,EH,KH,GF,GF,oI,bE,EH,LE,LE,GF,Ys,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI,HI];var Ga=[yF,Lf];var Ha=[bI,Sq,_q,Tq,SF,SF,SF,lb,Ly,Ly,hc,wl,tm,Ex,en,Ns,Ik,mq,Ep,hk,Ph,Mn,jq,bI,bI,bI,bI,bI,bI,bI,bI,bI];var Ia=[jH,Qe,HD,HD,jm,jH,jH,jH];var Ja=[XG,$m,Uh,sb,Qn,Kk,Bf,ih,vg,Oe,Bm,hh,ah,Ie,ve,Le,Am,aq,Aj,Ve,Ak,Vf,Lk,sh,zk,Vd,yk,Uc,_B,_B,De,sj,Ff,Wf,Lh,Tn,Ek,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG,XG];var Ka=[_E,ym,Ao,Un,Nj,Mj,lh,Rm,Wk,Uk,ml,Ef,jl,To,dm,hl,cl,fi,nl,Vb,qv,Tw,He,_E,_E,_E,_E,_E,_E,_E,_E,_E];var La=[fA,rc,Lc,bd];var Ma=[gv,vc,af,gv];var Na=[ju,Wb,Eg,ju];var Oa=[NI,vI,Lj,ot];var Pa=[LI,EI,DI,EI,rI,EI,DI,EI,rI,EI,DI,EI,rI,EI,DI,EI,rI,EI,PG,EI,rI,EI,rI,EI,DI,EI,rI,Oo,$p,nn,$i,zy,EI,DI,DI,DI,DI,Fc,Dv,EI,DI,EI,DI,EI,Sx,DI,DI,EI,Sx,DI,DI,EI,DI,Ey,fx,EI,DI,EI,DI,vp,Po,ni,UB,uj,bu,vi,jk,pb,eh,wf,Tm,Qd,Yk,EI,DI,EI,DI,po,Dn,ag,lu,rb,DI,Ij,xB,gH,iv,EI,gH,iv,Be,qm,iv,iv,Yd,rI,iv,iv,wc,iv,Pb,zf,bt,tE,Hh,SE,DI,vo,Jn,Ms,DI,EI,DI,hH,jv,mo,zn,Xk,cu,So,fq,EI,DI,se,NA,DI,DI,DI,DI,DI,DI,DI,DI,DI,DI,Jj,cC,iq,ap,No,uo,DI,yp,np,oq,ep,EI,DI,cj,UE,qd,DI,DI,DI,DI,DI,EI,DI,EI,QG,DI,DI,DI,DI,DI,DI,cq,Zo,EI,DI,rq,ip,DI,DI,DI,ck,iB,DI,Xi,zz,DI,Bl,Tu,xi,Sx,Sx,Sx,Sx,cp,oo,EI,DI,DI,DI,EI,Sx,DI,EI,DI,EI,Sx,rI,rI,Nl,Cl,Sx,Sx,Sx,Po,DI,Po,TG,bv,DI,DI,_F,Mu,Sx,Sx,Sx,Eh,av,Mi,Ku,EI,Ku,Wo,kq,Hj,hB,DI,DI,Jo,TE,EI,DI,DI,DI,Fh,bv,rI,EI,DI,DI,DI,DI,DI,DI,EI,DI,EI,DI,eq,$o,DI,DI,Kj,PC,Dh,Iu,Ko,Ln,EI,DI,EI,EI,DI,DI,Yr,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI,LI];var Qa=[BI,tb,ec,pm,pF,ME,KG,ME,$j,gc,pf,Hd,Hf,wj,te,Xb,Id,Nb,wE,ME,$k,$k,$k,Gi,BI,BI,BI,BI,BI,BI,BI,BI];var Ra=[$H,md,Sf,Pi,qf,Ze,$H,$H];var Sa=[gC,ie,he,Sc];var Ta=[MH,ng,YA,YA,It,mj,ki,zo,It,It,Ci,Dk,ql,It,tj,MH];var Ua=[HG,Oj];var Va=[AI,Tz,PA,gq,Jr,ZF,oB,bB,ZF,on,ok,ZF,Ls,tn,Mb,yd,jp,ZF,ZF,ZF,ZF,ZA,Jf,Gf,Pg,jj,Wl,ej,Ar,Cg,_h,Ro,Xw,zw,Xw,zw,Qb,ZF,Di,yt,jn,xp,mh,Kw,Zc,pi,zj,Rg,Et,Ge,xe,Fb,lk,xc,fj,Db,ii,ZF,Ok,Yj,ik,el,tA,Zj,Cz,Sm,hj,Di,Ni,Di,Vj,Gq,lp,Di,Fi,Ym,yq,um,sd,Lm,Pk,Ot,Lt,Mt,Qg,gm,em,mg,yr,Cp,kk,Xr,Qo,kk,Gc,Cc,$q,kk,Xr,ZF,ZF,Zg,$g,Bd,Xm,ZF,ZF,ZF,yx,ZA,Ee,uc,nh,Pt,ut,ut,ZF,Di,ZF,ZF,AI,AI,AI,AI,AI,AI,AI,AI];var Wa=[LH,Mf,Ov,Wu,wr,rk,Gb,LH];var Xa=[GG,kp,QC,Dj,$n,ji,fm,wm];var Ya=[DE,Dg];var Za=[CH,Cw,vE,Sh,Ud,Bv,Ch,En,vE,Ri,dj,kt,vE,$c,Dc,vE,qk,il,dk,Np,qi,Ae,uh,vE,vE,Zh,zh,je,Sw,Rw,vE,vE,vE,vE,Mc,th,kj,Tj,Ws,Sg,Dt,qe,Kd,Kd,Gg,qk,qj,Sn,Tg,qk,rh,vE,yl,Hn,Fl,ll,Vk,oj,nm,om,mm,_m,mn,Bc,sn,vE,vE,vE,vE,bp,lo,no,Kl,aj,vh,eo,vE,vE,vE,vE,Qh,Nc,qh,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH,CH];var _a=[FG,_y,wb,pd,Sd,_y,Wi,Nd,Hl,lm,FG,FG,FG,FG,FG,FG];var $a=[OB,gs];var ab=[$F,Ru,rf,Ue,ye,LA,LA,LA,ff,$e,mt,_j,Iq,Vt,bk,Sb,Kb,pe,Rs,Ig,We,qb,Wt,Tl,Gk,jo,$e,ne,$f,kf,Rd,su,ls,Qf,Mg,mt,Gh,dl,Fs,Lg,id,ol,Ji,Ui,Eo,Kf,gg,ch,Yh,gk,LA,jh,ig,Nh,LA,LA,Hi,Li,zl,ak,yj,xd,Jd,Ih,Lb,Li,Nk,Fk,Mk,nc,cn,Ti,cn,Qk,mp,pn,uk,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F];var bb=[CE,$u];var cb=[At,Gd];var db=[tu,nf];var eb=[XD,dt,cd,og,bl,xf,Yo,Zb,me,gf,bf,mb,mc,Jb,Wd,nd,Ub,iu,If,vb,dd,sk,xh,we,XD,XD,XD,XD,XD,XD,XD,XD];var fb=[NB,ko];var gb=[jB,hd,Tk,Ml,so,Im,gi,jB];var hb=[tz,lg];var ib=[dw,pq];var jb=[Vv,_g];var kb=[Ju,Al,Al,Ju];return{__GLOBAL__sub_I_btQuickprof_cpp:Yp,___cxa_can_catch:Vp,___cxa_is_pointer_type:xy,___muldi3:Vr,___udivdi3:VA,_bitshift64Lshr:xt,_bitshift64Shl:it,_emscripten_bind_Anchor___destroy___0:qD,_emscripten_bind_Anchor_get_m_body_0:XF,_emscripten_bind_Anchor_get_m_c0_0:vH,_emscripten_bind_Anchor_get_m_c1_0:uH,_emscripten_bind_Anchor_get_m_c2_0:bG,_emscripten_bind_Anchor_get_m_influence_0:nG,_emscripten_bind_Anchor_get_m_local_0:oI,_emscripten_bind_Anchor_get_m_node_0:MG,_emscripten_bind_Anchor_set_m_body_1:GD,_emscripten_bind_Anchor_set_m_c0_1:pB,_emscripten_bind_Anchor_set_m_c1_1:Mr,_emscripten_bind_Anchor_set_m_c2_1:cE,_emscripten_bind_Anchor_set_m_influence_1:lE,_emscripten_bind_Anchor_set_m_local_1:Or,_emscripten_bind_Anchor_set_m_node_1:qE,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:ys,_emscripten_bind_ClosestConvexResultCallback___destroy___0:jw,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:oG,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:oC,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:nC,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:mI,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:vH,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:UD,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:gE,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Rx,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:PF,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Lz,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:Kz,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Qq,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Xq,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Rq,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Wq,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Vs,_emscripten_bind_ClosestRayResultCallback___destroy___0:jw,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:oG,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:zC,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:IC,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:bE,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:AF,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:OG,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:PE,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:aG,_emscripten_bind_ClosestRayResultCallback_hasHit_0:ry,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:PF,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:Yz,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:eA,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:bB,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:qr,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:yr,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:cr,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:zr,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:tt,_emscripten_bind_ConcreteContactResultCallback___destroy___0:jw,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Cq,_emscripten_bind_Config___destroy___0:Ty,_emscripten_bind_Config_get_citerations_0:MF,_emscripten_bind_Config_get_collisions_0:vF,_emscripten_bind_Config_get_diterations_0:uF,_emscripten_bind_Config_get_kAHR_0:fG,_emscripten_bind_Config_get_kCHR_0:eG,_emscripten_bind_Config_get_kDF_0:tG,_emscripten_bind_Config_get_kDG_0:sG,_emscripten_bind_Config_get_kDP_0:BG,_emscripten_bind_Config_get_kKHR_0:dG,_emscripten_bind_Config_get_kLF_0:rG,_emscripten_bind_Config_get_kMT_0:qG,_emscripten_bind_Config_get_kPR_0:pG,_emscripten_bind_Config_get_kSHR_0:cG,_emscripten_bind_Config_get_kSKHR_CL_0:JF,_emscripten_bind_Config_get_kSK_SPLT_CL_0:nF,_emscripten_bind_Config_get_kSRHR_CL_0:IF,_emscripten_bind_Config_get_kSR_SPLT_CL_0:mF,_emscripten_bind_Config_get_kSSHR_CL_0:HF,_emscripten_bind_Config_get_kSS_SPLT_CL_0:iG,_emscripten_bind_Config_get_kVCF_0:oG,_emscripten_bind_Config_get_kVC_0:nG,_emscripten_bind_Config_get_maxvolume_0:CF,_emscripten_bind_Config_get_piterations_0:tF,_emscripten_bind_Config_get_timescale_0:BF,_emscripten_bind_Config_get_viterations_0:sF,_emscripten_bind_Config_set_citerations_1:NC,_emscripten_bind_Config_set_collisions_1:MC,_emscripten_bind_Config_set_diterations_1:LC,_emscripten_bind_Config_set_kAHR_1:fE,_emscripten_bind_Config_set_kCHR_1:eE,_emscripten_bind_Config_set_kDF_1:pE,_emscripten_bind_Config_set_kDG_1:pF,_emscripten_bind_Config_set_kDP_1:OF,_emscripten_bind_Config_set_kKHR_1:dE,_emscripten_bind_Config_set_kLF_1:oE,_emscripten_bind_Config_set_kMT_1:nE,_emscripten_bind_Config_set_kPR_1:mE,_emscripten_bind_Config_set_kSHR_1:ME,_emscripten_bind_Config_set_kSKHR_CL_1:FD,_emscripten_bind_Config_set_kSK_SPLT_CL_1:pD,_emscripten_bind_Config_set_kSRHR_CL_1:ED,_emscripten_bind_Config_set_kSR_SPLT_CL_1:oD,_emscripten_bind_Config_set_kSSHR_CL_1:DD,_emscripten_bind_Config_set_kSS_SPLT_CL_1:wE,_emscripten_bind_Config_set_kVCF_1:PF,_emscripten_bind_Config_set_kVC_1:lE,_emscripten_bind_Config_set_maxvolume_1:yD,_emscripten_bind_Config_set_piterations_1:KC,_emscripten_bind_Config_set_timescale_1:xD,_emscripten_bind_Config_set_viterations_1:JC,_emscripten_bind_ContactResultCallback___destroy___0:jw,_emscripten_bind_ContactResultCallback_addSingleResult_7:Cq,_emscripten_bind_ConvexResultCallback___destroy___0:jw,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:oG,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:oC,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:nC,_emscripten_bind_ConvexResultCallback_hasHit_0:Rx,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:PF,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Lz,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:Kz,_emscripten_bind_DebugDrawer_DebugDrawer_0:hz,_emscripten_bind_DebugDrawer___destroy___0:jw,_emscripten_bind_DebugDrawer_draw3dText_2:sv,_emscripten_bind_DebugDrawer_drawContactPoint_5:es,_emscripten_bind_DebugDrawer_drawLine_3:su,_emscripten_bind_DebugDrawer_getDebugMode_0:lz,_emscripten_bind_DebugDrawer_reportErrorWarning_1:rw,_emscripten_bind_DebugDrawer_setDebugMode_1:bx,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:vq,_emscripten_bind_LocalConvexResult___destroy___0:qD,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:MG,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:dG,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:nI,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:zH,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:rF,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:qE,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:dE,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Zr,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:Sr,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:oB,_emscripten_bind_LocalShapeInfo___destroy___0:qD,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:MG,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:rF,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:qE,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:oB,_emscripten_bind_Material___destroy___0:qD,_emscripten_bind_Material_get_m_flags_0:GF,_emscripten_bind_Material_get_m_kAST_0:BG,_emscripten_bind_Material_get_m_kLST_0:oG,_emscripten_bind_Material_get_m_kVST_0:sG,_emscripten_bind_Material_set_m_flags_1:nD,_emscripten_bind_Material_set_m_kAST_1:OF,_emscripten_bind_Material_set_m_kLST_1:PF,_emscripten_bind_Material_set_m_kVST_1:pF,_emscripten_bind_Node___destroy___0:qD,_emscripten_bind_Node_get_m_area_0:bG,_emscripten_bind_Node_get_m_f_0:BH,_emscripten_bind_Node_get_m_im_0:AG,_emscripten_bind_Node_get_m_n_0:AH,_emscripten_bind_Node_get_m_q_0:zH,_emscripten_bind_Node_get_m_v_0:yH,_emscripten_bind_Node_get_m_x_0:nI,_emscripten_bind_Node_set_m_area_1:cE,_emscripten_bind_Node_set_m_f_1:Ur,_emscripten_bind_Node_set_m_im_1:zE,_emscripten_bind_Node_set_m_n_1:Tr,_emscripten_bind_Node_set_m_q_1:Sr,_emscripten_bind_Node_set_m_v_1:Rr,_emscripten_bind_Node_set_m_x_1:Zr,_emscripten_bind_RayResultCallback___destroy___0:jw,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:oG,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:zC,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:IC,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:bE,_emscripten_bind_RayResultCallback_hasHit_0:ry,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:PF,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:Yz,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:eA,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:bB,_emscripten_bind_RaycastInfo___destroy___0:qD,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:JI,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:QF,_emscripten_bind_RaycastInfo_get_m_groundObject_0:tF,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:aG,_emscripten_bind_RaycastInfo_get_m_isInContact_0:wD,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:qG,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:OG,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:AF,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:Pr,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:vr,_emscripten_bind_RaycastInfo_set_m_groundObject_1:KC,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:zr,_emscripten_bind_RaycastInfo_set_m_isInContact_1:gB,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:nE,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:yr,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:qr,_emscripten_bind_VoidPtr___destroy___0:qD,_emscripten_bind_btActionInterface___destroy___0:jw,_emscripten_bind_btActionInterface_updateAction_2:ov,_emscripten_bind_btAxisSweep3___destroy___0:jw,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:us,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:Lr,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:or,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Mq,_emscripten_bind_btBoxShape___destroy___0:jw,_emscripten_bind_btBoxShape_btBoxShape_1:ai,_emscripten_bind_btBoxShape_calculateLocalInertia_2:_u,_emscripten_bind_btBoxShape_getLocalScaling_0:ez,_emscripten_bind_btBoxShape_getMargin_0:Jz,_emscripten_bind_btBoxShape_setLocalScaling_1:Pw,_emscripten_bind_btBoxShape_setMargin_1:Ox,_emscripten_bind_btBroadphaseInterface___destroy___0:jw,_emscripten_bind_btBroadphaseProxy___destroy___0:SA,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:HC,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:ZC,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:dA,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:kA,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:jw,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:Is,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:$r,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:_u,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:ez,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Pw,_emscripten_bind_btCapsuleShapeX___destroy___0:jw,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:Nm,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:_u,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:LB,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:ez,_emscripten_bind_btCapsuleShapeX_getMargin_0:Jz,_emscripten_bind_btCapsuleShapeX_getRadius_0:mD,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:QD,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:Pw,_emscripten_bind_btCapsuleShapeX_setMargin_1:Ox,_emscripten_bind_btCapsuleShapeZ___destroy___0:jw,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:Mm,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:_u,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:LB,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:ez,_emscripten_bind_btCapsuleShapeZ_getMargin_0:Jz,_emscripten_bind_btCapsuleShapeZ_getRadius_0:mD,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:QD,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:Pw,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Ox,_emscripten_bind_btCapsuleShape___destroy___0:jw,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:Pm,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:_u,_emscripten_bind_btCapsuleShape_getHalfHeight_0:LB,_emscripten_bind_btCapsuleShape_getLocalScaling_0:ez,_emscripten_bind_btCapsuleShape_getMargin_0:Jz,_emscripten_bind_btCapsuleShape_getRadius_0:mD,_emscripten_bind_btCapsuleShape_getUpAxis_0:QD,_emscripten_bind_btCapsuleShape_setLocalScaling_1:Pw,_emscripten_bind_btCapsuleShape_setMargin_1:Ox,_emscripten_bind_btCollisionConfiguration___destroy___0:jw,_emscripten_bind_btCollisionDispatcher___destroy___0:jw,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:xk,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Mv,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Mz,_emscripten_bind_btCollisionObject___destroy___0:hw,_emscripten_bind_btCollisionObject_activate_0:rt,_emscripten_bind_btCollisionObject_activate_1:ks,_emscripten_bind_btCollisionObject_forceActivationState_1:eB,_emscripten_bind_btCollisionObject_getCollisionFlags_0:jD,_emscripten_bind_btCollisionObject_getCollisionShape_0:iD,_emscripten_bind_btCollisionObject_getUserIndex_0:$B,_emscripten_bind_btCollisionObject_getUserPointer_0:BD,_emscripten_bind_btCollisionObject_getWorldTransform_0:FE,_emscripten_bind_btCollisionObject_isActive_0:xA,_emscripten_bind_btCollisionObject_isKinematicObject_0:hy,_emscripten_bind_btCollisionObject_isStaticObject_0:$y,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:Ew,_emscripten_bind_btCollisionObject_setActivationState_1:Gv,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Xu,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:dy,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:Mx,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Oy,_emscripten_bind_btCollisionObject_setCollisionShape_1:ww,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:ky,_emscripten_bind_btCollisionObject_setFriction_1:wA,_emscripten_bind_btCollisionObject_setRestitution_1:Gz,_emscripten_bind_btCollisionObject_setRollingFriction_1:Wy,_emscripten_bind_btCollisionObject_setUserIndex_1:Pz,_emscripten_bind_btCollisionObject_setUserPointer_1:Pz,_emscripten_bind_btCollisionObject_setWorldTransform_1:ox,_emscripten_bind_btCollisionShape___destroy___0:jw,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:_u,_emscripten_bind_btCollisionShape_getLocalScaling_0:ez,_emscripten_bind_btCollisionShape_getMargin_0:Jz,_emscripten_bind_btCollisionShape_setLocalScaling_1:Pw,_emscripten_bind_btCollisionShape_setMargin_1:Ox,_emscripten_bind_btCollisionWorld___destroy___0:jw,_emscripten_bind_btCollisionWorld_addCollisionObject_1:Av,_emscripten_bind_btCollisionWorld_addCollisionObject_2:Bu,_emscripten_bind_btCollisionWorld_addCollisionObject_3:Gt,_emscripten_bind_btCollisionWorld_contactPairTest_3:gj,_emscripten_bind_btCollisionWorld_contactTest_2:zm,_emscripten_bind_btCollisionWorld_convexSweepTest_5:fr,_emscripten_bind_btCollisionWorld_debugDrawObject_3:Nt,_emscripten_bind_btCollisionWorld_debugDrawWorld_0:Ry,_emscripten_bind_btCollisionWorld_getBroadphase_0:lD,_emscripten_bind_btCollisionWorld_getDebugDrawer_0:Cy,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:SB,_emscripten_bind_btCollisionWorld_getDispatcher_0:kD,_emscripten_bind_btCollisionWorld_getPairCache_0:kz,_emscripten_bind_btCollisionWorld_rayTest_3:ku,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:Wv,_emscripten_bind_btCollisionWorld_setDebugDrawer_1:qw,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:yw,_emscripten_bind_btCompoundShape___destroy___0:jw,_emscripten_bind_btCompoundShape_addChildShape_2:_c,_emscripten_bind_btCompoundShape_btCompoundShape_0:Si,_emscripten_bind_btCompoundShape_btCompoundShape_1:Ii,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:_u,_emscripten_bind_btCompoundShape_getChildShape_1:gz,_emscripten_bind_btCompoundShape_getLocalScaling_0:ez,_emscripten_bind_btCompoundShape_getMargin_0:Jz,_emscripten_bind_btCompoundShape_getNumChildShapes_0:EA,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:lx,_emscripten_bind_btCompoundShape_setLocalScaling_1:Pw,_emscripten_bind_btCompoundShape_setMargin_1:Ox,_emscripten_bind_btConcaveShape___destroy___0:jw,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:_u,_emscripten_bind_btConcaveShape_getLocalScaling_0:ez,_emscripten_bind_btConcaveShape_setLocalScaling_1:Pw,_emscripten_bind_btConeShapeX___destroy___0:jw,_emscripten_bind_btConeShapeX_btConeShapeX_2:El,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:_u,_emscripten_bind_btConeShapeX_getLocalScaling_0:ez,_emscripten_bind_btConeShapeX_setLocalScaling_1:Pw,_emscripten_bind_btConeShapeZ___destroy___0:jw,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:Dl,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:_u,_emscripten_bind_btConeShapeZ_getLocalScaling_0:ez,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Pw,_emscripten_bind_btConeShape___destroy___0:jw,_emscripten_bind_btConeShape_btConeShape_2:Ol,_emscripten_bind_btConeShape_calculateLocalInertia_2:_u,_emscripten_bind_btConeShape_getLocalScaling_0:ez,_emscripten_bind_btConeShape_setLocalScaling_1:Pw,_emscripten_bind_btConeTwistConstraint___destroy___0:jw,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:kg,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:Pf,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Fy,_emscripten_bind_btConeTwistConstraint_enableMotor_1:wy,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btConeTwistConstraint_getParam_2:cv,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Nx,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btConeTwistConstraint_setDamping_1:dz,_emscripten_bind_btConeTwistConstraint_setLimit_2:ex,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:Kv,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:qx,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:ru,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:wh,_emscripten_bind_btConeTwistConstraint_setParam_3:qu,_emscripten_bind_btConstraintSetting___destroy___0:qD,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:Sy,_emscripten_bind_btConstraintSetting_get_m_damping_0:oG,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:BG,_emscripten_bind_btConstraintSetting_get_m_tau_0:hF,_emscripten_bind_btConstraintSetting_set_m_damping_1:PF,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:OF,_emscripten_bind_btConstraintSetting_set_m_tau_1:jG,_emscripten_bind_btConstraintSolver___destroy___0:jw,_emscripten_bind_btContactSolverInfo___destroy___0:qD,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:XF,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:sA,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:TB,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:GD,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:Bx,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:jA,_emscripten_bind_btConvexHullShape___destroy___0:jw,_emscripten_bind_btConvexHullShape_addPoint_1:vy,_emscripten_bind_btConvexHullShape_addPoint_2:uw,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:fw,_emscripten_bind_btConvexHullShape_btConvexHullShape_1:Zu,_emscripten_bind_btConvexHullShape_btConvexHullShape_2:fu,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:_u,_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0:QD,_emscripten_bind_btConvexHullShape_getLocalScaling_0:ez,_emscripten_bind_btConvexHullShape_getMargin_0:Jz,_emscripten_bind_btConvexHullShape_getNumVertices_0:qy,_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:nv,_emscripten_bind_btConvexHullShape_recalcLocalAabb_0:cz,_emscripten_bind_btConvexHullShape_setLocalScaling_1:Pw,_emscripten_bind_btConvexHullShape_setMargin_1:Ox,_emscripten_bind_btConvexPolyhedron___destroy___0:jw,_emscripten_bind_btConvexPolyhedron_get_m_faces_0:zH,_emscripten_bind_btConvexPolyhedron_get_m_vertices_0:oI,_emscripten_bind_btConvexPolyhedron_set_m_faces_1:Ix,_emscripten_bind_btConvexPolyhedron_set_m_vertices_1:kx,_emscripten_bind_btConvexShape___destroy___0:jw,_emscripten_bind_btConvexShape_calculateLocalInertia_2:_u,_emscripten_bind_btConvexShape_getLocalScaling_0:ez,_emscripten_bind_btConvexShape_getMargin_0:Jz,_emscripten_bind_btConvexShape_setLocalScaling_1:Pw,_emscripten_bind_btConvexShape_setMargin_1:Ox,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:jw,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:_k,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:Hk,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:_u,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:ez,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:Jz,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Pw,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Ox,_emscripten_bind_btCylinderShapeX___destroy___0:jw,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:at,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:_u,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:ez,_emscripten_bind_btCylinderShapeX_getMargin_0:Jz,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:Pw,_emscripten_bind_btCylinderShapeX_setMargin_1:Ox,_emscripten_bind_btCylinderShapeZ___destroy___0:jw,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:$s,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:_u,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:ez,_emscripten_bind_btCylinderShapeZ_getMargin_0:Jz,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Pw,_emscripten_bind_btCylinderShapeZ_setMargin_1:Ox,_emscripten_bind_btCylinderShape___destroy___0:jw,_emscripten_bind_btCylinderShape_btCylinderShape_1:Uv,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:_u,_emscripten_bind_btCylinderShape_getLocalScaling_0:ez,_emscripten_bind_btCylinderShape_getMargin_0:Jz,_emscripten_bind_btCylinderShape_setLocalScaling_1:Pw,_emscripten_bind_btCylinderShape_setMargin_1:Ox,_emscripten_bind_btDbvtBroadphase___destroy___0:jw,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Ow,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:jw,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Mp,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:Ks,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:qD,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Vu,_emscripten_bind_btDefaultMotionState___destroy___0:jw,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:Dr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:hs,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:ht,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:pw,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:oI,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:ww,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:gy,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:jw,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:zp,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:jw,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:Eu,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Xt,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:jw,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Xw,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Yu,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:eu,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:Gt,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Jv,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:Fu,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:_v,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:Ct,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:_p,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:gj,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:zm,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:fr,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:Nt,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:Ry,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:lD,_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:Cy,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:SB,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:kD,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:Zn,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:kz,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:wB,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:ku,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:zw,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:Wv,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Nv,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Pv,_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:qw,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:ew,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:Du,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:Ht,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:Kt,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:yw,_emscripten_bind_btDispatcherInfo___destroy___0:qD,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:tG,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:eG,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:bE,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:YC,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:YB,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:rF,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:sG,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:hF,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:mC,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:Rz,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:vD,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:pE,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:eE,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:bB,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:XA,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:rA,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:oB,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:pF,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:jG,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:DA,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:py,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:fB,_emscripten_bind_btDispatcher___destroy___0:jw,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Mv,_emscripten_bind_btDispatcher_getNumManifolds_0:Mz,_emscripten_bind_btDynamicsWorld___destroy___0:jw,_emscripten_bind_btDynamicsWorld_addAction_1:Xw,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Av,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:Bu,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:Gt,_emscripten_bind_btDynamicsWorld_contactPairTest_3:gj,_emscripten_bind_btDynamicsWorld_contactTest_2:zm,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:fr,_emscripten_bind_btDynamicsWorld_debugDrawObject_3:Nt,_emscripten_bind_btDynamicsWorld_debugDrawWorld_0:Ry,_emscripten_bind_btDynamicsWorld_getBroadphase_0:lD,_emscripten_bind_btDynamicsWorld_getDebugDrawer_0:Cy,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:SB,_emscripten_bind_btDynamicsWorld_getDispatcher_0:kD,_emscripten_bind_btDynamicsWorld_getPairCache_0:kz,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:wB,_emscripten_bind_btDynamicsWorld_rayTest_3:ku,_emscripten_bind_btDynamicsWorld_removeAction_1:zw,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:Wv,_emscripten_bind_btDynamicsWorld_setDebugDrawer_1:qw,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:yw,_emscripten_bind_btFaceArray___destroy___0:ax,_emscripten_bind_btFaceArray_at_1:by,_emscripten_bind_btFaceArray_size_0:cF,_emscripten_bind_btFace___destroy___0:cA,_emscripten_bind_btFace_get_m_indices_0:JI,_emscripten_bind_btFace_get_m_plane_1:RB,_emscripten_bind_btFace_set_m_indices_1:yA,_emscripten_bind_btFace_set_m_plane_2:Iz,_emscripten_bind_btFixedConstraint___destroy___0:jw,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:Ah,_emscripten_bind_btFixedConstraint_enableFeedback_1:Fy,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btFixedConstraint_getParam_2:cv,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btFixedConstraint_setParam_3:qu,_emscripten_bind_btGeneric6DofConstraint___destroy___0:jw,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:Cr,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:lq,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Fy,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:$D,_emscripten_bind_btGeneric6DofConstraint_getParam_2:cv,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:zv,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:yv,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Iv,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Hv,_emscripten_bind_btGeneric6DofConstraint_setParam_3:qu,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:jw,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:al,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:Jk,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Fy,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Zq,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:$D,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:cv,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:zv,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:yv,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:jx,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Iv,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Hv,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:qu,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:$w,_emscripten_bind_btGhostObject___destroy___0:hw,_emscripten_bind_btGhostObject_activate_0:rt,_emscripten_bind_btGhostObject_activate_1:ks,_emscripten_bind_btGhostObject_btGhostObject_0:hi,_emscripten_bind_btGhostObject_forceActivationState_1:eB,_emscripten_bind_btGhostObject_getCollisionFlags_0:jD,_emscripten_bind_btGhostObject_getCollisionShape_0:iD,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:uz,_emscripten_bind_btGhostObject_getOverlappingObject_1:Wx,_emscripten_bind_btGhostObject_getUserIndex_0:$B,_emscripten_bind_btGhostObject_getUserPointer_0:BD,_emscripten_bind_btGhostObject_getWorldTransform_0:FE,_emscripten_bind_btGhostObject_isActive_0:xA,_emscripten_bind_btGhostObject_isKinematicObject_0:hy,_emscripten_bind_btGhostObject_isStaticObject_0:$y,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:Ew,_emscripten_bind_btGhostObject_setActivationState_1:Gv,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Xu,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:dy,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:Mx,_emscripten_bind_btGhostObject_setCollisionFlags_1:Oy,_emscripten_bind_btGhostObject_setCollisionShape_1:ww,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:ky,_emscripten_bind_btGhostObject_setFriction_1:wA,_emscripten_bind_btGhostObject_setRestitution_1:Gz,_emscripten_bind_btGhostObject_setRollingFriction_1:Wy,_emscripten_bind_btGhostObject_setUserIndex_1:Pz,_emscripten_bind_btGhostObject_setUserPointer_1:Pz,_emscripten_bind_btGhostObject_setWorldTransform_1:ox,_emscripten_bind_btGhostPairCallback___destroy___0:jw,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:Zy,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:jw,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:bg,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:_u,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:ez,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:Jz,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:Pw,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Ox,_emscripten_bind_btHingeConstraint___destroy___0:jw,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:vf,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:tf,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Xf,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:Uf,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:hq,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Hp,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:Ou,_emscripten_bind_btHingeConstraint_enableFeedback_1:Fy,_emscripten_bind_btHingeConstraint_enableMotor_1:rz,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btHingeConstraint_getParam_2:cv,_emscripten_bind_btHingeConstraint_setAngularOnly_1:Ky,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btHingeConstraint_setLimit_4:Lu,_emscripten_bind_btHingeConstraint_setLimit_5:au,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:ay,_emscripten_bind_btHingeConstraint_setMotorTarget_2:ei,_emscripten_bind_btHingeConstraint_setParam_3:qu,_emscripten_bind_btIDebugDraw___destroy___0:jw,_emscripten_bind_btIDebugDraw_draw3dText_2:sv,_emscripten_bind_btIDebugDraw_drawContactPoint_5:es,_emscripten_bind_btIDebugDraw_drawLine_3:su,_emscripten_bind_btIDebugDraw_getDebugMode_0:lz,_emscripten_bind_btIDebugDraw_reportErrorWarning_1:rw,_emscripten_bind_btIDebugDraw_setDebugMode_1:bx,_emscripten_bind_btIntArray___destroy___0:Fx,_emscripten_bind_btIntArray_at_1:Ww,_emscripten_bind_btIntArray_size_0:cF,_emscripten_bind_btKinematicCharacterController___destroy___0:jw,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:Ej,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:xj,_emscripten_bind_btKinematicCharacterController_canJump_0:Hx,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:bE,_emscripten_bind_btKinematicCharacterController_getGravity_0:cG,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:eG,_emscripten_bind_btKinematicCharacterController_jump_0:fy,_emscripten_bind_btKinematicCharacterController_onGround_0:lz,_emscripten_bind_btKinematicCharacterController_playerStep_2:Gu,_emscripten_bind_btKinematicCharacterController_preStep_1:Tv,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:lE,_emscripten_bind_btKinematicCharacterController_setGravity_1:ME,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:pE,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:nE,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:iw,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:dx,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:mv,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:pv,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:Ut,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:qw,_emscripten_bind_btKinematicCharacterController_updateAction_2:ov,_emscripten_bind_btKinematicCharacterController_warp_1:aw,_emscripten_bind_btManifoldPoint___destroy___0:qD,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:Yy,_emscripten_bind_btManifoldPoint_getDistance_0:Bz,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:$D,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:bA,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:JI,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:QF,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:lF,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:IH,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:IG,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Pr,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:vr,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:nr,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:Fr,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:jr,_emscripten_bind_btMatrix3x3___destroy___0:qD,_emscripten_bind_btMatrix3x3_getRotation_1:bz,_emscripten_bind_btMatrix3x3_getRow_1:Pp,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Hw,_emscripten_bind_btMotionState___destroy___0:jw,_emscripten_bind_btMotionState_getWorldTransform_1:pw,_emscripten_bind_btMotionState_setWorldTransform_1:ww,_emscripten_bind_btOverlappingPairCache___destroy___0:jw,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Nv,_emscripten_bind_btOverlappingPairCallback___destroy___0:jw,_emscripten_bind_btPairCachingGhostObject___destroy___0:hw,_emscripten_bind_btPairCachingGhostObject_activate_0:rt,_emscripten_bind_btPairCachingGhostObject_activate_1:ks,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:kh,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:eB,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:jD,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:iD,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:uz,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Wx,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:$B,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:BD,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:FE,_emscripten_bind_btPairCachingGhostObject_isActive_0:xA,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:hy,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:$y,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:Ew,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Gv,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Xu,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:dy,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Mx,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Oy,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:ww,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:ky,_emscripten_bind_btPairCachingGhostObject_setFriction_1:wA,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Gz,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Wy,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Pz,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Pz,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:ox,_emscripten_bind_btPersistentManifold___destroy___0:SA,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:mi,_emscripten_bind_btPersistentManifold_getBody0_0:XC,_emscripten_bind_btPersistentManifold_getBody1_0:WC,_emscripten_bind_btPersistentManifold_getContactPoint_1:Ax,_emscripten_bind_btPersistentManifold_getNumContacts_0:XB,_emscripten_bind_btPoint2PointConstraint___destroy___0:jw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:nj,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:Gj,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Fy,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btPoint2PointConstraint_getParam_2:cv,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:aA,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:$z,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:gF,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btPoint2PointConstraint_setParam_3:qu,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:wx,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:vx,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:Es,_emscripten_bind_btQuadWord___destroy___0:qD,_emscripten_bind_btQuadWord_setW_1:uD,_emscripten_bind_btQuadWord_setX_1:ND,_emscripten_bind_btQuadWord_setY_1:MD,_emscripten_bind_btQuadWord_setZ_1:LD,_emscripten_bind_btQuadWord_w_0:_D,_emscripten_bind_btQuadWord_x_0:zF,_emscripten_bind_btQuadWord_y_0:ZD,_emscripten_bind_btQuadWord_z_0:YD,_emscripten_bind_btQuaternion___destroy___0:qD,_emscripten_bind_btQuaternion_angleShortestPath_1:uy,_emscripten_bind_btQuaternion_angle_1:dB,_emscripten_bind_btQuaternion_btQuaternion_4:ro,_emscripten_bind_btQuaternion_dot_1:KB,_emscripten_bind_btQuaternion_getAngleShortestPath_0:CA,_emscripten_bind_btQuaternion_getAngle_0:aB,_emscripten_bind_btQuaternion_getAxis_0:Ho,_emscripten_bind_btQuaternion_inverse_0:Go,_emscripten_bind_btQuaternion_length2_0:kE,_emscripten_bind_btQuaternion_length_0:GE,_emscripten_bind_btQuaternion_normalize_0:aE,_emscripten_bind_btQuaternion_normalized_0:xo,_emscripten_bind_btQuaternion_op_add_1:JB,_emscripten_bind_btQuaternion_op_div_1:lC,_emscripten_bind_btQuaternion_op_mul_1:gt,_emscripten_bind_btQuaternion_op_mulq_1:vB,_emscripten_bind_btQuaternion_op_sub_1:IB,_emscripten_bind_btQuaternion_setEulerZYX_3:$v,_emscripten_bind_btQuaternion_setRotation_2:Vw,_emscripten_bind_btQuaternion_setValue_4:Xo,_emscripten_bind_btQuaternion_setW_1:uD,_emscripten_bind_btQuaternion_setX_1:ND,_emscripten_bind_btQuaternion_setY_1:MD,_emscripten_bind_btQuaternion_setZ_1:LD,_emscripten_bind_btQuaternion_w_0:_D,_emscripten_bind_btQuaternion_x_0:zF,_emscripten_bind_btQuaternion_y_0:ZD,_emscripten_bind_btQuaternion_z_0:YD,_emscripten_bind_btRaycastVehicle___destroy___0:jw,_emscripten_bind_btRaycastVehicle_addWheel_7:gd,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:vv,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:wk,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:nB,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:oy,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:yC,_emscripten_bind_btRaycastVehicle_getForwardVector_0:Kn,_emscripten_bind_btRaycastVehicle_getNumWheels_0:mB,_emscripten_bind_btRaycastVehicle_getRightAxis_0:VC,_emscripten_bind_btRaycastVehicle_getRigidBody_0:UC,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:Nw,_emscripten_bind_btRaycastVehicle_getUpAxis_0:tD,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:WB,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:HB,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:qz,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Vx,_emscripten_bind_btRaycastVehicle_rayCast_1:Xy,_emscripten_bind_btRaycastVehicle_resetSuspension_0:gl,_emscripten_bind_btRaycastVehicle_setBrake_2:Zv,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:Bt,_emscripten_bind_btRaycastVehicle_setPitchControl_1:az,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:uv,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:ey,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:Ux,_emscripten_bind_btRaycastVehicle_updateAction_2:ov,_emscripten_bind_btRaycastVehicle_updateFriction_1:Gw,_emscripten_bind_btRaycastVehicle_updateSuspension_1:Rk,_emscripten_bind_btRaycastVehicle_updateVehicle_1:Mw,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:ft,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:uu,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:wt,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:qD,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:bn,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Bq,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:Qz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:jz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:KA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:qA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:pz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:QB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:BA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:xC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:bG,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:JA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:aC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:uB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:Qx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:px,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:Jy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:Qy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:ux,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:Hz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:By,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:pA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:cE,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:Iy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:Xz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:cD,_emscripten_bind_btRigidBody___destroy___0:hw,_emscripten_bind_btRigidBody_activate_0:rt,_emscripten_bind_btRigidBody_activate_1:ks,_emscripten_bind_btRigidBody_applyCentralForce_1:Yt,_emscripten_bind_btRigidBody_applyCentralImpulse_1:Jt,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:st,_emscripten_bind_btRigidBody_applyForce_2:_w,_emscripten_bind_btRigidBody_applyGravity_0:On,_emscripten_bind_btRigidBody_applyImpulse_2:xw,_emscripten_bind_btRigidBody_applyLocalTorque_1:$t,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:St,_emscripten_bind_btRigidBody_applyTorque_1:Au,_emscripten_bind_btRigidBody_btRigidBody_1:Wh,_emscripten_bind_btRigidBody_forceActivationState_1:eB,_emscripten_bind_btRigidBody_getAabb_2:Js,_emscripten_bind_btRigidBody_getAngularVelocity_0:cB,_emscripten_bind_btRigidBody_getBroadphaseProxy_0:GC,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:FE,_emscripten_bind_btRigidBody_getCollisionFlags_0:jD,_emscripten_bind_btRigidBody_getCollisionShape_0:iD,_emscripten_bind_btRigidBody_getGravity_0:CD,_emscripten_bind_btRigidBody_getLinearVelocity_0:lB,_emscripten_bind_btRigidBody_getMotionState_0:sD,_emscripten_bind_btRigidBody_getUserIndex_0:$B,_emscripten_bind_btRigidBody_getUserPointer_0:BD,_emscripten_bind_btRigidBody_getWorldTransform_0:FE,_emscripten_bind_btRigidBody_isActive_0:xA,_emscripten_bind_btRigidBody_isKinematicObject_0:hy,_emscripten_bind_btRigidBody_isStaticObject_0:$y,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:Ew,_emscripten_bind_btRigidBody_setActivationState_1:Gv,_emscripten_bind_btRigidBody_setAngularFactor_1:ny,_emscripten_bind_btRigidBody_setAngularVelocity_1:Px,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Xu,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:dy,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Mx,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:ow,_emscripten_bind_btRigidBody_setCollisionFlags_1:Oy,_emscripten_bind_btRigidBody_setCollisionShape_1:ww,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:ky,_emscripten_bind_btRigidBody_setDamping_2:gn,_emscripten_bind_btRigidBody_setFriction_1:wA,_emscripten_bind_btRigidBody_setGravity_1:rm,_emscripten_bind_btRigidBody_setLinearFactor_1:Ay,_emscripten_bind_btRigidBody_setLinearVelocity_1:$x,_emscripten_bind_btRigidBody_setMassProps_2:ij,_emscripten_bind_btRigidBody_setMotionState_1:my,_emscripten_bind_btRigidBody_setRestitution_1:Gz,_emscripten_bind_btRigidBody_setRollingFriction_1:Wy,_emscripten_bind_btRigidBody_setSleepingThresholds_2:Fw,_emscripten_bind_btRigidBody_setUserIndex_1:Pz,_emscripten_bind_btRigidBody_setUserPointer_1:Pz,_emscripten_bind_btRigidBody_setWorldTransform_1:ox,_emscripten_bind_btRigidBody_upcast_1:Wz,_emscripten_bind_btRigidBody_updateInertiaTensor_0:bj,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:jw,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:rj,_emscripten_bind_btShapeHull___destroy___0:Ug,_emscripten_bind_btShapeHull_btShapeHull_1:Vo,_emscripten_bind_btShapeHull_buildHull_1:Ec,_emscripten_bind_btShapeHull_getVertexPointer_0:GB,_emscripten_bind_btShapeHull_numVertices_0:rF,_emscripten_bind_btSliderConstraint___destroy___0:jw,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:Ad,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:Ke,_emscripten_bind_btSliderConstraint_enableFeedback_1:Fy,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btSliderConstraint_getParam_2:cv,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:ly,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:ky,_emscripten_bind_btSliderConstraint_setParam_3:qu,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:jy,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:iy,_emscripten_bind_btSoftBodyArray___destroy___0:Fx,_emscripten_bind_btSoftBodyArray_at_1:Ww,_emscripten_bind_btSoftBodyArray_size_0:cF,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:tg,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:as,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:Wc,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:sc,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:zc,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:Yf,_emscripten_bind_btSoftBodyHelpers___destroy___0:qD,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:dH,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:jw,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:gp,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:Kr,_emscripten_bind_btSoftBodySolver___destroy___0:jw,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:ix,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:Hy,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:hF,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:PD,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:OD,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:yH,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:sG,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:oG,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:QF,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:BG,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:jG,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:UA,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:TA,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:Rr,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:pF,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:PF,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:vr,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:OF,_emscripten_bind_btSoftBody___destroy___0:hw,_emscripten_bind_btSoftBody_activate_0:rt,_emscripten_bind_btSoftBody_activate_1:ks,_emscripten_bind_btSoftBody_addAeroForceToNode_2:Yv,_emscripten_bind_btSoftBody_addForce_1:_l,_emscripten_bind_btSoftBody_addForce_2:fn,_emscripten_bind_btSoftBody_appendAnchor_4:lf,_emscripten_bind_btSoftBody_appendFace_4:pu,_emscripten_bind_btSoftBody_appendLink_4:ou,_emscripten_bind_btSoftBody_appendMaterial_0:FC,_emscripten_bind_btSoftBody_appendNode_2:ic,_emscripten_bind_btSoftBody_appendTetra_5:Ye,_emscripten_bind_btSoftBody_btSoftBody_4:Qr,_emscripten_bind_btSoftBody_checkFace_3:ek,_emscripten_bind_btSoftBody_checkLink_2:fl,_emscripten_bind_btSoftBody_forceActivationState_1:eB,_emscripten_bind_btSoftBody_generateBendingConstraints_2:fc,_emscripten_bind_btSoftBody_generateClusters_1:Py,_emscripten_bind_btSoftBody_generateClusters_2:cx,_emscripten_bind_btSoftBody_getCollisionFlags_0:jD,_emscripten_bind_btSoftBody_getCollisionShape_0:iD,_emscripten_bind_btSoftBody_getTotalMass_0:to,_emscripten_bind_btSoftBody_getUserIndex_0:$B,_emscripten_bind_btSoftBody_getUserPointer_0:BD,_emscripten_bind_btSoftBody_getWorldTransform_0:FE,_emscripten_bind_btSoftBody_get_m_anchors_0:LG,_emscripten_bind_btSoftBody_get_m_cfg_0:cH,_emscripten_bind_btSoftBody_get_m_materials_0:zG,_emscripten_bind_btSoftBody_get_m_nodes_0:VG,_emscripten_bind_btSoftBody_isActive_0:xA,_emscripten_bind_btSoftBody_isKinematicObject_0:hy,_emscripten_bind_btSoftBody_isStaticObject_0:$y,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:Ew,_emscripten_bind_btSoftBody_rotate_1:vj,_emscripten_bind_btSoftBody_scale_1:fe,_emscripten_bind_btSoftBody_setActivationState_1:Gv,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Xu,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:dy,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:Mx,_emscripten_bind_btSoftBody_setCollisionFlags_1:Oy,_emscripten_bind_btSoftBody_setCollisionShape_1:ww,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:ky,_emscripten_bind_btSoftBody_setFriction_1:wA,_emscripten_bind_btSoftBody_setMass_2:Tt,_emscripten_bind_btSoftBody_setRestitution_1:Gz,_emscripten_bind_btSoftBody_setRollingFriction_1:Wy,_emscripten_bind_btSoftBody_setTotalMass_2:Ag,_emscripten_bind_btSoftBody_setUserIndex_1:Pz,_emscripten_bind_btSoftBody_setUserPointer_1:Pz,_emscripten_bind_btSoftBody_setWorldTransform_1:ox,_emscripten_bind_btSoftBody_set_m_anchors_1:Lw,_emscripten_bind_btSoftBody_set_m_cfg_1:Vz,_emscripten_bind_btSoftBody_set_m_materials_1:mw,_emscripten_bind_btSoftBody_set_m_nodes_1:hx,_emscripten_bind_btSoftBody_transform_1:Oz,_emscripten_bind_btSoftBody_translate_1:ul,_emscripten_bind_btSoftBody_upcast_1:iA,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:jw,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:Xw,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:Yu,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:eu,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:Gt,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Jv,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:Fu,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:_v,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:Ct,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:Ei,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:Ne,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:gj,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:zm,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:fr,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:Nt,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:Ry,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:lD,_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:Cy,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:SB,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:kD,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:Yn,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:kz,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:Vy,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:wB,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:Fz,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:ku,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:zw,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Wv,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Nv,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Pv,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:$h,_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:qw,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:ew,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:Du,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:Ht,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:Kt,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:yw,_emscripten_bind_btSphereShape___destroy___0:jw,_emscripten_bind_btSphereShape_btSphereShape_1:nx,_emscripten_bind_btSphereShape_calculateLocalInertia_2:_u,_emscripten_bind_btSphereShape_getLocalScaling_0:ez,_emscripten_bind_btSphereShape_getMargin_0:Jz,_emscripten_bind_btSphereShape_setLocalScaling_1:Pw,_emscripten_bind_btSphereShape_setMargin_1:Ox,_emscripten_bind_btStaticPlaneShape___destroy___0:jw,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:rl,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:_u,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:ez,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:Pw,_emscripten_bind_btStridingMeshInterface___destroy___0:jw,_emscripten_bind_btTransform___destroy___0:qD,_emscripten_bind_btTransform_btTransform_0:GH,_emscripten_bind_btTransform_btTransform_2:Uu,_emscripten_bind_btTransform_getBasis_0:UG,_emscripten_bind_btTransform_getOrigin_0:$D,_emscripten_bind_btTransform_getRotation_0:wo,_emscripten_bind_btTransform_inverse_0:gr,_emscripten_bind_btTransform_op_mul_1:VB,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:Gy,_emscripten_bind_btTransform_setIdentity_0:JD,_emscripten_bind_btTransform_setOrigin_1:Uz,_emscripten_bind_btTransform_setRotation_1:hA,_emscripten_bind_btTriangleMeshShape___destroy___0:jw,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:_u,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:ez,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:Pw,_emscripten_bind_btTriangleMesh___destroy___0:jw,_emscripten_bind_btTriangleMesh_addTriangle_3:Zm,_emscripten_bind_btTriangleMesh_addTriangle_4:Hm,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:Dw,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:tv,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:yu,_emscripten_bind_btTypedConstraint___destroy___0:jw,_emscripten_bind_btTypedConstraint_enableFeedback_1:Fy,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Gx,_emscripten_bind_btTypedConstraint_getParam_2:cv,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:ty,_emscripten_bind_btTypedConstraint_setParam_3:qu,_emscripten_bind_btVector3Array___destroy___0:Fx,_emscripten_bind_btVector3Array_at_1:Ez,_emscripten_bind_btVector3Array_size_0:cF,_emscripten_bind_btVector3___destroy___0:SA,_emscripten_bind_btVector3_btVector3_0:rH,_emscripten_bind_btVector3_btVector3_3:Bp,_emscripten_bind_btVector3_dot_1:Us,_emscripten_bind_btVector3_length_0:Lx,_emscripten_bind_btVector3_normalize_0:$E,_emscripten_bind_btVector3_op_add_1:EC,_emscripten_bind_btVector3_op_mul_1:qt,_emscripten_bind_btVector3_op_sub_1:DC,_emscripten_bind_btVector3_rotate_2:go,_emscripten_bind_btVector3_setValue_3:nq,_emscripten_bind_btVector3_setX_1:ND,_emscripten_bind_btVector3_setY_1:MD,_emscripten_bind_btVector3_setZ_1:LD,_emscripten_bind_btVector3_x_0:zF,_emscripten_bind_btVector3_y_0:ZD,_emscripten_bind_btVector3_z_0:YD,_emscripten_bind_btVector4___destroy___0:SA,_emscripten_bind_btVector4_btVector4_0:rH,_emscripten_bind_btVector4_btVector4_4:qo,_emscripten_bind_btVector4_dot_1:Us,_emscripten_bind_btVector4_length_0:Lx,_emscripten_bind_btVector4_normalize_0:$E,_emscripten_bind_btVector4_op_add_1:EC,_emscripten_bind_btVector4_op_mul_1:qt,_emscripten_bind_btVector4_op_sub_1:DC,_emscripten_bind_btVector4_rotate_2:fo,_emscripten_bind_btVector4_setValue_4:Xo,_emscripten_bind_btVector4_setX_1:ND,_emscripten_bind_btVector4_setY_1:MD,_emscripten_bind_btVector4_setZ_1:LD,_emscripten_bind_btVector4_w_0:_D,_emscripten_bind_btVector4_x_0:zF,_emscripten_bind_btVector4_y_0:ZD,_emscripten_bind_btVector4_z_0:YD,_emscripten_bind_btVehicleRaycasterResult___destroy___0:qD,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:qG,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:QF,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:JI,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:nE,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:vr,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:Pr,_emscripten_bind_btVehicleRaycaster___destroy___0:jw,_emscripten_bind_btVehicleRaycaster_castRay_3:Xt,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:_x,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:rG,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:pG,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:sG,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:oG,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:BG,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:hF,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:oE,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:mE,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:pF,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:PF,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:OF,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:jG,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:qD,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:RA,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:JI,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:iG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:CF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:IF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:fG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:HF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:IG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:QF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:JF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:mF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:nF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:oz,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:Pr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:wE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:yD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:ED,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:fE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:DD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:jr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:vr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:FD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:oD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:pD,_emscripten_bind_btWheelInfo___destroy___0:qD,_emscripten_bind_btWheelInfo_btWheelInfo_1:gw,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:ID,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:TC,_emscripten_bind_btWheelInfo_get_m_brake_0:fF,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:OE,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:FB,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:jE,_emscripten_bind_btWheelInfo_get_m_engineForce_0:EE,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:yE,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:AD,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:hD,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:JI,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:iE,_emscripten_bind_btWheelInfo_get_m_rotation_0:XE,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:WE,_emscripten_bind_btWheelInfo_get_m_steering_0:VE,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:kC,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:ID,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:rD,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:WF,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:qF,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:wC,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:CC,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:xE,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:gD,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:lH,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:WA,_emscripten_bind_btWheelInfo_set_m_brake_1:BC,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Yq,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:Az,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:tB,_emscripten_bind_btWheelInfo_set_m_engineForce_1:PB,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:EB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:CB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:IA,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Qs,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:sB,_emscripten_bind_btWheelInfo_set_m_rotation_1:jC,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:iC,_emscripten_bind_btWheelInfo_set_m_steering_1:hC,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:_z,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:HA,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:QA,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:rr,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:ir,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:oA,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:vA,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:DB,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:GA,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:yz,_emscripten_bind_btWheelInfo_updateWheel_2:oi,_emscripten_bind_tAnchorArray___destroy___0:Fx,_emscripten_bind_tAnchorArray_at_1:Br,_emscripten_bind_tAnchorArray_clear_0:uE,_emscripten_bind_tAnchorArray_pop_back_0:gA,_emscripten_bind_tAnchorArray_push_back_1:gx,_emscripten_bind_tAnchorArray_size_0:cF,_emscripten_bind_tMaterialArray___destroy___0:Fx,_emscripten_bind_tMaterialArray_at_1:Ww,_emscripten_bind_tMaterialArray_size_0:cF,_emscripten_bind_tNodeArray___destroy___0:Fx,_emscripten_bind_tNodeArray_at_1:Zw,_emscripten_bind_tNodeArray_size_0:cF,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:MI,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:gI,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:uI,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:qI,_emscripten_enum_PHY_ScalarType_PHY_SHORT:tI,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:sI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:tI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:MI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:gI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:qI,_free:Hc,_i64Add:xv,_i64Subtract:lv,_llvm_bswap_i16:iH,_llvm_bswap_i32:kB,_malloc:xb,_memcpy:Bh,_memmove:fp,_memset:mk,_sbrk:io,dynCall_di:FF,dynCall_did:eD,dynCall_diidii:Nu,dynCall_diii:Ny,dynCall_diiidii:pt,dynCall_diiii:cw,dynCall_diiiii:xu,dynCall_diiiiiiii:ur,dynCall_diiiiiiiii:zq,dynCall_diiiiiiiiii:Gp,dynCall_ii:jF,dynCall_iidid:Uw,dynCall_iii:rB,dynCall_iiid:iz,dynCall_iiii:sy,dynCall_iiiii:Sv,dynCall_iiiiiii:_s,dynCall_iiiiiiiiii:uq,dynCall_iiiiiiiiiii:Dp,dynCall_v:pI,dynCall_vi:EG,dynCall_vid:WD,dynCall_vidd:$A,dynCall_viddiii:du,dynCall_vidi:mA,dynCall_vidii:tx,dynCall_vii:dD,dynCall_viid:uA,dynCall_viidi:sx,dynCall_viidii:fv,dynCall_viii:xz,dynCall_viiid:mx,dynCall_viiidii:Rt,dynCall_viiii:vw,dynCall_viiiid:ev,dynCall_viiiidddddidi:op,dynCall_viiiiddddiid:Rp,dynCall_viiiii:Qu,dynCall_viiiiid:Qt,dynCall_viiiiii:zt,dynCall_viiiiiii:qs,dynCall_viiiiiiiid:Pq,dynCall_viiiiiiiii:Hq,dynCall_viiiiiiiiii:Up,establishStackSpace:VF,setThrew:SC,stackAlloc:Nz,stackRestore:FI,stackSave:KI}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_btCylinderShape___destroy___0=Module["_emscripten_bind_btCylinderShape___destroy___0"]=asm["_emscripten_bind_btCylinderShape___destroy___0"];var _emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"];var _emscripten_bind_btGhostObject___destroy___0=Module["_emscripten_bind_btGhostObject___destroy___0"]=asm["_emscripten_bind_btGhostObject___destroy___0"];var _emscripten_bind_btPoint2PointConstraint_set_m_setting_1=Module["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"]=asm["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"];var _emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"];var _emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"];var _emscripten_bind_btCollisionObject_isActive_0=Module["_emscripten_bind_btCollisionObject_isActive_0"]=asm["_emscripten_bind_btCollisionObject_isActive_0"];var _emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=Module["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"];var _emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=Module["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"];var _emscripten_bind_btCapsuleShapeX_getMargin_0=Module["_emscripten_bind_btCapsuleShapeX_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeX_getMargin_0"];var _emscripten_bind_Node_set_m_n_1=Module["_emscripten_bind_Node_set_m_n_1"]=asm["_emscripten_bind_Node_set_m_n_1"];var _emscripten_bind_btCompoundShape_getMargin_0=Module["_emscripten_bind_btCompoundShape_getMargin_0"]=asm["_emscripten_bind_btCompoundShape_getMargin_0"];var _emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"];var _emscripten_bind_btRigidBody_setUserPointer_1=Module["_emscripten_bind_btRigidBody_setUserPointer_1"]=asm["_emscripten_bind_btRigidBody_setUserPointer_1"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btQuaternion_setX_1=Module["_emscripten_bind_btQuaternion_setX_1"]=asm["_emscripten_bind_btQuaternion_setX_1"];var _emscripten_bind_btCylinderShapeZ_getMargin_0=Module["_emscripten_bind_btCylinderShapeZ_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeZ_getMargin_0"];var _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"];var _emscripten_bind_btQuaternion_setZ_1=Module["_emscripten_bind_btQuaternion_setZ_1"]=asm["_emscripten_bind_btQuaternion_setZ_1"];var _emscripten_bind_btCollisionObject_getUserIndex_0=Module["_emscripten_bind_btCollisionObject_getUserIndex_0"]=asm["_emscripten_bind_btCollisionObject_getUserIndex_0"];var _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=Module["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"];var _emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"];var _emscripten_bind_btKinematicCharacterController_setMaxSlope_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"];var _emscripten_bind_btQuadWord_z_0=Module["_emscripten_bind_btQuadWord_z_0"]=asm["_emscripten_bind_btQuadWord_z_0"];var _emscripten_bind_btSoftBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"];var _emscripten_bind_Material___destroy___0=Module["_emscripten_bind_Material___destroy___0"]=asm["_emscripten_bind_Material___destroy___0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_2=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"];var _emscripten_bind_btSoftBody_rotate_1=Module["_emscripten_bind_btSoftBody_rotate_1"]=asm["_emscripten_bind_btSoftBody_rotate_1"];var _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"];var _emscripten_bind_btVector4_setY_1=Module["_emscripten_bind_btVector4_setY_1"]=asm["_emscripten_bind_btVector4_setY_1"];var _emscripten_enum_PHY_ScalarType_PHY_UCHAR=Module["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"]=asm["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"];var _emscripten_bind_btQuaternion_setW_1=Module["_emscripten_bind_btQuaternion_setW_1"]=asm["_emscripten_bind_btQuaternion_setW_1"];var _emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=Module["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"];var _emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"];var _emscripten_bind_btCollisionDispatcher___destroy___0=Module["_emscripten_bind_btCollisionDispatcher___destroy___0"]=asm["_emscripten_bind_btCollisionDispatcher___destroy___0"];var _emscripten_bind_btRigidBody_applyCentralImpulse_1=Module["_emscripten_bind_btRigidBody_applyCentralImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyCentralImpulse_1"];var _emscripten_bind_btConvexHullShape_getMargin_0=Module["_emscripten_bind_btConvexHullShape_getMargin_0"]=asm["_emscripten_bind_btConvexHullShape_getMargin_0"];var _emscripten_bind_btDefaultMotionState_getWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"];var _emscripten_bind_btDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDynamicsWorld_rayTest_3"];var _emscripten_bind_Config_set_kSR_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSR_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSR_SPLT_CL_1"];var _emscripten_bind_btQuadWord_x_0=Module["_emscripten_bind_btQuadWord_x_0"]=asm["_emscripten_bind_btQuadWord_x_0"];var _emscripten_bind_Config_get_diterations_0=Module["_emscripten_bind_Config_get_diterations_0"]=asm["_emscripten_bind_Config_get_diterations_0"];var _emscripten_bind_btCollisionObject_isKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isKinematicObject_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"];var _emscripten_bind_btSphereShape___destroy___0=Module["_emscripten_bind_btSphereShape___destroy___0"]=asm["_emscripten_bind_btSphereShape___destroy___0"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_btSoftBody_isKinematicObject_0=Module["_emscripten_bind_btSoftBody_isKinematicObject_0"]=asm["_emscripten_bind_btSoftBody_isKinematicObject_0"];var _emscripten_bind_btRigidBody_getCenterOfMassTransform_0=Module["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"]=asm["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"];var _emscripten_bind_btTransform_setIdentity_0=Module["_emscripten_bind_btTransform_setIdentity_0"]=asm["_emscripten_bind_btTransform_setIdentity_0"];var _emscripten_bind_btGhostObject_isKinematicObject_0=Module["_emscripten_bind_btGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isKinematicObject_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"];var _emscripten_bind_btCapsuleShape___destroy___0=Module["_emscripten_bind_btCapsuleShape___destroy___0"]=asm["_emscripten_bind_btCapsuleShape___destroy___0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"];var _emscripten_bind_btCollisionObject_activate_1=Module["_emscripten_bind_btCollisionObject_activate_1"]=asm["_emscripten_bind_btCollisionObject_activate_1"];var _emscripten_bind_btCollisionObject_activate_0=Module["_emscripten_bind_btCollisionObject_activate_0"]=asm["_emscripten_bind_btCollisionObject_activate_0"];var _emscripten_bind_btKinematicCharacterController_setUpAxis_1=Module["_emscripten_bind_btKinematicCharacterController_setUpAxis_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUpAxis_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"];var _emscripten_bind_Config_set_kSSHR_CL_1=Module["_emscripten_bind_Config_set_kSSHR_CL_1"]=asm["_emscripten_bind_Config_set_kSSHR_CL_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"];var _emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=Module["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"]=asm["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"];var _emscripten_bind_btVector3_setX_1=Module["_emscripten_bind_btVector3_setX_1"]=asm["_emscripten_bind_btVector3_setX_1"];var _emscripten_bind_btCollisionConfiguration___destroy___0=Module["_emscripten_bind_btCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btCollisionConfiguration___destroy___0"];var _emscripten_bind_btCapsuleShapeZ_setMargin_1=Module["_emscripten_bind_btCapsuleShapeZ_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setMargin_1"];var _emscripten_bind_btHingeConstraint_enableFeedback_1=Module["_emscripten_bind_btHingeConstraint_enableFeedback_1"]=asm["_emscripten_bind_btHingeConstraint_enableFeedback_1"];var _emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"];var _emscripten_bind_Config_set_kMT_1=Module["_emscripten_bind_Config_set_kMT_1"]=asm["_emscripten_bind_Config_set_kMT_1"];var _emscripten_bind_btManifoldPoint_set_m_localPointB_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"];var _emscripten_bind_btVector3_setZ_1=Module["_emscripten_bind_btVector3_setZ_1"]=asm["_emscripten_bind_btVector3_setZ_1"];var _emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=Module["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"];var _emscripten_bind_btQuaternion_setValue_4=Module["_emscripten_bind_btQuaternion_setValue_4"]=asm["_emscripten_bind_btQuaternion_setValue_4"];var _emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=Module["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"];var _emscripten_bind_btSoftBody_transform_1=Module["_emscripten_bind_btSoftBody_transform_1"]=asm["_emscripten_bind_btSoftBody_transform_1"];var _emscripten_bind_LocalShapeInfo___destroy___0=Module["_emscripten_bind_LocalShapeInfo___destroy___0"]=asm["_emscripten_bind_LocalShapeInfo___destroy___0"];var _emscripten_bind_btSoftBody_appendAnchor_4=Module["_emscripten_bind_btSoftBody_appendAnchor_4"]=asm["_emscripten_bind_btSoftBody_appendAnchor_4"];var _emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=Module["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"]=asm["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"];var _emscripten_bind_btQuadWord_setY_1=Module["_emscripten_bind_btQuadWord_setY_1"]=asm["_emscripten_bind_btQuadWord_setY_1"];var _emscripten_bind_btRigidBody_isKinematicObject_0=Module["_emscripten_bind_btRigidBody_isKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isKinematicObject_0"];var _emscripten_bind_ContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ContactResultCallback_addSingleResult_7"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"];var _emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=Module["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"]=asm["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_5=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"];var _emscripten_bind_btConeTwistConstraint_setDamping_1=Module["_emscripten_bind_btConeTwistConstraint_setDamping_1"]=asm["_emscripten_bind_btConeTwistConstraint_setDamping_1"];var _emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=Module["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btCylinderShape_setMargin_1=Module["_emscripten_bind_btCylinderShape_setMargin_1"]=asm["_emscripten_bind_btCylinderShape_setMargin_1"];var _emscripten_bind_btCollisionWorld___destroy___0=Module["_emscripten_bind_btCollisionWorld___destroy___0"]=asm["_emscripten_bind_btCollisionWorld___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"];var _emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"];var _emscripten_bind_btBoxShape_btBoxShape_1=Module["_emscripten_bind_btBoxShape_btBoxShape_1"]=asm["_emscripten_bind_btBoxShape_btBoxShape_1"];var _emscripten_bind_btPersistentManifold_getBody1_0=Module["_emscripten_bind_btPersistentManifold_getBody1_0"]=asm["_emscripten_bind_btPersistentManifold_getBody1_0"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_RaycastInfo_set_m_isInContact_1=Module["_emscripten_bind_RaycastInfo_set_m_isInContact_1"]=asm["_emscripten_bind_RaycastInfo_set_m_isInContact_1"];var _emscripten_bind_btKinematicCharacterController_setGravity_1=Module["_emscripten_bind_btKinematicCharacterController_setGravity_1"]=asm["_emscripten_bind_btKinematicCharacterController_setGravity_1"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"];var _emscripten_bind_LocalShapeInfo_get_m_shapePart_0=Module["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"];var _emscripten_bind_btWheelInfo_get_m_rollInfluence_0=Module["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"]=asm["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"];var _emscripten_bind_btVector4_setValue_4=Module["_emscripten_bind_btVector4_setValue_4"]=asm["_emscripten_bind_btVector4_setValue_4"];var _emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_tNodeArray_size_0=Module["_emscripten_bind_tNodeArray_size_0"]=asm["_emscripten_bind_tNodeArray_size_0"];var _emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=Module["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"]=asm["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"];var _emscripten_bind_btVector3_length_0=Module["_emscripten_bind_btVector3_length_0"]=asm["_emscripten_bind_btVector3_length_0"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_btBoxShape_getMargin_0=Module["_emscripten_bind_btBoxShape_getMargin_0"]=asm["_emscripten_bind_btBoxShape_getMargin_0"];var _emscripten_bind_btPairCachingGhostObject___destroy___0=Module["_emscripten_bind_btPairCachingGhostObject___destroy___0"]=asm["_emscripten_bind_btPairCachingGhostObject___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_setUserPointer_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btPairCachingGhostObject_activate_0=Module["_emscripten_bind_btPairCachingGhostObject_activate_0"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_0"];var _emscripten_bind_btPairCachingGhostObject_activate_1=Module["_emscripten_bind_btPairCachingGhostObject_activate_1"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_1"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"];var _emscripten_bind_btSoftBody_setUserPointer_1=Module["_emscripten_bind_btSoftBody_setUserPointer_1"]=asm["_emscripten_bind_btSoftBody_setUserPointer_1"];var _emscripten_bind_btSoftBody_setMass_2=Module["_emscripten_bind_btSoftBody_setMass_2"]=asm["_emscripten_bind_btSoftBody_setMass_2"];var _emscripten_bind_Config_get_kCHR_0=Module["_emscripten_bind_Config_get_kCHR_0"]=asm["_emscripten_bind_Config_get_kCHR_0"];var _emscripten_bind_btPairCachingGhostObject_forceActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"];var _emscripten_bind_btDefaultMotionState___destroy___0=Module["_emscripten_bind_btDefaultMotionState___destroy___0"]=asm["_emscripten_bind_btDefaultMotionState___destroy___0"];var _emscripten_bind_btDispatcherInfo_get_m_stepCount_0=Module["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"];var _emscripten_bind_btQuadWord_setW_1=Module["_emscripten_bind_btQuadWord_setW_1"]=asm["_emscripten_bind_btQuadWord_setW_1"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"];var _emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=Module["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"]=asm["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"];var _emscripten_bind_LocalShapeInfo_set_m_shapePart_1=Module["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"];var _emscripten_bind_btRigidBody_setLinearFactor_1=Module["_emscripten_bind_btRigidBody_setLinearFactor_1"]=asm["_emscripten_bind_btRigidBody_setLinearFactor_1"];var _emscripten_bind_btCompoundShape_getChildShape_1=Module["_emscripten_bind_btCompoundShape_getChildShape_1"]=asm["_emscripten_bind_btCompoundShape_getChildShape_1"];var _emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"];var _emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=Module["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"]=asm["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"];var _emscripten_bind_btWheelInfo_get_m_engineForce_0=Module["_emscripten_bind_btWheelInfo_get_m_engineForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_engineForce_0"];var _emscripten_bind_Config_get_kSR_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSR_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSR_SPLT_CL_0"];var _emscripten_bind_btRaycastVehicle_setSteeringValue_2=Module["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"]=asm["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"];var _emscripten_bind_btPoint2PointConstraint___destroy___0=Module["_emscripten_bind_btPoint2PointConstraint___destroy___0"]=asm["_emscripten_bind_btPoint2PointConstraint___destroy___0"];var _emscripten_bind_btSoftBody_getUserPointer_0=Module["_emscripten_bind_btSoftBody_getUserPointer_0"]=asm["_emscripten_bind_btSoftBody_getUserPointer_0"];var _emscripten_bind_btCollisionShape_setMargin_1=Module["_emscripten_bind_btCollisionShape_setMargin_1"]=asm["_emscripten_bind_btCollisionShape_setMargin_1"];var _emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"];var _emscripten_bind_Config_get_kVCF_0=Module["_emscripten_bind_Config_get_kVCF_0"]=asm["_emscripten_bind_Config_get_kVCF_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_btDispatcherInfo_get_m_useEpa_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"];var _emscripten_bind_btTransform_btTransform_2=Module["_emscripten_bind_btTransform_btTransform_2"]=asm["_emscripten_bind_btTransform_btTransform_2"];var _emscripten_bind_btTransform_btTransform_0=Module["_emscripten_bind_btTransform_btTransform_0"]=asm["_emscripten_bind_btTransform_btTransform_0"];var _emscripten_bind_btPairCachingGhostObject_getUserIndex_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"];var _emscripten_bind_Config_set_kVC_1=Module["_emscripten_bind_Config_set_kVC_1"]=asm["_emscripten_bind_Config_set_kVC_1"];var _emscripten_bind_btVector3_op_sub_1=Module["_emscripten_bind_btVector3_op_sub_1"]=asm["_emscripten_bind_btVector3_op_sub_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"];var _emscripten_bind_RaycastInfo_set_m_hardPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"];var _emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btSoftBody_appendNode_2=Module["_emscripten_bind_btSoftBody_appendNode_2"]=asm["_emscripten_bind_btSoftBody_appendNode_2"];var _emscripten_bind_btCollisionObject_setActivationState_1=Module["_emscripten_bind_btCollisionObject_setActivationState_1"]=asm["_emscripten_bind_btCollisionObject_setActivationState_1"];var _emscripten_bind_btPersistentManifold___destroy___0=Module["_emscripten_bind_btPersistentManifold___destroy___0"]=asm["_emscripten_bind_btPersistentManifold___destroy___0"];var _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=Module["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"];var _emscripten_bind_btCylinderShapeZ___destroy___0=Module["_emscripten_bind_btCylinderShapeZ___destroy___0"]=asm["_emscripten_bind_btCylinderShapeZ___destroy___0"];var _emscripten_bind_btMatrix3x3___destroy___0=Module["_emscripten_bind_btMatrix3x3___destroy___0"]=asm["_emscripten_bind_btMatrix3x3___destroy___0"];var _emscripten_bind_ConvexResultCallback_hasHit_0=Module["_emscripten_bind_ConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ConvexResultCallback_hasHit_0"];var _emscripten_bind_btCollisionShape_calculateLocalInertia_2=Module["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_Config_set_kPR_1=Module["_emscripten_bind_Config_set_kPR_1"]=asm["_emscripten_bind_Config_set_kPR_1"];var _emscripten_bind_btCollisionWorld_convexSweepTest_5=Module["_emscripten_bind_btCollisionWorld_convexSweepTest_5"]=asm["_emscripten_bind_btCollisionWorld_convexSweepTest_5"];var _emscripten_bind_btSoftBody_set_m_materials_1=Module["_emscripten_bind_btSoftBody_set_m_materials_1"]=asm["_emscripten_bind_btSoftBody_set_m_materials_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"];var _emscripten_bind_btConstraintSetting_set_m_damping_1=Module["_emscripten_bind_btConstraintSetting_set_m_damping_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_damping_1"];var _emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=Module["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"]=asm["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"];var _emscripten_bind_btRigidBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"];var _emscripten_bind_btConvexHullShape_setMargin_1=Module["_emscripten_bind_btConvexHullShape_setMargin_1"]=asm["_emscripten_bind_btConvexHullShape_setMargin_1"];var _emscripten_bind_btRigidBody_applyForce_2=Module["_emscripten_bind_btRigidBody_applyForce_2"]=asm["_emscripten_bind_btRigidBody_applyForce_2"];var _emscripten_bind_btConeShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btConstraintSetting_set_m_tau_1=Module["_emscripten_bind_btConstraintSetting_set_m_tau_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_tau_1"];var _emscripten_bind_btConvexHullShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"];var _emscripten_bind_RaycastInfo_get_m_contactPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"];var _emscripten_bind_btSoftBody_setCollisionFlags_1=Module["_emscripten_bind_btSoftBody_setCollisionFlags_1"]=asm["_emscripten_bind_btSoftBody_setCollisionFlags_1"];var _emscripten_bind_btSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btSphereShape_calculateLocalInertia_2"];var _emscripten_bind_Config_set_maxvolume_1=Module["_emscripten_bind_Config_set_maxvolume_1"]=asm["_emscripten_bind_Config_set_maxvolume_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btSoftBody_setTotalMass_2=Module["_emscripten_bind_btSoftBody_setTotalMass_2"]=asm["_emscripten_bind_btSoftBody_setTotalMass_2"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"];var _emscripten_bind_btGhostObject_setFriction_1=Module["_emscripten_bind_btGhostObject_setFriction_1"]=asm["_emscripten_bind_btGhostObject_setFriction_1"];var _emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=Module["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"];var _emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btCylinderShapeZ_setMargin_1=Module["_emscripten_bind_btCylinderShapeZ_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeZ_setMargin_1"];var _emscripten_bind_btRigidBody_setFriction_1=Module["_emscripten_bind_btRigidBody_setFriction_1"]=asm["_emscripten_bind_btRigidBody_setFriction_1"];var _emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"];var _emscripten_bind_btGhostObject_setWorldTransform_1=Module["_emscripten_bind_btGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btGhostObject_setWorldTransform_1"];var _emscripten_bind_tMaterialArray_size_0=Module["_emscripten_bind_tMaterialArray_size_0"]=asm["_emscripten_bind_tMaterialArray_size_0"];var _emscripten_bind_btManifoldPoint_getAppliedImpulse_0=Module["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"]=asm["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"];var _emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btConvexHullShape___destroy___0=Module["_emscripten_bind_btConvexHullShape___destroy___0"]=asm["_emscripten_bind_btConvexHullShape___destroy___0"];var _emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"];var _emscripten_bind_btVector4_setX_1=Module["_emscripten_bind_btVector4_setX_1"]=asm["_emscripten_bind_btVector4_setX_1"];var _emscripten_bind_btKinematicCharacterController_jump_0=Module["_emscripten_bind_btKinematicCharacterController_jump_0"]=asm["_emscripten_bind_btKinematicCharacterController_jump_0"];var _emscripten_bind_btCollisionObject_getUserPointer_0=Module["_emscripten_bind_btCollisionObject_getUserPointer_0"]=asm["_emscripten_bind_btCollisionObject_getUserPointer_0"];var _emscripten_bind_btWheelInfo_set_m_raycastInfo_1=Module["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"]=asm["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"];var _emscripten_bind_btCollisionWorld_contactTest_2=Module["_emscripten_bind_btCollisionWorld_contactTest_2"]=asm["_emscripten_bind_btCollisionWorld_contactTest_2"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"];var _emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btRigidBody_upcast_1=Module["_emscripten_bind_btRigidBody_upcast_1"]=asm["_emscripten_bind_btRigidBody_upcast_1"];var _emscripten_bind_btTransform_setOrigin_1=Module["_emscripten_bind_btTransform_setOrigin_1"]=asm["_emscripten_bind_btTransform_setOrigin_1"];var _emscripten_bind_btVector4_setZ_1=Module["_emscripten_bind_btVector4_setZ_1"]=asm["_emscripten_bind_btVector4_setZ_1"];var _emscripten_bind_btQuadWord_y_0=Module["_emscripten_bind_btQuadWord_y_0"]=asm["_emscripten_bind_btQuadWord_y_0"];var _emscripten_bind_btTransform_getBasis_0=Module["_emscripten_bind_btTransform_getBasis_0"]=asm["_emscripten_bind_btTransform_getBasis_0"];var _emscripten_bind_btPairCachingGhostObject_setFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setFriction_1"];var _emscripten_bind_Config_set_kSRHR_CL_1=Module["_emscripten_bind_Config_set_kSRHR_CL_1"]=asm["_emscripten_bind_Config_set_kSRHR_CL_1"];var _emscripten_bind_btCollisionDispatcher_getNumManifolds_0=Module["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"];var _emscripten_bind_btVehicleRaycaster___destroy___0=Module["_emscripten_bind_btVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btVehicleRaycaster___destroy___0"];var _emscripten_bind_ClosestRayResultCallback___destroy___0=Module["_emscripten_bind_ClosestRayResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestRayResultCallback___destroy___0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"];var _emscripten_bind_btCylinderShapeX_setMargin_1=Module["_emscripten_bind_btCylinderShapeX_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeX_setMargin_1"];var _emscripten_bind_btQuadWord_w_0=Module["_emscripten_bind_btQuadWord_w_0"]=asm["_emscripten_bind_btQuadWord_w_0"];var _emscripten_bind_Node___destroy___0=Module["_emscripten_bind_Node___destroy___0"]=asm["_emscripten_bind_Node___destroy___0"];var _emscripten_bind_btDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDynamicsWorld_contactTest_2"];var _emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"];var _emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btCompoundShape_getNumChildShapes_0=Module["_emscripten_bind_btCompoundShape_getNumChildShapes_0"]=asm["_emscripten_bind_btCompoundShape_getNumChildShapes_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"];var _emscripten_bind_btGhostObject_btGhostObject_0=Module["_emscripten_bind_btGhostObject_btGhostObject_0"]=asm["_emscripten_bind_btGhostObject_btGhostObject_0"];var _emscripten_bind_btConeShape_btConeShape_2=Module["_emscripten_bind_btConeShape_btConeShape_2"]=asm["_emscripten_bind_btConeShape_btConeShape_2"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"];var _emscripten_bind_btManifoldPoint_set_m_localPointA_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"];var _emscripten_bind_btCapsuleShapeX_setMargin_1=Module["_emscripten_bind_btCapsuleShapeX_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeX_setMargin_1"];var _emscripten_bind_btVector3_dot_1=Module["_emscripten_bind_btVector3_dot_1"]=asm["_emscripten_bind_btVector3_dot_1"];var _emscripten_bind_btGhostObject_getUserPointer_0=Module["_emscripten_bind_btGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btGhostObject_getUserPointer_0"];var _emscripten_bind_btVector4_op_add_1=Module["_emscripten_bind_btVector4_op_add_1"]=asm["_emscripten_bind_btVector4_op_add_1"];var _emscripten_bind_btWheelInfo___destroy___0=Module["_emscripten_bind_btWheelInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfo___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_4=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"];var _emscripten_bind_btTransform_setRotation_1=Module["_emscripten_bind_btTransform_setRotation_1"]=asm["_emscripten_bind_btTransform_setRotation_1"];var _emscripten_bind_Config_set_kSHR_1=Module["_emscripten_bind_Config_set_kSHR_1"]=asm["_emscripten_bind_Config_set_kSHR_1"];var _emscripten_bind_btPoint2PointConstraint_enableFeedback_1=Module["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"]=asm["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_2=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_3=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"];var _emscripten_bind_btDynamicsWorld___destroy___0=Module["_emscripten_bind_btDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDynamicsWorld___destroy___0"];var _emscripten_bind_btVector3_setY_1=Module["_emscripten_bind_btVector3_setY_1"]=asm["_emscripten_bind_btVector3_setY_1"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_4=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_5=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"];var _emscripten_bind_btQuadWord_setX_1=Module["_emscripten_bind_btQuadWord_setX_1"]=asm["_emscripten_bind_btQuadWord_setX_1"];var _emscripten_bind_tMaterialArray___destroy___0=Module["_emscripten_bind_tMaterialArray___destroy___0"]=asm["_emscripten_bind_tMaterialArray___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"];var _emscripten_bind_Config_set_piterations_1=Module["_emscripten_bind_Config_set_piterations_1"]=asm["_emscripten_bind_Config_set_piterations_1"];var _emscripten_bind_btOverlappingPairCache___destroy___0=Module["_emscripten_bind_btOverlappingPairCache___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCache___destroy___0"];var _emscripten_bind_btRigidBody_setUserIndex_1=Module["_emscripten_bind_btRigidBody_setUserIndex_1"]=asm["_emscripten_bind_btRigidBody_setUserIndex_1"];var _emscripten_bind_Material_get_m_kAST_0=Module["_emscripten_bind_Material_get_m_kAST_0"]=asm["_emscripten_bind_Material_get_m_kAST_0"];var _emscripten_bind_btConstraintSetting___destroy___0=Module["_emscripten_bind_btConstraintSetting___destroy___0"]=asm["_emscripten_bind_btConstraintSetting___destroy___0"];var _emscripten_bind_RayResultCallback___destroy___0=Module["_emscripten_bind_RayResultCallback___destroy___0"]=asm["_emscripten_bind_RayResultCallback___destroy___0"];var _emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"];var _emscripten_bind_btPersistentManifold_getBody0_0=Module["_emscripten_bind_btPersistentManifold_getBody0_0"]=asm["_emscripten_bind_btPersistentManifold_getBody0_0"];var _emscripten_bind_btConeShapeX_btConeShapeX_2=Module["_emscripten_bind_btConeShapeX_btConeShapeX_2"]=asm["_emscripten_bind_btConeShapeX_btConeShapeX_2"];var _emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btConeTwistConstraint_enableFeedback_1=Module["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"];var _emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"];var _emscripten_bind_Config_get_piterations_0=Module["_emscripten_bind_Config_get_piterations_0"]=asm["_emscripten_bind_Config_get_piterations_0"];var _emscripten_bind_btSoftBody_translate_1=Module["_emscripten_bind_btSoftBody_translate_1"]=asm["_emscripten_bind_btSoftBody_translate_1"];var _emscripten_bind_btSliderConstraint_setUpperLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"];var _emscripten_bind_btVector3_op_mul_1=Module["_emscripten_bind_btVector3_op_mul_1"]=asm["_emscripten_bind_btVector3_op_mul_1"];var _emscripten_bind_btConcaveShape___destroy___0=Module["_emscripten_bind_btConcaveShape___destroy___0"]=asm["_emscripten_bind_btConcaveShape___destroy___0"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"];var _emscripten_bind_btQuaternion_x_0=Module["_emscripten_bind_btQuaternion_x_0"]=asm["_emscripten_bind_btQuaternion_x_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"];var _emscripten_bind_Config_set_timescale_1=Module["_emscripten_bind_Config_set_timescale_1"]=asm["_emscripten_bind_Config_set_timescale_1"];var _emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"];var _emscripten_bind_btConcaveShape_setLocalScaling_1=Module["_emscripten_bind_btConcaveShape_setLocalScaling_1"]=asm["_emscripten_bind_btConcaveShape_setLocalScaling_1"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btConeShapeX_setLocalScaling_1=Module["_emscripten_bind_btConeShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeX_setLocalScaling_1"];var _emscripten_bind_btSoftBody_appendLink_4=Module["_emscripten_bind_btSoftBody_appendLink_4"]=asm["_emscripten_bind_btSoftBody_appendLink_4"];var _emscripten_bind_btQuaternion_z_0=Module["_emscripten_bind_btQuaternion_z_0"]=asm["_emscripten_bind_btQuaternion_z_0"];var _emscripten_bind_btConvexHullShape_btConvexHullShape_0=Module["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"]=asm["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"];var _emscripten_bind_btConstraintSetting_get_m_damping_0=Module["_emscripten_bind_btConstraintSetting_get_m_damping_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_damping_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_Config_get_kLF_0=Module["_emscripten_bind_Config_get_kLF_0"]=asm["_emscripten_bind_Config_get_kLF_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"];var _emscripten_bind_btCollisionWorld_getBroadphase_0=Module["_emscripten_bind_btCollisionWorld_getBroadphase_0"]=asm["_emscripten_bind_btCollisionWorld_getBroadphase_0"];var _emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"];var _emscripten_bind_btDispatcherInfo_set_m_stepCount_1=Module["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"];var _emscripten_bind_Material_set_m_flags_1=Module["_emscripten_bind_Material_set_m_flags_1"]=asm["_emscripten_bind_Material_set_m_flags_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"];var _emscripten_bind_Config_get_viterations_0=Module["_emscripten_bind_Config_get_viterations_0"]=asm["_emscripten_bind_Config_get_viterations_0"];var _emscripten_bind_btKinematicCharacterController_canJump_0=Module["_emscripten_bind_btKinematicCharacterController_canJump_0"]=asm["_emscripten_bind_btKinematicCharacterController_canJump_0"];var _emscripten_bind_btSoftBodyArray_at_1=Module["_emscripten_bind_btSoftBodyArray_at_1"]=asm["_emscripten_bind_btSoftBodyArray_at_1"];var _emscripten_bind_btPairCachingGhostObject_setUserIndex_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"];var _emscripten_bind_btRigidBody_isActive_0=Module["_emscripten_bind_btRigidBody_isActive_0"]=asm["_emscripten_bind_btRigidBody_isActive_0"];var _emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=Module["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"]=asm["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"];var _emscripten_bind_btMotionState_setWorldTransform_1=Module["_emscripten_bind_btMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btMotionState_setWorldTransform_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btCylinderShape_setLocalScaling_1=Module["_emscripten_bind_btCylinderShape_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShape_setLocalScaling_1"];var _emscripten_bind_btCollisionWorld_rayTest_3=Module["_emscripten_bind_btCollisionWorld_rayTest_3"]=asm["_emscripten_bind_btCollisionWorld_rayTest_3"];var _emscripten_bind_btCompoundShape_calculateLocalInertia_2=Module["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"];var _emscripten_bind_btCollisionWorld_getDispatchInfo_0=Module["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"];var _emscripten_bind_btRigidBody_setCollisionShape_1=Module["_emscripten_bind_btRigidBody_setCollisionShape_1"]=asm["_emscripten_bind_btRigidBody_setCollisionShape_1"];var _emscripten_bind_btSoftBody_appendTetra_5=Module["_emscripten_bind_btSoftBody_appendTetra_5"]=asm["_emscripten_bind_btSoftBody_appendTetra_5"];var _emscripten_bind_btConeShapeX___destroy___0=Module["_emscripten_bind_btConeShapeX___destroy___0"]=asm["_emscripten_bind_btConeShapeX___destroy___0"];var _emscripten_bind_btCollisionObject_getCollisionFlags_0=Module["_emscripten_bind_btCollisionObject_getCollisionFlags_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionFlags_0"];var _emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"];var _emscripten_bind_btConeTwistConstraint_enableMotor_1=Module["_emscripten_bind_btConeTwistConstraint_enableMotor_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableMotor_1"];var _emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=Module["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"];var _emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=Module["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"]=asm["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"];var _emscripten_bind_btPairCachingGhostObject_setRestitution_1=Module["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"];var _emscripten_bind_Config_set_kAHR_1=Module["_emscripten_bind_Config_set_kAHR_1"]=asm["_emscripten_bind_Config_set_kAHR_1"];var _emscripten_bind_btSoftBody_set_m_cfg_1=Module["_emscripten_bind_btSoftBody_set_m_cfg_1"]=asm["_emscripten_bind_btSoftBody_set_m_cfg_1"];var _emscripten_bind_ConvexResultCallback___destroy___0=Module["_emscripten_bind_ConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ConvexResultCallback___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"];var _emscripten_bind_Config_get_kSRHR_CL_0=Module["_emscripten_bind_Config_get_kSRHR_CL_0"]=asm["_emscripten_bind_Config_get_kSRHR_CL_0"];var _emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"];var _emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"];var _emscripten_bind_btCompoundShape___destroy___0=Module["_emscripten_bind_btCompoundShape___destroy___0"]=asm["_emscripten_bind_btCompoundShape___destroy___0"];var _emscripten_bind_btHingeConstraint_setMotorTarget_2=Module["_emscripten_bind_btHingeConstraint_setMotorTarget_2"]=asm["_emscripten_bind_btHingeConstraint_setMotorTarget_2"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"];var _emscripten_bind_LocalConvexResult___destroy___0=Module["_emscripten_bind_LocalConvexResult___destroy___0"]=asm["_emscripten_bind_LocalConvexResult___destroy___0"];var _emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"];var _emscripten_bind_btSoftBodyHelpers_CreateRope_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"];var _emscripten_bind_btRigidBody_getCollisionFlags_0=Module["_emscripten_bind_btRigidBody_getCollisionFlags_0"]=asm["_emscripten_bind_btRigidBody_getCollisionFlags_0"];var _emscripten_bind_btCollisionShape_setLocalScaling_1=Module["_emscripten_bind_btCollisionShape_setLocalScaling_1"]=asm["_emscripten_bind_btCollisionShape_setLocalScaling_1"];var _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"];var _emscripten_bind_btMatrix3x3_setEulerZYX_3=Module["_emscripten_bind_btMatrix3x3_setEulerZYX_3"]=asm["_emscripten_bind_btMatrix3x3_setEulerZYX_3"];var _emscripten_bind_btSoftBody_getTotalMass_0=Module["_emscripten_bind_btSoftBody_getTotalMass_0"]=asm["_emscripten_bind_btSoftBody_getTotalMass_0"];var _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Module["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"];var _emscripten_bind_btRigidBody_getUserPointer_0=Module["_emscripten_bind_btRigidBody_getUserPointer_0"]=asm["_emscripten_bind_btRigidBody_getUserPointer_0"];var _emscripten_bind_Config_get_kSHR_0=Module["_emscripten_bind_Config_get_kSHR_0"]=asm["_emscripten_bind_Config_get_kSHR_0"];var _emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=Module["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"];var _emscripten_bind_btRigidBody_setMotionState_1=Module["_emscripten_bind_btRigidBody_setMotionState_1"]=asm["_emscripten_bind_btRigidBody_setMotionState_1"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_btCollisionWorld_getDispatcher_0=Module["_emscripten_bind_btCollisionWorld_getDispatcher_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatcher_0"];var _emscripten_bind_btVector4_dot_1=Module["_emscripten_bind_btVector4_dot_1"]=asm["_emscripten_bind_btVector4_dot_1"];var _emscripten_bind_btSoftBody_forceActivationState_1=Module["_emscripten_bind_btSoftBody_forceActivationState_1"]=asm["_emscripten_bind_btSoftBody_forceActivationState_1"];var _emscripten_bind_btCollisionObject_setRollingFriction_1=Module["_emscripten_bind_btCollisionObject_setRollingFriction_1"]=asm["_emscripten_bind_btCollisionObject_setRollingFriction_1"];var _emscripten_bind_Config_set_kSK_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSK_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSK_SPLT_CL_1"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_btCylinderShapeX_getMargin_0=Module["_emscripten_bind_btCylinderShapeX_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeX_getMargin_0"];var _emscripten_bind_btRigidBody_setDamping_2=Module["_emscripten_bind_btRigidBody_setDamping_2"]=asm["_emscripten_bind_btRigidBody_setDamping_2"];var _emscripten_bind_btDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btGhostObject_setCollisionFlags_1"];var _emscripten_bind_btMatrix3x3_getRotation_1=Module["_emscripten_bind_btMatrix3x3_getRotation_1"]=asm["_emscripten_bind_btMatrix3x3_getRotation_1"];var _emscripten_bind_btWheelInfo_set_m_engineForce_1=Module["_emscripten_bind_btWheelInfo_set_m_engineForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_engineForce_1"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_btPersistentManifold_getNumContacts_0=Module["_emscripten_bind_btPersistentManifold_getNumContacts_0"]=asm["_emscripten_bind_btPersistentManifold_getNumContacts_0"];var _emscripten_bind_btCylinderShapeX_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"];var _emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=Module["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"]=asm["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"];var _emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=Module["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"]=asm["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"];var _emscripten_bind_btCompoundShape_setLocalScaling_1=Module["_emscripten_bind_btCompoundShape_setLocalScaling_1"]=asm["_emscripten_bind_btCompoundShape_setLocalScaling_1"];var _emscripten_bind_btOverlappingPairCallback___destroy___0=Module["_emscripten_bind_btOverlappingPairCallback___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCallback___destroy___0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"];var _emscripten_bind_tNodeArray___destroy___0=Module["_emscripten_bind_tNodeArray___destroy___0"]=asm["_emscripten_bind_tNodeArray___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btHingeConstraint_enableAngularMotor_3=Module["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"]=asm["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"];var _emscripten_bind_btRigidBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"];var _emscripten_bind_btRigidBody_getLinearVelocity_0=Module["_emscripten_bind_btRigidBody_getLinearVelocity_0"]=asm["_emscripten_bind_btRigidBody_getLinearVelocity_0"];var _emscripten_bind_btRigidBody_applyImpulse_2=Module["_emscripten_bind_btRigidBody_applyImpulse_2"]=asm["_emscripten_bind_btRigidBody_applyImpulse_2"];var _emscripten_bind_btConcaveShape_calculateLocalInertia_2=Module["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"];var _emscripten_bind_RaycastInfo_get_m_groundObject_0=Module["_emscripten_bind_RaycastInfo_get_m_groundObject_0"]=asm["_emscripten_bind_RaycastInfo_get_m_groundObject_0"];var _emscripten_bind_btRigidBody_setWorldTransform_1=Module["_emscripten_bind_btRigidBody_setWorldTransform_1"]=asm["_emscripten_bind_btRigidBody_setWorldTransform_1"];var _emscripten_bind_btRigidBody_setAngularVelocity_1=Module["_emscripten_bind_btRigidBody_setAngularVelocity_1"]=asm["_emscripten_bind_btRigidBody_setAngularVelocity_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"];var _emscripten_bind_Config_get_kDP_0=Module["_emscripten_bind_Config_get_kDP_0"]=asm["_emscripten_bind_Config_get_kDP_0"];var _emscripten_bind_btConvexShape_setLocalScaling_1=Module["_emscripten_bind_btConvexShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexShape_setLocalScaling_1"];var _emscripten_bind_Config_get_collisions_0=Module["_emscripten_bind_Config_get_collisions_0"]=asm["_emscripten_bind_Config_get_collisions_0"];var _emscripten_bind_Node_get_m_n_0=Module["_emscripten_bind_Node_get_m_n_0"]=asm["_emscripten_bind_Node_get_m_n_0"];var _emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_RayResultCallback_hasHit_0=Module["_emscripten_bind_RayResultCallback_hasHit_0"]=asm["_emscripten_bind_RayResultCallback_hasHit_0"];var _emscripten_bind_btRigidBody_applyLocalTorque_1=Module["_emscripten_bind_btRigidBody_applyLocalTorque_1"]=asm["_emscripten_bind_btRigidBody_applyLocalTorque_1"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Config___destroy___0=Module["_emscripten_bind_Config___destroy___0"]=asm["_emscripten_bind_Config___destroy___0"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"];var _emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Module["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"];var _emscripten_bind_btQuaternion_normalize_0=Module["_emscripten_bind_btQuaternion_normalize_0"]=asm["_emscripten_bind_btQuaternion_normalize_0"];var _emscripten_bind_btQuaternion___destroy___0=Module["_emscripten_bind_btQuaternion___destroy___0"]=asm["_emscripten_bind_btQuaternion___destroy___0"];var _emscripten_bind_btWheelInfo_get_m_frictionSlip_0=Module["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"]=asm["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"];var _emscripten_bind_btConeShapeZ_setLocalScaling_1=Module["_emscripten_bind_btConeShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeZ_setLocalScaling_1"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"];var _emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"];var _emscripten_bind_btRaycastVehicle_getNumWheels_0=Module["_emscripten_bind_btRaycastVehicle_getNumWheels_0"]=asm["_emscripten_bind_btRaycastVehicle_getNumWheels_0"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_Material_set_m_kAST_1=Module["_emscripten_bind_Material_set_m_kAST_1"]=asm["_emscripten_bind_Material_set_m_kAST_1"];var _emscripten_bind_btGhostObject_setRollingFriction_1=Module["_emscripten_bind_btGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btGhostObject_setRollingFriction_1"];var _emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=Module["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"]=asm["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"];var _emscripten_bind_btSoftBodyArray___destroy___0=Module["_emscripten_bind_btSoftBodyArray___destroy___0"]=asm["_emscripten_bind_btSoftBodyArray___destroy___0"];var _emscripten_bind_btCompoundShape_btCompoundShape_0=Module["_emscripten_bind_btCompoundShape_btCompoundShape_0"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_0"];var _emscripten_bind_btCompoundShape_btCompoundShape_1=Module["_emscripten_bind_btCompoundShape_btCompoundShape_1"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_1"];var _emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=Module["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"]=asm["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"];var _emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=Module["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"]=asm["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"];var __GLOBAL__sub_I_btQuickprof_cpp=Module["__GLOBAL__sub_I_btQuickprof_cpp"]=asm["__GLOBAL__sub_I_btQuickprof_cpp"];var _emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=Module["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"];var _emscripten_bind_btSoftBody_checkLink_2=Module["_emscripten_bind_btSoftBody_checkLink_2"]=asm["_emscripten_bind_btSoftBody_checkLink_2"];var _emscripten_bind_btSoftBody_getCollisionShape_0=Module["_emscripten_bind_btSoftBody_getCollisionShape_0"]=asm["_emscripten_bind_btSoftBody_getCollisionShape_0"];var _emscripten_bind_Config_get_kDG_0=Module["_emscripten_bind_Config_get_kDG_0"]=asm["_emscripten_bind_Config_get_kDG_0"];var _emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_Node_get_m_x_0=Module["_emscripten_bind_Node_get_m_x_0"]=asm["_emscripten_bind_Node_get_m_x_0"];var _emscripten_bind_btCollisionObject_getWorldTransform_0=Module["_emscripten_bind_btCollisionObject_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObject_getWorldTransform_0"];var _emscripten_bind_ClosestRayResultCallback_hasHit_0=Module["_emscripten_bind_ClosestRayResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestRayResultCallback_hasHit_0"];var _emscripten_bind_btCompoundShape_addChildShape_2=Module["_emscripten_bind_btCompoundShape_addChildShape_2"]=asm["_emscripten_bind_btCompoundShape_addChildShape_2"];var _emscripten_bind_btDispatcher___destroy___0=Module["_emscripten_bind_btDispatcher___destroy___0"]=asm["_emscripten_bind_btDispatcher___destroy___0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"];var _emscripten_bind_btDiscreteDynamicsWorld___destroy___0=Module["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"];var _emscripten_bind_btConvexShape___destroy___0=Module["_emscripten_bind_btConvexShape___destroy___0"]=asm["_emscripten_bind_btConvexShape___destroy___0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_btCapsuleShapeX_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"];var _emscripten_bind_btSoftBody_getCollisionFlags_0=Module["_emscripten_bind_btSoftBody_getCollisionFlags_0"]=asm["_emscripten_bind_btSoftBody_getCollisionFlags_0"];var _emscripten_bind_btCollisionObject_setRestitution_1=Module["_emscripten_bind_btCollisionObject_setRestitution_1"]=asm["_emscripten_bind_btCollisionObject_setRestitution_1"];var _emscripten_bind_btRigidBody_applyCentralForce_1=Module["_emscripten_bind_btRigidBody_applyCentralForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralForce_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"];var _emscripten_bind_LocalConvexResult_get_m_hitFraction_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"];var _emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btQuaternion_w_0=Module["_emscripten_bind_btQuaternion_w_0"]=asm["_emscripten_bind_btQuaternion_w_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_btTransform_getRotation_0=Module["_emscripten_bind_btTransform_getRotation_0"]=asm["_emscripten_bind_btTransform_getRotation_0"];var _emscripten_bind_Config_set_kSKHR_CL_1=Module["_emscripten_bind_Config_set_kSKHR_CL_1"]=asm["_emscripten_bind_Config_set_kSKHR_CL_1"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_6=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_7=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"];var _emscripten_bind_btCapsuleShapeZ_getMargin_0=Module["_emscripten_bind_btCapsuleShapeZ_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getMargin_0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_5=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_3=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"];var _emscripten_bind_btSoftBody_setWorldTransform_1=Module["_emscripten_bind_btSoftBody_setWorldTransform_1"]=asm["_emscripten_bind_btSoftBody_setWorldTransform_1"];var _emscripten_bind_btBoxShape_setMargin_1=Module["_emscripten_bind_btBoxShape_setMargin_1"]=asm["_emscripten_bind_btBoxShape_setMargin_1"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_Config_get_kSK_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSK_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSK_SPLT_CL_0"];var _emscripten_bind_btTypedConstraint___destroy___0=Module["_emscripten_bind_btTypedConstraint___destroy___0"]=asm["_emscripten_bind_btTypedConstraint___destroy___0"];var _emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=Module["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"]=asm["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"];var _emscripten_bind_Config_set_collisions_1=Module["_emscripten_bind_Config_set_collisions_1"]=asm["_emscripten_bind_Config_set_collisions_1"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _emscripten_bind_btQuaternion_btQuaternion_4=Module["_emscripten_bind_btQuaternion_btQuaternion_4"]=asm["_emscripten_bind_btQuaternion_btQuaternion_4"];var _emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"];var _emscripten_bind_btSphereShape_btSphereShape_1=Module["_emscripten_bind_btSphereShape_btSphereShape_1"]=asm["_emscripten_bind_btSphereShape_btSphereShape_1"];var _emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"];var _emscripten_bind_btQuaternion_y_0=Module["_emscripten_bind_btQuaternion_y_0"]=asm["_emscripten_bind_btQuaternion_y_0"];var _emscripten_bind_btCollisionWorld_addCollisionObject_1=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_1"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_1"];var _emscripten_bind_btCollisionWorld_addCollisionObject_2=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_2"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_2"];var _emscripten_bind_btCollisionWorld_addCollisionObject_3=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_3"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_3"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"];var _emscripten_bind_RaycastInfo_get_m_isInContact_0=Module["_emscripten_bind_RaycastInfo_get_m_isInContact_0"]=asm["_emscripten_bind_RaycastInfo_get_m_isInContact_0"];var _emscripten_bind_Config_set_kKHR_1=Module["_emscripten_bind_Config_set_kKHR_1"]=asm["_emscripten_bind_Config_set_kKHR_1"];var _emscripten_bind_btHeightfieldTerrainShape_setMargin_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_btCapsuleShape_setMargin_1=Module["_emscripten_bind_btCapsuleShape_setMargin_1"]=asm["_emscripten_bind_btCapsuleShape_setMargin_1"];var _emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=Module["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"];var _emscripten_bind_btPoint2PointConstraint_get_m_setting_0=Module["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"]=asm["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"];var _emscripten_bind_btCollisionObject_setUserPointer_1=Module["_emscripten_bind_btCollisionObject_setUserPointer_1"]=asm["_emscripten_bind_btCollisionObject_setUserPointer_1"];var _emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"];var _emscripten_bind_btActionInterface___destroy___0=Module["_emscripten_bind_btActionInterface___destroy___0"]=asm["_emscripten_bind_btActionInterface___destroy___0"];var _emscripten_bind_btSoftBody_generateClusters_2=Module["_emscripten_bind_btSoftBody_generateClusters_2"]=asm["_emscripten_bind_btSoftBody_generateClusters_2"];var _emscripten_bind_btDefaultMotionState_setWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"];var _emscripten_bind_btSoftBody_generateClusters_1=Module["_emscripten_bind_btSoftBody_generateClusters_1"]=asm["_emscripten_bind_btSoftBody_generateClusters_1"];var _emscripten_bind_RayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_btPoint2PointConstraint_getPivotInA_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"];var _emscripten_bind_Config_get_kAHR_0=Module["_emscripten_bind_Config_get_kAHR_0"]=asm["_emscripten_bind_Config_get_kAHR_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"];var _emscripten_bind_btCylinderShape_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"];var _emscripten_bind_btCompoundShape_setMargin_1=Module["_emscripten_bind_btCompoundShape_setMargin_1"]=asm["_emscripten_bind_btCompoundShape_setMargin_1"];var _emscripten_bind_ClosestConvexResultCallback___destroy___0=Module["_emscripten_bind_ClosestConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestConvexResultCallback___destroy___0"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"];var _emscripten_bind_btHeightfieldTerrainShape___destroy___0=Module["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"]=asm["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_Config_get_kVC_0=Module["_emscripten_bind_Config_get_kVC_0"]=asm["_emscripten_bind_Config_get_kVC_0"];var _emscripten_bind_btVector4_op_mul_1=Module["_emscripten_bind_btVector4_op_mul_1"]=asm["_emscripten_bind_btVector4_op_mul_1"];var _emscripten_bind_btCylinderShape_btCylinderShape_1=Module["_emscripten_bind_btCylinderShape_btCylinderShape_1"]=asm["_emscripten_bind_btCylinderShape_btCylinderShape_1"];var _emscripten_bind_btPairCachingGhostObject_setActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"];var _emscripten_bind_Material_get_m_kVST_0=Module["_emscripten_bind_Material_get_m_kVST_0"]=asm["_emscripten_bind_Material_get_m_kVST_0"];var _emscripten_bind_Config_set_kVCF_1=Module["_emscripten_bind_Config_set_kVCF_1"]=asm["_emscripten_bind_Config_set_kVCF_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btGhostObject_getUserIndex_0=Module["_emscripten_bind_btGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btGhostObject_getUserIndex_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btVector3___destroy___0=Module["_emscripten_bind_btVector3___destroy___0"]=asm["_emscripten_bind_btVector3___destroy___0"];var _emscripten_bind_RaycastInfo___destroy___0=Module["_emscripten_bind_RaycastInfo___destroy___0"]=asm["_emscripten_bind_RaycastInfo___destroy___0"];var _emscripten_bind_btRigidBody_setAngularFactor_1=Module["_emscripten_bind_btRigidBody_setAngularFactor_1"]=asm["_emscripten_bind_btRigidBody_setAngularFactor_1"];var _emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btConeShapeZ_btConeShapeZ_2=Module["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"]=asm["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"];var _emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=Module["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"];var _emscripten_bind_btMotionState_getWorldTransform_1=Module["_emscripten_bind_btMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btMotionState_getWorldTransform_1"];var _emscripten_bind_btDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_Config_get_kMT_0=Module["_emscripten_bind_Config_get_kMT_0"]=asm["_emscripten_bind_Config_get_kMT_0"];var _emscripten_bind_btDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btSphereShape_getMargin_0=Module["_emscripten_bind_btSphereShape_getMargin_0"]=asm["_emscripten_bind_btSphereShape_getMargin_0"];var _emscripten_bind_Config_get_timescale_0=Module["_emscripten_bind_Config_get_timescale_0"]=asm["_emscripten_bind_Config_get_timescale_0"];var _emscripten_bind_btVector3_x_0=Module["_emscripten_bind_btVector3_x_0"]=asm["_emscripten_bind_btVector3_x_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_btConvexTriangleMeshShape___destroy___0=Module["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"];var _emscripten_bind_btCollisionObject_getCollisionShape_0=Module["_emscripten_bind_btCollisionObject_getCollisionShape_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionShape_0"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"];var _emscripten_bind_btManifoldPoint___destroy___0=Module["_emscripten_bind_btManifoldPoint___destroy___0"]=asm["_emscripten_bind_btManifoldPoint___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"];var _emscripten_bind_btVector4_length_0=Module["_emscripten_bind_btVector4_length_0"]=asm["_emscripten_bind_btVector4_length_0"];var _emscripten_bind_btGhostObject_setUserIndex_1=Module["_emscripten_bind_btGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btGhostObject_setUserIndex_1"];var _emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=Module["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"]=asm["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"];var _emscripten_bind_btGhostObject_setRestitution_1=Module["_emscripten_bind_btGhostObject_setRestitution_1"]=asm["_emscripten_bind_btGhostObject_setRestitution_1"];var _emscripten_bind_btConeTwistConstraint_setAngularOnly_1=Module["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"];var _emscripten_bind_btCollisionObject_setFriction_1=Module["_emscripten_bind_btCollisionObject_setFriction_1"]=asm["_emscripten_bind_btCollisionObject_setFriction_1"];var _emscripten_bind_btDefaultCollisionConfiguration___destroy___0=Module["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"];var _emscripten_bind_btRigidBody_setMassProps_2=Module["_emscripten_bind_btRigidBody_setMassProps_2"]=asm["_emscripten_bind_btRigidBody_setMassProps_2"];var _emscripten_bind_btVector3_setValue_3=Module["_emscripten_bind_btVector3_setValue_3"]=asm["_emscripten_bind_btVector3_setValue_3"];var _emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_RaycastInfo_get_m_suspensionLength_0=Module["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"]=asm["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"];var _emscripten_bind_btGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btGhostObject_getCollisionFlags_0"];var _emscripten_bind_btCapsuleShapeX___destroy___0=Module["_emscripten_bind_btCapsuleShapeX___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeX___destroy___0"];var _emscripten_bind_btAxisSweep3___destroy___0=Module["_emscripten_bind_btAxisSweep3___destroy___0"]=asm["_emscripten_bind_btAxisSweep3___destroy___0"];var _emscripten_bind_Config_set_kDG_1=Module["_emscripten_bind_Config_set_kDG_1"]=asm["_emscripten_bind_Config_set_kDG_1"];var _emscripten_bind_Material_get_m_flags_0=Module["_emscripten_bind_Material_get_m_flags_0"]=asm["_emscripten_bind_Material_get_m_flags_0"];var _emscripten_bind_btHingeConstraint_setLimit_4=Module["_emscripten_bind_btHingeConstraint_setLimit_4"]=asm["_emscripten_bind_btHingeConstraint_setLimit_4"];var _emscripten_bind_btHingeConstraint_setLimit_5=Module["_emscripten_bind_btHingeConstraint_setLimit_5"]=asm["_emscripten_bind_btHingeConstraint_setLimit_5"];var _emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=Module["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"];var _emscripten_bind_btDefaultVehicleRaycaster___destroy___0=Module["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"];var _emscripten_bind_btSoftBody_scale_1=Module["_emscripten_bind_btSoftBody_scale_1"]=asm["_emscripten_bind_btSoftBody_scale_1"];var _emscripten_bind_Config_get_citerations_0=Module["_emscripten_bind_Config_get_citerations_0"]=asm["_emscripten_bind_Config_get_citerations_0"];var _emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGhostObject_getCollisionShape_0=Module["_emscripten_bind_btGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btGhostObject_getCollisionShape_0"];var _emscripten_bind_btCollisionObject_setAnisotropicFriction_2=Module["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"];var _emscripten_bind_btBoxShape___destroy___0=Module["_emscripten_bind_btBoxShape___destroy___0"]=asm["_emscripten_bind_btBoxShape___destroy___0"];var _emscripten_bind_btPersistentManifold_getContactPoint_1=Module["_emscripten_bind_btPersistentManifold_getContactPoint_1"]=asm["_emscripten_bind_btPersistentManifold_getContactPoint_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_RaycastInfo_set_m_groundObject_1=Module["_emscripten_bind_RaycastInfo_set_m_groundObject_1"]=asm["_emscripten_bind_RaycastInfo_set_m_groundObject_1"];var _emscripten_bind_btGhostObject_activate_1=Module["_emscripten_bind_btGhostObject_activate_1"]=asm["_emscripten_bind_btGhostObject_activate_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"];var _emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=Module["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"]=asm["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"];var _emscripten_bind_btSphereShape_setMargin_1=Module["_emscripten_bind_btSphereShape_setMargin_1"]=asm["_emscripten_bind_btSphereShape_setMargin_1"];var _emscripten_bind_btSoftBody_get_m_cfg_0=Module["_emscripten_bind_btSoftBody_get_m_cfg_0"]=asm["_emscripten_bind_btSoftBody_get_m_cfg_0"];var _emscripten_bind_btCollisionObject_setUserIndex_1=Module["_emscripten_bind_btCollisionObject_setUserIndex_1"]=asm["_emscripten_bind_btCollisionObject_setUserIndex_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"];var _emscripten_bind_btSliderConstraint_setUpperAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"];var _emscripten_bind_btDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btCollisionWorld_getPairCache_0=Module["_emscripten_bind_btCollisionWorld_getPairCache_0"]=asm["_emscripten_bind_btCollisionWorld_getPairCache_0"];var _emscripten_bind_btConeTwistConstraint_setMotorTarget_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"];var _emscripten_bind_btWheelInfo_set_m_rollInfluence_1=Module["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"]=asm["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"];var _emscripten_bind_btGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"];var _emscripten_enum_PHY_ScalarType_PHY_INTEGER=Module["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"]=asm["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"];var _emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"];var _emscripten_bind_btGhostObject_forceActivationState_1=Module["_emscripten_bind_btGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btGhostObject_forceActivationState_1"];var _emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"];var _emscripten_bind_btVector4_y_0=Module["_emscripten_bind_btVector4_y_0"]=asm["_emscripten_bind_btVector4_y_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"];var _emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_RaycastInfo_set_m_contactPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"];var _emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=Module["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"]=asm["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"];var _emscripten_bind_btSoftBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btSliderConstraint_enableFeedback_1=Module["_emscripten_bind_btSliderConstraint_enableFeedback_1"]=asm["_emscripten_bind_btSliderConstraint_enableFeedback_1"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_enum_PHY_ScalarType_PHY_DOUBLE=Module["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"]=asm["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"];var _emscripten_bind_btConstraintSetting_get_m_tau_0=Module["_emscripten_bind_btConstraintSetting_get_m_tau_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_tau_0"];var _emscripten_bind_btConeShape_setLocalScaling_1=Module["_emscripten_bind_btConeShape_setLocalScaling_1"]=asm["_emscripten_bind_btConeShape_setLocalScaling_1"];var _emscripten_bind_btCollisionObject_setCollisionShape_1=Module["_emscripten_bind_btCollisionObject_setCollisionShape_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionShape_1"];var _emscripten_bind_btCollisionShape___destroy___0=Module["_emscripten_bind_btCollisionShape___destroy___0"]=asm["_emscripten_bind_btCollisionShape___destroy___0"];var _emscripten_bind_btMatrix3x3_getRow_1=Module["_emscripten_bind_btMatrix3x3_getRow_1"]=asm["_emscripten_bind_btMatrix3x3_getRow_1"];var _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"];var _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=Module["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"];var _emscripten_bind_btSoftBody_getUserIndex_0=Module["_emscripten_bind_btSoftBody_getUserIndex_0"]=asm["_emscripten_bind_btSoftBody_getUserIndex_0"];var _emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"];var _emscripten_bind_btKinematicCharacterController_warp_1=Module["_emscripten_bind_btKinematicCharacterController_warp_1"]=asm["_emscripten_bind_btKinematicCharacterController_warp_1"];var _emscripten_bind_btContactSolverInfo___destroy___0=Module["_emscripten_bind_btContactSolverInfo___destroy___0"]=asm["_emscripten_bind_btContactSolverInfo___destroy___0"];var _emscripten_bind_btSoftBody_getWorldTransform_0=Module["_emscripten_bind_btSoftBody_getWorldTransform_0"]=asm["_emscripten_bind_btSoftBody_getWorldTransform_0"];var _emscripten_bind_btTriangleMesh___destroy___0=Module["_emscripten_bind_btTriangleMesh___destroy___0"]=asm["_emscripten_bind_btTriangleMesh___destroy___0"];var _emscripten_bind_btKinematicCharacterController_preStep_1=Module["_emscripten_bind_btKinematicCharacterController_preStep_1"]=asm["_emscripten_bind_btKinematicCharacterController_preStep_1"];var _emscripten_bind_btRaycastVehicle_applyEngineForce_2=Module["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"]=asm["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"];var _emscripten_bind_btBoxShape_calculateLocalInertia_2=Module["_emscripten_bind_btBoxShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBoxShape_calculateLocalInertia_2"];var _emscripten_bind_btRaycastVehicle_setBrake_2=Module["_emscripten_bind_btRaycastVehicle_setBrake_2"]=asm["_emscripten_bind_btRaycastVehicle_setBrake_2"];var _emscripten_bind_ConcreteContactResultCallback___destroy___0=Module["_emscripten_bind_ConcreteContactResultCallback___destroy___0"]=asm["_emscripten_bind_ConcreteContactResultCallback___destroy___0"];var _emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"];var _emscripten_bind_btCollisionObject___destroy___0=Module["_emscripten_bind_btCollisionObject___destroy___0"]=asm["_emscripten_bind_btCollisionObject___destroy___0"];var _emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"];var _emscripten_bind_btConvexTriangleMeshShape_setMargin_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"];var _emscripten_bind_Config_get_kSSHR_CL_0=Module["_emscripten_bind_Config_get_kSSHR_CL_0"]=asm["_emscripten_bind_Config_get_kSSHR_CL_0"];var _emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeStep_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"];var _emscripten_bind_btVector3_btVector3_3=Module["_emscripten_bind_btVector3_btVector3_3"]=asm["_emscripten_bind_btVector3_btVector3_3"];var _emscripten_bind_btVector3_btVector3_0=Module["_emscripten_bind_btVector3_btVector3_0"]=asm["_emscripten_bind_btVector3_btVector3_0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"];var _emscripten_bind_btVector3_z_0=Module["_emscripten_bind_btVector3_z_0"]=asm["_emscripten_bind_btVector3_z_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_btCollisionShape_getMargin_0=Module["_emscripten_bind_btCollisionShape_getMargin_0"]=asm["_emscripten_bind_btCollisionShape_getMargin_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"];var _emscripten_bind_btBroadphaseInterface___destroy___0=Module["_emscripten_bind_btBroadphaseInterface___destroy___0"]=asm["_emscripten_bind_btBroadphaseInterface___destroy___0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"];var _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"];var _emscripten_bind_RaycastInfo_get_m_hardPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"];var _emscripten_bind_btConeTwistConstraint___destroy___0=Module["_emscripten_bind_btConeTwistConstraint___destroy___0"]=asm["_emscripten_bind_btConeTwistConstraint___destroy___0"];var _emscripten_bind_btQuadWord___destroy___0=Module["_emscripten_bind_btQuadWord___destroy___0"]=asm["_emscripten_bind_btQuadWord___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btQuaternion_setEulerZYX_3=Module["_emscripten_bind_btQuaternion_setEulerZYX_3"]=asm["_emscripten_bind_btQuaternion_setEulerZYX_3"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"];var _emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"];var _emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Module["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"]=asm["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"];var _emscripten_bind_btSoftBody_setUserIndex_1=Module["_emscripten_bind_btSoftBody_setUserIndex_1"]=asm["_emscripten_bind_btSoftBody_setUserIndex_1"];var _emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=Module["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"];var _emscripten_bind_btSoftBody_setCollisionShape_1=Module["_emscripten_bind_btSoftBody_setCollisionShape_1"]=asm["_emscripten_bind_btSoftBody_setCollisionShape_1"];var _emscripten_bind_btGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_btConstraintSolver___destroy___0=Module["_emscripten_bind_btConstraintSolver___destroy___0"]=asm["_emscripten_bind_btConstraintSolver___destroy___0"];var _emscripten_bind_btSoftBody_isActive_0=Module["_emscripten_bind_btSoftBody_isActive_0"]=asm["_emscripten_bind_btSoftBody_isActive_0"];var _emscripten_bind_btCapsuleShape_btCapsuleShape_2=Module["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"]=asm["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"];var _emscripten_bind_btTypedConstraint_enableFeedback_1=Module["_emscripten_bind_btTypedConstraint_enableFeedback_1"]=asm["_emscripten_bind_btTypedConstraint_enableFeedback_1"];var _emscripten_bind_btSoftBody_setRollingFriction_1=Module["_emscripten_bind_btSoftBody_setRollingFriction_1"]=asm["_emscripten_bind_btSoftBody_setRollingFriction_1"];var _emscripten_bind_btGhostObject_activate_0=Module["_emscripten_bind_btGhostObject_activate_0"]=asm["_emscripten_bind_btGhostObject_activate_0"];var _emscripten_bind_btConstraintSetting_btConstraintSetting_0=Module["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"]=asm["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"];var _emscripten_bind_btCapsuleShape_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShape_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShape_setLocalScaling_1"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"];var _emscripten_bind_btRigidBody_setAnisotropicFriction_2=Module["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"];var _emscripten_bind_btSoftBody_btSoftBody_4=Module["_emscripten_bind_btSoftBody_btSoftBody_4"]=asm["_emscripten_bind_btSoftBody_btSoftBody_4"];var _emscripten_bind_btTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"];var _emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_btVector3_op_add_1=Module["_emscripten_bind_btVector3_op_add_1"]=asm["_emscripten_bind_btVector3_op_add_1"];var _emscripten_bind_btPersistentManifold_btPersistentManifold_0=Module["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"]=asm["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=Module["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"]=asm["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"];var _emscripten_bind_btVector4___destroy___0=Module["_emscripten_bind_btVector4___destroy___0"]=asm["_emscripten_bind_btVector4___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_tNodeArray_at_1=Module["_emscripten_bind_tNodeArray_at_1"]=asm["_emscripten_bind_tNodeArray_at_1"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=Module["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"];var _emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"];var _emscripten_bind_btHeightfieldTerrainShape_getMargin_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"];var _emscripten_bind_btQuadWord_setZ_1=Module["_emscripten_bind_btQuadWord_setZ_1"]=asm["_emscripten_bind_btQuadWord_setZ_1"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"];var _emscripten_bind_btPoint2PointConstraint_getPivotInB_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"];var _emscripten_bind_btKinematicCharacterController_playerStep_2=Module["_emscripten_bind_btKinematicCharacterController_playerStep_2"]=asm["_emscripten_bind_btKinematicCharacterController_playerStep_2"];var _emscripten_bind_btDispatcherInfo___destroy___0=Module["_emscripten_bind_btDispatcherInfo___destroy___0"]=asm["_emscripten_bind_btDispatcherInfo___destroy___0"];var _emscripten_bind_btCapsuleShape_getMargin_0=Module["_emscripten_bind_btCapsuleShape_getMargin_0"]=asm["_emscripten_bind_btCapsuleShape_getMargin_0"];var _emscripten_bind_btCylinderShape_getMargin_0=Module["_emscripten_bind_btCylinderShape_getMargin_0"]=asm["_emscripten_bind_btCylinderShape_getMargin_0"];var _emscripten_bind_btSoftBodyArray_size_0=Module["_emscripten_bind_btSoftBodyArray_size_0"]=asm["_emscripten_bind_btSoftBodyArray_size_0"];var _emscripten_bind_btStaticPlaneShape_setLocalScaling_1=Module["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"]=asm["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"];var _emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"];var _emscripten_bind_btGhostObject_getWorldTransform_0=Module["_emscripten_bind_btGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btGhostObject_getWorldTransform_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"];var _emscripten_bind_LocalConvexResult_set_m_hitFraction_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"];var _emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btDispatcherInfo_get_m_timeStep_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"];var _emscripten_bind_btHingeConstraint_setAngularOnly_1=Module["_emscripten_bind_btHingeConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btHingeConstraint_setAngularOnly_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"];var _emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=Module["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"];var _emscripten_bind_btMotionState___destroy___0=Module["_emscripten_bind_btMotionState___destroy___0"]=asm["_emscripten_bind_btMotionState___destroy___0"];var _emscripten_bind_btCollisionObject_setCollisionFlags_1=Module["_emscripten_bind_btCollisionObject_setCollisionFlags_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionFlags_1"];var _emscripten_bind_Config_get_kPR_0=Module["_emscripten_bind_Config_get_kPR_0"]=asm["_emscripten_bind_Config_get_kPR_0"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"];var _emscripten_bind_RaycastInfo_set_m_suspensionLength_1=Module["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"]=asm["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"];var _emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btSoftBodyWorldInfo___destroy___0=Module["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"]=asm["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"];var _emscripten_bind_btConvexTriangleMeshShape_getMargin_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"];var _emscripten_bind_btSoftBodySolver___destroy___0=Module["_emscripten_bind_btSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btSoftBodySolver___destroy___0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_btWheelInfo_set_m_steering_1=Module["_emscripten_bind_btWheelInfo_set_m_steering_1"]=asm["_emscripten_bind_btWheelInfo_set_m_steering_1"];var _emscripten_bind_Node_set_m_x_1=Module["_emscripten_bind_Node_set_m_x_1"]=asm["_emscripten_bind_Node_set_m_x_1"];var _emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=Module["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"];var _emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"];var _emscripten_bind_btConeShape___destroy___0=Module["_emscripten_bind_btConeShape___destroy___0"]=asm["_emscripten_bind_btConeShape___destroy___0"];var _emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"];var _emscripten_bind_btConeTwistConstraint_setLimit_2=Module["_emscripten_bind_btConeTwistConstraint_setLimit_2"]=asm["_emscripten_bind_btConeTwistConstraint_setLimit_2"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"];var _emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"];var _emscripten_bind_btConeShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"];var _emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=Module["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"];var _emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"];var _emscripten_bind_btGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btRigidBodyConstructionInfo___destroy___0=Module["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"];var _emscripten_bind_btRigidBody_getWorldTransform_0=Module["_emscripten_bind_btRigidBody_getWorldTransform_0"]=asm["_emscripten_bind_btRigidBody_getWorldTransform_0"];var _emscripten_bind_btPoint2PointConstraint_setPivotA_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_Config_get_maxvolume_0=Module["_emscripten_bind_Config_get_maxvolume_0"]=asm["_emscripten_bind_Config_get_maxvolume_0"];var _emscripten_bind_btCapsuleShape_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"];var _emscripten_bind_btVector3_y_0=Module["_emscripten_bind_btVector3_y_0"]=asm["_emscripten_bind_btVector3_y_0"];var _emscripten_bind_btDispatcherInfo_set_m_useEpa_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"];var _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=Module["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"];var _emscripten_bind_Config_set_kDF_1=Module["_emscripten_bind_Config_set_kDF_1"]=asm["_emscripten_bind_Config_set_kDF_1"];var _emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=Module["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"]=asm["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"];var _emscripten_bind_btSoftBody_activate_1=Module["_emscripten_bind_btSoftBody_activate_1"]=asm["_emscripten_bind_btSoftBody_activate_1"];var _emscripten_bind_btSoftBody_activate_0=Module["_emscripten_bind_btSoftBody_activate_0"]=asm["_emscripten_bind_btSoftBody_activate_0"];var _emscripten_bind_btGhostObject_setCollisionShape_1=Module["_emscripten_bind_btGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btGhostObject_setCollisionShape_1"];var _emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=Module["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"];var _emscripten_bind_btRigidBody_setRollingFriction_1=Module["_emscripten_bind_btRigidBody_setRollingFriction_1"]=asm["_emscripten_bind_btRigidBody_setRollingFriction_1"];var _emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"];var _emscripten_bind_btVector4_z_0=Module["_emscripten_bind_btVector4_z_0"]=asm["_emscripten_bind_btVector4_z_0"];var _emscripten_bind_btCollisionObject_forceActivationState_1=Module["_emscripten_bind_btCollisionObject_forceActivationState_1"]=asm["_emscripten_bind_btCollisionObject_forceActivationState_1"];var _emscripten_bind_btKinematicCharacterController_onGround_0=Module["_emscripten_bind_btKinematicCharacterController_onGround_0"]=asm["_emscripten_bind_btKinematicCharacterController_onGround_0"];var _emscripten_bind_btRaycastVehicle_getWheelInfo_1=Module["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"];var _emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btSoftBody_appendFace_4=Module["_emscripten_bind_btSoftBody_appendFace_4"]=asm["_emscripten_bind_btSoftBody_appendFace_4"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"];var _emscripten_bind_btVector3_normalize_0=Module["_emscripten_bind_btVector3_normalize_0"]=asm["_emscripten_bind_btVector3_normalize_0"];var _emscripten_bind_btSoftBody_setFriction_1=Module["_emscripten_bind_btSoftBody_setFriction_1"]=asm["_emscripten_bind_btSoftBody_setFriction_1"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_btRigidBody_setSleepingThresholds_2=Module["_emscripten_bind_btRigidBody_setSleepingThresholds_2"]=asm["_emscripten_bind_btRigidBody_setSleepingThresholds_2"];var _emscripten_bind_btSoftBody_upcast_1=Module["_emscripten_bind_btSoftBody_upcast_1"]=asm["_emscripten_bind_btSoftBody_upcast_1"];var _emscripten_bind_btCollisionObject_setWorldTransform_1=Module["_emscripten_bind_btCollisionObject_setWorldTransform_1"]=asm["_emscripten_bind_btCollisionObject_setWorldTransform_1"];var _emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=Module["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"];var _emscripten_bind_btConvexHullShape_setLocalScaling_1=Module["_emscripten_bind_btConvexHullShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexHullShape_setLocalScaling_1"];var _emscripten_bind_btStridingMeshInterface___destroy___0=Module["_emscripten_bind_btStridingMeshInterface___destroy___0"]=asm["_emscripten_bind_btStridingMeshInterface___destroy___0"];var _emscripten_bind_btSoftBody_setActivationState_1=Module["_emscripten_bind_btSoftBody_setActivationState_1"]=asm["_emscripten_bind_btSoftBody_setActivationState_1"];var _emscripten_bind_btRigidBody_getUserIndex_0=Module["_emscripten_bind_btRigidBody_getUserIndex_0"]=asm["_emscripten_bind_btRigidBody_getUserIndex_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"];var _emscripten_bind_btSoftBodyHelpers_CreatePatch_9=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"];var _emscripten_bind_btDispatcher_getNumManifolds_0=Module["_emscripten_bind_btDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btDispatcher_getNumManifolds_0"];var _emscripten_bind_btConvexShape_setMargin_1=Module["_emscripten_bind_btConvexShape_setMargin_1"]=asm["_emscripten_bind_btConvexShape_setMargin_1"];var _emscripten_bind_btSoftBody_get_m_nodes_0=Module["_emscripten_bind_btSoftBody_get_m_nodes_0"]=asm["_emscripten_bind_btSoftBody_get_m_nodes_0"];var _emscripten_bind_btSoftBody___destroy___0=Module["_emscripten_bind_btSoftBody___destroy___0"]=asm["_emscripten_bind_btSoftBody___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"];var _emscripten_bind_btRigidBody_activate_1=Module["_emscripten_bind_btRigidBody_activate_1"]=asm["_emscripten_bind_btRigidBody_activate_1"];var _emscripten_bind_btRigidBody_activate_0=Module["_emscripten_bind_btRigidBody_activate_0"]=asm["_emscripten_bind_btRigidBody_activate_0"];var _emscripten_bind_btRaycastVehicle___destroy___0=Module["_emscripten_bind_btRaycastVehicle___destroy___0"]=asm["_emscripten_bind_btRaycastVehicle___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"];var _emscripten_bind_Material_set_m_kVST_1=Module["_emscripten_bind_Material_set_m_kVST_1"]=asm["_emscripten_bind_Material_set_m_kVST_1"];var _emscripten_bind_btGhostObject_setActivationState_1=Module["_emscripten_bind_btGhostObject_setActivationState_1"]=asm["_emscripten_bind_btGhostObject_setActivationState_1"];var _emscripten_bind_Material_set_m_kLST_1=Module["_emscripten_bind_Material_set_m_kLST_1"]=asm["_emscripten_bind_Material_set_m_kLST_1"];var _emscripten_bind_btCollisionWorld_contactPairTest_3=Module["_emscripten_bind_btCollisionWorld_contactPairTest_3"]=asm["_emscripten_bind_btCollisionWorld_contactPairTest_3"];var _emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"];var _emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_Config_get_kSS_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSS_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSS_SPLT_CL_0"];var _emscripten_bind_btCylinderShapeX___destroy___0=Module["_emscripten_bind_btCylinderShapeX___destroy___0"]=asm["_emscripten_bind_btCylinderShapeX___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"];var _emscripten_bind_btRigidBody_updateInertiaTensor_0=Module["_emscripten_bind_btRigidBody_updateInertiaTensor_0"]=asm["_emscripten_bind_btRigidBody_updateInertiaTensor_0"];var _emscripten_bind_ContactResultCallback___destroy___0=Module["_emscripten_bind_ContactResultCallback___destroy___0"]=asm["_emscripten_bind_ContactResultCallback___destroy___0"];var _emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"];var _emscripten_bind_btSoftBody_setAnisotropicFriction_2=Module["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"];var _emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"];var _emscripten_bind_btRigidBody_getMotionState_0=Module["_emscripten_bind_btRigidBody_getMotionState_0"]=asm["_emscripten_bind_btRigidBody_getMotionState_0"];var _emscripten_bind_btKinematicCharacterController_getGhostObject_0=Module["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"];var _emscripten_bind_btRigidBody_btRigidBody_1=Module["_emscripten_bind_btRigidBody_btRigidBody_1"]=asm["_emscripten_bind_btRigidBody_btRigidBody_1"];var _emscripten_bind_btTriangleMeshShape___destroy___0=Module["_emscripten_bind_btTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btTriangleMeshShape___destroy___0"];var _emscripten_bind_btKinematicCharacterController_setWalkDirection_1=Module["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"]=asm["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"];var _emscripten_bind_btDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDynamicsWorld_removeAction_1"];var _emscripten_bind_btRigidBody_applyTorque_1=Module["_emscripten_bind_btRigidBody_applyTorque_1"]=asm["_emscripten_bind_btRigidBody_applyTorque_1"];var _emscripten_bind_btManifoldPoint_get_m_localPointA_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"];var _emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"];var _emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"];var _emscripten_bind_btGhostObject_setUserPointer_1=Module["_emscripten_bind_btGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btGhostObject_setUserPointer_1"];var _emscripten_bind_btKinematicCharacterController_getGravity_0=Module["_emscripten_bind_btKinematicCharacterController_getGravity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGravity_0"];var _emscripten_enum_PHY_ScalarType_PHY_SHORT=Module["_emscripten_enum_PHY_ScalarType_PHY_SHORT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_SHORT"];var _emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btVector4_normalize_0=Module["_emscripten_bind_btVector4_normalize_0"]=asm["_emscripten_bind_btVector4_normalize_0"];var _emscripten_bind_btQuaternion_setY_1=Module["_emscripten_bind_btQuaternion_setY_1"]=asm["_emscripten_bind_btQuaternion_setY_1"];var _emscripten_bind_btConeShape_calculateLocalInertia_2=Module["_emscripten_bind_btConeShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShape_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Module["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"]=asm["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"];var _emscripten_bind_btSphereShape_setLocalScaling_1=Module["_emscripten_bind_btSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btSphereShape_setLocalScaling_1"];var _emscripten_bind_btRigidBody_applyCentralLocalForce_1=Module["_emscripten_bind_btRigidBody_applyCentralLocalForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralLocalForce_1"];var _emscripten_bind_btVector4_w_0=Module["_emscripten_bind_btVector4_w_0"]=asm["_emscripten_bind_btVector4_w_0"];var _emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"];var _emscripten_bind_btBvhTriangleMeshShape___destroy___0=Module["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"];var _emscripten_bind_Config_set_citerations_1=Module["_emscripten_bind_Config_set_citerations_1"]=asm["_emscripten_bind_Config_set_citerations_1"];var _emscripten_bind_btSoftBody_checkFace_3=Module["_emscripten_bind_btSoftBody_checkFace_3"]=asm["_emscripten_bind_btSoftBody_checkFace_3"];var _emscripten_bind_Config_get_kSKHR_CL_0=Module["_emscripten_bind_Config_get_kSKHR_CL_0"]=asm["_emscripten_bind_Config_get_kSKHR_CL_0"];var _emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"];var _emscripten_bind_LocalConvexResult_LocalConvexResult_5=Module["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"]=asm["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"];var _emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"];var _emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Module["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"]=asm["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"];var _emscripten_bind_Config_set_diterations_1=Module["_emscripten_bind_Config_set_diterations_1"]=asm["_emscripten_bind_Config_set_diterations_1"];var _emscripten_bind_btGeneric6DofConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofConstraint___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"];var _emscripten_bind_Config_set_kDP_1=Module["_emscripten_bind_Config_set_kDP_1"]=asm["_emscripten_bind_Config_set_kDP_1"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btConvexHullShape_addPoint_1=Module["_emscripten_bind_btConvexHullShape_addPoint_1"]=asm["_emscripten_bind_btConvexHullShape_addPoint_1"];var _emscripten_bind_btConvexHullShape_addPoint_2=Module["_emscripten_bind_btConvexHullShape_addPoint_2"]=asm["_emscripten_bind_btConvexHullShape_addPoint_2"];var _emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"];var _emscripten_bind_btTransform_getOrigin_0=Module["_emscripten_bind_btTransform_getOrigin_0"]=asm["_emscripten_bind_btTransform_getOrigin_0"];var _emscripten_bind_Config_get_kKHR_0=Module["_emscripten_bind_Config_get_kKHR_0"]=asm["_emscripten_bind_Config_get_kKHR_0"];var _emscripten_bind_Material_get_m_kLST_0=Module["_emscripten_bind_Material_get_m_kLST_0"]=asm["_emscripten_bind_Material_get_m_kLST_0"];var _emscripten_bind_btHingeConstraint___destroy___0=Module["_emscripten_bind_btHingeConstraint___destroy___0"]=asm["_emscripten_bind_btHingeConstraint___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_getUserPointer_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"];var _emscripten_bind_btSoftBody_set_m_nodes_1=Module["_emscripten_bind_btSoftBody_set_m_nodes_1"]=asm["_emscripten_bind_btSoftBody_set_m_nodes_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"];var _emscripten_bind_btDbvtBroadphase___destroy___0=Module["_emscripten_bind_btDbvtBroadphase___destroy___0"]=asm["_emscripten_bind_btDbvtBroadphase___destroy___0"];var _emscripten_bind_Config_set_viterations_1=Module["_emscripten_bind_Config_set_viterations_1"]=asm["_emscripten_bind_Config_set_viterations_1"];var _emscripten_bind_btConvexShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexShape_calculateLocalInertia_2"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_0=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_1=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_2=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"];var _emscripten_bind_btWheelInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"];var _emscripten_bind_btSoftBodyHelpers___destroy___0=Module["_emscripten_bind_btSoftBodyHelpers___destroy___0"]=asm["_emscripten_bind_btSoftBodyHelpers___destroy___0"];var _emscripten_bind_btRigidBody_getCollisionShape_0=Module["_emscripten_bind_btRigidBody_getCollisionShape_0"]=asm["_emscripten_bind_btRigidBody_getCollisionShape_0"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"];var _emscripten_bind_btManifoldPoint_get_m_localPointB_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"];var _emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btSliderConstraint_setLowerLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"];var _emscripten_bind_btRigidBody_getAngularVelocity_0=Module["_emscripten_bind_btRigidBody_getAngularVelocity_0"]=asm["_emscripten_bind_btRigidBody_getAngularVelocity_0"];var _emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"];var _emscripten_bind_btRigidBody_setLinearVelocity_1=Module["_emscripten_bind_btRigidBody_setLinearVelocity_1"]=asm["_emscripten_bind_btRigidBody_setLinearVelocity_1"];var _emscripten_bind_btVehicleTuning_btVehicleTuning_0=Module["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"]=asm["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"];var _emscripten_bind_RayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_btDefaultSoftBodySolver___destroy___0=Module["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"];var _emscripten_bind_btDynamicsWorld_addAction_1=Module["_emscripten_bind_btDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDynamicsWorld_addAction_1"];var _emscripten_bind_btSoftBody_appendMaterial_0=Module["_emscripten_bind_btSoftBody_appendMaterial_0"]=asm["_emscripten_bind_btSoftBody_appendMaterial_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"];var _emscripten_bind_btSoftBody_setRestitution_1=Module["_emscripten_bind_btSoftBody_setRestitution_1"]=asm["_emscripten_bind_btSoftBody_setRestitution_1"];var _emscripten_bind_Config_set_kLF_1=Module["_emscripten_bind_Config_set_kLF_1"]=asm["_emscripten_bind_Config_set_kLF_1"];var _emscripten_enum_PHY_ScalarType_PHY_FLOAT=Module["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"];var _emscripten_bind_Config_set_kSS_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSS_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSS_SPLT_CL_1"];var _emscripten_bind_btGhostObject_isActive_0=Module["_emscripten_bind_btGhostObject_isActive_0"]=asm["_emscripten_bind_btGhostObject_isActive_0"];var _emscripten_bind_btKinematicCharacterController_setFallSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"];var _emscripten_bind_btRigidBody_setActivationState_1=Module["_emscripten_bind_btRigidBody_setActivationState_1"]=asm["_emscripten_bind_btRigidBody_setActivationState_1"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"];var _emscripten_bind_ClosestConvexResultCallback_hasHit_0=Module["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"];var _emscripten_bind_btCapsuleShapeZ___destroy___0=Module["_emscripten_bind_btCapsuleShapeZ___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeZ___destroy___0"];var _emscripten_bind_btRaycastVehicle_getRigidBody_0=Module["_emscripten_bind_btRaycastVehicle_getRigidBody_0"]=asm["_emscripten_bind_btRaycastVehicle_getRigidBody_0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btSoftBody_get_m_materials_0=Module["_emscripten_bind_btSoftBody_get_m_materials_0"]=asm["_emscripten_bind_btSoftBody_get_m_materials_0"];var _emscripten_bind_btTriangleMesh_addTriangle_3=Module["_emscripten_bind_btTriangleMesh_addTriangle_3"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_3"];var _emscripten_bind_btGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btGhostObject_getOverlappingObject_1"];var _emscripten_bind_btTriangleMesh_addTriangle_4=Module["_emscripten_bind_btTriangleMesh_addTriangle_4"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_4"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"];var _emscripten_bind_Config_get_kDF_0=Module["_emscripten_bind_Config_get_kDF_0"]=asm["_emscripten_bind_Config_get_kDF_0"];var _emscripten_bind_btRigidBody_applyTorqueImpulse_1=Module["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"];var _emscripten_bind_btRigidBody_setCollisionFlags_1=Module["_emscripten_bind_btRigidBody_setCollisionFlags_1"]=asm["_emscripten_bind_btRigidBody_setCollisionFlags_1"];var _emscripten_bind_btWheelInfo_get_m_steering_0=Module["_emscripten_bind_btWheelInfo_get_m_steering_0"]=asm["_emscripten_bind_btWheelInfo_get_m_steering_0"];var _emscripten_bind_btRigidBody___destroy___0=Module["_emscripten_bind_btRigidBody___destroy___0"]=asm["_emscripten_bind_btRigidBody___destroy___0"];var _emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"];var _emscripten_bind_Config_set_kCHR_1=Module["_emscripten_bind_Config_set_kCHR_1"]=asm["_emscripten_bind_Config_set_kCHR_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"];var _emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Module["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"]=asm["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_3=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"];var _emscripten_bind_btTransform___destroy___0=Module["_emscripten_bind_btTransform___destroy___0"]=asm["_emscripten_bind_btTransform___destroy___0"];var _emscripten_bind_btDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btSliderConstraint___destroy___0=Module["_emscripten_bind_btSliderConstraint___destroy___0"]=asm["_emscripten_bind_btSliderConstraint___destroy___0"];var _emscripten_bind_btRigidBody_forceActivationState_1=Module["_emscripten_bind_btRigidBody_forceActivationState_1"]=asm["_emscripten_bind_btRigidBody_forceActivationState_1"];var _emscripten_bind_btPoint2PointConstraint_setPivotB_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"];var _emscripten_bind_btManifoldPoint_getDistance_0=Module["_emscripten_bind_btManifoldPoint_getDistance_0"]=asm["_emscripten_bind_btManifoldPoint_getDistance_0"];var _emscripten_bind_btGhostPairCallback___destroy___0=Module["_emscripten_bind_btGhostPairCallback___destroy___0"]=asm["_emscripten_bind_btGhostPairCallback___destroy___0"];var _emscripten_bind_btTransform_setFromOpenGLMatrix_1=Module["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"]=asm["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"];var _emscripten_bind_btKinematicCharacterController_getMaxSlope_0=Module["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"]=asm["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"];var _emscripten_bind_btRaycastVehicle_addWheel_7=Module["_emscripten_bind_btRaycastVehicle_addWheel_7"]=asm["_emscripten_bind_btRaycastVehicle_addWheel_7"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=Module["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"];var _emscripten_bind_btStaticPlaneShape___destroy___0=Module["_emscripten_bind_btStaticPlaneShape___destroy___0"]=asm["_emscripten_bind_btStaticPlaneShape___destroy___0"];var _emscripten_bind_btHingeConstraint_enableMotor_1=Module["_emscripten_bind_btHingeConstraint_enableMotor_1"]=asm["_emscripten_bind_btHingeConstraint_enableMotor_1"];var _emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"];var _emscripten_bind_btBoxShape_setLocalScaling_1=Module["_emscripten_bind_btBoxShape_setLocalScaling_1"]=asm["_emscripten_bind_btBoxShape_setLocalScaling_1"];var _emscripten_bind_btConeShapeZ___destroy___0=Module["_emscripten_bind_btConeShapeZ___destroy___0"]=asm["_emscripten_bind_btConeShapeZ___destroy___0"];var _emscripten_bind_btDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDynamicsWorld_getPairCache_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btRigidBody_setRestitution_1=Module["_emscripten_bind_btRigidBody_setRestitution_1"]=asm["_emscripten_bind_btRigidBody_setRestitution_1"];var _emscripten_bind_btVector4_btVector4_0=Module["_emscripten_bind_btVector4_btVector4_0"]=asm["_emscripten_bind_btVector4_btVector4_0"];var _emscripten_bind_btVector4_x_0=Module["_emscripten_bind_btVector4_x_0"]=asm["_emscripten_bind_btVector4_x_0"];var _emscripten_bind_btVector4_btVector4_4=Module["_emscripten_bind_btVector4_btVector4_4"]=asm["_emscripten_bind_btVector4_btVector4_4"];var _emscripten_bind_btKinematicCharacterController___destroy___0=Module["_emscripten_bind_btKinematicCharacterController___destroy___0"]=asm["_emscripten_bind_btKinematicCharacterController___destroy___0"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"];var _emscripten_bind_tMaterialArray_at_1=Module["_emscripten_bind_tMaterialArray_at_1"]=asm["_emscripten_bind_tMaterialArray_at_1"];var _emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"];var _emscripten_bind_btVector4_op_sub_1=Module["_emscripten_bind_btVector4_op_sub_1"]=asm["_emscripten_bind_btVector4_op_sub_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"];var _emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"];var _emscripten_bind_btWheelInfo_get_m_raycastInfo_0=Module["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"]=asm["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"];var _emscripten_bind_btConvexShape_getMargin_0=Module["_emscripten_bind_btConvexShape_getMargin_0"]=asm["_emscripten_bind_btConvexShape_getMargin_0"];var _emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=Module["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"]=asm["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"];var _emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"];var _emscripten_bind_btPairCachingGhostObject_isActive_0=Module["_emscripten_bind_btPairCachingGhostObject_isActive_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isActive_0"];var _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=Module["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_viiidii=Module["dynCall_viiidii"]=asm["dynCall_viiidii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viddiii=Module["dynCall_viddiii"]=asm["dynCall_viddiii"];var dynCall_vidii=Module["dynCall_vidii"]=asm["dynCall_vidii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_vidi=Module["dynCall_vidi"]=asm["dynCall_vidi"];var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=asm["dynCall_diiiiiiii"];var dynCall_viiiiddddiid=Module["dynCall_viiiiddddiid"]=asm["dynCall_viiiiddddiid"];var dynCall_diiiii=Module["dynCall_diiiii"]=asm["dynCall_diiiii"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiid=Module["dynCall_viiiiid"]=asm["dynCall_viiiiid"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iiid=Module["dynCall_iiid"]=asm["dynCall_iiid"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_diiidii=Module["dynCall_diiidii"]=asm["dynCall_diiidii"];var dynCall_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_diiiiiiiiii=Module["dynCall_diiiiiiiiii"]=asm["dynCall_diiiiiiiiii"];var dynCall_viiiid=Module["dynCall_viiiid"]=asm["dynCall_viiiid"];var dynCall_diiiiiiiii=Module["dynCall_diiiiiiiii"]=asm["dynCall_diiiiiiiii"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_viiiidddddidi=Module["dynCall_viiiidddddidi"]=asm["dynCall_viiiidddddidi"];var dynCall_diidii=Module["dynCall_diidii"]=asm["dynCall_diidii"];var dynCall_diiii=Module["dynCall_diiii"]=asm["dynCall_diiii"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_iidid=Module["dynCall_iidid"]=asm["dynCall_iidid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i>0];e|=f;if(0==f&&!b)break;g++;if(b&&g==b)break}b||(b=g);f="";if(128>e){for(;0=c.size?(assert(0>=1;break;case 4:e>>=2;break;case 8:e>>= +3}for(var f=0;f=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++e)&1023);127>=f?++b:b=2047>=f?b+2:65535>=f?b+3:2097151>=f?b+4:67108863>=f?b+5:b+6}b=Array(b+1);f=b.length;e=0;if(0=n){var A=a.charCodeAt(++g);n=65536+((n&1023)<<10)|A&1023}if(127>=n){if(e>=f)break;b[e++]=n}else{if(2047>=n){if(e+1>=f)break;b[e++]=192|n>>6}else{if(65535>= +n){if(e+2>=f)break;b[e++]=224|n>>12}else{if(e+3>=f)break;b[e++]=240|n>>18;b[e++]=128|n>>12&63}b[e++]=128|n>>6&63}b[e++]=128|n&63}}b[e]=0}a=c.fa(b,va);c.copy(b,va,a)}return a}function Hy(a){if("object"===typeof a){var b=c.fa(a,ya);c.copy(a,ya,b);return b}return a}function Iy(){throw"cannot construct a btCollisionWorld, no constructor in IDL";}Iy.prototype=Object.create(k.prototype);Iy.prototype.constructor=Iy;Iy.prototype.K=Iy;Iy.L={};d.btCollisionWorld=Iy; +Iy.prototype.getDispatcher=function(){return m(Pg(this.J),Jy)};Iy.prototype.rayTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Rg(f,a,b,e)};Iy.prototype.getPairCache=function(){return m(Qg(this.J),Ky)};Iy.prototype.getDispatchInfo=function(){return m(Og(this.J),p)}; +Iy.prototype.addCollisionObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?Eg(f,a):void 0===e?Fg(f,a,b):Gg(f,a,b,e)};Iy.prototype.removeCollisionObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sg(b,a)};Iy.prototype.getBroadphase=function(){return m(Mg(this.J),Ly)}; +Iy.prototype.convexSweepTest=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);Jg(n,a,b,e,f,g)};Iy.prototype.contactPairTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Hg(f,a,b,e)}; +Iy.prototype.contactTest=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Ig(e,a,b)};Iy.prototype.updateSingleAabb=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ug(b,a)};Iy.prototype.setDebugDrawer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tg(b,a)};Iy.prototype.getDebugDrawer=function(){return m(Ng(this.J),My)};Iy.prototype.debugDrawWorld=function(){Lg(this.J)}; +Iy.prototype.debugDrawObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Kg(f,a,b,e)};Iy.prototype.__destroy__=function(){Dg(this.J)};function q(){throw"cannot construct a btCollisionShape, no constructor in IDL";}q.prototype=Object.create(k.prototype);q.prototype.constructor=q;q.prototype.K=q;q.L={};d.btCollisionShape=q;q.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bg(b,a)}; +q.prototype.getLocalScaling=function(){return m(zg(this.J),r)};q.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);yg(e,a,b)};q.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Cg(b,a)};q.prototype.getMargin=function(){return Ag(this.J)};q.prototype.__destroy__=function(){xg(this.J)};function t(){throw"cannot construct a btCollisionObject, no constructor in IDL";}t.prototype=Object.create(k.prototype); +t.prototype.constructor=t;t.prototype.K=t;t.L={};d.btCollisionObject=t;t.prototype.setAnisotropicFriction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);lg(e,a,b)};t.prototype.getCollisionShape=function(){return m(cg(this.J),q)};t.prototype.setContactProcessingThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);qg(b,a)};t.prototype.setActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);kg(b,a)}; +t.prototype.forceActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ag(b,a)};t.prototype.activate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);void 0===a?Zf(b):$f(b,a)};t.prototype.isActive=function(){return!!gg(this.J)};t.prototype.isKinematicObject=function(){return!!hg(this.J)};t.prototype.isStaticObject=function(){return!!ig(this.J)};t.prototype.isStaticOrKinematicObject=function(){return!!jg(this.J)}; +t.prototype.setRestitution=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);sg(b,a)};t.prototype.setFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);rg(b,a)};t.prototype.setRollingFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tg(b,a)};t.prototype.getWorldTransform=function(){return m(fg(this.J),u)};t.prototype.getCollisionFlags=function(){return bg(this.J)};t.prototype.setCollisionFlags=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);og(b,a)}; +t.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wg(b,a)};t.prototype.setCollisionShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);pg(b,a)};t.prototype.setCcdMotionThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);mg(b,a)};t.prototype.setCcdSweptSphereRadius=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ng(b,a)};t.prototype.getUserIndex=function(){return dg(this.J)}; +t.prototype.setUserIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ug(b,a)};t.prototype.getUserPointer=function(){return m(eg(this.J),Ny)};t.prototype.setUserPointer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);vg(b,a)};t.prototype.__destroy__=function(){Yf(this.J)};function v(){throw"cannot construct a btDynamicsWorld, no constructor in IDL";}v.prototype=Object.create(Iy.prototype);v.prototype.constructor=v;v.prototype.K=v;v.L={};d.btDynamicsWorld=v; +v.prototype.addAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ik(b,a)};v.prototype.removeAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yk(b,a)};v.prototype.getSolverInfo=function(){return m(Wk(this.J),w)};v.prototype.getDispatcher=function(){return m(Uk(this.J),Jy)};v.prototype.rayTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Xk(f,a,b,e)}; +v.prototype.getPairCache=function(){return m(Vk(this.J),Ky)};v.prototype.getDispatchInfo=function(){return m(Tk(this.J),p)};v.prototype.addCollisionObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?Jk(f,a):void 0===e?Kk(f,a,b):Lk(f,a,b,e)};v.prototype.removeCollisionObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zk(b,a)};v.prototype.getBroadphase=function(){return m(Rk(this.J),Ly)}; +v.prototype.convexSweepTest=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);Ok(n,a,b,e,f,g)};v.prototype.contactPairTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Mk(f,a,b,e)}; +v.prototype.contactTest=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Nk(e,a,b)};v.prototype.updateSingleAabb=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);al(b,a)};v.prototype.setDebugDrawer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$k(b,a)};v.prototype.getDebugDrawer=function(){return m(Sk(this.J),My)};v.prototype.debugDrawWorld=function(){Qk(this.J)}; +v.prototype.debugDrawObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Pk(f,a,b,e)};v.prototype.__destroy__=function(){Hk(this.J)};function Oy(){throw"cannot construct a btTypedConstraint, no constructor in IDL";}Oy.prototype=Object.create(k.prototype);Oy.prototype.constructor=Oy;Oy.prototype.K=Oy;Oy.L={};d.btTypedConstraint=Oy; +Oy.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tv(b,a)};Oy.prototype.getBreakingImpulseThreshold=function(){return uv(this.J)};Oy.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wv(b,a)};Oy.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return vv(e,a,b)}; +Oy.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);xv(f,a,b,e)};Oy.prototype.__destroy__=function(){sv(this.J)};function Py(){throw"cannot construct a btConcaveShape, no constructor in IDL";}Py.prototype=Object.create(q.prototype);Py.prototype.constructor=Py;Py.prototype.K=Py;Py.L={};d.btConcaveShape=Py;Py.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);jh(b,a)}; +Py.prototype.getLocalScaling=function(){return m(ih(this.J),r)};Py.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);hh(e,a,b)};Py.prototype.__destroy__=function(){gh(this.J)};function Qy(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=Kf(a,b);l(Qy)[this.J]=this}Qy.prototype=Object.create(q.prototype);Qy.prototype.constructor=Qy;Qy.prototype.K=Qy;Qy.L={};d.btCapsuleShape=Qy; +Qy.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sf(b,a)};Qy.prototype.getMargin=function(){return Of(this.J)};Qy.prototype.getUpAxis=function(){return Qf(this.J)};Qy.prototype.getRadius=function(){return Pf(this.J)};Qy.prototype.getHalfHeight=function(){return Mf(this.J)};Qy.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rf(b,a)};Qy.prototype.getLocalScaling=function(){return m(Nf(this.J),r)}; +Qy.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Lf(e,a,b)};Qy.prototype.__destroy__=function(){Jf(this.J)};function My(){throw"cannot construct a btIDebugDraw, no constructor in IDL";}My.prototype=Object.create(k.prototype);My.prototype.constructor=My;My.prototype.K=My;My.L={};d.btIDebugDraw=My; +My.prototype.drawLine=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);an(f,a,b,e)};My.prototype.drawContactPoint=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);$m(n,a,b,e,f,g)}; +My.prototype.reportErrorWarning=function(a){var b=this.J;c.M();a=a&&"object"===typeof a?a.J:Gy(a);cn(b,a)};My.prototype.draw3dText=function(a,b){var e=this.J;c.M();a&&"object"===typeof a&&(a=a.J);b=b&&"object"===typeof b?b.J:Gy(b);Zm(e,a,b)};My.prototype.setDebugMode=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dn(b,a)};My.prototype.getDebugMode=function(){return bn(this.J)};My.prototype.__destroy__=function(){Ym(this.J)}; +function Ry(a){a&&"object"===typeof a&&(a=a.J);this.J=void 0===a?jj():kj(a);l(Ry)[this.J]=this}Ry.prototype=Object.create(k.prototype);Ry.prototype.constructor=Ry;Ry.prototype.K=Ry;Ry.L={};d.btDefaultCollisionConfiguration=Ry;Ry.prototype.__destroy__=function(){ij(this.J)};function x(){throw"cannot construct a ConvexResultCallback, no constructor in IDL";}x.prototype=Object.create(k.prototype);x.prototype.constructor=x;x.prototype.K=x;x.L={};d.ConvexResultCallback=x;x.prototype.hasHit=function(){return!!nd(this.J)}; +x.prototype.get_m_collisionFilterGroup=x.prototype.N=function(){return ld(this.J)};x.prototype.set_m_collisionFilterGroup=x.prototype.P=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);pd(b,a)};Object.defineProperty(x.prototype,"m_collisionFilterGroup",{get:x.prototype.N,set:x.prototype.P});x.prototype.get_m_collisionFilterMask=x.prototype.O=function(){return md(this.J)};x.prototype.set_m_collisionFilterMask=x.prototype.R=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);qd(b,a)}; +Object.defineProperty(x.prototype,"m_collisionFilterMask",{get:x.prototype.O,set:x.prototype.R});x.prototype.get_m_closestHitFraction=x.prototype.S=function(){return kd(this.J)};x.prototype.set_m_closestHitFraction=x.prototype.T=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);od(b,a)};Object.defineProperty(x.prototype,"m_closestHitFraction",{get:x.prototype.S,set:x.prototype.T});x.prototype.__destroy__=function(){jd(this.J)}; +function Sy(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL";}Sy.prototype=Object.create(Py.prototype);Sy.prototype.constructor=Sy;Sy.prototype.K=Sy;Sy.L={};d.btTriangleMeshShape=Sy;Sy.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);lv(b,a)};Sy.prototype.getLocalScaling=function(){return m(kv(this.J),r)};Sy.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);jv(e,a,b)}; +Sy.prototype.__destroy__=function(){iv(this.J)};function y(){this.J=Wl();l(y)[this.J]=this}y.prototype=Object.create(t.prototype);y.prototype.constructor=y;y.prototype.K=y;y.L={};d.btGhostObject=y;y.prototype.getNumOverlappingObjects=function(){return $l(this.J)};y.prototype.getOverlappingObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(am(b,a),t)}; +y.prototype.setAnisotropicFriction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);jm(e,a,b)};y.prototype.getCollisionShape=function(){return m(Zl(this.J),q)};y.prototype.setContactProcessingThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);om(b,a)};y.prototype.setActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);im(b,a)}; +y.prototype.forceActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xl(b,a)};y.prototype.activate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);void 0===a?Ul(b):Vl(b,a)};y.prototype.isActive=function(){return!!em(this.J)};y.prototype.isKinematicObject=function(){return!!fm(this.J)};y.prototype.isStaticObject=function(){return!!gm(this.J)};y.prototype.isStaticOrKinematicObject=function(){return!!hm(this.J)}; +y.prototype.setRestitution=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);qm(b,a)};y.prototype.setFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);pm(b,a)};y.prototype.setRollingFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);rm(b,a)};y.prototype.getWorldTransform=function(){return m(dm(this.J),u)};y.prototype.getCollisionFlags=function(){return Yl(this.J)};y.prototype.setCollisionFlags=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);mm(b,a)}; +y.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);um(b,a)};y.prototype.setCollisionShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);nm(b,a)};y.prototype.setCcdMotionThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);km(b,a)};y.prototype.setCcdSweptSphereRadius=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);lm(b,a)};y.prototype.getUserIndex=function(){return bm(this.J)}; +y.prototype.setUserIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);sm(b,a)};y.prototype.getUserPointer=function(){return m(cm(this.J),Ny)};y.prototype.setUserPointer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tm(b,a)};y.prototype.__destroy__=function(){Tl(this.J)};function Ty(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=vh(a,b);l(Ty)[this.J]=this}Ty.prototype=Object.create(q.prototype);Ty.prototype.constructor=Ty;Ty.prototype.K=Ty;Ty.L={}; +d.btConeShape=Ty;Ty.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yh(b,a)};Ty.prototype.getLocalScaling=function(){return m(xh(this.J),r)};Ty.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);wh(e,a,b)};Ty.prototype.__destroy__=function(){uh(this.J)};function Uy(){throw"cannot construct a btActionInterface, no constructor in IDL";}Uy.prototype=Object.create(k.prototype); +Uy.prototype.constructor=Uy;Uy.prototype.K=Uy;Uy.L={};d.btActionInterface=Uy;Uy.prototype.updateAction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Qe(e,a,b)};Uy.prototype.__destroy__=function(){Pe(this.J)}; +function r(a,b,e){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);this.J=void 0===a?Cv():void 0===b?_emscripten_bind_btVector3_btVector3_1(a):void 0===e?_emscripten_bind_btVector3_btVector3_2(a,b):Dv(a,b,e);l(r)[this.J]=this}r.prototype=Object.create(k.prototype);r.prototype.constructor=r;r.prototype.K=r;r.L={};d.btVector3=r;r.prototype.length=r.prototype.length=function(){return Fv(this.J)};r.prototype.x=r.prototype.x=function(){return Pv(this.J)}; +r.prototype.y=r.prototype.y=function(){return Qv(this.J)};r.prototype.z=r.prototype.z=function(){return Rv(this.J)};r.prototype.setX=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mv(b,a)};r.prototype.setY=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nv(b,a)};r.prototype.setZ=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ov(b,a)}; +r.prototype.setValue=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Lv(f,a,b,e)};r.prototype.normalize=r.prototype.normalize=function(){Gv(this.J)};r.prototype.rotate=r.prototype.rotate=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return m(Kv(e,a,b),r)};r.prototype.dot=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return Ev(b,a)}; +r.prototype.op_mul=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Iv(b,a),r)};r.prototype.op_add=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Hv(b,a),r)};r.prototype.op_sub=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Jv(b,a),r)};r.prototype.__destroy__=function(){Bv(this.J)};function Vy(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL";}Vy.prototype=Object.create(k.prototype);Vy.prototype.constructor=Vy; +Vy.prototype.K=Vy;Vy.L={};d.btVehicleRaycaster=Vy;Vy.prototype.castRay=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);rw(f,a,b,e)};Vy.prototype.__destroy__=function(){qw(this.J)};function Wy(){throw"cannot construct a btQuadWord, no constructor in IDL";}Wy.prototype=Object.create(k.prototype);Wy.prototype.constructor=Wy;Wy.prototype.K=Wy;Wy.L={};d.btQuadWord=Wy;Wy.prototype.x=Wy.prototype.x=function(){return gp(this.J)}; +Wy.prototype.y=Wy.prototype.y=function(){return hp(this.J)};Wy.prototype.z=Wy.prototype.z=function(){return ip(this.J)};Wy.prototype.w=Wy.prototype.za=function(){return fp(this.J)};Wy.prototype.setX=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cp(b,a)};Wy.prototype.setY=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dp(b,a)};Wy.prototype.setZ=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ep(b,a)}; +Wy.prototype.setW=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bp(b,a)};Wy.prototype.__destroy__=function(){ap(this.J)};function Xy(a){a&&"object"===typeof a&&(a=a.J);this.J=aj(a);l(Xy)[this.J]=this}Xy.prototype=Object.create(q.prototype);Xy.prototype.constructor=Xy;Xy.prototype.K=Xy;Xy.L={};d.btCylinderShape=Xy;Xy.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);fj(b,a)};Xy.prototype.getMargin=function(){return dj(this.J)}; +Xy.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ej(b,a)};Xy.prototype.getLocalScaling=function(){return m(cj(this.J),r)};Xy.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);bj(e,a,b)};Xy.prototype.__destroy__=function(){$i(this.J)}; +function z(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=Jj(a,b,e,f);l(z)[this.J]=this}z.prototype=Object.create(v.prototype);z.prototype.constructor=z;z.prototype.K=z;z.L={};d.btDiscreteDynamicsWorld=z;z.prototype.setGravity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ck(b,a)};z.prototype.getGravity=function(){return m(Tj(this.J),r)}; +z.prototype.addRigidBody=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?Hj(f,a):void 0===e?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(f,a,b):Ij(f,a,b,e)};z.prototype.removeRigidBody=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ak(b,a)};z.prototype.addConstraint=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);void 0===b?Fj(e,a):Gj(e,a,b)}; +z.prototype.removeConstraint=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zj(b,a)};z.prototype.stepSimulation=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);return void 0===b?dk(f,a):void 0===e?ek(f,a,b):fk(f,a,b,e)};z.prototype.getDispatcher=function(){return m(Sj(this.J),Jy)}; +z.prototype.rayTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Wj(f,a,b,e)};z.prototype.getPairCache=function(){return m(Uj(this.J),Ky)};z.prototype.getDispatchInfo=function(){return m(Rj(this.J),p)};z.prototype.addCollisionObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?Cj(f,a):void 0===e?Dj(f,a,b):Ej(f,a,b,e)}; +z.prototype.removeCollisionObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yj(b,a)};z.prototype.getBroadphase=function(){return m(Pj(this.J),Ly)};z.prototype.convexSweepTest=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);Mj(n,a,b,e,f,g)}; +z.prototype.contactPairTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Kj(f,a,b,e)};z.prototype.contactTest=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Lj(e,a,b)};z.prototype.updateSingleAabb=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gk(b,a)};z.prototype.setDebugDrawer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bk(b,a)}; +z.prototype.getDebugDrawer=function(){return m(Qj(this.J),My)};z.prototype.debugDrawWorld=function(){Oj(this.J)};z.prototype.debugDrawObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Nj(f,a,b,e)};z.prototype.addAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bj(b,a)};z.prototype.removeAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xj(b,a)}; +z.prototype.getSolverInfo=function(){return m(Vj(this.J),w)};z.prototype.__destroy__=function(){Aj(this.J)};function Yy(){throw"cannot construct a btConvexShape, no constructor in IDL";}Yy.prototype=Object.create(q.prototype);Yy.prototype.constructor=Yy;Yy.prototype.K=Yy;Yy.L={};d.btConvexShape=Yy;Yy.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ci(b,a)};Yy.prototype.getLocalScaling=function(){return m(Ai(this.J),r)}; +Yy.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);zi(e,a,b)};Yy.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Di(b,a)};Yy.prototype.getMargin=function(){return Bi(this.J)};Yy.prototype.__destroy__=function(){yi(this.J)};function Jy(){throw"cannot construct a btDispatcher, no constructor in IDL";}Jy.prototype=Object.create(k.prototype);Jy.prototype.constructor=Jy;Jy.prototype.K=Jy;Jy.L={}; +d.btDispatcher=Jy;Jy.prototype.getNumManifolds=function(){return Gk(this.J)};Jy.prototype.getManifoldByIndexInternal=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Fk(b,a),Zy)};Jy.prototype.__destroy__=function(){Ek(this.J)}; +function $y(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=void 0===f?rl(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(a,b,e,f):sl(a,b,e,f,g);l($y)[this.J]=this}$y.prototype=Object.create(Oy.prototype);$y.prototype.constructor=$y;$y.prototype.K=$y;$y.L={};d.btGeneric6DofConstraint=$y; +$y.prototype.setLinearLowerLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Al(b,a)};$y.prototype.setLinearUpperLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bl(b,a)};$y.prototype.setAngularLowerLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xl(b,a)};$y.prototype.setAngularUpperLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yl(b,a)};$y.prototype.getFrameOffsetA=function(){return m(vl(this.J),u)}; +$y.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tl(b,a)};$y.prototype.getBreakingImpulseThreshold=function(){return ul(this.J)};$y.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zl(b,a)};$y.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return wl(e,a,b)}; +$y.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Cl(f,a,b,e)};$y.prototype.__destroy__=function(){ql(this.J)};function az(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL";}az.prototype=Object.create(k.prototype);az.prototype.constructor=az;az.prototype.K=az;az.L={};d.btStridingMeshInterface=az;az.prototype.__destroy__=function(){Wu(this.J)}; +function bz(){throw"cannot construct a btMotionState, no constructor in IDL";}bz.prototype=Object.create(k.prototype);bz.prototype.constructor=bz;bz.prototype.K=bz;bz.L={};d.btMotionState=bz;bz.prototype.getWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zn(b,a)};bz.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$n(b,a)};bz.prototype.__destroy__=function(){Yn(this.J)}; +function cz(){throw"cannot construct a ContactResultCallback, no constructor in IDL";}cz.prototype=Object.create(k.prototype);cz.prototype.constructor=cz;cz.prototype.K=cz;cz.L={};d.ContactResultCallback=cz; +cz.prototype.addSingleResult=function(a,b,e,f,g,n,A){var Q=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);return id(Q,a,b,e,f,g,n,A)};cz.prototype.__destroy__=function(){hd(this.J)};function dz(){throw"cannot construct a btSoftBodySolver, no constructor in IDL";}dz.prototype=Object.create(k.prototype); +dz.prototype.constructor=dz;dz.prototype.K=dz;dz.L={};d.btSoftBodySolver=dz;dz.prototype.__destroy__=function(){Ds(this.J)};function B(){throw"cannot construct a RayResultCallback, no constructor in IDL";}B.prototype=Object.create(k.prototype);B.prototype.constructor=B;B.prototype.K=B;B.L={};d.RayResultCallback=B;B.prototype.hasHit=function(){return!!se(this.J)};B.prototype.get_m_collisionFilterGroup=B.prototype.N=function(){return pe(this.J)}; +B.prototype.set_m_collisionFilterGroup=B.prototype.P=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ue(b,a)};Object.defineProperty(B.prototype,"m_collisionFilterGroup",{get:B.prototype.N,set:B.prototype.P});B.prototype.get_m_collisionFilterMask=B.prototype.O=function(){return qe(this.J)};B.prototype.set_m_collisionFilterMask=B.prototype.R=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ve(b,a)};Object.defineProperty(B.prototype,"m_collisionFilterMask",{get:B.prototype.O,set:B.prototype.R}); +B.prototype.get_m_closestHitFraction=B.prototype.S=function(){return oe(this.J)};B.prototype.set_m_closestHitFraction=B.prototype.T=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);te(b,a)};Object.defineProperty(B.prototype,"m_closestHitFraction",{get:B.prototype.S,set:B.prototype.T});B.prototype.get_m_collisionObject=B.prototype.ia=function(){return m(re(this.J),t)};B.prototype.set_m_collisionObject=B.prototype.ra=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);we(b,a)}; +Object.defineProperty(B.prototype,"m_collisionObject",{get:B.prototype.ia,set:B.prototype.ra});B.prototype.__destroy__=function(){ne(this.J)};function ez(){throw"cannot construct a btMatrix3x3, no constructor in IDL";}ez.prototype=Object.create(k.prototype);ez.prototype.constructor=ez;ez.prototype.K=ez;ez.L={};d.btMatrix3x3=ez;ez.prototype.setEulerZYX=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Xn(f,a,b,e)}; +ez.prototype.getRotation=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vn(b,a)};ez.prototype.getRow=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Wn(b,a),r)};ez.prototype.__destroy__=function(){Un(this.J)};function p(){throw"cannot construct a btDispatcherInfo, no constructor in IDL";}p.prototype=Object.create(k.prototype);p.prototype.constructor=p;p.prototype.K=p;p.L={};d.btDispatcherInfo=p;p.prototype.get_m_timeStep=p.prototype.Rc=function(){return pk(this.J)}; +p.prototype.set_m_timeStep=p.prototype.Af=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ak(b,a)};Object.defineProperty(p.prototype,"m_timeStep",{get:p.prototype.Rc,set:p.prototype.Af});p.prototype.get_m_stepCount=p.prototype.Ic=function(){return nk(this.J)};p.prototype.set_m_stepCount=p.prototype.rf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yk(b,a)};Object.defineProperty(p.prototype,"m_stepCount",{get:p.prototype.Ic,set:p.prototype.rf}); +p.prototype.get_m_dispatchFunc=p.prototype.Cb=function(){return kk(this.J)};p.prototype.set_m_dispatchFunc=p.prototype.ke=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);vk(b,a)};Object.defineProperty(p.prototype,"m_dispatchFunc",{get:p.prototype.Cb,set:p.prototype.ke});p.prototype.get_m_timeOfImpact=p.prototype.Qc=function(){return ok(this.J)};p.prototype.set_m_timeOfImpact=p.prototype.zf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zk(b,a)}; +Object.defineProperty(p.prototype,"m_timeOfImpact",{get:p.prototype.Qc,set:p.prototype.zf});p.prototype.get_m_useContinuous=p.prototype.Tc=function(){return!!qk(this.J)};p.prototype.set_m_useContinuous=p.prototype.Cf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bk(b,a)};Object.defineProperty(p.prototype,"m_useContinuous",{get:p.prototype.Tc,set:p.prototype.Cf});p.prototype.get_m_enableSatConvex=p.prototype.Gb=function(){return!!mk(this.J)}; +p.prototype.set_m_enableSatConvex=p.prototype.oe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xk(b,a)};Object.defineProperty(p.prototype,"m_enableSatConvex",{get:p.prototype.Gb,set:p.prototype.oe});p.prototype.get_m_enableSPU=p.prototype.Fb=function(){return!!lk(this.J)};p.prototype.set_m_enableSPU=p.prototype.ne=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wk(b,a)};Object.defineProperty(p.prototype,"m_enableSPU",{get:p.prototype.Fb,set:p.prototype.ne}); +p.prototype.get_m_useEpa=p.prototype.Vc=function(){return!!sk(this.J)};p.prototype.set_m_useEpa=p.prototype.Ef=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dk(b,a)};Object.defineProperty(p.prototype,"m_useEpa",{get:p.prototype.Vc,set:p.prototype.Ef});p.prototype.get_m_allowedCcdPenetration=p.prototype.gb=function(){return ik(this.J)};p.prototype.set_m_allowedCcdPenetration=p.prototype.Pd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tk(b,a)}; +Object.defineProperty(p.prototype,"m_allowedCcdPenetration",{get:p.prototype.gb,set:p.prototype.Pd});p.prototype.get_m_useConvexConservativeDistanceUtil=p.prototype.Uc=function(){return!!rk(this.J)};p.prototype.set_m_useConvexConservativeDistanceUtil=p.prototype.Df=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ck(b,a)};Object.defineProperty(p.prototype,"m_useConvexConservativeDistanceUtil",{get:p.prototype.Uc,set:p.prototype.Df}); +p.prototype.get_m_convexConservativeDistanceThreshold=p.prototype.xb=function(){return jk(this.J)};p.prototype.set_m_convexConservativeDistanceThreshold=p.prototype.fe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);uk(b,a)};Object.defineProperty(p.prototype,"m_convexConservativeDistanceThreshold",{get:p.prototype.xb,set:p.prototype.fe});p.prototype.__destroy__=function(){hk(this.J)};function C(){throw"cannot construct a Material, no constructor in IDL";}C.prototype=Object.create(k.prototype); +C.prototype.constructor=C;C.prototype.K=C;C.L={};d.Material=C;C.prototype.get_m_kLST=C.prototype.bc=function(){return Td(this.J)};C.prototype.set_m_kLST=C.prototype.Ke=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xd(b,a)};Object.defineProperty(C.prototype,"m_kLST",{get:C.prototype.bc,set:C.prototype.Ke});C.prototype.get_m_kAST=C.prototype.ac=function(){return Sd(this.J)};C.prototype.set_m_kAST=C.prototype.Je=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wd(b,a)}; +Object.defineProperty(C.prototype,"m_kAST",{get:C.prototype.ac,set:C.prototype.Je});C.prototype.get_m_kVST=C.prototype.cc=function(){return Ud(this.J)};C.prototype.set_m_kVST=C.prototype.Le=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yd(b,a)};Object.defineProperty(C.prototype,"m_kVST",{get:C.prototype.cc,set:C.prototype.Le});C.prototype.get_m_flags=C.prototype.Kb=function(){return Rd(this.J)}; +C.prototype.set_m_flags=C.prototype.se=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vd(b,a)};Object.defineProperty(C.prototype,"m_flags",{get:C.prototype.Kb,set:C.prototype.se});C.prototype.__destroy__=function(){Qd(this.J)};function D(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL";}D.prototype=Object.create(k.prototype);D.prototype.constructor=D;D.prototype.K=D;D.L={};d.btWheelInfoConstructionInfo=D; +D.prototype.get_m_chassisConnectionCS=D.prototype.sb=function(){return m(Hw(this.J),r)};D.prototype.set_m_chassisConnectionCS=D.prototype.ae=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tw(b,a)};Object.defineProperty(D.prototype,"m_chassisConnectionCS",{get:D.prototype.sb,set:D.prototype.ae});D.prototype.get_m_wheelDirectionCS=D.prototype.ma=function(){return m(Ow(this.J),r)}; +D.prototype.set_m_wheelDirectionCS=D.prototype.va=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$w(b,a)};Object.defineProperty(D.prototype,"m_wheelDirectionCS",{get:D.prototype.ma,set:D.prototype.va});D.prototype.get_m_wheelAxleCS=D.prototype.la=function(){return m(Nw(this.J),r)};D.prototype.set_m_wheelAxleCS=D.prototype.ua=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zw(b,a)};Object.defineProperty(D.prototype,"m_wheelAxleCS",{get:D.prototype.la,set:D.prototype.ua}); +D.prototype.get_m_suspensionRestLength=D.prototype.Nc=function(){return Lw(this.J)};D.prototype.set_m_suspensionRestLength=D.prototype.wf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xw(b,a)};Object.defineProperty(D.prototype,"m_suspensionRestLength",{get:D.prototype.Nc,set:D.prototype.wf});D.prototype.get_m_maxSuspensionTravelCm=D.prototype.W=function(){return Kw(this.J)}; +D.prototype.set_m_maxSuspensionTravelCm=D.prototype.ba=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ww(b,a)};Object.defineProperty(D.prototype,"m_maxSuspensionTravelCm",{get:D.prototype.W,set:D.prototype.ba});D.prototype.get_m_wheelRadius=D.prototype.$c=function(){return Pw(this.J)};D.prototype.set_m_wheelRadius=D.prototype.Jf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ax(b,a)};Object.defineProperty(D.prototype,"m_wheelRadius",{get:D.prototype.$c,set:D.prototype.Jf}); +D.prototype.get_m_suspensionStiffness=D.prototype.X=function(){return Mw(this.J)};D.prototype.set_m_suspensionStiffness=D.prototype.da=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yw(b,a)};Object.defineProperty(D.prototype,"m_suspensionStiffness",{get:D.prototype.X,set:D.prototype.da});D.prototype.get_m_wheelsDampingCompression=D.prototype.na=function(){return Qw(this.J)}; +D.prototype.set_m_wheelsDampingCompression=D.prototype.wa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bx(b,a)};Object.defineProperty(D.prototype,"m_wheelsDampingCompression",{get:D.prototype.na,set:D.prototype.wa});D.prototype.get_m_wheelsDampingRelaxation=D.prototype.oa=function(){return Rw(this.J)};D.prototype.set_m_wheelsDampingRelaxation=D.prototype.xa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cx(b,a)}; +Object.defineProperty(D.prototype,"m_wheelsDampingRelaxation",{get:D.prototype.oa,set:D.prototype.xa});D.prototype.get_m_frictionSlip=D.prototype.U=function(){return Iw(this.J)};D.prototype.set_m_frictionSlip=D.prototype.$=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Uw(b,a)};Object.defineProperty(D.prototype,"m_frictionSlip",{get:D.prototype.U,set:D.prototype.$});D.prototype.get_m_maxSuspensionForce=D.prototype.V=function(){return Jw(this.J)}; +D.prototype.set_m_maxSuspensionForce=D.prototype.aa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vw(b,a)};Object.defineProperty(D.prototype,"m_maxSuspensionForce",{get:D.prototype.V,set:D.prototype.aa});D.prototype.get_m_bIsFrontWheel=D.prototype.ha=function(){return!!Gw(this.J)};D.prototype.set_m_bIsFrontWheel=D.prototype.qa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sw(b,a)};Object.defineProperty(D.prototype,"m_bIsFrontWheel",{get:D.prototype.ha,set:D.prototype.qa}); +D.prototype.__destroy__=function(){Fw(this.J)};function fz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=void 0===b?Fi(a):Gi(a,b);l(fz)[this.J]=this}fz.prototype=Object.create(Yy.prototype);fz.prototype.constructor=fz;fz.prototype.K=fz;fz.L={};d.btConvexTriangleMeshShape=fz;fz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ki(b,a)};fz.prototype.getLocalScaling=function(){return m(Ii(this.J),r)}; +fz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Hi(e,a,b)};fz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Li(b,a)};fz.prototype.getMargin=function(){return Ji(this.J)};fz.prototype.__destroy__=function(){Ei(this.J)};function Ly(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL";}Ly.prototype=Object.create(k.prototype);Ly.prototype.constructor=Ly;Ly.prototype.K=Ly; +Ly.L={};d.btBroadphaseInterface=Ly;Ly.prototype.__destroy__=function(){cf(this.J)};function E(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=void 0===f?sq(a,b,e):tq(a,b,e,f);l(E)[this.J]=this}E.prototype=Object.create(k.prototype);E.prototype.constructor=E;E.prototype.K=E;E.L={};d.btRigidBodyConstructionInfo=E;E.prototype.get_m_linearDamping=E.prototype.dc=function(){return Cq(this.J)}; +E.prototype.set_m_linearDamping=E.prototype.Me=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Oq(b,a)};Object.defineProperty(E.prototype,"m_linearDamping",{get:E.prototype.dc,set:E.prototype.Me});E.prototype.get_m_angularDamping=E.prototype.ib=function(){return zq(this.J)};E.prototype.set_m_angularDamping=E.prototype.Rd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lq(b,a)};Object.defineProperty(E.prototype,"m_angularDamping",{get:E.prototype.ib,set:E.prototype.Rd}); +E.prototype.get_m_friction=E.prototype.Lb=function(){return Bq(this.J)};E.prototype.set_m_friction=E.prototype.te=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nq(b,a)};Object.defineProperty(E.prototype,"m_friction",{get:E.prototype.Lb,set:E.prototype.te});E.prototype.get_m_rollingFriction=E.prototype.Ac=function(){return Fq(this.J)};E.prototype.set_m_rollingFriction=E.prototype.hf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rq(b,a)}; +Object.defineProperty(E.prototype,"m_rollingFriction",{get:E.prototype.Ac,set:E.prototype.hf});E.prototype.get_m_restitution=E.prototype.yc=function(){return Eq(this.J)};E.prototype.set_m_restitution=E.prototype.ff=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qq(b,a)};Object.defineProperty(E.prototype,"m_restitution",{get:E.prototype.yc,set:E.prototype.ff});E.prototype.get_m_linearSleepingThreshold=E.prototype.ec=function(){return Dq(this.J)}; +E.prototype.set_m_linearSleepingThreshold=E.prototype.Ne=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pq(b,a)};Object.defineProperty(E.prototype,"m_linearSleepingThreshold",{get:E.prototype.ec,set:E.prototype.Ne});E.prototype.get_m_angularSleepingThreshold=E.prototype.jb=function(){return Aq(this.J)};E.prototype.set_m_angularSleepingThreshold=E.prototype.Sd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mq(b,a)}; +Object.defineProperty(E.prototype,"m_angularSleepingThreshold",{get:E.prototype.jb,set:E.prototype.Sd});E.prototype.get_m_additionalDamping=E.prototype.cb=function(){return!!xq(this.J)};E.prototype.set_m_additionalDamping=E.prototype.Md=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jq(b,a)};Object.defineProperty(E.prototype,"m_additionalDamping",{get:E.prototype.cb,set:E.prototype.Md});E.prototype.get_m_additionalDampingFactor=E.prototype.eb=function(){return wq(this.J)}; +E.prototype.set_m_additionalDampingFactor=E.prototype.Nd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Iq(b,a)};Object.defineProperty(E.prototype,"m_additionalDampingFactor",{get:E.prototype.eb,set:E.prototype.Nd});E.prototype.get_m_additionalLinearDampingThresholdSqr=E.prototype.fb=function(){return yq(this.J)};E.prototype.set_m_additionalLinearDampingThresholdSqr=E.prototype.Od=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kq(b,a)}; +Object.defineProperty(E.prototype,"m_additionalLinearDampingThresholdSqr",{get:E.prototype.fb,set:E.prototype.Od});E.prototype.get_m_additionalAngularDampingThresholdSqr=E.prototype.bb=function(){return vq(this.J)};E.prototype.set_m_additionalAngularDampingThresholdSqr=E.prototype.Ld=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hq(b,a)};Object.defineProperty(E.prototype,"m_additionalAngularDampingThresholdSqr",{get:E.prototype.bb,set:E.prototype.Ld}); +E.prototype.get_m_additionalAngularDampingFactor=E.prototype.ab=function(){return uq(this.J)};E.prototype.set_m_additionalAngularDampingFactor=E.prototype.Kd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gq(b,a)};Object.defineProperty(E.prototype,"m_additionalAngularDampingFactor",{get:E.prototype.ab,set:E.prototype.Kd});E.prototype.__destroy__=function(){rq(this.J)};function gz(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL";}gz.prototype=Object.create(k.prototype); +gz.prototype.constructor=gz;gz.prototype.K=gz;gz.L={};d.btCollisionConfiguration=gz;gz.prototype.__destroy__=function(){Tf(this.J)};function Zy(){this.J=Io();l(Zy)[this.J]=this}Zy.prototype=Object.create(k.prototype);Zy.prototype.constructor=Zy;Zy.prototype.K=Zy;Zy.L={};d.btPersistentManifold=Zy;Zy.prototype.getBody0=function(){return m(Jo(this.J),t)};Zy.prototype.getBody1=function(){return m(Ko(this.J),t)};Zy.prototype.getNumContacts=function(){return Mo(this.J)}; +Zy.prototype.getContactPoint=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Lo(b,a),F)};Zy.prototype.__destroy__=function(){Ho(this.J)};function hz(a){a&&"object"===typeof a&&(a=a.J);this.J=void 0===a?Xg():Yg(a);l(hz)[this.J]=this}hz.prototype=Object.create(q.prototype);hz.prototype.constructor=hz;hz.prototype.K=hz;hz.L={};d.btCompoundShape=hz;hz.prototype.addChildShape=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Wg(e,a,b)}; +hz.prototype.removeChildShapeByIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dh(b,a)};hz.prototype.getNumChildShapes=function(){return ch(this.J)};hz.prototype.getChildShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m($g(b,a),q)};hz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);fh(b,a)};hz.prototype.getMargin=function(){return bh(this.J)}; +hz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);eh(b,a)};hz.prototype.getLocalScaling=function(){return m(ah(this.J),r)};hz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Zg(e,a,b)};hz.prototype.__destroy__=function(){Vg(this.J)};function G(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=vb(a,b);l(G)[this.J]=this}G.prototype=Object.create(x.prototype); +G.prototype.constructor=G;G.prototype.K=G;G.L={};d.ClosestConvexResultCallback=G;G.prototype.hasHit=function(){return!!Eb(this.J)};G.prototype.get_m_convexFromWorld=G.prototype.yb=function(){return m(Ab(this.J),r)};G.prototype.set_m_convexFromWorld=G.prototype.ge=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ib(b,a)};Object.defineProperty(G.prototype,"m_convexFromWorld",{get:G.prototype.yb,set:G.prototype.ge}); +G.prototype.get_m_convexToWorld=G.prototype.zb=function(){return m(Bb(this.J),r)};G.prototype.set_m_convexToWorld=G.prototype.he=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jb(b,a)};Object.defineProperty(G.prototype,"m_convexToWorld",{get:G.prototype.zb,set:G.prototype.he});G.prototype.get_m_hitNormalWorld=G.prototype.ja=function(){return m(Cb(this.J),r)};G.prototype.set_m_hitNormalWorld=G.prototype.sa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kb(b,a)}; +Object.defineProperty(G.prototype,"m_hitNormalWorld",{get:G.prototype.ja,set:G.prototype.sa});G.prototype.get_m_hitPointWorld=G.prototype.ka=function(){return m(Db(this.J),r)};G.prototype.set_m_hitPointWorld=G.prototype.ta=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mb(b,a)};Object.defineProperty(G.prototype,"m_hitPointWorld",{get:G.prototype.ka,set:G.prototype.ta});G.prototype.get_m_collisionFilterGroup=G.prototype.N=function(){return yb(this.J)}; +G.prototype.set_m_collisionFilterGroup=G.prototype.P=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gb(b,a)};Object.defineProperty(G.prototype,"m_collisionFilterGroup",{get:G.prototype.N,set:G.prototype.P});G.prototype.get_m_collisionFilterMask=G.prototype.O=function(){return zb(this.J)};G.prototype.set_m_collisionFilterMask=G.prototype.R=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hb(b,a)};Object.defineProperty(G.prototype,"m_collisionFilterMask",{get:G.prototype.O,set:G.prototype.R}); +G.prototype.get_m_closestHitFraction=G.prototype.S=function(){return xb(this.J)};G.prototype.set_m_closestHitFraction=G.prototype.T=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Fb(b,a)};Object.defineProperty(G.prototype,"m_closestHitFraction",{get:G.prototype.S,set:G.prototype.T});G.prototype.__destroy__=function(){wb(this.J)};function iz(){throw"cannot construct a tMaterialArray, no constructor in IDL";}iz.prototype=Object.create(k.prototype);iz.prototype.constructor=iz; +iz.prototype.K=iz;iz.L={};d.tMaterialArray=iz;iz.prototype.size=iz.prototype.size=function(){return ky(this.J)};iz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(jy(b,a),C)};iz.prototype.__destroy__=function(){iy(this.J)};function jz(a){a&&"object"===typeof a&&(a=a.J);this.J=yj(a);l(jz)[this.J]=this}jz.prototype=Object.create(Vy.prototype);jz.prototype.constructor=jz;jz.prototype.K=jz;jz.L={};d.btDefaultVehicleRaycaster=jz; +jz.prototype.castRay=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);zj(f,a,b,e)};jz.prototype.__destroy__=function(){xj(this.J)};function H(){this.J=Qh();l(H)[this.J]=this}H.prototype=Object.create(k.prototype);H.prototype.constructor=H;H.prototype.K=H;H.L={};d.btConstraintSetting=H;H.prototype.get_m_tau=H.prototype.Pc=function(){return Th(this.J)}; +H.prototype.set_m_tau=H.prototype.yf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wh(b,a)};Object.defineProperty(H.prototype,"m_tau",{get:H.prototype.Pc,set:H.prototype.yf});H.prototype.get_m_damping=H.prototype.Ab=function(){return Rh(this.J)};H.prototype.set_m_damping=H.prototype.ie=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Uh(b,a)};Object.defineProperty(H.prototype,"m_damping",{get:H.prototype.Ab,set:H.prototype.ie});H.prototype.get_m_impulseClamp=H.prototype.Xb=function(){return Sh(this.J)}; +H.prototype.set_m_impulseClamp=H.prototype.Fe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vh(b,a)};Object.defineProperty(H.prototype,"m_impulseClamp",{get:H.prototype.Xb,set:H.prototype.Fe});H.prototype.__destroy__=function(){Ph(this.J)};function kz(){throw"cannot construct a LocalShapeInfo, no constructor in IDL";}kz.prototype=Object.create(k.prototype);kz.prototype.constructor=kz;kz.prototype.K=kz;kz.L={};d.LocalShapeInfo=kz;kz.prototype.get_m_shapePart=kz.prototype.Dc=function(){return Md(this.J)}; +kz.prototype.set_m_shapePart=kz.prototype.lf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Od(b,a)};Object.defineProperty(kz.prototype,"m_shapePart",{get:kz.prototype.Dc,set:kz.prototype.lf});kz.prototype.get_m_triangleIndex=kz.prototype.Sc=function(){return Nd(this.J)};kz.prototype.set_m_triangleIndex=kz.prototype.Bf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pd(b,a)};Object.defineProperty(kz.prototype,"m_triangleIndex",{get:kz.prototype.Sc,set:kz.prototype.Bf}); +kz.prototype.__destroy__=function(){Ld(this.J)};function I(a){a&&"object"===typeof a&&(a=a.J);this.J=dr(a);l(I)[this.J]=this}I.prototype=Object.create(t.prototype);I.prototype.constructor=I;I.prototype.K=I;I.L={};d.btRigidBody=I;I.prototype.getCenterOfMassTransform=function(){return m(ir(this.J),u)};I.prototype.setCenterOfMassTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Br(b,a)}; +I.prototype.setSleepingThresholds=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Or(e,a,b)};I.prototype.setDamping=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Fr(e,a,b)};I.prototype.setMassProps=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Kr(e,a,b)};I.prototype.setLinearFactor=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ir(b,a)}; +I.prototype.applyTorque=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cr(b,a)};I.prototype.applyLocalTorque=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ar(b,a)};I.prototype.applyForce=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Yq(e,a,b)};I.prototype.applyCentralForce=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vq(b,a)}; +I.prototype.applyCentralLocalForce=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xq(b,a)};I.prototype.applyTorqueImpulse=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);br(b,a)};I.prototype.applyImpulse=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);$q(e,a,b)};I.prototype.applyCentralImpulse=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wq(b,a)};I.prototype.updateInertiaTensor=function(){Tr(this.J)}; +I.prototype.getLinearVelocity=function(){return m(mr(this.J),r)};I.prototype.getAngularVelocity=function(){return m(gr(this.J),r)};I.prototype.setLinearVelocity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jr(b,a)};I.prototype.setAngularVelocity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xr(b,a)};I.prototype.getMotionState=function(){return m(nr(this.J),bz)};I.prototype.setMotionState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lr(b,a)}; +I.prototype.setAngularFactor=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wr(b,a)};I.prototype.upcast=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Sr(b,a),I)};I.prototype.getAabb=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);fr(e,a,b)};I.prototype.applyGravity=function(){Zq(this.J)};I.prototype.getGravity=function(){return m(lr(this.J),r)}; +I.prototype.setGravity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hr(b,a)};I.prototype.getBroadphaseProxy=function(){return m(hr(this.J),lz)};I.prototype.setAnisotropicFriction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);yr(e,a,b)};I.prototype.getCollisionShape=function(){return m(kr(this.J),q)};I.prototype.setContactProcessingThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Er(b,a)}; +I.prototype.setActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);vr(b,a)};I.prototype.forceActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);er(b,a)};I.prototype.activate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);void 0===a?Tq(b):Uq(b,a)};I.prototype.isActive=function(){return!!rr(this.J)};I.prototype.isKinematicObject=function(){return!!sr(this.J)};I.prototype.isStaticObject=function(){return!!tr(this.J)}; +I.prototype.isStaticOrKinematicObject=function(){return!!ur(this.J)};I.prototype.setRestitution=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mr(b,a)};I.prototype.setFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gr(b,a)};I.prototype.setRollingFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nr(b,a)};I.prototype.getWorldTransform=function(){return m(qr(this.J),u)};I.prototype.getCollisionFlags=function(){return jr(this.J)}; +I.prototype.setCollisionFlags=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Cr(b,a)};I.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rr(b,a)};I.prototype.setCollisionShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dr(b,a)};I.prototype.setCcdMotionThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zr(b,a)};I.prototype.setCcdSweptSphereRadius=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ar(b,a)}; +I.prototype.getUserIndex=function(){return or(this.J)};I.prototype.setUserIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pr(b,a)};I.prototype.getUserPointer=function(){return m(pr(this.J),Ny)};I.prototype.setUserPointer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qr(b,a)};I.prototype.__destroy__=function(){Sq(this.J)};function mz(){throw"cannot construct a btConvexPolyhedron, no constructor in IDL";}mz.prototype=Object.create(k.prototype);mz.prototype.constructor=mz; +mz.prototype.K=mz;mz.L={};d.btConvexPolyhedron=mz;mz.prototype.get_m_vertices=mz.prototype.Xc=function(){return m(vi(this.J),nz)};mz.prototype.set_m_vertices=mz.prototype.Gf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xi(b,a)};Object.defineProperty(mz.prototype,"m_vertices",{get:mz.prototype.Xc,set:mz.prototype.Gf});mz.prototype.get_m_faces=mz.prototype.Jb=function(){return m(ui(this.J),oz)}; +mz.prototype.set_m_faces=mz.prototype.re=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wi(b,a)};Object.defineProperty(mz.prototype,"m_faces",{get:mz.prototype.Jb,set:mz.prototype.re});mz.prototype.__destroy__=function(){ti(this.J)};function pz(){this.J=hj();l(pz)[this.J]=this}pz.prototype=Object.create(k.prototype);pz.prototype.constructor=pz;pz.prototype.K=pz;pz.L={};d.btDbvtBroadphase=pz;pz.prototype.__destroy__=function(){gj(this.J)}; +function qz(a,b,e,f,g,n,A,Q,ha){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);Q&&"object"===typeof Q&&(Q=Q.J);ha&&"object"===typeof ha&&(ha=ha.J);this.J=zm(a,b,e,f,g,n,A,Q,ha);l(qz)[this.J]=this}qz.prototype=Object.create(Py.prototype);qz.prototype.constructor=qz;qz.prototype.K=qz;qz.L={};d.btHeightfieldTerrainShape=qz; +qz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Em(b,a)};qz.prototype.getMargin=function(){return Cm(this.J)};qz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dm(b,a)};qz.prototype.getLocalScaling=function(){return m(Bm(this.J),r)};qz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Am(e,a,b)};qz.prototype.__destroy__=function(){ym(this.J)}; +function rz(){this.J=wj();l(rz)[this.J]=this}rz.prototype=Object.create(dz.prototype);rz.prototype.constructor=rz;rz.prototype.K=rz;rz.L={};d.btDefaultSoftBodySolver=rz;rz.prototype.__destroy__=function(){vj(this.J)};function sz(a){a&&"object"===typeof a&&(a=a.J);this.J=Vf(a);l(sz)[this.J]=this}sz.prototype=Object.create(Jy.prototype);sz.prototype.constructor=sz;sz.prototype.K=sz;sz.L={};d.btCollisionDispatcher=sz;sz.prototype.getNumManifolds=function(){return Xf(this.J)}; +sz.prototype.getManifoldByIndexInternal=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Wf(b,a),Zy)};sz.prototype.__destroy__=function(){Uf(this.J)};function tz(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=void 0===e?Se(a,b):void 0===f?Te(a,b,e):void 0===g?Ue(a,b,e,f):Ve(a,b,e,f,g);l(tz)[this.J]=this}tz.prototype=Object.create(k.prototype); +tz.prototype.constructor=tz;tz.prototype.K=tz;tz.L={};d.btAxisSweep3=tz;tz.prototype.__destroy__=function(){Re(this.J)};function J(){this.J=Fs();l(J)[this.J]=this}J.prototype=Object.create(k.prototype);J.prototype.constructor=J;J.prototype.K=J;J.L={};d.btSoftBodyWorldInfo=J;J.prototype.get_air_density=J.prototype.Fa=function(){return Gs(this.J)};J.prototype.set_air_density=J.prototype.od=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Os(b,a)}; +Object.defineProperty(J.prototype,"air_density",{get:J.prototype.Fa,set:J.prototype.od});J.prototype.get_water_density=J.prototype.kd=function(){return Ls(this.J)};J.prototype.set_water_density=J.prototype.Sf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ts(b,a)};Object.defineProperty(J.prototype,"water_density",{get:J.prototype.kd,set:J.prototype.Sf});J.prototype.get_water_offset=J.prototype.md=function(){return Ns(this.J)}; +J.prototype.set_water_offset=J.prototype.Uf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vs(b,a)};Object.defineProperty(J.prototype,"water_offset",{get:J.prototype.md,set:J.prototype.Uf});J.prototype.get_m_maxDisplacement=J.prototype.lc=function(){return Ks(this.J)};J.prototype.set_m_maxDisplacement=J.prototype.Te=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ss(b,a)};Object.defineProperty(J.prototype,"m_maxDisplacement",{get:J.prototype.lc,set:J.prototype.Te}); +J.prototype.get_water_normal=J.prototype.ld=function(){return m(Ms(this.J),r)};J.prototype.set_water_normal=J.prototype.Tf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Us(b,a)};Object.defineProperty(J.prototype,"water_normal",{get:J.prototype.ld,set:J.prototype.Tf});J.prototype.get_m_broadphase=J.prototype.nb=function(){return m(Hs(this.J),Ly)};J.prototype.set_m_broadphase=J.prototype.Wd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ps(b,a)}; +Object.defineProperty(J.prototype,"m_broadphase",{get:J.prototype.nb,set:J.prototype.Wd});J.prototype.get_m_dispatcher=J.prototype.Db=function(){return m(Is(this.J),Jy)};J.prototype.set_m_dispatcher=J.prototype.le=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qs(b,a)};Object.defineProperty(J.prototype,"m_dispatcher",{get:J.prototype.Db,set:J.prototype.le});J.prototype.get_m_gravity=J.prototype.Nb=function(){return m(Js(this.J),r)}; +J.prototype.set_m_gravity=J.prototype.ve=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rs(b,a)};Object.defineProperty(J.prototype,"m_gravity",{get:J.prototype.Nb,set:J.prototype.ve});J.prototype.__destroy__=function(){Es(this.J)}; +function uz(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=void 0===e?Ah(a,b):void 0===f?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(a,b,e):Bh(a,b,e,f);l(uz)[this.J]=this}uz.prototype=Object.create(Oy.prototype);uz.prototype.constructor=uz;uz.prototype.K=uz;uz.L={};d.btConeTwistConstraint=uz; +uz.prototype.setLimit=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Jh(e,a,b)};uz.prototype.setAngularOnly=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gh(b,a)};uz.prototype.setDamping=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ih(b,a)};uz.prototype.enableMotor=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dh(b,a)};uz.prototype.setMaxMotorImpulse=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lh(b,a)}; +uz.prototype.setMaxMotorImpulseNormalized=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kh(b,a)};uz.prototype.setMotorTarget=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nh(b,a)};uz.prototype.setMotorTargetInConstraintSpace=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mh(b,a)};uz.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ch(b,a)};uz.prototype.getBreakingImpulseThreshold=function(){return Eh(this.J)}; +uz.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hh(b,a)};uz.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return Fh(e,a,b)};uz.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Oh(f,a,b,e)};uz.prototype.__destroy__=function(){zh(this.J)}; +function vz(a,b,e,f,g,n,A){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);this.J=void 0===e?Gm(a,b):void 0===f?Hm(a,b,e):void 0===g?Im(a,b,e,f):void 0===n?Jm(a,b,e,f,g):void 0===A?Km(a,b,e,f,g,n):Lm(a,b,e,f,g,n,A);l(vz)[this.J]=this}vz.prototype=Object.create(Oy.prototype);vz.prototype.constructor=vz;vz.prototype.K=vz; +vz.L={};d.btHingeConstraint=vz;vz.prototype.setLimit=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);void 0===g?Tm(n,a,b,e,f):Um(n,a,b,e,f,g)};vz.prototype.enableAngularMotor=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Mm(f,a,b,e)}; +vz.prototype.setAngularOnly=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rm(b,a)};vz.prototype.enableMotor=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Om(b,a)};vz.prototype.setMaxMotorImpulse=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vm(b,a)};vz.prototype.setMotorTarget=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Wm(e,a,b)}; +vz.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nm(b,a)};vz.prototype.getBreakingImpulseThreshold=function(){return Pm(this.J)};vz.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sm(b,a)};vz.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return Qm(e,a,b)}; +vz.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Xm(f,a,b,e)};vz.prototype.__destroy__=function(){Fm(this.J)};function wz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=qh(a,b);l(wz)[this.J]=this}wz.prototype=Object.create(Ty.prototype);wz.prototype.constructor=wz;wz.prototype.K=wz;wz.L={};d.btConeShapeZ=wz; +wz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);th(b,a)};wz.prototype.getLocalScaling=function(){return m(sh(this.J),r)};wz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);rh(e,a,b)};wz.prototype.__destroy__=function(){ph(this.J)};function xz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=lh(a,b);l(xz)[this.J]=this}xz.prototype=Object.create(Ty.prototype); +xz.prototype.constructor=xz;xz.prototype.K=xz;xz.L={};d.btConeShapeX=xz;xz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);oh(b,a)};xz.prototype.getLocalScaling=function(){return m(nh(this.J),r)};xz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);mh(e,a,b)};xz.prototype.__destroy__=function(){kh(this.J)}; +function yz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=void 0===a?pv():void 0===b?qv(a):rv(a,b);l(yz)[this.J]=this}yz.prototype=Object.create(az.prototype);yz.prototype.constructor=yz;yz.prototype.K=yz;yz.L={};d.btTriangleMesh=yz;yz.prototype.addTriangle=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);void 0===f?nv(g,a,b,e):ov(g,a,b,e,f)}; +yz.prototype.__destroy__=function(){mv(this.J)};function zz(a,b){c.M();"object"==typeof a&&(a=Hy(a));b&&"object"===typeof b&&(b=b.J);this.J=void 0===a?hi():void 0===b?ii(a):ji(a,b);l(zz)[this.J]=this}zz.prototype=Object.create(q.prototype);zz.prototype.constructor=zz;zz.prototype.K=zz;zz.L={};d.btConvexHullShape=zz;zz.prototype.addPoint=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);void 0===b?fi(e,a):gi(e,a,b)}; +zz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);si(b,a)};zz.prototype.getMargin=function(){return ni(this.J)};zz.prototype.getNumVertices=function(){return oi(this.J)};zz.prototype.initializePolyhedralFeatures=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return!!pi(b,a)};zz.prototype.recalcLocalAabb=function(){qi(this.J)};zz.prototype.getConvexPolyhedron=function(){return m(li(this.J),mz)}; +zz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ri(b,a)};zz.prototype.getLocalScaling=function(){return m(mi(this.J),r)};zz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);ki(e,a,b)};zz.prototype.__destroy__=function(){ei(this.J)};function K(){this.J=sw();l(K)[this.J]=this}K.prototype=Object.create(k.prototype);K.prototype.constructor=K;K.prototype.K=K;K.L={};d.btVehicleTuning=K; +K.prototype.get_m_suspensionStiffness=K.prototype.X=function(){return yw(this.J)};K.prototype.set_m_suspensionStiffness=K.prototype.da=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ew(b,a)};Object.defineProperty(K.prototype,"m_suspensionStiffness",{get:K.prototype.X,set:K.prototype.da});K.prototype.get_m_suspensionCompression=K.prototype.Jc=function(){return ww(this.J)}; +K.prototype.set_m_suspensionCompression=K.prototype.sf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Cw(b,a)};Object.defineProperty(K.prototype,"m_suspensionCompression",{get:K.prototype.Jc,set:K.prototype.sf});K.prototype.get_m_suspensionDamping=K.prototype.Kc=function(){return xw(this.J)};K.prototype.set_m_suspensionDamping=K.prototype.tf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dw(b,a)};Object.defineProperty(K.prototype,"m_suspensionDamping",{get:K.prototype.Kc,set:K.prototype.tf}); +K.prototype.get_m_maxSuspensionTravelCm=K.prototype.W=function(){return vw(this.J)};K.prototype.set_m_maxSuspensionTravelCm=K.prototype.ba=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bw(b,a)};Object.defineProperty(K.prototype,"m_maxSuspensionTravelCm",{get:K.prototype.W,set:K.prototype.ba});K.prototype.get_m_frictionSlip=K.prototype.U=function(){return tw(this.J)};K.prototype.set_m_frictionSlip=K.prototype.$=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zw(b,a)}; +Object.defineProperty(K.prototype,"m_frictionSlip",{get:K.prototype.U,set:K.prototype.$});K.prototype.get_m_maxSuspensionForce=K.prototype.V=function(){return uw(this.J)};K.prototype.set_m_maxSuspensionForce=K.prototype.aa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Aw(b,a)};Object.defineProperty(K.prototype,"m_maxSuspensionForce",{get:K.prototype.V,set:K.prototype.aa});function Az(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL";}Az.prototype=Object.create(k.prototype); +Az.prototype.constructor=Az;Az.prototype.K=Az;Az.L={};d.btCollisionObjectWrapper=Az;function Bz(a){a&&"object"===typeof a&&(a=a.J);this.J=Xr(a);l(Bz)[this.J]=this}Bz.prototype=Object.create(k.prototype);Bz.prototype.constructor=Bz;Bz.prototype.K=Bz;Bz.L={};d.btShapeHull=Bz;Bz.prototype.buildHull=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return!!Yr(b,a)};Bz.prototype.numVertices=function(){return $r(this.J)};Bz.prototype.getVertexPointer=function(){return m(Zr(this.J),r)}; +Bz.prototype.__destroy__=function(){Wr(this.J)};function Cz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=void 0===a?oj():void 0===b?pj(a):qj(a,b);l(Cz)[this.J]=this}Cz.prototype=Object.create(bz.prototype);Cz.prototype.constructor=Cz;Cz.prototype.K=Cz;Cz.L={};d.btDefaultMotionState=Cz;Cz.prototype.getWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);rj(b,a)}; +Cz.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tj(b,a)};Cz.prototype.get_m_graphicsWorldTrans=Cz.prototype.Mb=function(){return m(sj(this.J),u)};Cz.prototype.set_m_graphicsWorldTrans=Cz.prototype.ue=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);uj(b,a)};Object.defineProperty(Cz.prototype,"m_graphicsWorldTrans",{get:Cz.prototype.Mb,set:Cz.prototype.ue});Cz.prototype.__destroy__=function(){nj(this.J)}; +function L(a){a&&"object"===typeof a&&(a=a.J);this.J=ex(a);l(L)[this.J]=this}L.prototype=Object.create(k.prototype);L.prototype.constructor=L;L.prototype.K=L;L.L={};d.btWheelInfo=L;L.prototype.getSuspensionRestLength=function(){return fx(this.J)};L.prototype.updateWheel=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);by(e,a,b)};L.prototype.get_m_suspensionStiffness=L.prototype.X=function(){return wx(this.J)}; +L.prototype.set_m_suspensionStiffness=L.prototype.da=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ux(b,a)};Object.defineProperty(L.prototype,"m_suspensionStiffness",{get:L.prototype.X,set:L.prototype.da});L.prototype.get_m_frictionSlip=L.prototype.U=function(){return mx(this.J)};L.prototype.set_m_frictionSlip=L.prototype.$=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kx(b,a)};Object.defineProperty(L.prototype,"m_frictionSlip",{get:L.prototype.U,set:L.prototype.$}); +L.prototype.get_m_engineForce=L.prototype.Hb=function(){return lx(this.J)};L.prototype.set_m_engineForce=L.prototype.pe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jx(b,a)};Object.defineProperty(L.prototype,"m_engineForce",{get:L.prototype.Hb,set:L.prototype.pe});L.prototype.get_m_rollInfluence=L.prototype.zc=function(){return qx(this.J)};L.prototype.set_m_rollInfluence=L.prototype.gf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ox(b,a)}; +Object.defineProperty(L.prototype,"m_rollInfluence",{get:L.prototype.zc,set:L.prototype.gf});L.prototype.get_m_suspensionRestLength1=L.prototype.Oc=function(){return vx(this.J)};L.prototype.set_m_suspensionRestLength1=L.prototype.xf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tx(b,a)};Object.defineProperty(L.prototype,"m_suspensionRestLength1",{get:L.prototype.Oc,set:L.prototype.xf});L.prototype.get_m_wheelsRadius=L.prototype.ad=function(){return Bx(this.J)}; +L.prototype.set_m_wheelsRadius=L.prototype.Kf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zx(b,a)};Object.defineProperty(L.prototype,"m_wheelsRadius",{get:L.prototype.ad,set:L.prototype.Kf});L.prototype.get_m_wheelsDampingCompression=L.prototype.na=function(){return zx(this.J)};L.prototype.set_m_wheelsDampingCompression=L.prototype.wa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xx(b,a)};Object.defineProperty(L.prototype,"m_wheelsDampingCompression",{get:L.prototype.na,set:L.prototype.wa}); +L.prototype.get_m_wheelsDampingRelaxation=L.prototype.oa=function(){return Ax(this.J)};L.prototype.set_m_wheelsDampingRelaxation=L.prototype.xa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yx(b,a)};Object.defineProperty(L.prototype,"m_wheelsDampingRelaxation",{get:L.prototype.oa,set:L.prototype.xa});L.prototype.get_m_steering=L.prototype.Hc=function(){return tx(this.J)};L.prototype.set_m_steering=L.prototype.qf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rx(b,a)}; +Object.defineProperty(L.prototype,"m_steering",{get:L.prototype.Hc,set:L.prototype.qf});L.prototype.get_m_maxSuspensionForce=L.prototype.V=function(){return nx(this.J)};L.prototype.set_m_maxSuspensionForce=L.prototype.aa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lx(b,a)};Object.defineProperty(L.prototype,"m_maxSuspensionForce",{get:L.prototype.V,set:L.prototype.aa});L.prototype.get_m_maxSuspensionTravelCm=L.prototype.W=function(){return ox(this.J)}; +L.prototype.set_m_maxSuspensionTravelCm=L.prototype.ba=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mx(b,a)};Object.defineProperty(L.prototype,"m_maxSuspensionTravelCm",{get:L.prototype.W,set:L.prototype.ba});L.prototype.get_m_wheelsSuspensionForce=L.prototype.bd=function(){return Cx(this.J)};L.prototype.set_m_wheelsSuspensionForce=L.prototype.Lf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$x(b,a)}; +Object.defineProperty(L.prototype,"m_wheelsSuspensionForce",{get:L.prototype.bd,set:L.prototype.Lf});L.prototype.get_m_bIsFrontWheel=L.prototype.ha=function(){return!!gx(this.J)};L.prototype.set_m_bIsFrontWheel=L.prototype.qa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ex(b,a)};Object.defineProperty(L.prototype,"m_bIsFrontWheel",{get:L.prototype.ha,set:L.prototype.qa});L.prototype.get_m_raycastInfo=L.prototype.xc=function(){return m(px(this.J),M)}; +L.prototype.set_m_raycastInfo=L.prototype.ef=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nx(b,a)};Object.defineProperty(L.prototype,"m_raycastInfo",{get:L.prototype.xc,set:L.prototype.ef});L.prototype.get_m_chassisConnectionPointCS=L.prototype.tb=function(){return m(ix(this.J),r)};L.prototype.set_m_chassisConnectionPointCS=L.prototype.be=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gx(b,a)}; +Object.defineProperty(L.prototype,"m_chassisConnectionPointCS",{get:L.prototype.tb,set:L.prototype.be});L.prototype.get_m_worldTransform=L.prototype.cd=function(){return m(Dx(this.J),u)};L.prototype.set_m_worldTransform=L.prototype.Mf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ay(b,a)};Object.defineProperty(L.prototype,"m_worldTransform",{get:L.prototype.cd,set:L.prototype.Mf});L.prototype.get_m_wheelDirectionCS=L.prototype.ma=function(){return m(yx(this.J),r)}; +L.prototype.set_m_wheelDirectionCS=L.prototype.va=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wx(b,a)};Object.defineProperty(L.prototype,"m_wheelDirectionCS",{get:L.prototype.ma,set:L.prototype.va});L.prototype.get_m_wheelAxleCS=L.prototype.la=function(){return m(xx(this.J),r)};L.prototype.set_m_wheelAxleCS=L.prototype.ua=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vx(b,a)};Object.defineProperty(L.prototype,"m_wheelAxleCS",{get:L.prototype.la,set:L.prototype.ua}); +L.prototype.get_m_rotation=L.prototype.Bc=function(){return rx(this.J)};L.prototype.set_m_rotation=L.prototype.jf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Px(b,a)};Object.defineProperty(L.prototype,"m_rotation",{get:L.prototype.Bc,set:L.prototype.jf});L.prototype.get_m_deltaRotation=L.prototype.Bb=function(){return kx(this.J)};L.prototype.set_m_deltaRotation=L.prototype.je=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ix(b,a)}; +Object.defineProperty(L.prototype,"m_deltaRotation",{get:L.prototype.Bb,set:L.prototype.je});L.prototype.get_m_brake=L.prototype.mb=function(){return hx(this.J)};L.prototype.set_m_brake=L.prototype.Vd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Fx(b,a)};Object.defineProperty(L.prototype,"m_brake",{get:L.prototype.mb,set:L.prototype.Vd});L.prototype.get_m_clippedInvContactDotSuspension=L.prototype.ub=function(){return jx(this.J)}; +L.prototype.set_m_clippedInvContactDotSuspension=L.prototype.ce=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hx(b,a)};Object.defineProperty(L.prototype,"m_clippedInvContactDotSuspension",{get:L.prototype.ub,set:L.prototype.ce});L.prototype.get_m_suspensionRelativeVelocity=L.prototype.Mc=function(){return ux(this.J)};L.prototype.set_m_suspensionRelativeVelocity=L.prototype.vf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sx(b,a)}; +Object.defineProperty(L.prototype,"m_suspensionRelativeVelocity",{get:L.prototype.Mc,set:L.prototype.vf});L.prototype.get_m_skidInfo=L.prototype.Ec=function(){return sx(this.J)};L.prototype.set_m_skidInfo=L.prototype.mf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qx(b,a)};Object.defineProperty(L.prototype,"m_skidInfo",{get:L.prototype.Ec,set:L.prototype.mf});L.prototype.__destroy__=function(){dx(this.J)}; +function N(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=void 0===a?Tv():void 0===b?_emscripten_bind_btVector4_btVector4_1(a):void 0===e?_emscripten_bind_btVector4_btVector4_2(a,b):void 0===f?_emscripten_bind_btVector4_btVector4_3(a,b,e):Uv(a,b,e,f);l(N)[this.J]=this}N.prototype=Object.create(r.prototype);N.prototype.constructor=N;N.prototype.K=N;N.L={};d.btVector4=N;N.prototype.w=N.prototype.za=function(){return fw(this.J)}; +N.prototype.setValue=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);bw(g,a,b,e,f)};N.prototype.length=N.prototype.length=function(){return Wv(this.J)};N.prototype.x=N.prototype.x=function(){return gw(this.J)};N.prototype.y=N.prototype.y=function(){return hw(this.J)};N.prototype.z=N.prototype.z=function(){return iw(this.J)}; +N.prototype.setX=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cw(b,a)};N.prototype.setY=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dw(b,a)};N.prototype.setZ=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ew(b,a)};N.prototype.normalize=N.prototype.normalize=function(){Xv(this.J)};N.prototype.rotate=N.prototype.rotate=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return m(aw(e,a,b),r)}; +N.prototype.dot=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return Vv(b,a)};N.prototype.op_mul=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Zv(b,a),r)};N.prototype.op_add=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Yv(b,a),r)};N.prototype.op_sub=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m($v(b,a),r)};N.prototype.__destroy__=function(){Sv(this.J)};function Dz(){this.J=mj();l(Dz)[this.J]=this}Dz.prototype=Object.create(k.prototype); +Dz.prototype.constructor=Dz;Dz.prototype.K=Dz;Dz.L={};d.btDefaultCollisionConstructionInfo=Dz;Dz.prototype.__destroy__=function(){lj(this.J)};function O(){throw"cannot construct a Anchor, no constructor in IDL";}O.prototype=Object.create(k.prototype);O.prototype.constructor=O;O.prototype.K=O;O.L={};d.Anchor=O;O.prototype.get_m_node=O.prototype.nc=function(){return m(nb(this.J),Node)};O.prototype.set_m_node=O.prototype.Ve=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ub(b,a)}; +Object.defineProperty(O.prototype,"m_node",{get:O.prototype.nc,set:O.prototype.Ve});O.prototype.get_m_local=O.prototype.fc=function(){return m(mb(this.J),r)};O.prototype.set_m_local=O.prototype.Oe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tb(b,a)};Object.defineProperty(O.prototype,"m_local",{get:O.prototype.fc,set:O.prototype.Oe});O.prototype.get_m_body=O.prototype.lb=function(){return m(hb(this.J),I)}; +O.prototype.set_m_body=O.prototype.Ud=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ob(b,a)};Object.defineProperty(O.prototype,"m_body",{get:O.prototype.lb,set:O.prototype.Ud});O.prototype.get_m_influence=O.prototype.Zb=function(){return lb(this.J)};O.prototype.set_m_influence=O.prototype.He=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);sb(b,a)};Object.defineProperty(O.prototype,"m_influence",{get:O.prototype.Zb,set:O.prototype.He}); +O.prototype.get_m_c0=O.prototype.ob=function(){return m(ib(this.J),ez)};O.prototype.set_m_c0=O.prototype.Xd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);pb(b,a)};Object.defineProperty(O.prototype,"m_c0",{get:O.prototype.ob,set:O.prototype.Xd});O.prototype.get_m_c1=O.prototype.pb=function(){return m(jb(this.J),r)};O.prototype.set_m_c1=O.prototype.Yd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);qb(b,a)};Object.defineProperty(O.prototype,"m_c1",{get:O.prototype.pb,set:O.prototype.Yd}); +O.prototype.get_m_c2=O.prototype.qb=function(){return kb(this.J)};O.prototype.set_m_c2=O.prototype.Zd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);rb(b,a)};Object.defineProperty(O.prototype,"m_c2",{get:O.prototype.qb,set:O.prototype.Zd});O.prototype.__destroy__=function(){gb(this.J)};function P(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL";}P.prototype=Object.create(k.prototype);P.prototype.constructor=P;P.prototype.K=P;P.L={};d.btVehicleRaycasterResult=P; +P.prototype.get_m_hitPointInWorld=P.prototype.Ub=function(){return m(mw(this.J),r)};P.prototype.set_m_hitPointInWorld=P.prototype.Ce=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);pw(b,a)};Object.defineProperty(P.prototype,"m_hitPointInWorld",{get:P.prototype.Ub,set:P.prototype.Ce});P.prototype.get_m_hitNormalInWorld=P.prototype.Sb=function(){return m(lw(this.J),r)};P.prototype.set_m_hitNormalInWorld=P.prototype.Ae=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ow(b,a)}; +Object.defineProperty(P.prototype,"m_hitNormalInWorld",{get:P.prototype.Sb,set:P.prototype.Ae});P.prototype.get_m_distFraction=P.prototype.Eb=function(){return kw(this.J)};P.prototype.set_m_distFraction=P.prototype.me=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);nw(b,a)};Object.defineProperty(P.prototype,"m_distFraction",{get:P.prototype.Eb,set:P.prototype.me});P.prototype.__destroy__=function(){jw(this.J)}; +function nz(){throw"cannot construct a btVector3Array, no constructor in IDL";}nz.prototype=Object.create(k.prototype);nz.prototype.constructor=nz;nz.prototype.K=nz;nz.L={};d.btVector3Array=nz;nz.prototype.size=nz.prototype.size=function(){return Av(this.J)};nz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(zv(b,a),r)};nz.prototype.__destroy__=function(){yv(this.J)};function Ez(){throw"cannot construct a btConstraintSolver, no constructor in IDL";}Ez.prototype=Object.create(k.prototype); +Ez.prototype.constructor=Ez;Ez.prototype.K=Ez;Ez.L={};d.btConstraintSolver=Ez;Ez.prototype.__destroy__=function(){Xh(this.J)};function R(a,b,e){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);this.J=Pp(a,b,e);l(R)[this.J]=this}R.prototype=Object.create(Uy.prototype);R.prototype.constructor=R;R.prototype.K=R;R.L={};d.btRaycastVehicle=R; +R.prototype.applyEngineForce=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Op(e,a,b)};R.prototype.setSteeringValue=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);hq(e,a,b)};R.prototype.getWheelTransformWS=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(bq(b,a),u)}; +R.prototype.updateWheelTransform=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);oq(e,a,b)};R.prototype.addWheel=function(a,b,e,f,g,n,A){var Q=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);return m(Np(Q,a,b,e,f,g,n,A),L)};R.prototype.getNumWheels=function(){return Up(this.J)}; +R.prototype.getRigidBody=function(){return m(Wp(this.J),I)};R.prototype.getWheelInfo=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(aq(b,a),L)};R.prototype.setBrake=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);eq(e,a,b)};R.prototype.setCoordinateSystem=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);fq(f,a,b,e)};R.prototype.getCurrentSpeedKmHour=function(){return Rp(this.J)}; +R.prototype.getChassisWorldTransform=function(){return m(Qp(this.J),u)};R.prototype.rayCast=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return cq(b,a)};R.prototype.updateVehicle=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);nq(b,a)};R.prototype.resetSuspension=function(){dq(this.J)};R.prototype.getSteeringValue=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return Xp(b,a)}; +R.prototype.updateWheelTransformsWS=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);void 0===b?pq(e,a):qq(e,a,b)};R.prototype.setPitchControl=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gq(b,a)};R.prototype.updateSuspension=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);mq(b,a)};R.prototype.updateFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);lq(b,a)};R.prototype.getRightAxis=function(){return Vp(this.J)}; +R.prototype.getUpAxis=function(){return Yp(this.J)};R.prototype.getForwardAxis=function(){return Sp(this.J)};R.prototype.getForwardVector=function(){return m(Tp(this.J),r)};R.prototype.getUserConstraintType=function(){return $p(this.J)};R.prototype.setUserConstraintType=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);jq(b,a)};R.prototype.setUserConstraintId=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);iq(b,a)};R.prototype.getUserConstraintId=function(){return Zp(this.J)}; +R.prototype.updateAction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);kq(e,a,b)};R.prototype.__destroy__=function(){Mp(this.J)};function Fz(a){a&&"object"===typeof a&&(a=a.J);this.J=Ni(a);l(Fz)[this.J]=this}Fz.prototype=Object.create(Xy.prototype);Fz.prototype.constructor=Fz;Fz.prototype.K=Fz;Fz.L={};d.btCylinderShapeX=Fz;Fz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Si(b,a)};Fz.prototype.getMargin=function(){return Qi(this.J)}; +Fz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ri(b,a)};Fz.prototype.getLocalScaling=function(){return m(Pi(this.J),r)};Fz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Oi(e,a,b)};Fz.prototype.__destroy__=function(){Mi(this.J)};function Gz(a){a&&"object"===typeof a&&(a=a.J);this.J=Ui(a);l(Gz)[this.J]=this}Gz.prototype=Object.create(Xy.prototype);Gz.prototype.constructor=Gz; +Gz.prototype.K=Gz;Gz.L={};d.btCylinderShapeZ=Gz;Gz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zi(b,a)};Gz.prototype.getMargin=function(){return Xi(this.J)};Gz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yi(b,a)};Gz.prototype.getLocalScaling=function(){return m(Wi(this.J),r)};Gz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Vi(e,a,b)}; +Gz.prototype.__destroy__=function(){Ti(this.J)};function Hz(){this.J=Vr();l(Hz)[this.J]=this}Hz.prototype=Object.create(k.prototype);Hz.prototype.constructor=Hz;Hz.prototype.K=Hz;Hz.L={};d.btSequentialImpulseConstraintSolver=Hz;Hz.prototype.__destroy__=function(){Ur(this.J)};function Iz(){throw"cannot construct a tAnchorArray, no constructor in IDL";}Iz.prototype=Object.create(k.prototype);Iz.prototype.constructor=Iz;Iz.prototype.K=Iz;Iz.L={};d.tAnchorArray=Iz; +Iz.prototype.size=Iz.prototype.size=function(){return hy(this.J)};Iz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(dy(b,a),O)};Iz.prototype.clear=Iz.prototype.clear=function(){ey(this.J)};Iz.prototype.push_back=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gy(b,a)};Iz.prototype.pop_back=function(){fy(this.J)};Iz.prototype.__destroy__=function(){cy(this.J)};function M(){throw"cannot construct a RaycastInfo, no constructor in IDL";}M.prototype=Object.create(k.prototype); +M.prototype.constructor=M;M.prototype.K=M;M.L={};d.RaycastInfo=M;M.prototype.get_m_contactNormalWS=M.prototype.vb=function(){return m(ye(this.J),r)};M.prototype.set_m_contactNormalWS=M.prototype.de=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ge(b,a)};Object.defineProperty(M.prototype,"m_contactNormalWS",{get:M.prototype.vb,set:M.prototype.de});M.prototype.get_m_contactPointWS=M.prototype.wb=function(){return m(ze(this.J),r)}; +M.prototype.set_m_contactPointWS=M.prototype.ee=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);He(b,a)};Object.defineProperty(M.prototype,"m_contactPointWS",{get:M.prototype.wb,set:M.prototype.ee});M.prototype.get_m_suspensionLength=M.prototype.Lc=function(){return De(this.J)};M.prototype.set_m_suspensionLength=M.prototype.uf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Le(b,a)};Object.defineProperty(M.prototype,"m_suspensionLength",{get:M.prototype.Lc,set:M.prototype.uf}); +M.prototype.get_m_hardPointWS=M.prototype.Pb=function(){return m(Be(this.J),r)};M.prototype.set_m_hardPointWS=M.prototype.xe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Je(b,a)};Object.defineProperty(M.prototype,"m_hardPointWS",{get:M.prototype.Pb,set:M.prototype.xe});M.prototype.get_m_wheelDirectionWS=M.prototype.Zc=function(){return m(Fe(this.J),r)};M.prototype.set_m_wheelDirectionWS=M.prototype.If=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ne(b,a)}; +Object.defineProperty(M.prototype,"m_wheelDirectionWS",{get:M.prototype.Zc,set:M.prototype.If});M.prototype.get_m_wheelAxleWS=M.prototype.Yc=function(){return m(Ee(this.J),r)};M.prototype.set_m_wheelAxleWS=M.prototype.Hf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Me(b,a)};Object.defineProperty(M.prototype,"m_wheelAxleWS",{get:M.prototype.Yc,set:M.prototype.Hf});M.prototype.get_m_isInContact=M.prototype.$b=function(){return!!Ce(this.J)}; +M.prototype.set_m_isInContact=M.prototype.Ie=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ke(b,a)};Object.defineProperty(M.prototype,"m_isInContact",{get:M.prototype.$b,set:M.prototype.Ie});M.prototype.get_m_groundObject=M.prototype.Ob=function(){return Ae(this.J)};M.prototype.set_m_groundObject=M.prototype.we=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ie(b,a)};Object.defineProperty(M.prototype,"m_groundObject",{get:M.prototype.Ob,set:M.prototype.we}); +M.prototype.__destroy__=function(){xe(this.J)};function Jz(){throw"cannot construct a tNodeArray, no constructor in IDL";}Jz.prototype=Object.create(k.prototype);Jz.prototype.constructor=Jz;Jz.prototype.K=Jz;Jz.L={};d.tNodeArray=Jz;Jz.prototype.size=Jz.prototype.size=function(){return ny(this.J)};Jz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(my(b,a),Node)};Jz.prototype.__destroy__=function(){ly(this.J)}; +function S(a,b,e,f){c.M();a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);"object"==typeof f&&(f=Hy(f));this.J=ht(a,b,e,f);l(S)[this.J]=this}S.prototype=Object.create(t.prototype);S.prototype.constructor=S;S.prototype.K=S;S.L={};d.btSoftBody=S;S.prototype.checkLink=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return!!jt(e,a,b)}; +S.prototype.checkFace=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);return!!it(f,a,b,e)};S.prototype.appendMaterial=function(){return m(et(this.J),C)};S.prototype.appendNode=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);ft(e,a,b)}; +S.prototype.appendLink=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);dt(g,a,b,e,f)};S.prototype.appendFace=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);ct(g,a,b,e,f)}; +S.prototype.appendTetra=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);gt(n,a,b,e,f,g)};S.prototype.appendAnchor=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);bt(g,a,b,e,f)}; +S.prototype.addForce=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);void 0===b?$s(e,a):at(e,a,b)};S.prototype.addAeroForceToNode=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Zs(e,a,b)};S.prototype.getTotalMass=function(){return qt(this.J)};S.prototype.setTotalMass=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Pt(e,a,b)}; +S.prototype.setMass=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Mt(e,a,b)};S.prototype.transform=S.prototype.transform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xt(b,a)};S.prototype.translate=S.prototype.translate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yt(b,a)};S.prototype.rotate=S.prototype.rotate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ct(b,a)}; +S.prototype.scale=S.prototype.scale=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Dt(b,a)};S.prototype.generateClusters=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return void 0===b?mt(e,a):nt(e,a,b)};S.prototype.generateBendingConstraints=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return lt(e,a,b)};S.prototype.upcast=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Zt(b,a),S)}; +S.prototype.setAnisotropicFriction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Ft(e,a,b)};S.prototype.getCollisionShape=function(){return m(pt(this.J),q)};S.prototype.setContactProcessingThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kt(b,a)};S.prototype.setActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Et(b,a)}; +S.prototype.forceActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);kt(b,a)};S.prototype.activate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);void 0===a?Xs(b):Ys(b,a)};S.prototype.isActive=function(){return!!yt(this.J)};S.prototype.isKinematicObject=function(){return!!zt(this.J)};S.prototype.isStaticObject=function(){return!!At(this.J)};S.prototype.isStaticOrKinematicObject=function(){return!!Bt(this.J)}; +S.prototype.setRestitution=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nt(b,a)};S.prototype.setFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lt(b,a)};S.prototype.setRollingFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ot(b,a)};S.prototype.getWorldTransform=function(){return m(tt(this.J),u)};S.prototype.getCollisionFlags=function(){return ot(this.J)};S.prototype.setCollisionFlags=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);It(b,a)}; +S.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);St(b,a)};S.prototype.setCollisionShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jt(b,a)};S.prototype.setCcdMotionThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gt(b,a)};S.prototype.setCcdSweptSphereRadius=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ht(b,a)};S.prototype.getUserIndex=function(){return rt(this.J)}; +S.prototype.setUserIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qt(b,a)};S.prototype.getUserPointer=function(){return m(st(this.J),Ny)};S.prototype.setUserPointer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rt(b,a)};S.prototype.get_m_cfg=S.prototype.rb=function(){return m(vt(this.J),T)};S.prototype.set_m_cfg=S.prototype.$d=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ut(b,a)};Object.defineProperty(S.prototype,"m_cfg",{get:S.prototype.rb,set:S.prototype.$d}); +S.prototype.get_m_nodes=S.prototype.oc=function(){return m(xt(this.J),Jz)};S.prototype.set_m_nodes=S.prototype.We=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wt(b,a)};Object.defineProperty(S.prototype,"m_nodes",{get:S.prototype.oc,set:S.prototype.We});S.prototype.get_m_materials=S.prototype.kc=function(){return m(wt(this.J),iz)};S.prototype.set_m_materials=S.prototype.Se=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vt(b,a)}; +Object.defineProperty(S.prototype,"m_materials",{get:S.prototype.kc,set:S.prototype.Se});S.prototype.get_m_anchors=S.prototype.hb=function(){return m(ut(this.J),Iz)};S.prototype.set_m_anchors=S.prototype.Qd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tt(b,a)};Object.defineProperty(S.prototype,"m_anchors",{get:S.prototype.hb,set:S.prototype.Qd});S.prototype.__destroy__=function(){Ws(this.J)};function Kz(){throw"cannot construct a btIntArray, no constructor in IDL";}Kz.prototype=Object.create(k.prototype); +Kz.prototype.constructor=Kz;Kz.prototype.K=Kz;Kz.L={};d.btIntArray=Kz;Kz.prototype.size=Kz.prototype.size=function(){return gn(this.J)};Kz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return fn(b,a)};Kz.prototype.__destroy__=function(){en(this.J)};function T(){throw"cannot construct a Config, no constructor in IDL";}T.prototype=Object.create(k.prototype);T.prototype.constructor=T;T.prototype.K=T;T.L={};d.Config=T;T.prototype.get_kVCF=T.prototype.$a=function(){return Dc(this.J)}; +T.prototype.set_kVCF=T.prototype.Jd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bd(b,a)};Object.defineProperty(T.prototype,"kVCF",{get:T.prototype.$a,set:T.prototype.Jd});T.prototype.get_kDP=T.prototype.Na=function(){return rc(this.J)};T.prototype.set_kDP=T.prototype.wd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qc(b,a)};Object.defineProperty(T.prototype,"kDP",{get:T.prototype.Na,set:T.prototype.wd});T.prototype.get_kDG=T.prototype.Ma=function(){return qc(this.J)}; +T.prototype.set_kDG=T.prototype.vd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pc(b,a)};Object.defineProperty(T.prototype,"kDG",{get:T.prototype.Ma,set:T.prototype.vd});T.prototype.get_kLF=T.prototype.Pa=function(){return tc(this.J)};T.prototype.set_kLF=T.prototype.yd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sc(b,a)};Object.defineProperty(T.prototype,"kLF",{get:T.prototype.Pa,set:T.prototype.yd});T.prototype.get_kPR=T.prototype.Ra=function(){return vc(this.J)}; +T.prototype.set_kPR=T.prototype.Ad=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Uc(b,a)};Object.defineProperty(T.prototype,"kPR",{get:T.prototype.Ra,set:T.prototype.Ad});T.prototype.get_kVC=T.prototype.Za=function(){return Ec(this.J)};T.prototype.set_kVC=T.prototype.Id=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cd(b,a)};Object.defineProperty(T.prototype,"kVC",{get:T.prototype.Za,set:T.prototype.Id});T.prototype.get_kDF=T.prototype.La=function(){return pc(this.J)}; +T.prototype.set_kDF=T.prototype.ud=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Oc(b,a)};Object.defineProperty(T.prototype,"kDF",{get:T.prototype.La,set:T.prototype.ud});T.prototype.get_kMT=T.prototype.Qa=function(){return uc(this.J)};T.prototype.set_kMT=T.prototype.zd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tc(b,a)};Object.defineProperty(T.prototype,"kMT",{get:T.prototype.Qa,set:T.prototype.zd});T.prototype.get_kCHR=T.prototype.Ka=function(){return oc(this.J)}; +T.prototype.set_kCHR=T.prototype.td=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nc(b,a)};Object.defineProperty(T.prototype,"kCHR",{get:T.prototype.Ka,set:T.prototype.td});T.prototype.get_kKHR=T.prototype.Oa=function(){return sc(this.J)};T.prototype.set_kKHR=T.prototype.xd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rc(b,a)};Object.defineProperty(T.prototype,"kKHR",{get:T.prototype.Oa,set:T.prototype.xd});T.prototype.get_kSHR=T.prototype.Sa=function(){return wc(this.J)}; +T.prototype.set_kSHR=T.prototype.Bd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vc(b,a)};Object.defineProperty(T.prototype,"kSHR",{get:T.prototype.Sa,set:T.prototype.Bd});T.prototype.get_kAHR=T.prototype.Ja=function(){return nc(this.J)};T.prototype.set_kAHR=T.prototype.sd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Mc(b,a)};Object.defineProperty(T.prototype,"kAHR",{get:T.prototype.Ja,set:T.prototype.sd});T.prototype.get_kSRHR_CL=T.prototype.Va=function(){return zc(this.J)}; +T.prototype.set_kSRHR_CL=T.prototype.Ed=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yc(b,a)};Object.defineProperty(T.prototype,"kSRHR_CL",{get:T.prototype.Va,set:T.prototype.Ed});T.prototype.get_kSKHR_CL=T.prototype.Ta=function(){return xc(this.J)};T.prototype.set_kSKHR_CL=T.prototype.Cd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wc(b,a)};Object.defineProperty(T.prototype,"kSKHR_CL",{get:T.prototype.Ta,set:T.prototype.Cd});T.prototype.get_kSSHR_CL=T.prototype.Xa=function(){return Bc(this.J)}; +T.prototype.set_kSSHR_CL=T.prototype.Gd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$c(b,a)};Object.defineProperty(T.prototype,"kSSHR_CL",{get:T.prototype.Xa,set:T.prototype.Gd});T.prototype.get_kSR_SPLT_CL=T.prototype.Wa=function(){return Ac(this.J)};T.prototype.set_kSR_SPLT_CL=T.prototype.Fd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zc(b,a)};Object.defineProperty(T.prototype,"kSR_SPLT_CL",{get:T.prototype.Wa,set:T.prototype.Fd}); +T.prototype.get_kSK_SPLT_CL=T.prototype.Ua=function(){return yc(this.J)};T.prototype.set_kSK_SPLT_CL=T.prototype.Dd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Xc(b,a)};Object.defineProperty(T.prototype,"kSK_SPLT_CL",{get:T.prototype.Ua,set:T.prototype.Dd});T.prototype.get_kSS_SPLT_CL=T.prototype.Ya=function(){return Cc(this.J)};T.prototype.set_kSS_SPLT_CL=T.prototype.Hd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ad(b,a)}; +Object.defineProperty(T.prototype,"kSS_SPLT_CL",{get:T.prototype.Ya,set:T.prototype.Hd});T.prototype.get_maxvolume=T.prototype.ed=function(){return Fc(this.J)};T.prototype.set_maxvolume=T.prototype.Of=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dd(b,a)};Object.defineProperty(T.prototype,"maxvolume",{get:T.prototype.ed,set:T.prototype.Of});T.prototype.get_timescale=T.prototype.hd=function(){return Hc(this.J)}; +T.prototype.set_timescale=T.prototype.Qf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);fd(b,a)};Object.defineProperty(T.prototype,"timescale",{get:T.prototype.hd,set:T.prototype.Qf});T.prototype.get_viterations=T.prototype.jd=function(){return Ic(this.J)};T.prototype.set_viterations=T.prototype.Rf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gd(b,a)};Object.defineProperty(T.prototype,"viterations",{get:T.prototype.jd,set:T.prototype.Rf}); +T.prototype.get_piterations=T.prototype.gd=function(){return Gc(this.J)};T.prototype.set_piterations=T.prototype.Pf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ed(b,a)};Object.defineProperty(T.prototype,"piterations",{get:T.prototype.gd,set:T.prototype.Pf});T.prototype.get_diterations=T.prototype.Ia=function(){return mc(this.J)};T.prototype.set_diterations=T.prototype.rd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Lc(b,a)}; +Object.defineProperty(T.prototype,"diterations",{get:T.prototype.Ia,set:T.prototype.rd});T.prototype.get_citerations=T.prototype.Ga=function(){return kc(this.J)};T.prototype.set_citerations=T.prototype.pd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jc(b,a)};Object.defineProperty(T.prototype,"citerations",{get:T.prototype.Ga,set:T.prototype.pd});T.prototype.get_collisions=T.prototype.Ha=function(){return lc(this.J)}; +T.prototype.set_collisions=T.prototype.qd=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kc(b,a)};Object.defineProperty(T.prototype,"collisions",{get:T.prototype.Ha,set:T.prototype.qd});T.prototype.__destroy__=function(){jc(this.J)};function Node(){throw"cannot construct a Node, no constructor in IDL";}Node.prototype=Object.create(k.prototype);Node.prototype.constructor=Node;Node.prototype.K=Node;Node.L={};d.Node=Node; +Node.prototype.get_m_x=Node.prototype.dd=function(){return m(fe(this.J),r)};Node.prototype.set_m_x=Node.prototype.Nf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);me(b,a)};Object.defineProperty(Node.prototype,"m_x",{get:Node.prototype.dd,set:Node.prototype.Nf});Node.prototype.get_m_q=Node.prototype.uc=function(){return m(de(this.J),r)};Node.prototype.set_m_q=Node.prototype.bf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ke(b,a)}; +Object.defineProperty(Node.prototype,"m_q",{get:Node.prototype.uc,set:Node.prototype.bf});Node.prototype.get_m_v=Node.prototype.Wc=function(){return m(ee(this.J),r)};Node.prototype.set_m_v=Node.prototype.Ff=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);le(b,a)};Object.defineProperty(Node.prototype,"m_v",{get:Node.prototype.Wc,set:Node.prototype.Ff});Node.prototype.get_m_f=Node.prototype.Ib=function(){return m(ae(this.J),r)}; +Node.prototype.set_m_f=Node.prototype.qe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);he(b,a)};Object.defineProperty(Node.prototype,"m_f",{get:Node.prototype.Ib,set:Node.prototype.qe});Node.prototype.get_m_n=Node.prototype.mc=function(){return m(ce(this.J),r)};Node.prototype.set_m_n=Node.prototype.Ue=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);je(b,a)};Object.defineProperty(Node.prototype,"m_n",{get:Node.prototype.mc,set:Node.prototype.Ue}); +Node.prototype.get_m_im=Node.prototype.Wb=function(){return be(this.J)};Node.prototype.set_m_im=Node.prototype.Ee=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ie(b,a)};Object.defineProperty(Node.prototype,"m_im",{get:Node.prototype.Wb,set:Node.prototype.Ee});Node.prototype.get_m_area=Node.prototype.kb=function(){return $d(this.J)};Node.prototype.set_m_area=Node.prototype.Td=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ge(b,a)}; +Object.defineProperty(Node.prototype,"m_area",{get:Node.prototype.kb,set:Node.prototype.Td});Node.prototype.__destroy__=function(){Zd(this.J)};function Lz(){this.J=xm();l(Lz)[this.J]=this}Lz.prototype=Object.create(k.prototype);Lz.prototype.constructor=Lz;Lz.prototype.K=Lz;Lz.L={};d.btGhostPairCallback=Lz;Lz.prototype.__destroy__=function(){wm(this.J)};function Mz(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL";}Mz.prototype=Object.create(k.prototype); +Mz.prototype.constructor=Mz;Mz.prototype.K=Mz;Mz.L={};d.btOverlappingPairCallback=Mz;Mz.prototype.__destroy__=function(){co(this.J)};function U(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=void 0===f?jn(a,b,e):kn(a,b,e,f);l(U)[this.J]=this}U.prototype=Object.create(Uy.prototype);U.prototype.constructor=U;U.prototype.K=U;U.L={};d.btKinematicCharacterController=U; +U.prototype.setUpAxis=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yn(b,a)};U.prototype.setWalkDirection=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Cn(b,a)};U.prototype.setVelocityForTimeInterval=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Bn(e,a,b)};U.prototype.warp=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);En(b,a)};U.prototype.preStep=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);sn(b,a)}; +U.prototype.playerStep=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);rn(e,a,b)};U.prototype.setFallSpeed=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);tn(b,a)};U.prototype.setJumpSpeed=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);vn(b,a)};U.prototype.setMaxJumpHeight=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wn(b,a)};U.prototype.canJump=function(){return!!ln(this.J)};U.prototype.jump=function(){pn(this.J)}; +U.prototype.setGravity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);un(b,a)};U.prototype.getGravity=function(){return nn(this.J)};U.prototype.setMaxSlope=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xn(b,a)};U.prototype.getMaxSlope=function(){return on(this.J)};U.prototype.getGhostObject=function(){return m(mn(this.J),V)};U.prototype.setUseGhostSweepTest=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);An(b,a)};U.prototype.onGround=function(){return!!qn(this.J)}; +U.prototype.setUpInterpolate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zn(b,a)};U.prototype.updateAction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Dn(e,a,b)};U.prototype.__destroy__=function(){hn(this.J)};function Nz(){throw"cannot construct a btSoftBodyArray, no constructor in IDL";}Nz.prototype=Object.create(k.prototype);Nz.prototype.constructor=Nz;Nz.prototype.K=Nz;Nz.L={};d.btSoftBodyArray=Nz;Nz.prototype.size=Nz.prototype.size=function(){return qs(this.J)}; +Nz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(ps(b,a),S)};Nz.prototype.__destroy__=function(){ns(this.J)};function oz(){throw"cannot construct a btFaceArray, no constructor in IDL";}oz.prototype=Object.create(k.prototype);oz.prototype.constructor=oz;oz.prototype.K=oz;oz.L={};d.btFaceArray=oz;oz.prototype.size=oz.prototype.size=function(){return dl(this.J)};oz.prototype.at=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(cl(b,a),Oz)}; +oz.prototype.__destroy__=function(){bl(this.J)};function Pz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=Su(a,b);l(Pz)[this.J]=this}Pz.prototype=Object.create(Py.prototype);Pz.prototype.constructor=Pz;Pz.prototype.K=Pz;Pz.L={};d.btStaticPlaneShape=Pz;Pz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Vu(b,a)};Pz.prototype.getLocalScaling=function(){return m(Uu(this.J),r)}; +Pz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Tu(e,a,b)};Pz.prototype.__destroy__=function(){Ru(this.J)};function Ky(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL";}Ky.prototype=Object.create(k.prototype);Ky.prototype.constructor=Ky;Ky.prototype.K=Ky;Ky.L={};d.btOverlappingPairCache=Ky;Ky.prototype.setInternalGhostPairCallback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bo(b,a)}; +Ky.prototype.__destroy__=function(){ao(this.J)};function W(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=ju(a,b,e,f,g);l(W)[this.J]=this}W.prototype=Object.create(z.prototype);W.prototype.constructor=W;W.prototype.K=W;W.L={};d.btSoftRigidDynamicsWorld=W; +W.prototype.addSoftBody=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);iu(f,a,b,e)};W.prototype.removeSoftBody=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Du(b,a)};W.prototype.removeCollisionObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Au(b,a)};W.prototype.getWorldInfo=function(){return m(xu(this.J),J)};W.prototype.getSoftBodyArray=function(){return m(vu(this.J),Nz)}; +W.prototype.getDispatcher=function(){return m(su(this.J),Jy)};W.prototype.rayTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);yu(f,a,b,e)};W.prototype.getPairCache=function(){return m(uu(this.J),Ky)};W.prototype.getDispatchInfo=function(){return m(ru(this.J),p)}; +W.prototype.addCollisionObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?bu(f,a):void 0===e?cu(f,a,b):du(f,a,b,e)};W.prototype.getBroadphase=function(){return m(pu(this.J),Ly)}; +W.prototype.convexSweepTest=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);mu(n,a,b,e,f,g)};W.prototype.contactPairTest=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);ku(f,a,b,e)}; +W.prototype.contactTest=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);lu(e,a,b)};W.prototype.updateSingleAabb=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ju(b,a)};W.prototype.setDebugDrawer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Eu(b,a)};W.prototype.getDebugDrawer=function(){return m(qu(this.J),My)};W.prototype.debugDrawWorld=function(){ou(this.J)}; +W.prototype.debugDrawObject=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);nu(f,a,b,e)};W.prototype.setGravity=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Fu(b,a)};W.prototype.getGravity=function(){return m(tu(this.J),r)}; +W.prototype.addRigidBody=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);void 0===b?gu(f,a):void 0===e?_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(f,a,b):hu(f,a,b,e)};W.prototype.removeRigidBody=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Cu(b,a)};W.prototype.addConstraint=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);void 0===b?eu(e,a):fu(e,a,b)}; +W.prototype.removeConstraint=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bu(b,a)};W.prototype.stepSimulation=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);return void 0===b?Gu(f,a):void 0===e?Hu(f,a,b):Iu(f,a,b,e)};W.prototype.addAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);au(b,a)};W.prototype.removeAction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zu(b,a)}; +W.prototype.getSolverInfo=function(){return m(wu(this.J),w)};W.prototype.__destroy__=function(){$t(this.J)};function Qz(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=kl(a,b,e,f);l(Qz)[this.J]=this}Qz.prototype=Object.create(Oy.prototype);Qz.prototype.constructor=Qz;Qz.prototype.K=Qz;Qz.L={};d.btFixedConstraint=Qz; +Qz.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ll(b,a)};Qz.prototype.getBreakingImpulseThreshold=function(){return ml(this.J)};Qz.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ol(b,a)};Qz.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return nl(e,a,b)}; +Qz.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);pl(f,a,b,e)};Qz.prototype.__destroy__=function(){jl(this.J)};function u(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=void 0===a?Yu():void 0===b?_emscripten_bind_btTransform_btTransform_1(a):Zu(a,b);l(u)[this.J]=this}u.prototype=Object.create(k.prototype);u.prototype.constructor=u;u.prototype.K=u;u.L={};d.btTransform=u; +u.prototype.setIdentity=function(){fv(this.J)};u.prototype.setOrigin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gv(b,a)};u.prototype.setRotation=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);hv(b,a)};u.prototype.getOrigin=function(){return m(av(this.J),r)};u.prototype.getRotation=function(){return m(bv(this.J),X)};u.prototype.getBasis=function(){return m($u(this.J),ez)};u.prototype.setFromOpenGLMatrix=function(a){var b=this.J;c.M();"object"==typeof a&&(a=Hy(a));ev(b,a)}; +u.prototype.inverse=u.prototype.inverse=function(){return m(cv(this.J),u)};u.prototype.op_mul=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(dv(b,a),u)};u.prototype.__destroy__=function(){Xu(this.J)};function Y(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=Nb(a,b);l(Y)[this.J]=this}Y.prototype=Object.create(B.prototype);Y.prototype.constructor=Y;Y.prototype.K=Y;Y.L={};d.ClosestRayResultCallback=Y;Y.prototype.hasHit=function(){return!!Xb(this.J)}; +Y.prototype.get_m_rayFromWorld=Y.prototype.vc=function(){return m(Vb(this.J),r)};Y.prototype.set_m_rayFromWorld=Y.prototype.cf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);dc(b,a)};Object.defineProperty(Y.prototype,"m_rayFromWorld",{get:Y.prototype.vc,set:Y.prototype.cf});Y.prototype.get_m_rayToWorld=Y.prototype.wc=function(){return m(Wb(this.J),r)};Y.prototype.set_m_rayToWorld=Y.prototype.df=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ec(b,a)}; +Object.defineProperty(Y.prototype,"m_rayToWorld",{get:Y.prototype.wc,set:Y.prototype.df});Y.prototype.get_m_hitNormalWorld=Y.prototype.ja=function(){return m(Tb(this.J),r)};Y.prototype.set_m_hitNormalWorld=Y.prototype.sa=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bc(b,a)};Object.defineProperty(Y.prototype,"m_hitNormalWorld",{get:Y.prototype.ja,set:Y.prototype.sa});Y.prototype.get_m_hitPointWorld=Y.prototype.ka=function(){return m(Ub(this.J),r)}; +Y.prototype.set_m_hitPointWorld=Y.prototype.ta=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);cc(b,a)};Object.defineProperty(Y.prototype,"m_hitPointWorld",{get:Y.prototype.ka,set:Y.prototype.ta});Y.prototype.get_m_collisionFilterGroup=Y.prototype.N=function(){return Qb(this.J)};Y.prototype.set_m_collisionFilterGroup=Y.prototype.P=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zb(b,a)};Object.defineProperty(Y.prototype,"m_collisionFilterGroup",{get:Y.prototype.N,set:Y.prototype.P}); +Y.prototype.get_m_collisionFilterMask=Y.prototype.O=function(){return Rb(this.J)};Y.prototype.set_m_collisionFilterMask=Y.prototype.R=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$b(b,a)};Object.defineProperty(Y.prototype,"m_collisionFilterMask",{get:Y.prototype.O,set:Y.prototype.R});Y.prototype.get_m_closestHitFraction=Y.prototype.S=function(){return Pb(this.J)};Y.prototype.set_m_closestHitFraction=Y.prototype.T=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yb(b,a)}; +Object.defineProperty(Y.prototype,"m_closestHitFraction",{get:Y.prototype.S,set:Y.prototype.T});Y.prototype.get_m_collisionObject=Y.prototype.ia=function(){return m(Sb(this.J),t)};Y.prototype.set_m_collisionObject=Y.prototype.ra=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ac(b,a)};Object.defineProperty(Y.prototype,"m_collisionObject",{get:Y.prototype.ia,set:Y.prototype.ra});Y.prototype.__destroy__=function(){Ob(this.J)}; +function Rz(a){a&&"object"===typeof a&&(a=a.J);this.J=void 0===a?Bs():Cs(a);l(Rz)[this.J]=this}Rz.prototype=Object.create(Ry.prototype);Rz.prototype.constructor=Rz;Rz.prototype.K=Rz;Rz.L={};d.btSoftBodyRigidBodyCollisionConfiguration=Rz;Rz.prototype.__destroy__=function(){As(this.J)};function Sz(){this.J=fc();l(Sz)[this.J]=this}Sz.prototype=Object.create(cz.prototype);Sz.prototype.constructor=Sz;Sz.prototype.K=Sz;Sz.L={};d.ConcreteContactResultCallback=Sz; +Sz.prototype.addSingleResult=function(a,b,e,f,g,n,A){var Q=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);return ic(Q,a,b,e,f,g,n,A)};Sz.prototype.__destroy__=function(){hc(this.J)}; +function Tz(a,b,e){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);this.J=void 0===e?kf(a,b):lf(a,b,e);l(Tz)[this.J]=this}Tz.prototype=Object.create(Sy.prototype);Tz.prototype.constructor=Tz;Tz.prototype.K=Tz;Tz.L={};d.btBvhTriangleMeshShape=Tz;Tz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);of(b,a)};Tz.prototype.getLocalScaling=function(){return m(nf(this.J),r)}; +Tz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);mf(e,a,b)};Tz.prototype.__destroy__=function(){jf(this.J)}; +function Uz(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=void 0===f?bs(a,b,e):void 0===g?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(a,b,e,f):cs(a,b,e,f,g);l(Uz)[this.J]=this}Uz.prototype=Object.create(Oy.prototype);Uz.prototype.constructor=Uz;Uz.prototype.K=Uz;Uz.L={};d.btSliderConstraint=Uz; +Uz.prototype.setLowerLinLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);js(b,a)};Uz.prototype.setUpperLinLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ms(b,a)};Uz.prototype.setLowerAngLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);is(b,a)};Uz.prototype.setUpperAngLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ls(b,a)};Uz.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ds(b,a)}; +Uz.prototype.getBreakingImpulseThreshold=function(){return es(this.J)};Uz.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);hs(b,a)};Uz.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return gs(e,a,b)};Uz.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);ks(f,a,b,e)};Uz.prototype.__destroy__=function(){as(this.J)}; +function V(){this.J=ho();l(V)[this.J]=this}V.prototype=Object.create(y.prototype);V.prototype.constructor=V;V.prototype.K=V;V.L={};d.btPairCachingGhostObject=V;V.prototype.setAnisotropicFriction=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);vo(e,a,b)};V.prototype.getCollisionShape=function(){return m(ko(this.J),q)};V.prototype.setContactProcessingThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ao(b,a)}; +V.prototype.setActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);uo(b,a)};V.prototype.forceActivationState=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);io(b,a)};V.prototype.activate=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);void 0===a?fo(b):go(b,a)};V.prototype.isActive=function(){return!!qo(this.J)};V.prototype.isKinematicObject=function(){return!!ro(this.J)};V.prototype.isStaticObject=function(){return!!so(this.J)}; +V.prototype.isStaticOrKinematicObject=function(){return!!to(this.J)};V.prototype.setRestitution=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Co(b,a)};V.prototype.setFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Bo(b,a)};V.prototype.setRollingFriction=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Do(b,a)};V.prototype.getWorldTransform=function(){return m(po(this.J),u)};V.prototype.getCollisionFlags=function(){return jo(this.J)}; +V.prototype.setCollisionFlags=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yo(b,a)};V.prototype.setWorldTransform=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Go(b,a)};V.prototype.setCollisionShape=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);zo(b,a)};V.prototype.setCcdMotionThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);wo(b,a)};V.prototype.setCcdSweptSphereRadius=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xo(b,a)}; +V.prototype.getUserIndex=function(){return no(this.J)};V.prototype.setUserIndex=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Eo(b,a)};V.prototype.getUserPointer=function(){return m(oo(this.J),Ny)};V.prototype.setUserPointer=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Fo(b,a)};V.prototype.getNumOverlappingObjects=function(){return lo(this.J)};V.prototype.getOverlappingObject=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(mo(b,a),t)}; +V.prototype.__destroy__=function(){eo(this.J)};function F(){throw"cannot construct a btManifoldPoint, no constructor in IDL";}F.prototype=Object.create(k.prototype);F.prototype.constructor=F;F.prototype.K=F;F.L={};d.btManifoldPoint=F;F.prototype.getPositionWorldOnA=function(){return m(In(this.J),r)};F.prototype.getPositionWorldOnB=function(){return m(Jn(this.J),r)};F.prototype.getAppliedImpulse=function(){return Gn(this.J)};F.prototype.getDistance=function(){return Hn(this.J)}; +F.prototype.get_m_localPointA=F.prototype.hc=function(){return m(Kn(this.J),r)};F.prototype.set_m_localPointA=F.prototype.Pe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pn(b,a)};Object.defineProperty(F.prototype,"m_localPointA",{get:F.prototype.hc,set:F.prototype.Pe});F.prototype.get_m_localPointB=F.prototype.ic=function(){return m(Ln(this.J),r)};F.prototype.set_m_localPointB=F.prototype.Qe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qn(b,a)}; +Object.defineProperty(F.prototype,"m_localPointB",{get:F.prototype.ic,set:F.prototype.Qe});F.prototype.get_m_positionWorldOnB=F.prototype.tc=function(){return m(On(this.J),r)};F.prototype.set_m_positionWorldOnB=F.prototype.af=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Tn(b,a)};Object.defineProperty(F.prototype,"m_positionWorldOnB",{get:F.prototype.tc,set:F.prototype.af});F.prototype.get_m_positionWorldOnA=F.prototype.sc=function(){return m(Nn(this.J),r)}; +F.prototype.set_m_positionWorldOnA=F.prototype.$e=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Sn(b,a)};Object.defineProperty(F.prototype,"m_positionWorldOnA",{get:F.prototype.sc,set:F.prototype.$e});F.prototype.get_m_normalWorldOnB=F.prototype.pc=function(){return m(Mn(this.J),r)};F.prototype.set_m_normalWorldOnB=F.prototype.Xe=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Rn(b,a)};Object.defineProperty(F.prototype,"m_normalWorldOnB",{get:F.prototype.pc,set:F.prototype.Xe}); +F.prototype.__destroy__=function(){Fn(this.J)};function Vz(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=void 0===e?Oo(a,b):void 0===f?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(a,b,e):Po(a,b,e,f);l(Vz)[this.J]=this}Vz.prototype=Object.create(Oy.prototype);Vz.prototype.constructor=Vz;Vz.prototype.K=Vz;Vz.L={};d.btPoint2PointConstraint=Vz; +Vz.prototype.setPivotA=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Yo(b,a)};Vz.prototype.setPivotB=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Zo(b,a)};Vz.prototype.getPivotInA=function(){return m(To(this.J),r)};Vz.prototype.getPivotInB=function(){return m(Uo(this.J),r)};Vz.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qo(b,a)};Vz.prototype.getBreakingImpulseThreshold=function(){return Ro(this.J)}; +Vz.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Wo(b,a)};Vz.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return So(e,a,b)};Vz.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Xo(f,a,b,e)};Vz.prototype.get_m_setting=Vz.prototype.Cc=function(){return m(Vo(this.J),H)}; +Vz.prototype.set_m_setting=Vz.prototype.kf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);$o(b,a)};Object.defineProperty(Vz.prototype,"m_setting",{get:Vz.prototype.Cc,set:Vz.prototype.kf});Vz.prototype.__destroy__=function(){No(this.J)};function Wz(){this.J=zs();l(Wz)[this.J]=this}Wz.prototype=Object.create(k.prototype);Wz.prototype.constructor=Wz;Wz.prototype.K=Wz;Wz.L={};d.btSoftBodyHelpers=Wz; +Wz.prototype.CreateRope=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);return m(xs(n,a,b,e,f,g),S)}; +Wz.prototype.CreatePatch=function(a,b,e,f,g,n,A,Q,ha){var Lb=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);Q&&"object"===typeof Q&&(Q=Q.J);ha&&"object"===typeof ha&&(ha=ha.J);return m(vs(Lb,a,b,e,f,g,n,A,Q,ha),S)}; +Wz.prototype.CreatePatchUV=function(a,b,e,f,g,n,A,Q,ha,Lb){var cA=this.J;c.M();a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);n&&"object"===typeof n&&(n=n.J);A&&"object"===typeof A&&(A=A.J);Q&&"object"===typeof Q&&(Q=Q.J);ha&&"object"===typeof ha&&(ha=ha.J);"object"==typeof Lb&&(Lb=Hy(Lb));return m(us(cA,a,b,e,f,g,n,A,Q,ha,Lb),S)}; +Wz.prototype.CreateEllipsoid=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);return m(rs(g,a,b,e,f),S)}; +Wz.prototype.CreateFromTriMesh=function(a,b,e,f,g){var n=this.J;c.M();a&&"object"===typeof a&&(a=a.J);"object"==typeof b&&(b=Hy(b));if("object"==typeof e&&"object"===typeof e){var A=c.fa(e,xa);c.copy(e,xa,A);e=A}f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);return m(ts(n,a,b,e,f,g),S)}; +Wz.prototype.CreateFromConvexHull=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);return m(ss(g,a,b,e,f),S)};Wz.prototype.__destroy__=function(){ys(this.J)};function Ny(){throw"cannot construct a VoidPtr, no constructor in IDL";}Ny.prototype=Object.create(k.prototype);Ny.prototype.constructor=Ny;Ny.prototype.K=Ny;Ny.L={};d.VoidPtr=Ny;Ny.prototype.__destroy__=function(){Oe(this.J)}; +function lz(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL";}lz.prototype=Object.create(k.prototype);lz.prototype.constructor=lz;lz.prototype.K=lz;lz.L={};d.btBroadphaseProxy=lz;lz.prototype.get_m_collisionFilterGroup=lz.prototype.N=function(){return ef(this.J)};lz.prototype.set_m_collisionFilterGroup=lz.prototype.P=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);gf(b,a)};Object.defineProperty(lz.prototype,"m_collisionFilterGroup",{get:lz.prototype.N,set:lz.prototype.P}); +lz.prototype.get_m_collisionFilterMask=lz.prototype.O=function(){return ff(this.J)};lz.prototype.set_m_collisionFilterMask=lz.prototype.R=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);hf(b,a)};Object.defineProperty(lz.prototype,"m_collisionFilterMask",{get:lz.prototype.O,set:lz.prototype.R});lz.prototype.__destroy__=function(){df(this.J)};function Xz(a){a&&"object"===typeof a&&(a=a.J);this.J=Xe(a);l(Xz)[this.J]=this}Xz.prototype=Object.create(q.prototype);Xz.prototype.constructor=Xz; +Xz.prototype.K=Xz;Xz.L={};d.btBoxShape=Xz;Xz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bf(b,a)};Xz.prototype.getMargin=function(){return $e(this.J)};Xz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);af(b,a)};Xz.prototype.getLocalScaling=function(){return m(Ze(this.J),r)};Xz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Ye(e,a,b)}; +Xz.prototype.__destroy__=function(){We(this.J)};function Oz(){throw"cannot construct a btFace, no constructor in IDL";}Oz.prototype=Object.create(k.prototype);Oz.prototype.constructor=Oz;Oz.prototype.K=Oz;Oz.L={};d.btFace=Oz;Oz.prototype.get_m_indices=Oz.prototype.Yb=function(){return m(fl(this.J),Kz)};Oz.prototype.set_m_indices=Oz.prototype.Ge=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);hl(b,a)};Object.defineProperty(Oz.prototype,"m_indices",{get:Oz.prototype.Yb,set:Oz.prototype.Ge}); +Oz.prototype.get_m_plane=Oz.prototype.rc=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return gl(b,a)};Oz.prototype.set_m_plane=Oz.prototype.Ze=function(a,b){var e=this.J;c.M();a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);il(e,a,b)};Object.defineProperty(Oz.prototype,"m_plane",{get:Oz.prototype.rc,set:Oz.prototype.Ze});Oz.prototype.__destroy__=function(){el(this.J)};function Yz(){this.J=rd();l(Yz)[this.J]=this}Yz.prototype=Object.create(My.prototype); +Yz.prototype.constructor=Yz;Yz.prototype.K=Yz;Yz.L={};d.DebugDrawer=Yz;Yz.prototype.drawLine=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);vd(f,a,b,e)};Yz.prototype.drawContactPoint=function(a,b,e,f,g){var n=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);ud(n,a,b,e,f,g)}; +Yz.prototype.reportErrorWarning=function(a){var b=this.J;c.M();a=a&&"object"===typeof a?a.J:Gy(a);xd(b,a)};Yz.prototype.draw3dText=function(a,b){var e=this.J;c.M();a&&"object"===typeof a&&(a=a.J);b=b&&"object"===typeof b?b.J:Gy(b);td(e,a,b)};Yz.prototype.setDebugMode=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yd(b,a)};Yz.prototype.getDebugMode=function(){return wd(this.J)};Yz.prototype.__destroy__=function(){sd(this.J)}; +function Zz(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=qf(a,b);l(Zz)[this.J]=this}Zz.prototype=Object.create(Qy.prototype);Zz.prototype.constructor=Zz;Zz.prototype.K=Zz;Zz.L={};d.btCapsuleShapeX=Zz;Zz.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);yf(b,a)};Zz.prototype.getMargin=function(){return uf(this.J)};Zz.prototype.getUpAxis=function(){return wf(this.J)};Zz.prototype.getRadius=function(){return vf(this.J)}; +Zz.prototype.getHalfHeight=function(){return sf(this.J)};Zz.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);xf(b,a)};Zz.prototype.getLocalScaling=function(){return m(tf(this.J),r)};Zz.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);rf(e,a,b)};Zz.prototype.__destroy__=function(){pf(this.J)}; +function X(a,b,e,f){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);this.J=mp(a,b,e,f);l(X)[this.J]=this}X.prototype=Object.create(Wy.prototype);X.prototype.constructor=X;X.prototype.K=X;X.L={};d.btQuaternion=X;X.prototype.setValue=function(a,b,e,f){var g=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);Dp(g,a,b,e,f)}; +X.prototype.setEulerZYX=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Bp(f,a,b,e)};X.prototype.setRotation=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Cp(e,a,b)};X.prototype.normalize=X.prototype.normalize=function(){up(this.J)};X.prototype.length2=function(){return sp(this.J)};X.prototype.length=X.prototype.length=function(){return tp(this.J)}; +X.prototype.dot=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return np(b,a)};X.prototype.normalized=function(){return m(vp(this.J),X)};X.prototype.getAxis=function(){return m(qp(this.J),r)};X.prototype.inverse=X.prototype.inverse=function(){return m(rp(this.J),X)};X.prototype.getAngle=function(){return pp(this.J)};X.prototype.getAngleShortestPath=function(){return op(this.J)};X.prototype.angle=X.prototype.angle=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return lp(b,a)}; +X.prototype.angleShortestPath=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return kp(b,a)};X.prototype.op_add=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(wp(b,a),X)};X.prototype.op_sub=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(Ap(b,a),X)};X.prototype.op_mul=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(yp(b,a),X)};X.prototype.op_mulq=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(zp(b,a),X)}; +X.prototype.op_div=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);return m(xp(b,a),X)};X.prototype.x=X.prototype.x=function(){return Jp(this.J)};X.prototype.y=X.prototype.y=function(){return Kp(this.J)};X.prototype.z=X.prototype.z=function(){return Lp(this.J)};X.prototype.w=X.prototype.za=function(){return Ip(this.J)};X.prototype.setX=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Fp(b,a)};X.prototype.setY=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gp(b,a)}; +X.prototype.setZ=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hp(b,a)};X.prototype.setW=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ep(b,a)};X.prototype.__destroy__=function(){jp(this.J)};function $z(a,b){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);this.J=Af(a,b);l($z)[this.J]=this}$z.prototype=Object.create(Qy.prototype);$z.prototype.constructor=$z;$z.prototype.K=$z;$z.L={};d.btCapsuleShapeZ=$z; +$z.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);If(b,a)};$z.prototype.getMargin=function(){return Ef(this.J)};$z.prototype.getUpAxis=function(){return Gf(this.J)};$z.prototype.getRadius=function(){return Ff(this.J)};$z.prototype.getHalfHeight=function(){return Cf(this.J)};$z.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hf(b,a)};$z.prototype.getLocalScaling=function(){return m(Df(this.J),r)}; +$z.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Bf(e,a,b)};$z.prototype.__destroy__=function(){zf(this.J)};function w(){throw"cannot construct a btContactSolverInfo, no constructor in IDL";}w.prototype=Object.create(k.prototype);w.prototype.constructor=w;w.prototype.K=w;w.L={};d.btContactSolverInfo=w;w.prototype.get_m_splitImpulse=w.prototype.Fc=function(){return!!ai(this.J)}; +w.prototype.set_m_splitImpulse=w.prototype.nf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);di(b,a)};Object.defineProperty(w.prototype,"m_splitImpulse",{get:w.prototype.Fc,set:w.prototype.nf});w.prototype.get_m_splitImpulsePenetrationThreshold=w.prototype.Gc=function(){return $h(this.J)};w.prototype.set_m_splitImpulsePenetrationThreshold=w.prototype.pf=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);ci(b,a)}; +Object.defineProperty(w.prototype,"m_splitImpulsePenetrationThreshold",{get:w.prototype.Gc,set:w.prototype.pf});w.prototype.get_m_numIterations=w.prototype.qc=function(){return Zh(this.J)};w.prototype.set_m_numIterations=w.prototype.Ye=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);bi(b,a)};Object.defineProperty(w.prototype,"m_numIterations",{get:w.prototype.qc,set:w.prototype.Ye});w.prototype.__destroy__=function(){Yh(this.J)}; +function aA(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=void 0===f?El(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(a,b,e,f):Fl(a,b,e,f,g);l(aA)[this.J]=this}aA.prototype=Object.create($y.prototype);aA.prototype.constructor=aA;aA.prototype.K=aA;aA.L={};d.btGeneric6DofSpringConstraint=aA; +aA.prototype.enableSpring=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Hl(e,a,b)};aA.prototype.setStiffness=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Sl(e,a,b)};aA.prototype.setDamping=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Ol(e,a,b)};aA.prototype.setLinearLowerLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pl(b,a)}; +aA.prototype.setLinearUpperLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ql(b,a)};aA.prototype.setAngularLowerLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ll(b,a)};aA.prototype.setAngularUpperLimit=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Ml(b,a)};aA.prototype.getFrameOffsetA=function(){return m(Jl(this.J),u)};aA.prototype.enableFeedback=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gl(b,a)};aA.prototype.getBreakingImpulseThreshold=function(){return Il(this.J)}; +aA.prototype.setBreakingImpulseThreshold=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Nl(b,a)};aA.prototype.getParam=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);return Kl(e,a,b)};aA.prototype.setParam=function(a,b,e){var f=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);Rl(f,a,b,e)};aA.prototype.__destroy__=function(){Dl(this.J)}; +function bA(a){a&&"object"===typeof a&&(a=a.J);this.J=Lu(a);l(bA)[this.J]=this}bA.prototype=Object.create(q.prototype);bA.prototype.constructor=bA;bA.prototype.K=bA;bA.L={};d.btSphereShape=bA;bA.prototype.setMargin=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Qu(b,a)};bA.prototype.getMargin=function(){return Ou(this.J)};bA.prototype.setLocalScaling=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Pu(b,a)};bA.prototype.getLocalScaling=function(){return m(Nu(this.J),r)}; +bA.prototype.calculateLocalInertia=function(a,b){var e=this.J;a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);Mu(e,a,b)};bA.prototype.__destroy__=function(){Ku(this.J)};function Z(a,b,e,f,g){a&&"object"===typeof a&&(a=a.J);b&&"object"===typeof b&&(b=b.J);e&&"object"===typeof e&&(e=e.J);f&&"object"===typeof f&&(f=f.J);g&&"object"===typeof g&&(g=g.J);this.J=zd(a,b,e,f,g);l(Z)[this.J]=this}Z.prototype=Object.create(k.prototype);Z.prototype.constructor=Z;Z.prototype.K=Z;Z.L={}; +d.LocalConvexResult=Z;Z.prototype.get_m_hitCollisionObject=Z.prototype.Qb=function(){return m(Bd(this.J),t)};Z.prototype.set_m_hitCollisionObject=Z.prototype.ye=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Gd(b,a)};Object.defineProperty(Z.prototype,"m_hitCollisionObject",{get:Z.prototype.Qb,set:Z.prototype.ye});Z.prototype.get_m_localShapeInfo=Z.prototype.jc=function(){return m(Fd(this.J),kz)}; +Z.prototype.set_m_localShapeInfo=Z.prototype.Re=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Kd(b,a)};Object.defineProperty(Z.prototype,"m_localShapeInfo",{get:Z.prototype.jc,set:Z.prototype.Re});Z.prototype.get_m_hitNormalLocal=Z.prototype.Tb=function(){return m(Dd(this.J),r)};Z.prototype.set_m_hitNormalLocal=Z.prototype.Be=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Id(b,a)};Object.defineProperty(Z.prototype,"m_hitNormalLocal",{get:Z.prototype.Tb,set:Z.prototype.Be}); +Z.prototype.get_m_hitPointLocal=Z.prototype.Vb=function(){return m(Ed(this.J),r)};Z.prototype.set_m_hitPointLocal=Z.prototype.De=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Jd(b,a)};Object.defineProperty(Z.prototype,"m_hitPointLocal",{get:Z.prototype.Vb,set:Z.prototype.De});Z.prototype.get_m_hitFraction=Z.prototype.Rb=function(){return Cd(this.J)};Z.prototype.set_m_hitFraction=Z.prototype.ze=function(a){var b=this.J;a&&"object"===typeof a&&(a=a.J);Hd(b,a)}; +Object.defineProperty(Z.prototype,"m_hitFraction",{get:Z.prototype.Rb,set:Z.prototype.ze});Z.prototype.__destroy__=function(){Ad(this.J)};(function(){function a(){d.BT_CONSTRAINT_ERP=vy();d.BT_CONSTRAINT_STOP_ERP=xy();d.BT_CONSTRAINT_CFM=uy();d.BT_CONSTRAINT_STOP_CFM=wy();d.PHY_FLOAT=qy();d.PHY_DOUBLE=oy();d.PHY_INTEGER=ry();d.PHY_SHORT=sy();d.PHY_FIXEDPOINT88=py();d.PHY_UCHAR=ty()}d.calledRun?a():Ea.unshift(a)})();this.Ammo=d; - - - return Module; -}; - -Ammo = AmmoLib(); + return Ammo; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Ammo; + else if (typeof define === 'function' && define['amd']) + define([], function() { return Ammo; }); + else if (typeof exports === 'object') + exports["Ammo"] = Ammo; + \ No newline at end of file diff --git a/examples/webgl_loader_mmd.html b/examples/webgl_loader_mmd.html index 27825c64cb7806..92a6afc2bbd45e 100644 --- a/examples/webgl_loader_mmd.html +++ b/examples/webgl_loader_mmd.html @@ -59,8 +59,15 @@ var clock = new THREE.Clock(); - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); + function init() { diff --git a/examples/webgl_loader_mmd_audio.html b/examples/webgl_loader_mmd_audio.html index ca056c33814aab..8859918353dc2e 100644 --- a/examples/webgl_loader_mmd_audio.html +++ b/examples/webgl_loader_mmd_audio.html @@ -60,8 +60,14 @@ var clock = new THREE.Clock(); - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { diff --git a/examples/webgl_loader_mmd_pose.html b/examples/webgl_loader_mmd_pose.html index df7cde2588629c..fbe4ab9cf27c5a 100644 --- a/examples/webgl_loader_mmd_pose.html +++ b/examples/webgl_loader_mmd_pose.html @@ -57,8 +57,14 @@ var vpds = []; - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { diff --git a/examples/webgl_loader_sea3d_physics.html b/examples/webgl_loader_sea3d_physics.html index d724c789686b0d..139c126c2cd035 100644 --- a/examples/webgl_loader_sea3d_physics.html +++ b/examples/webgl_loader_sea3d_physics.html @@ -73,68 +73,74 @@ var loader; - // Initialize Three.JS + Ammo().then( function( AmmoLib ) { - init(); + // Initialize Three.JS - // Initialize Physics Engine + init(); - SEA3D.AMMO.init(); + // Initialize Physics Engine - // - // SEA3D Loader - // + Ammo = AmmoLib; + SEA3D.AMMO.init(); - loader = new THREE.SEA3D( { + // + // SEA3D Loader + // - container: scene // Container to add models + loader = new THREE.SEA3D( { - } ); + container: scene // Container to add models - loader.onComplete = function () { + } ); - new THREE.OrbitControls( camera ); + loader.onComplete = function () { - // events + new THREE.OrbitControls( camera ); - window.addEventListener( 'contextmenu', function ( e ) { + // events - e.preventDefault(); + window.addEventListener( 'contextmenu', function ( e ) { - cloneAsset(); + e.preventDefault(); - } ); + cloneAsset(); - // prevent material compilation in render loop + } ); - renderer.compile( scene, camera ); + // prevent material compilation in render loop - animate(); + renderer.compile( scene, camera ); - }; + animate(); - loader.load( './models/sea3d/car.tjs.sea' ); + }; - var cloneAsset = function () { + loader.load( './models/sea3d/car.tjs.sea' ); - var offset = 0; + var cloneAsset = function () { - return function () { + var offset = 0; - var domain = this.loader.clone( { lights: false, runScripts: false, autoPlay: false, enabledPhysics: false } ); + return function () { - offset -= 180; + var domain = this.loader.clone( { lights: false, runScripts: false, autoPlay: false, enabledPhysics: false } ); - domain.container.position.x += offset; - domain.applyContainerTransform(); - domain.enabledPhysics( true ); - domain.runScripts(); + offset -= 180; - this.scene.add( domain.container ); + domain.container.position.x += offset; + domain.applyContainerTransform(); + domain.enabledPhysics( true ); + domain.runScripts(); - }; + this.scene.add( domain.container ); + + }; - }(); + }(); + + + } ); // diff --git a/examples/webgl_physics_cloth.html b/examples/webgl_physics_cloth.html index 3efe50d98646a1..67262fbd85e715 100644 --- a/examples/webgl_physics_cloth.html +++ b/examples/webgl_physics_cloth.html @@ -58,12 +58,18 @@ var margin = 0.05; var hinge; var cloth; - var transformAux1 = new Ammo.btTransform(); + var transformAux1; var armMovement = 0; - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { @@ -148,6 +154,8 @@ physicsWorld.setGravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); physicsWorld.getWorldInfo().set_m_gravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); + transformAux1 = new Ammo.btTransform(); + } function createObjects() { diff --git a/examples/webgl_physics_convex_break.html b/examples/webgl_physics_convex_break.html index 03a7603349e4ec..c2dcdef7f26a0f 100644 --- a/examples/webgl_physics_convex_break.html +++ b/examples/webgl_physics_convex_break.html @@ -80,8 +80,8 @@ var pos = new THREE.Vector3(); var quat = new THREE.Quaternion(); - var transformAux1 = new Ammo.btTransform(); - var tempBtVec3_1 = new Ammo.btVector3( 0, 0, 0 ); + var transformAux1; + var tempBtVec3_1; var time = 0; @@ -96,8 +96,14 @@ // - Main code - - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); // - Functions - @@ -183,6 +189,8 @@ physicsWorld = new Ammo.btDiscreteDynamicsWorld( dispatcher, broadphase, solver, collisionConfiguration ); physicsWorld.setGravity( new Ammo.btVector3( 0, - gravityConstant, 0 ) ); + transformAux1 = new Ammo.btTransform(); + tempBtVec3_1 = new Ammo.btVector3( 0, 0, 0 ); } function createObject( mass, halfExtents, pos, quat, material ) { diff --git a/examples/webgl_physics_rope.html b/examples/webgl_physics_rope.html index 66a50648639ae4..f2a520bf01c68a 100644 --- a/examples/webgl_physics_rope.html +++ b/examples/webgl_physics_rope.html @@ -64,12 +64,18 @@ var margin = 0.05; var hinge; var rope; - var transformAux1 = new Ammo.btTransform(); + var transformAux1; var armMovement = 0; - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { @@ -153,6 +159,8 @@ physicsWorld.setGravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); physicsWorld.getWorldInfo().set_m_gravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); + transformAux1 = new Ammo.btTransform(); + } function createObjects() { diff --git a/examples/webgl_physics_terrain.html b/examples/webgl_physics_terrain.html index fdb36428b41ddc..358650b6534d38 100644 --- a/examples/webgl_physics_terrain.html +++ b/examples/webgl_physics_terrain.html @@ -68,7 +68,7 @@ var solver; var physicsWorld; var dynamicObjects = []; - var transformAux1 = new Ammo.btTransform(); + var transformAux1; var heightData = null; var ammoHeightData = null; @@ -78,8 +78,14 @@ var timeNextSpawn = time + objectTimePeriod; var maxNumObjects = 30; - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { @@ -210,6 +216,8 @@ var groundBody = new Ammo.btRigidBody( new Ammo.btRigidBodyConstructionInfo( groundMass, groundMotionState, groundShape, groundLocalInertia ) ); physicsWorld.addRigidBody( groundBody ); + transformAux1 = new Ammo.btTransform(); + } function generateHeight( width, depth, minHeight, maxHeight ) { diff --git a/examples/webgl_physics_volume.html b/examples/webgl_physics_volume.html index 8ba43033670532..5f50c58358a3d4 100644 --- a/examples/webgl_physics_volume.html +++ b/examples/webgl_physics_volume.html @@ -62,11 +62,17 @@ var rigidBodies = []; var softBodies = []; var margin = 0.05; - var transformAux1 = new Ammo.btTransform(); - var softBodyHelpers = new Ammo.btSoftBodyHelpers(); + var transformAux1; + var softBodyHelpers; - init(); - animate(); + Ammo().then( function( AmmoLib ) { + + Ammo = AmmoLib; + + init(); + animate(); + + } ); function init() { @@ -149,6 +155,9 @@ physicsWorld.setGravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); physicsWorld.getWorldInfo().set_m_gravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); + transformAux1 = new Ammo.btTransform(); + softBodyHelpers = new Ammo.btSoftBodyHelpers(); + } function createObjects() {